@signalk/server-admin-ui 2.18.0 → 2.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +8 -4
- package/public/144.js +1 -1
- package/public/188.js +1 -1
- package/public/309.js +1 -1
- package/public/309.js.map +1 -1
- package/public/877.js +15 -0
- package/public/{95.js.LICENSE.txt → 877.js.LICENSE.txt} +18 -1
- package/public/877.js.map +1 -0
- package/public/main.js +1 -1
- package/public/main.js.map +1 -1
- package/public/95.js +0 -3
- package/public/95.js.map +0 -1
package/public/309.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(self.webpackChunk_signalk_server_admin_ui=self.webpackChunk_signalk_server_admin_ui||[]).push([[309],{7653:(e,n,t)=>{"use strict";t.d(n,{A:()=>o});const o=t.p+"./fonts/signal-k-logo-image-text.d132ec2c4f0269c103c868aaa6868f01.svg"},31305:(e,n,t)=>{"use strict";t.d(n,{A:()=>l});var o=t(9372),r=t.n(o),a=t(40935),i=t.n(a)()(r());i.push([e.id,".app-header .navbar-nav .dropdown-menu-right{right:auto}","",{version:3,sources:["webpack://./scss/core/_dropdown-menu-right.scss"],names:[],mappings:"AAGI,6CACE,UAAA",sourcesContent:["// Temp fix for reactstrap\n.app-header {\n .navbar-nav {\n .dropdown-menu-right {\n right: auto;\n }\n }\n}\n"],sourceRoot:""}]);const l=i},43385:(e,n,t)=>{"use strict";var o=t(57208),r=t.n(o),a=t(77748),i=t.n(a),l=t(77377),s=t(22183),A=t(39056),d=t(95898),c=t(65030),m=t(96074),p=(t(57100),t(21437),t(16542),t(72591)),b=t.n(p),g=t(71087);b()(g.A,{insert:"head",singleton:!1}),g.A.locals;var u=t(31305);b()(u.A,{insert:"head",singleton:!1}),u.A.locals;var h=t(41476),C=t(47674),f=t(84761),w=t(45250);const v=(e,n)=>fetch(e,{...n,credentials:"include"});async function B(e,n,t,o,r){const a={username:n,password:t,rememberMe:o},i=await v("/signalk/v1/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),l=await i.json();200!==i.status?(e({type:"LOGIN_FAILURE",data:l.message}),r(l.message)):l&&(N(e),e({type:"LOGIN_SUCCESS"}),r(null))}function E(){return e=>{confirm("Are you sure you want to restart?")&&fetch(`${window.serverRoutesPrefix}/restart`,{credentials:"include",method:"PUT"}).then((()=>{e({type:"SERVER_RESTART"})}))}}const x=(e,n,t)=>async o=>{const r=await v(`${(0,w.isUndefined)(t)?window.serverRoutesPrefix:t}${e}`);if(200===r.status){const e=await r.json();o({type:n,data:e})}},k=x("/loginStatus","RECEIVE_LOGIN_STATUS"),$=x("/plugins","RECEIVE_PLUGIN_LIST"),y=x("/webapps","RECEIVE_WEBAPPS_LIST"),F=x("/addons","RECEIVE_ADDONS_LIST"),S=x("/appstore/available","RECEIVE_APPSTORE_LIST"),z=x("/security/access/requests","ACCESS_REQUEST"),D=x("/signalk","RECEIVE_SERVER_SPEC","");function N(e){$(e),y(e),F(e),S(e),k(e),D(e),z(e)}function I(e,n){const t="https:"==window.location.protocol?"wss":"ws",o=new WebSocket(t+"://"+window.location.host+"/signalk/v1/stream?serverevents=all&subscribe=none&sendMeta=all");o.onmessage=function(n){const t=JSON.parse(n.data);t.type?e(t):t.name?o.skSelf=t.self:o.messageHandler&&o.messageHandler(t)},o.onclose=()=>{console.log("closed"),e({type:"WEBSOCKET_CLOSE"})},o.onerror=()=>{e({type:"WEBSOCKET_ERROR"})},o.onopen=()=>{console.log("connected"),e({type:"WEBSOCKET_OPEN",data:o}),n&&window.location.reload()}}class U extends o.Component{constructor(e){super(e),this.toggleDropdown=this.toggleDropdown.bind(this),this.state={dropdownOpen:!1}}componentDidMount(){window.addEventListener("sidebar:hide",(()=>{document.body.classList.toggle("sidebar-hidden",!0),document.body.classList.toggle("sidebar-mobile-show",!1)})),window.addEventListener("popstate",(()=>{document.body.classList.toggle("sidebar-mobile-show",!1)}))}toggleDropdown(){this.setState({dropdownOpen:!this.state.dropdownOpen})}sidebarToggle(e){e.preventDefault(),document.body.classList.toggle("sidebar-hidden")}sidebarMinimize(e){e.preventDefault(),document.body.classList.toggle("sidebar-minimized")}mobileSidebarToggle(e){e.preventDefault(),document.body.classList.toggle("sidebar-mobile-show")}asideToggle(e){e.preventDefault(),document.body.classList.toggle("aside-menu-hidden")}render(){return r().createElement("header",{className:"app-header navbar"},r().createElement(f.r6,{className:"d-lg-none",onClick:this.mobileSidebarToggle},r().createElement("span",{className:"navbar-toggler-icon"})),r().createElement(f.gH,{href:"#"}),r().createElement(f.r6,{className:"d-md-down-none mr-auto",onClick:this.sidebarToggle},r().createElement("span",{className:"navbar-toggler-icon"})),r().createElement(f.so,{className:"ml-auto",navbar:!0},r().createElement(f.CI,{className:"d-md-down-none px-3"},"loggedIn"===this.props.loginStatus.status&&"admin"==this.props.loginStatus.userLevel&&r().createElement(f.k2,{href:"#/",onClick:this.props.restart},this.props.restarting?r().createElement("i",{className:"fa fa-circle-o-notch text-danger fa-spin"}):r().createElement("i",{className:"fa fa-circle-o-notch"})," ","Restart")),"loggedIn"===this.props.loginStatus.status&&r().createElement(f.CI,{className:"d-md-down-none px-3"},r().createElement(f.k2,{href:"#/",onClick:this.props.logout},r().createElement("i",{className:"fa fa-lock"})," Logout")),"loggedIn"!==this.props.loginStatus.status&&this.props.loginStatus.authenticationRequired&&r().createElement(f.CI,{className:"d-md-down-none px-3"},r().createElement(f.k2,{href:"#/login"},r().createElement("i",{className:"fa fa-lock"})," Login")),r().createElement("div",{className:"d-lg-none"},r().createElement(f.ms,{nav:!0,isOpen:this.state.dropdownOpen,toggle:this.toggleDropdown},r().createElement(f.C,{nav:!0},r().createElement("i",{className:"icon-menu"})),r().createElement(f.rI,{right:!0},"loggedIn"===this.props.loginStatus.status&&"admin"==this.props.loginStatus.userLevel&&r().createElement(f.tJ,{onClick:this.props.restart},this.props.restarting?r().createElement("i",{className:"fa fa-circle-o-notch text-danger fa-spin"}):r().createElement("i",{className:"fa fa-circle-o-notch"})," ","Restart"),"loggedIn"===this.props.loginStatus.status&&r().createElement(f.tJ,{onClick:this.props.logout},r().createElement("i",{className:"fa fa-lock"})," Logout"),"loggedIn"!==this.props.loginStatus.status&&this.props.loginStatus.authenticationRequired&&r().createElement(f.tJ,{href:"#/login"},r().createElement("i",{className:"fa fa-lock"})," Login"))))))}}const q=(0,d.Ng)((({loginStatus:e,restarting:n})=>({loginStatus:e,restarting:n})),{logout:function(){return e=>{e({type:"LOGOUT_REQUESTED"}),v("/signalk/v1/auth/logout",{method:"PUT"}).then((e=>{if(!e.ok)throw new Error(e.statusText);return e})).then((()=>{e({type:"LOGOUT_SUCCESS"})})).catch((n=>{e({type:"LOGOUT_FAILED",data:n})})).then((()=>{k(e)}))}},restart:E,login:B})(U);var G=t(45172),J=t(53373),R=t.n(J);class O extends o.Component{render(){return null}}const M=O;class W extends o.Component{render(){return null}}const P=W;class j extends o.Component{render(){return null}}const K=j;class Y extends o.Component{sidebarMinimize(){document.body.classList.toggle("sidebar-minimized")}brandMinimize(){document.body.classList.toggle("brand-minimized")}render(){return r().createElement("button",{className:"sidebar-minimizer",type:"button",onClick:()=>{this.sidebarMinimize(),this.brandMinimize()}})}}const T=Y;function _(){return _=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)({}).hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},_.apply(null,arguments)}class Q extends o.Component{handleClick(e){e.preventDefault(),e.target.parentElement.classList.toggle("open")}activeRoute(e,n){return n.location.pathname.indexOf(e)>-1?"nav-item nav-dropdown open":"nav-item nav-dropdown"}render(){const e=this.props,n=this.activeRoute,t=this.handleClick,o=e=>{if(e){const n=R()(e.class);return r().createElement(f.Ex,{className:n,color:e.variant},e.text)}},a=(a,i)=>r().createElement("li",{key:i,className:n(a.url,e)},r().createElement("a",{className:"nav-link nav-dropdown-toggle",href:"#",onClick:t.bind(this)},r().createElement("i",{className:a.icon}),a.name,o(a.badge)),r().createElement("ul",{className:"nav-dropdown-items"},l(a.children))),i=(e,n)=>e.title?((e,n)=>{const t=R()("nav-title",e.class);return r().createElement("li",{key:n,className:t},(o=e).wrapper&&o.wrapper.element?r().createElement(o.wrapper.element,o.wrapper.attributes,o.name):o.name," ");var o})(e,n):e.divider?((e,n)=>{const t=R()("divider",e.class);return r().createElement("li",{key:n,className:t})})(e,n):e.children?a(e,n):((e,n)=>((e,n,t)=>{const a=e.url?e.url:"";return r().createElement(f.CI,{key:n,className:t.item},s(a)?r().createElement(f.k2,_({href:a,className:t.link},e.props||{}),r().createElement("i",{className:t.icon}),e.name,o(e.badge)):r().createElement(G.A,_({to:a,className:t.link,activeClassName:"active"},e.props||{}),r().createElement("i",{className:t.icon}),e.name,o(e.badge)))})(e,n,{item:R()(e.class),link:R()("nav-link",e.variant?`nav-link-${e.variant}`:""),icon:R()(e.icon)}))(e,n),l=e=>e.map(((e,n)=>i(e,n))),s=e=>"http"===(e?e.substring(0,4):"");return r().createElement("div",{className:"sidebar"},r().createElement(K,null),r().createElement(P,null),r().createElement("nav",{className:"sidebar-nav"},r().createElement(f.so,null,l(e.items))),r().createElement(M,null),r().createElement(T,null))}}const L=(0,d.Ng)((e=>{var n=e.appStore.updates.length,t=null,o=null,r=null;n>0&&(t={variant:"success",text:`${n}`,color:"success"}),e.accessRequests.length>0&&(r={variant:"danger",text:`${e.accessRequests.length}`,color:"danger"}),!1===e.appStore.storeAvailable&&(t={variant:"danger",text:"OFFLINE"}),e.appStore.serverUpdate&&(o={variant:"danger",text:e.appStore.serverUpdate,color:"danger"});var a={items:[{name:"Dashboard",url:"/dashboard",icon:"icon-speedometer"},{name:"Webapps",url:"/webapps",icon:"icon-grid"},{name:"Data Browser",url:"/databrowser",icon:"icon-folder"}]};if(!e.loginStatus.authenticationRequired||"admin"==e.loginStatus.userLevel){const e=localStorage.getItem("admin.v1.plugins.openPlugin");a.items.push.apply(a.items,[{name:"Appstore",url:"/appstore",icon:"icon-basket",badge:t},{name:"Server",url:"/serverConfiguration",icon:"icon-settings",children:[{name:"Settings",url:"/serverConfiguration/settings"},{name:"Data Connections",url:"/serverConfiguration/connections/-"},{name:"Plugin Config",url:"/serverConfiguration/plugins/"+(e||"-")},{name:"Server Logs",url:"/serverConfiguration/log"},{name:"Update",url:"/serverConfiguration/update",badge:o},{name:"Data Fiddler",url:"/serverConfiguration/datafiddler"},{name:"Backup/Restore",url:"/serverConfiguration/backuprestore"}]}])}if(!1===e.loginStatus.authenticationRequired||"admin"==e.loginStatus.userLevel){var i={name:"Security",url:"/security",icon:"icon-shield",badge:r,children:[{name:"Settings",url:"/security/settings"},{name:"Users",url:"/security/users"}]};e.loginStatus.allowDeviceAccessRequests&&i.children.push({name:"Devices",url:"/security/devices"}),(e.loginStatus.allowNewUserRegistration||e.loginStatus.allowDeviceAccessRequests)&&i.children.push({name:"Access Requests",url:"/security/access/requests",badge:r}),a.items.push(i)}return a.items.push({name:"Documentation",url:`${window.location.protocol}//${window.location.host}/documentation`,icon:"icon-book-open",props:{target:"_blank",rel:"noopener noreferrer"}}),a.items.push({name:"OpenApi",url:`${window.location.protocol}//${window.location.host}/doc/openapi`,icon:"icon-energy",props:{target:"_blank",rel:"noopener noreferrer"}}),a}))(Q);class H extends o.Component{render(){return r().createElement("aside",{className:"aside-menu"})}}const V=H;var X=t(6621);class Z extends o.Component{constructor(e){super(e)}render(){const{name:e,mmsi:n,uuid:t}=this.props.vesselInfo;return r().createElement("footer",{className:"app-footer"},r().createElement("span",null,r().createElement("a",{href:"https://github.com/SignalK/signalk-server-node/"},"Signal K Server")),void 0!==this.props.serverSpecification.server&&r().createElement("span",null," version ",this.props.serverSpecification.server.version),r().createElement("span",null," "," ",r().createElement("a",{href:"https://opencollective.com/signalk"},"Sponsor Signal K")),void 0!==this.props.appStore.serverUpdate&&r().createElement("span",null,r().createElement(X.A,{to:"/serverConfiguration/update"}," (version ",this.props.appStore.serverUpdate," is available)")),"loggedIn"===this.props.loginStatus.status&&r().createElement("span",{className:"ml-auto"},"Logged in as ",this.props.loginStatus.username)," - ",e||n||t)}}const ee=(0,d.Ng)((({loginStatus:e,serverSpecification:n,appStore:t,vesselInfo:o})=>({loginStatus:e,serverSpecification:n,appStore:t,vesselInfo:o})))(Z);var ne=t(81087);function te(e){return r().createElement("a",{href:"#/serverConfiguration/plugins/"+e},e)}function oe(e){return"defaults"===e?r().createElement("a",{href:"#/serverConfiguration/settings"},e):e.startsWith("ws.")?r().createElement("a",{href:"#/security/devices"},e):r().createElement("a",{href:"#/serverConfiguration/connections/"+e},e)}b()(ne.A,{insert:"head",singleton:!1}),ne.A.locals;const re=(0,d.Ng)((({serverStatistics:e,websocketStatus:n,providerStatus:t})=>({serverStatistics:e,websocketStatus:n,providerStatus:t})))((e=>{const{deltaRate:n,numberOfAvailablePaths:t,wsClients:o,providerStatistics:a,uptime:i}=e.serverStatistics||{deltaRate:0,numberOfAvailablePaths:0,wsClients:0,providerStatistics:{},uptime:""},l=e.providerStatus||[],s=l.filter((e=>"error"===e.type)).length,A=Math.floor(i/86400),d=Math.floor(i%86400/3600),c=Math.floor(i%3600/60);let m="";s>0&&(m=`(${s} errors)`);const p=e=>{try{return l.find((n=>n.id===e)).statusType}catch(e){return"provider"}},b=e=>"icon-login"+(e.deltaRate>50?" text-primary fa-pulse-fast":e.deltaRate>0?" text-primary fa-pulse":""),g=e=>"icon-logout"+(e.writeRate>50?" text-primary fa-pulse-fast":e.writeRate>0?" text-primary fa-pulse":""),u=(t,o,a)=>r().createElement("li",{key:t,onClick:()=>e.history.push("/dashboard")},r().createElement("i",{className:b(o),style:{color:o.deltaCount?"#039":"lightblue"}}),r().createElement("i",{className:g(o),style:{transform:"scaleX(-1)",color:o.writeCount?"#039":"lightblue"}}),r().createElement("span",{className:"title"},"plugin"===a?te(t):oe(t)),o.writeRate>0&&r().createElement("span",{className:"value"}," ",o.writeRate," ",r().createElement("span",{className:"text-muted small"},"msg/s")," "),o.deltaRate>0&&o.writeRate>0&&r().createElement("span",{className:"value"},r().createElement("span",{className:"text-muted small"},",")," "),o.deltaRate>0&&r().createElement("span",{className:"value"}," ",o.deltaRate," ",r().createElement("span",{className:"text-muted small"},"(",(o.deltaRate/n*100).toFixed(0),"%)")," ",r().createElement("span",{className:"text-muted small"},"deltas/s")," "),r().createElement("div",{className:"bars"},r().createElement(f.ke,{className:"progress-xs",color:"warning",value:o.deltaRate/n*100})));return r().createElement("div",{className:"animated fadeIn"},"open"===e.websocketStatus&&r().createElement("div",null,r().createElement(f.Zp,null,r().createElement(f.aR,null,"Stats"),r().createElement(f.bw,null,r().createElement(f.fI,null,r().createElement(f.fv,{xs:"12",md:"6"},r().createElement("div",{className:"callout callout-primary"},r().createElement("small",{className:"text-muted"},"Total server Signal K throughput (deltas/second)"),r().createElement("br",null),r().createElement("strong",{className:"h4"},n.toFixed(1))),r().createElement("div",{className:"callout callout-primary"},r().createElement("small",{className:"text-muted"},"Number of Signal K Paths"),r().createElement("br",null),r().createElement("strong",{className:"h4"},t)),r().createElement("div",{className:"callout callout-primary"},r().createElement("small",{className:"text-muted"},"Number of WebSocket Clients"),r().createElement("br",null),r().createElement("strong",{className:"h4"},o)),r().createElement("div",{className:"callout callout-primary"},r().createElement("small",{className:"text-muted"},"Uptime"),r().createElement("br",null),r().createElement("strong",{className:"h5"},A," days, ",d," hours, ",c," minutes"))),r().createElement(f.fv,{xs:"12",md:"6"},r().createElement("div",{className:"text-muted",style:{fontSize:"1rem"}},"Connections activity"),r().createElement("ul",{className:"horizontal-bars type-2"},Object.keys(a||{}).sort().map((e=>{if("provider"===p(e))return u(e,a[e],"provider")}))),r().createElement("br",null),r().createElement("div",{className:"text-muted",style:{fontSize:"1rem"}},Object.keys(a||{}).some((e=>"plugin"===p(e)))?"Plugins activity":null),r().createElement("ul",{className:"horizontal-bars type-2"},Object.keys(a||{}).sort().map((e=>{if("plugin"===p(e))return u(e,a[e],"plugin")}))))))),r().createElement(f.Zp,null,r().createElement(f.aR,null,"Connection & Plugin Status ",r().createElement("p",{className:"text-danger"},m)),r().createElement(f.bw,null,r().createElement(f.fI,null,r().createElement(f.fv,{xs:"12",md:"12"},r().createElement(f.XI,{hover:!0,responsive:!0,bordered:!0,striped:!0,size:"sm"},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",null,"Id"),r().createElement("th",null,"Last Error"),r().createElement("th",null,"Status"))),r().createElement("tbody",null,l.map((n=>((n,t,o)=>r().createElement("tr",{key:n.id,onClick:()=>{e.history.push("/serverConfiguration/"+("plugin"===n.statusType?"plugins/":"connections/")+n.id)}},r().createElement("td",null,"plugin"===n.statusType?te(n.id):oe(n.id)),r().createElement("td",null,r().createElement("p",{className:"text-danger"},o)),r().createElement("td",null,r().createElement("p",{className:t},(n.message||"").substring(0,80),n.message.length>80?"...":""))))(n,{status:"text-success",warning:"text-warning",error:"text-danger"}[n.type],n.lastError&&n.lastError!=n.message?n.lastErrorTimeStamp+": "+n.lastError:"")))))))))),"closed"===e.websocketStatus&&r().createElement(f.Zp,{className:"border-warning"},r().createElement(f.aR,null,"Not connected to the server")))})),ae=(e,n)=>r().lazy((()=>new Promise(((o,r)=>{const a=window[ie(e)];if(void 0===a)return console.error(`Could not load module ${e}`),void o(t.e(188).then(t.bind(t,89188)));a.init(t.S.default);try{a.get(n).then((e=>{o(e())}))}catch(n){console.error(e),r(n)}})))),ie=e=>e.replace(/[-@/]/g,"_");class le extends o.Component{constructor(e){super(e),this.state={enabling:!1,errorMessage:null},this.handleInputChange=this.handleInputChange.bind(this),this.handleInputKeyUp=this.handleInputKeyUp.bind(this),this.handleClick=this.handleClick.bind(this)}handleClick(){const{dispatch:e}=this.props;var n,t,o,r;this.setState({enabling:!0}),n=this.state.username,t=this.state.password,o=n=>{k(e),this.setState({enabling:!1,errorMessage:n})},r={userId:n,password:t,type:"admin"},fetch(`${window.serverRoutesPrefix}/enableSecurity`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)}).then((e=>{200!=e.status?e.text().then((e=>{o(e)})):o(null)}))}handleInputChange(e){this.setState({[e.target.name]:e.target.value})}handleInputKeyUp(e){"Enter"===e.key&&this.handleClick()}render(){return r().createElement("div",null,this.props.loginStatus.authenticationRequired&&!this.props.loginStatus.noUsers&&r().createElement(de,null),(!1===this.props.loginStatus.authenticationRequired||!0===this.props.loginStatus.noUsers)&&r().createElement(f.mc,null,r().createElement(f.fI,{className:"justify-content-center"},r().createElement(f.fv,{md:"8"},r().createElement(f.AC,null,r().createElement(f.Zp,{className:"p-4"},r().createElement(f.bw,null,this.props.loginStatus.securityWasEnabled&&0==this.props.loginStatus.authenticationRequired&&r().createElement("p",{className:"text-danger"},"Security has been enabled, please restart the server"),!this.props.loginStatus.securityWasEnabled&&r().createElement(f.lV,null,r().createElement("h1",null,"Enable Security"),r().createElement("p",{className:"text-muted"},"Create an admin account"),r().createElement(f.MG,{className:"mb-3"},r().createElement(f.Sq,{addonType:"prepend"},r().createElement(f.zB,null,r().createElement("i",{className:"icon-user"}))),r().createElement(f.pd,{type:"text",name:"username",placeholder:"Username",onChange:this.handleInputChange,onKeyUp:this.handleInputKeyUp})),r().createElement(f.MG,{className:"mb-4"},r().createElement(f.Sq,{addonType:"prepend"},r().createElement(f.zB,null,r().createElement("i",{className:"icon-lock"}))),r().createElement(f.pd,{type:"password",name:"password",placeholder:"Password",onChange:this.handleInputChange,onKeyUp:this.handleInputKeyUp})),r().createElement(f.fI,null,r().createElement(f.fv,{xs:"6"},r().createElement(f.$n,{onClick:this.handleClick,color:"primary",className:"px-4"},r().createElement("i",{className:this.state.enabling?"fa fa-spinner fa-spin":"fa fa-lock"})," ","Enable")),r().createElement(f.fv,{xs:"6",className:"text-right"},r().createElement("p",{className:"text-danger"},this.state.errorMessage)))))))))))}}const se=(0,d.Ng)((({loginStatus:e})=>({loginStatus:e})))(le);class Ae extends o.Component{constructor(e){super(e),this.state={loggingIn:!1,loginErrorMessage:null},this.handleInputChange=this.handleInputChange.bind(this),this.handleInputKeyUp=this.handleInputKeyUp.bind(this),this.handleClick=this.handleClick.bind(this)}handleClick(){this.setState({loggingIn:!0});const{dispatch:e}=this.props;B(e,this.state.username,this.state.password,this.state.rememberMe,(e=>{this.setState({loggingIn:!1,loginErrorMessage:e})}))}handleInputChange(e){var n="checkbox"===e.target.type?e.target.checked:e.target.value;this.setState({[e.target.name]:n})}handleInputKeyUp(e){"Enter"===e.key&&this.handleClick()}render(){return"notLoggedIn"===this.props.loginStatus.status&&!0===this.props.loginStatus.noUsers?r().createElement(se,null):r().createElement("div",null,"notLoggedIn"===this.props.loginStatus.status&&r().createElement(f.mc,null,r().createElement(f.fI,{className:"justify-content-center"},r().createElement(f.fv,{md:"8"},r().createElement(f.AC,null,r().createElement(f.Zp,{className:"p-4"},r().createElement(f.bw,null,r().createElement("h1",null,"Login"),r().createElement("p",{className:"text-muted"},"Sign In to your account"),r().createElement(f.MG,{className:"mb-3"},r().createElement(f.Sq,{addonType:"prepend"},r().createElement(f.zB,null,r().createElement("i",{className:"icon-user"}))),r().createElement(f.pd,{type:"text",name:"username",placeholder:"Username",onChange:this.handleInputChange,onKeyUp:this.handleInputKeyUp})),r().createElement(f.MG,{className:"mb-4"},r().createElement(f.Sq,{addonType:"prepend"},r().createElement(f.zB,null,r().createElement("i",{className:"icon-lock"}))),r().createElement(f.pd,{type:"password",name:"password",placeholder:"Password",onChange:this.handleInputChange,onKeyUp:this.handleInputKeyUp})),r().createElement(f.fI,null,r().createElement(f.fv,{xs:"8"},r().createElement(f.MG,{className:"mb-4"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"rememberMe",className:"switch-input",onChange:this.handleInputChange}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))," Remember Me"))),r().createElement(f.fI,null,r().createElement(f.fv,{xs:"6"},r().createElement(f.$n,{onClick:this.handleClick,color:"primary",className:"px-4"},r().createElement("i",{className:this.state.loggingIn?"fa fa-spinner fa-spin":"fa fa-lock"})," ","Login")),r().createElement(f.fv,{xs:"6",className:"text-right"},this.state.loginErrorMessage&&r().createElement("p",{className:"text-danger"},this.state.loginErrorMessage),!this.state.loginErrorMessage&&this.props.loginStatus.allowNewUserRegistration&&r().createElement("div",null,r().createElement(X.A,{to:"/register"},r().createElement(f.$n,{color:"link",className:"px-0"},"Sign up"))))))))))),"loggedIn"==this.props.loginStatus.status&&r().createElement(re,null))}}const de=(0,d.Ng)((({loginStatus:e})=>({loginStatus:e})))(Ae);var ce=t(47026);const me="https:"==window.location.protocol?"wss":"ws";class pe extends o.Component{constructor(e){super(e),this.state={component:ae(this.props.match.params.moduleId,"./AppPanel")},this.websockets=[],this.adminUI={hideSideBar:()=>{window.dispatchEvent(new Event("sidebar:hide"))},getApplicationUserData:(e,n="")=>fetch(`/signalk/v1/applicationData/user/${this.props.match.params.moduleId}/${e}${n}`,{credentials:"include"}).then((e=>{if(200!=e.status)throw new Error(e);return e})).then((e=>e.json())),setApplicationUserData:(e,n={},t="")=>fetch(`/signalk/v1/applicationData/user/${this.props.match.params.moduleId}/${e}${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n),credentials:"include"}).then((e=>{if(200!=e.status)throw new Error(e);return e})),openWebsocket:e=>{const n=["subscribe","sendCachedValues","events"],t=n.map(((n,t)=>[t,e[n]])).filter((e=>void 0!==e[1])).map((([e,t])=>`${n[e]}=${t}`)).join("&"),o=new ce.A(`${me}://${window.location.host}/signalk/v1/stream?${t}`);return this.websockets.push(o),o},get:({context:e,path:n})=>{const t=e.split(".");return fetch(`/signalk/v1/api/${t[0]}/${t.slice(1).join(".")}/${n}`,{credentials:"include"})},Login:de}}componentWillUnmount(){this.websockets.forEach((e=>{try{e.close()}catch(e){console.error(e)}}))}render(){return r().createElement("div",{style:{backgroundColor:"aliceblue",height:"calc(100vh - 105px)"}},r().createElement(o.Suspense,{fallback:"Loading..."},r().createElement(this.state.component,{...this.props,adminUI:this.adminUI})))}}const be=(0,d.Ng)((({loginStatus:e})=>({loginStatus:e})))(pe);var ge=t(39067),ue=t.n(ge);function he(){return he=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)({}).hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},he.apply(null,arguments)}const Ce={webAppInfo:ue().shape({name:ue().string.isRequired,description:ue().string,signalk:ue().shape({displayName:ue().string,appIcon:ue().string})}).isRequired,children:ue().node};function fe(e){return e.keywords.includes("signalk-embeddable-webapp")?`/admin/#/e/${ie(e.name)}`:`/${e.name}`}class we extends o.Component{render(){const{webAppInfo:e,...n}=this.props,t={style:"clearfix",color:"primary",icon:"fa "+(e?.signalk?.displayName?"":"icon-grid")},o={style:"h5 mb-0",color:t.color,classes:""};o.classes=R()(o.style,"text-"+t.color,"mt-2","text-capitalize");const a=e?.signalk?.displayName||e.name,i=fe(e);return r().createElement("a",{href:i},r().createElement(f.Zp,null,r().createElement(f.bw,he({className:t.classes},n),function(n,t=null){const o=R()(n,"bg-primary","p-3","font-2xl mr-3 float-left"),a={backgroundSize:"cover",backgroundImage:t?`url(/${e.name}/${t})`:"unset"};return t&&(a.width=a.height="72px"),r().createElement("i",{className:o,style:a})}(t.icon,e?.signalk?.appIcon),r().createElement("div",{className:o.classes},a),r().createElement("div",{className:"text-muted font-xs"},e.description))))}}we.propTypes=Ce;const ve=we;class Be extends o.Component{constructor(e){super(e),this.state={addonComponents:[]}}setAddonComponents(){this.setState({addonComponents:this.props.addons.map((e=>ae(e.name,"./AddonPanel")))})}componentDidMount(){this.setAddonComponents()}componentDidUpdate(e){this.props.addons!=e.addons&&this.setAddonComponents()}render(){return r().createElement("div",{className:"animated fadeIn"},r().createElement(f.Zp,null,r().createElement(f.aR,null,"Webapps"),r().createElement(f.bw,null,r().createElement("div",{className:"row"},this.props.webapps.filter((e=>"@signalk/server-admin-ui"!==e.name)).map((e=>r().createElement(f.fv,{xs:"12",md:"12",lg:"6",xl:"4",key:e.name},r().createElement(ve,{key:e.name,webAppInfo:e}))))))),r().createElement(f.Zp,null,r().createElement(f.aR,null,"Addons"),r().createElement(f.bw,null,this.state.addonComponents.map(((e,n)=>r().createElement(o.Suspense,{key:n,fallback:"Loading..."},r().createElement(e,{...this.props})))))))}}const Ee=(0,d.Ng)((({webapps:e,addons:n})=>({webapps:e,addons:n})))(Be);var xe=t(69721),ke=t(34468),$e=t(99420),ye=t.n($e),Fe=t(5750),Se=t(49475),ze=t(34453);function De(){return De=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)({}).hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},De.apply(null,arguments)}const Ne=({disabled:e,value:n,setValue:t})=>r().createElement(f.pd,{disabled:e,type:"select",value:n,onChange:e=>t(e.target.value)},Object.entries(Me).map((([e,n])=>r().createElement("option",{key:e,value:e},e,":",n)))),Ie=({disabled:e,setValue:n,value:t})=>r().createElement(f.pd,{disabled:e,type:"text",onChange:e=>n(e.target.value),value:t}),Ue=({disabled:e,setValue:n,value:t})=>r().createElement(f.pd,{disabled:e,type:"number",onChange:e=>{try{n(Number(e.target.value))}catch(e){n("")}},value:t}),qe=({setValue:e,value:n})=>Array.isArray(n)?r().createElement(r().Fragment,null,["sound","visual"].map((t=>r().createElement(f.JU,{key:t,className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",className:"switch-input",onChange:()=>{n.indexOf(t)<0?(n.push(t),e(n)):(n.splice(n.indexOf(t,1)),e(n))},checked:n.indexOf(t)>=0}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}),t)))):(e([]),null),Ge=["linear","logarithmic","squareroot","power"],Je=({disabled:e,setValue:n,value:t})=>{const{lower:o,upper:a,type:i,power:l}=t;return r().createElement(r().Fragment,null,r().createElement(f.pd,{disabled:e,type:"select",value:i,onChange:e=>n({...t,type:e.target.value})},Ge.map((e=>r().createElement("option",{key:e,value:e},e)))),r().createElement(f.pd,{disabled:e,type:"number",onChange:e=>{try{n({...t,lower:Number(e.target.value)})}catch(e){n({...t,lower:null})}},value:o}),r().createElement(f.pd,{disabled:e,type:"number",onChange:e=>{try{n({...t,upper:Number(e.target.value)})}catch(e){n({...t,upper:null})}},value:a}),r().createElement(f.pd,{disabled:e||"power"!==i,type:"number",onChange:e=>{try{n({...t,power:Number(e.target.value)})}catch(e){n({...t,upper:null})}},value:l}))},Re={units:e=>r().createElement(We,De({},e,{renderValue:Ne})),description:e=>r().createElement(We,De({},e,{renderValue:Ie})),displayName:e=>r().createElement(We,De({},e,{renderValue:Ie})),longName:e=>r().createElement(We,De({},e,{renderValue:Ie})),shortName:e=>r().createElement(We,De({},e,{renderValue:Ie})),timeout:e=>r().createElement(We,De({},e,{renderValue:Ue})),displayScale:e=>r().createElement(We,De({},e,{renderValue:Je})),zones:()=>r().createElement(r().Fragment,null),normalMethod:e=>r().createElement(We,De({},e,{renderValue:qe})),nominalMethod:e=>r().createElement(We,De({},e,{renderValue:qe})),alertMethod:e=>r().createElement(We,De({},e,{renderValue:qe})),warnMethod:e=>r().createElement(We,De({},e,{renderValue:qe})),alarmMethod:e=>r().createElement(We,De({},e,{renderValue:qe})),emergencyMethod:e=>r().createElement(We,De({},e,{renderValue:qe}))},Oe=["units","description","displayName","longName","shortName","timeout","displayScale","zones","normalMethod","nominalMethod","alertMethod","warnMethod","alarmMethod","emergencyMethod"],Me={A:"Ampere",C:"Coulomb",Hz:"Hertz","ISO-8601 (UTC)":"Timestamp",J:"Joule",K:"Kelvin",Pa:"Pascal",V:"Volt",W:"Watt",deg:"Degree",kg:"Kilogram",m:"Meter","m/s":"Meters per second",m2:"Square meter",m3:"Cubic meter","m3/s":"Cubic meters per second",rad:"Radian","rad/s":"Radians per second",ratio:"Ratio",s:"Second",bool:"Boolean"},We=e=>{const{_key:n,renderValue:t,disabled:o,setKey:a,deleteKey:i}=e,l=t;return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"2",className:"col-form-label"},r().createElement(f.pd,{disabled:o,type:"select",value:n,onChange:e=>a(e.target.value)},Oe.filter((e=>"zones"!==e)).map(((e,n)=>r().createElement("option",{key:n,value:e},e))))),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(l,e)),r().createElement(f.fv,null,!o&&r().createElement(ze.g,{icon:Se.sjs,onClick:i})))},Pe=["nominal","alert","warn","alarm","emergency"],je=({zone:e,isEditing:n,showHint:t,setZone:o,deleteZone:a})=>{const{state:i,lower:l,upper:s,message:A}=e;return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"2",md:"2"},t&&r().createElement(f.ay,{color:"muted"},"Lower"),r().createElement(f.pd,{disabled:!n,type:"number",onChange:n=>o({...e,lower:Number(n.target.value)}),value:l})),r().createElement(f.fv,{xs:"2",md:"2"},t&&r().createElement(f.ay,{color:"muted"},"Upper"),r().createElement(f.pd,{disabled:!n,type:"number",name:"search",onChange:n=>o({...e,upper:Number(n.target.value)}),value:s})),r().createElement(f.fv,{xs:"12",md:"2"},t&&r().createElement(f.ay,{color:"muted"},"State"),r().createElement(f.pd,{disabled:!n,type:"select",value:i,name:"options.type",onChange:n=>o({...e,state:n.target.value})},Pe.map(((e,n)=>r().createElement("option",{key:n,value:e},e))))),r().createElement(f.fv,{xs:"3",md:"3"},t&&r().createElement(f.ay,{color:"muted"},"Message"),r().createElement(f.pd,{disabled:!n,type:"text",name:"search",onChange:n=>o({...e,message:n.target.value}),value:A})),r().createElement(f.fv,{xs:"2",md:"2"},n&&r().createElement(r().Fragment,null,t&&r().createElement(f.ay,{color:"muted"},"Remove"),r().createElement(ze.g,{icon:Se.sjs,onClick:a}))))},Ke=({zones:e,isEditing:n,setZones:t})=>r().createElement(f.fI,null,r().createElement(f.fv,{md:"2"},"Zones"),r().createElement(f.fv,{md:"10"},r().createElement(f.lV,{action:"",method:"post",encType:"multipart/form-data",className:"form-horizontal",onSubmit:e=>{e.preventDefault()}},(void 0===e||0===e.length)&&!n&&"No zones defined",e.map(((o,a)=>r().createElement(je,{key:a,zone:o,isEditing:n,showHint:0===a,setZone:n=>{e[a]=n,t([...e])},deleteZone:()=>{e.splice(a,1),t(e)}})))),n&&r().createElement(ze.g,{icon:Se.CHJ,onClick:()=>t([...e,{upper:1,lower:0,state:Pe[0],message:""}])}))),Ye=(0,d.Ng)((({loginStatus:e})=>({loginStatus:e})))((function({meta:e,path:n,loginStatus:t}){const[a,i]=(0,o.useState)(!1),[l,s]=(0,o.useState)(e),A=!t.authenticationRequired||"loggedIn"===t.status&&"admin"===t.userLevel;let d=Oe.reduce(((e,n)=>(void 0!==l[n]&&e.push({key:n,value:l[n]}),e)),[]);Object.keys(l).reduce(((e,n)=>(Oe.indexOf(n)<0&&e.push({key:n,value:l[n]}),e)),d);const c=(m=l,JSON.parse(JSON.stringify(m)));var m;for(const e in c)Oe.indexOf(e)<0&&delete c[e];const p=d.find((({key:e})=>"zones"===e)),b=p?p.value:[];return r().createElement(r().Fragment,null,!a&&A&&r().createElement(ze.g,{icon:Se.zLW,onClick:()=>i(!0)}),a&&r().createElement(ze.g,{icon:Se.hSh,onClick:()=>{((e,n)=>{fetch(`/signalk/v1/api/vessels/self/${e.replaceAll(".","/")}/meta`,{method:"PUT",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})})})(n,l),i(!1)}})," ",r().createElement(f.lV,{action:"",method:"post",encType:"multipart/form-data",className:"form-horizontal",onSubmit:e=>{e.preventDefault()}},d.filter((({key:e})=>"zones"!==e)).map((({key:e,value:n})=>{const t=Re[e];return t&&t({_key:e,value:n,disabled:!a,setValue:n=>s({...l,[e]:n}),setKey:n=>{const t={...l};t[n]=l[e],delete t[e],s(t)},deleteKey:()=>{const n={...l};delete n[e],s(n)}})})),a&&r().createElement(ze.g,{icon:Se.Vdo,onClick:()=>{const e={...l};e[Oe.find((e=>void 0===l[e]))]="",s(e)}}),r().createElement(Ke,{zones:null!=b?b:[],isEditing:a,setZones:e=>s({...l,zones:e})})))})),Te={"navigation.position":({value:e})=>{if(!e||"object"!=typeof e)return r().createElement("span",{className:"text-primary"},JSON.stringify(e));const{longitude:n,latitude:t}=e;return"number"!=typeof n||"number"!=typeof t?r().createElement("span",{className:"text-primary"},JSON.stringify(e)):r().createElement("span",{className:"text-primary"},"longitude: ",n,", latitude: ",t)},"navigation.gnss.satellitesInView":({value:e})=>{if(!e||"object"!=typeof e||!Array.isArray(e.satellites))return r().createElement("span",{className:"text-primary"},JSON.stringify(e));const{count:n,satellites:t}=e,o=100;return r().createElement("div",{className:"text-primary"},r().createElement("div",{style:{display:"flex",alignItems:"flex-start",gap:"16px"}},r().createElement("svg",{width:200,height:200,style:{border:"1px solid #ccc"}},r().createElement("circle",{cx:o,cy:o,r:80,fill:"none",stroke:"#e0e0e0",strokeWidth:"1"}),r().createElement("circle",{cx:o,cy:o,r:160/3,fill:"none",stroke:"#e0e0e0",strokeWidth:"1"}),r().createElement("circle",{cx:o,cy:o,r:80/3,fill:"none",stroke:"#e0e0e0",strokeWidth:"1"}),r().createElement("line",{x1:o,y1:20,x2:o,y2:180,stroke:"#e0e0e0",strokeWidth:"1"}),r().createElement("line",{x1:20,y1:o,x2:180,y2:o,stroke:"#e0e0e0",strokeWidth:"1"}),r().createElement("text",{x:o,y:15,textAnchor:"middle",fontSize:"12",fill:"#666"},"N"),r().createElement("text",{x:o,y:195,textAnchor:"middle",fontSize:"12",fill:"#666"},"S"),r().createElement("text",{x:10,y:104,textAnchor:"middle",fontSize:"12",fill:"#666"},"W"),r().createElement("text",{x:190,y:104,textAnchor:"middle",fontSize:"12",fill:"#666"},"E"),r().createElement("text",{x:185,y:104,fontSize:"10",fill:"#999"},"0°"),r().createElement("text",{x:o+160/3+5,y:104,fontSize:"10",fill:"#999"},"30°"),r().createElement("text",{x:o+80/3+5,y:104,fontSize:"10",fill:"#999"},"60°"),r().createElement("text",{x:105,y:104,fontSize:"10",fill:"#999"},"90°"),t.map((e=>{const{x:n,y:t}=((e,n)=>{const t=80*(1-e/(Math.PI/2));return{x:o+t*Math.sin(n),y:o-t*Math.cos(n)}})(e.elevation,e.azimuth),a=!(i=e.SNR)||i<=0?"#000":i>=40?"#28a745":i>=30?"#004085":"#8b0000";var i;const l=e.SNR&&e.SNR>0,s=e.SNR?`${e.SNR} dB`:"No signal";return r().createElement("g",{key:e.id},r().createElement("title",null,"Satellite ",e.id,": ",s),r().createElement("circle",{cx:n,cy:t,r:"8",fill:a,stroke:l?"none":"#000",strokeWidth:l?0:2}),r().createElement("text",{x:n,y:t+4,textAnchor:"middle",fontSize:"10",fill:"white",fontWeight:"bold"},e.id))}))),r().createElement("div",{style:{fontSize:"12px",minWidth:"80px"}},r().createElement("div",{style:{marginBottom:"12px"}},r().createElement("strong",null,"Satellites in view: ",n)),r().createElement("div",{style:{display:"flex",flexDirection:"column",gap:"8px"}},r().createElement("div",{style:{display:"flex",alignItems:"center",gap:"6px"}},r().createElement("div",{style:{width:"12px",height:"12px",backgroundColor:"#28a745",borderRadius:"50%"}}),r().createElement("span",null,"≥40 dB")),r().createElement("div",{style:{display:"flex",alignItems:"center",gap:"6px"}},r().createElement("div",{style:{width:"12px",height:"12px",backgroundColor:"#004085",borderRadius:"50%"}}),r().createElement("span",null,"30-40 dB")),r().createElement("div",{style:{display:"flex",alignItems:"center",gap:"6px"}},r().createElement("div",{style:{width:"12px",height:"12px",backgroundColor:"#8b0000",borderRadius:"50%"}}),r().createElement("span",null,"0-30 dB")),r().createElement("div",{style:{display:"flex",alignItems:"center",gap:"6px"}},r().createElement("div",{style:{width:"12px",height:"12px",backgroundColor:"#000",border:"2px solid #000",borderRadius:"50%"}}),r().createElement("span",null,"No signal"))))))}},_e=({value:e,units:n})=>{let t=JSON.stringify(e,null,"object"==typeof e&&Object.keys(e||{}).length>1?2:0);return"number"==typeof e&&n&&(t=`${e} `),r().createElement(r().Fragment,null,"object"==typeof e?r().createElement("pre",{className:"text-primary"},t):r().createElement("span",{className:"text-primary"},t,"number"==typeof e&&n&&r().createElement("strong",null,n)))},Qe="admin.v1.dataBrowser.meta",Le="admin.v1.dataBrowser.v1.pause",He="admin.v1.dataBrowser.context",Ve="admin.v1.dataBrowser.search",Xe="admin.v1.dataBrowser.selectedSources",Ze="admin.v1.dataBrowser.sourceFilterActive";function en(){fetch("/signalk/v1/api/sources",{credentials:"include"}).then((e=>e.json())).then((e=>{Object.values(e).forEach((e=>{"NMEA2000"===e.type&&Object.keys(e).forEach((n=>{let t=e[n];t.n2k&&t.n2k.modelId&&(e[`${t.n2k.manufacturerCode||""} ${t.n2k.modelId} (${n})`]=t,delete e[n])}))})),this.setState({...this.state,sources:e})}))}class nn extends o.Component{constructor(e){super(e),this.state={hasData:!1,webSocket:null,didSubscribe:!1,pause:"true"===localStorage.getItem(Le),includeMeta:"true"===localStorage.getItem(Qe),data:{},meta:{},context:localStorage.getItem(He)||"self",search:localStorage.getItem(Ve)||"",selectedSources:new Set(JSON.parse(localStorage.getItem(Xe)||"[]")),sourceFilterActive:"true"===localStorage.getItem(Ze)},this.fetchSources=en.bind(this),this.handlePause=this.handlePause.bind(this),this.handleMessage=this.handleMessage.bind(this),this.handleContextChange=this.handleContextChange.bind(this),this.handleSearch=this.handleSearch.bind(this),this.toggleMeta=this.toggleMeta.bind(this),this.toggleSourceSelection=this.toggleSourceSelection.bind(this),this.toggleSourceFilter=this.toggleSourceFilter.bind(this)}handleMessage(e){if(!this.state.pause&&e.context&&e.updates){const n=e.context===this.state.webSocket.skSelf?"self":e.context;let t=!1;this.state.data[n]||(this.state.data[n]={},t=!0),this.state.meta[n]||(this.state.meta[n]={},t=!0);let o=this.state.data[n],r=this.state.meta[n];e.updates.forEach((e=>{if(e.values){let n=e.source&&e.source.pgn&&`(${e.source.pgn})`,t=e.source&&e.source.sentence&&`(${e.source.sentence})`;e.values.forEach((r=>{const a=ye()(e.timestamp),i=a.isSame(ye()(),"day")?a.format("HH:mm:ss"):a.format("MM/DD HH:mm:ss");""===r.path?Object.keys(r.value).forEach((a=>{o[a]={path:a,value:r.value[a],$source:e.$source,pgn:n,sentence:t,timestamp:i}})):o[r.path+"$"+e.$source]={path:r.path,$source:e.$source,value:r.value,pgn:n,sentence:t,timestamp:i}}))}e.meta&&e.meta.forEach((e=>{r[e.path]={...r[e.path],...e.value}}))})),(t||this.state.context&&this.state.context===n)&&this.setState({...this.state,hasData:!0,data:this.state.data,meta:this.state.meta})}}subscribeToDataIfNeeded(){if(!this.state.pause&&this.props.webSocket&&(this.props.webSocket!=this.state.webSocket||!1===this.state.didSubscribe)){const e={context:"*",subscribe:[{path:"*",period:2e3}]};this.props.webSocket.send(JSON.stringify(e)),this.state.webSocket=this.props.webSocket,this.state.didSubscribe=!0,this.state.webSocket.messageHandler=this.handleMessage}}unsubscribeToData(){if(this.props.webSocket){const e={context:"*",unsubscribe:[{path:"*"}]};this.props.webSocket.send(JSON.stringify(e)),this.state.didSubscribe=!1,this.props.webSocket.messageHandler=null}}componentDidMount(){this.fetchSources(),this.subscribeToDataIfNeeded()}componentDidUpdate(){this.subscribeToDataIfNeeded()}componentWillUnmount(){this.unsubscribeToData()}handleContextChange(e){const n=e?e.value:"none";localStorage.setItem(Xe,JSON.stringify([])),localStorage.setItem(Ze,!1),this.setState({...this.state,context:n,selectedSources:new Set,sourceFilterActive:!1}),localStorage.setItem(He,n)}getContextLabel(e){const n=this.state.data[e],t=n?.name?.value;return`${t||""} ${e}`}getContextOptions(){const e=Object.keys(this.state.data||{}).sort(),n=[];if(e.includes("self")){const e=this.getContextLabel("self");n.push({value:"self",label:e})}return e.forEach((e=>{if("self"!==e){const t=this.getContextLabel(e);n.push({value:e,label:t})}})),n}getCurrentContextValue(){return this.getContextOptions().find((e=>e.value===this.state.context))||null}handleSearch(e){this.setState({...this.state,search:e.target.value}),localStorage.setItem(Ve,e.target.value)}toggleMeta(e){this.setState({...this.state,includeMeta:e.target.checked}),localStorage.setItem(Qe,e.target.checked)}resetAllTimestampAnimations(){document.querySelectorAll(".timestamp-updated").forEach((e=>{e.classList.remove("timestamp-updated")}))}handlePause(e){this.state.pause=e.target.checked,this.setState(this.state),localStorage.setItem(Le,this.state.pause),this.state.pause?(this.unsubscribeToData(),this.resetAllTimestampAnimations()):(this.fetchSources(),this.subscribeToDataIfNeeded())}toggleSourceSelection(e){const n=new Set(this.state.selectedSources),t=0===n.size;n.has(e)?n.delete(e):n.add(e);const o=t&&1===n.size,r=0===n.size,a=!!o||!r&&this.state.sourceFilterActive;localStorage.setItem(Xe,JSON.stringify([...n])),localStorage.setItem(Ze,a),this.setState({...this.state,selectedSources:n,sourceFilterActive:a})}toggleSourceFilter(e){const n=e.target.checked;localStorage.setItem(Ze,n),this.setState({...this.state,sourceFilterActive:n})}render(){const e=this.getContextOptions(),n=this.getCurrentContextValue();return r().createElement("div",{className:"animated fadeIn"},r().createElement("style",null,"\n .timestamp-updated {\n position: relative;\n }\n\n .timestamp-updated::before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 3px;\n background-color: #28a745;\n animation: highlightFade 15s ease-out;\n }\n\n @keyframes highlightFade {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n }\n\n .responsive-table {\n font-size: 0.875rem;\n }\n\n .responsive-table td {\n padding: 0.5rem 0.25rem;\n vertical-align: top;\n word-wrap: break-word;\n word-break: break-word;\n }\n\n .responsive-table th {\n padding: 0.5rem 0.25rem;\n font-size: 0.8rem;\n font-weight: 600;\n }\n\n .responsive-table .path-cell {\n min-width: 150px;\n max-width: 200px;\n }\n\n .responsive-table .value-cell {\n min-width: 120px;\n max-width: 300px;\n }\n\n .responsive-table .timestamp-cell {\n min-width: 80px;\n max-width: 100px;\n white-space: nowrap;\n }\n\n .responsive-table .source-cell {\n min-width: 120px;\n max-width: 170px;\n }\n\n .responsive-table pre {\n margin: 0;\n padding: 0;\n font-size: 0.8rem;\n white-space: pre-wrap;\n word-wrap: break-word;\n word-break: break-word;\n }\n\n @media (max-width: 1200px) {\n .responsive-table {\n font-size: 0.8rem;\n }\n \n .responsive-table td {\n padding: 0.4rem 0.2rem;\n }\n \n .responsive-table th {\n padding: 0.4rem 0.2rem;\n font-size: 0.75rem;\n }\n }\n\n @media (max-width: 992px) {\n .responsive-table .path-cell {\n max-width: 150px;\n }\n \n .responsive-table .value-cell {\n max-width: 200px;\n }\n \n .responsive-table .source-cell {\n max-width: 140px;\n }\n }\n\n @media (max-width: 768px) {\n .responsive-table {\n font-size: 0.75rem;\n }\n \n .responsive-table td {\n padding: 0.3rem 0.15rem;\n }\n \n .responsive-table th {\n padding: 0.3rem 0.15rem;\n font-size: 0.7rem;\n }\n \n .responsive-table .path-cell {\n max-width: 120px;\n }\n \n .responsive-table .value-cell {\n max-width: 150px;\n }\n \n .responsive-table .source-cell {\n max-width: 120px;\n }\n \n .responsive-table pre {\n font-size: 0.7rem;\n }\n }\n\n @media (max-width: 576px) {\n .responsive-table {\n font-size: 0.7rem;\n }\n \n .responsive-table td {\n padding: 0.25rem 0.1rem;\n }\n \n .responsive-table th {\n padding: 0.25rem 0.1rem;\n font-size: 0.65rem;\n }\n \n .responsive-table .timestamp-cell {\n min-width: 70px;\n max-width: 80px;\n }\n }\n "),r().createElement(f.Zp,null,r().createElement(f.bw,null,r().createElement(f.lV,{action:"",method:"post",encType:"multipart/form-data",className:"form-horizontal",onSubmit:e=>{e.preventDefault()}},r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(ke.Ay,{value:n,onChange:this.handleContextChange,options:e,placeholder:"Select a context",isSearchable:!0,isClearable:!0,noOptionsMessage:()=>"No contexts available"})),r().createElement(f.fv,{xs:"6",md:"2"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",id:"Meta",name:"meta",className:"switch-input",onChange:this.toggleMeta,checked:this.state.includeMeta}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))," ",r().createElement("span",{style:{whiteSpace:"nowrap"}},"Meta data")),r().createElement(f.fv,{xs:"6",md:"2"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",id:"Pause",name:"pause",className:"switch-input",onChange:this.handlePause,checked:this.state.pause}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))," ","Pause")),this.state.context&&"none"!==this.state.context&&r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"2"},r().createElement(f.JU,{htmlFor:"select"},"Search")),r().createElement(f.fv,{xs:"12",md:"12"},r().createElement(f.pd,{type:"text",name:"search",onChange:this.handleSearch,value:this.state.search}))),!this.state.includeMeta&&this.state.context&&"none"!==this.state.context&&r().createElement(f.XI,{responsive:!0,bordered:!0,striped:!0,size:"sm",className:"responsive-table"},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",{className:"path-cell"},"Path"),r().createElement("th",{className:"value-cell"},"Value"),r().createElement("th",{className:"timestamp-cell"},"Timestamp"),r().createElement("th",{className:"source-cell"},r().createElement("input",{type:"checkbox",onChange:this.toggleSourceFilter,checked:this.state.sourceFilterActive,disabled:0===this.state.selectedSources.size,title:0===this.state.selectedSources.size?"Check a source in the list to filter by source":this.state.sourceFilterActive?"Uncheck to deactivate source filtering":"Check to activate source filtering",style:{marginRight:"5px",verticalAlign:"middle"}}),"Source"))),r().createElement("tbody",null,Object.keys(this.state.data[this.state.context]||{}).filter((e=>{const n=this.state.data[this.state.context][e];return!(this.state.search&&0!==this.state.search.length&&-1===e.toLowerCase().indexOf(this.state.search.toLowerCase()))&&(!(this.state.sourceFilterActive&&this.state.selectedSources.size>0)||this.state.selectedSources.has(n.$source))})).sort().map((e=>{const n=this.state.data[this.state.context][e],t=this.state.meta[this.state.context][n.path],o=t&&t.units?t.units:"";return r().createElement("tr",{key:e},r().createElement("td",{className:"path-cell"},r().createElement(on,{text:n.path},r().createElement("span",null,n.path," ",r().createElement("i",{className:"far fa-copy"})))),r().createElement("td",{className:"value-cell"},(()=>{const e=(t=n.path,Te[t]?Te[t]:null);var t;return e?r().createElement(e,{value:n.value,units:o}):r().createElement(_e,{value:n.value,units:o})})()),r().createElement(tn,{timestamp:n.timestamp,isPaused:this.state.pause,className:"timestamp-cell"}),r().createElement("td",{className:"source-cell"},r().createElement("input",{type:"checkbox",onChange:()=>this.toggleSourceSelection(n.$source),checked:this.state.selectedSources.has(n.$source),style:{marginRight:"5px",verticalAlign:"middle"}}),r().createElement(on,{text:n.$source},n.$source," ",r().createElement("i",{className:"far fa-copy"}))," ",n.pgn||"",n.sentence||""))})))),this.state.includeMeta&&this.state.context&&"none"!==this.state.context&&r().createElement(f.XI,{responsive:!0,bordered:!0,striped:!0,size:"sm"},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",null,"Path"),r().createElement("th",null,"Meta"))),r().createElement("tbody",null,Object.keys(this.state.data[this.state.context]||{}).filter((e=>!this.state.search||0===this.state.search.length||-1!==e.toLowerCase().indexOf(this.state.search.toLowerCase()))).map((e=>this.state.data[this.state.context][e].path)).filter(((e,n,t)=>t.indexOf(e)===n)).sort().map((e=>{const n=this.state.meta[this.state.context][e];return r().createElement("tr",{key:e},r().createElement("td",null,e),r().createElement("td",null,!e.startsWith("notifications")&&r().createElement(Ye,{meta:n||{},path:e})))}))))))),this.state.sources&&r().createElement(f.Zp,null,r().createElement(f.aR,null,"Sources"),r().createElement(f.bw,null,r().createElement(xe.d,{data:this.state.sources,theme:"default",invertTheme:!0,sortObjectKeys:!0,hideRoot:!0}))))}}class tn extends o.Component{constructor(e){super(e),this.state={isUpdated:!1,animationKey:0},this.timeoutId=null}componentDidUpdate(e){e.timestamp!==this.props.timestamp&&(this.timeoutId&&clearTimeout(this.timeoutId),this.setState((e=>({isUpdated:!0,animationKey:e.animationKey+1}))),this.timeoutId=setTimeout((()=>{this.props.isPaused||this.setState({isUpdated:!1})}),15e3))}componentDidMount(){this.props.isPaused&&this.setState({isUpdated:!1})}componentWillUnmount(){this.timeoutId&&clearTimeout(this.timeoutId)}render(){return r().createElement("td",{className:`${this.props.className||""} ${this.state.isUpdated&&!this.props.isPaused?"timestamp-updated":""}`,key:this.state.animationKey},this.props.timestamp)}}class on extends o.Component{constructor(){super(),this.state={opacity:1}}render(){const{opacity:e}=this.state,n=function(){this.setState({opacity:.5}),setTimeout((()=>{this.setState({opacity:1})}),500)}.bind(this);return r().createElement(Fe.CopyToClipboard,{text:this.props.text,onCopy:n},r().createElement("span",{style:{opacity:e}}," ",this.props.children))}}const rn=(0,d.Ng)((({webSocket:e})=>({webSocket:e})))(nn);var an=t(75342),ln=t.n(an);const sn="MM/DD HH:mm:ss",An="admin.v1.playground.input",dn="deltas",cn="paths",mn="n2kjson",pn="putresults",bn="lintErrors";class gn extends o.Component{constructor(e){super(e);const n=localStorage.getItem(An)||"";this.state={hasData:!0,data:[],deltas:[],n2kJson:[],n2kOutAvailable:!1,input:n,inputIsJson:un(n),sending:!1,sendingN2K:!1,activeTab:dn},this.handleExecute=this.handleExecute.bind(this),this.handleSendN2K=this.handleSendN2K.bind(this),this.handleInput=this.handleInput.bind(this),this.send=this.send.bind(this),this.beautify=this.beautify.bind(this)}handleInput(e){this.setState({...this.state,input:e.target.value,inputIsJson:un(e.target.value)}),localStorage.setItem(An,e.target.value),this.inputWaitTimeout&&clearTimeout(this.inputWaitTimeout),this.inputWaitTimeout=setTimeout((()=>{this.state.input.length>0&&this.send(!1)}),500)}handleExecute(){this.send(!0)}handleSendN2K(){this.send(!1,!0)}componentDidMount(){this.state.input&&this.state.input.length>0&&this.send(!1)}beautify(){try{ln().parse(this.state.input);const e=JSON.stringify(JSON.parse(this.state.input),null,2);this.setState({...this.state,input:e,jsonError:null})}catch(e){this.setState({...this.state,data:[],deltas:[],putResults:[],n2kJson:[],n2kOutAvailable:!1,error:"invalid json",jsonError:e.message,activeTab:bn})}}send(e,n){let t=this.state.input.trim().charAt(0);if("{"===t||"["===t)try{ln().parse(this.state.input),this.state.activeTab===bn&&this.setState({...this.state,activeTab:dn})}catch(e){return void this.setState({...this.state,data:[],deltas:[],putResults:[],n2kJson:[],n2kOutAvailable:!1,error:"invalid json",jsonError:e.message,activeTab:bn})}const o={value:this.state.input,sendToServer:e,sendToN2K:n};localStorage.setItem(An,this.state.input),e&&this.setState({...this.state,sending:!0}),n&&this.setState({...this.state,sendingN2K:!0}),fetch(`${window.serverRoutesPrefix}/inputTest`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)}).then((e=>e.json())).then((t=>{if((e||n)&&setTimeout((()=>{this.setState({...this.state,sending:!1,sendingN2K:!1})}),1e3),t.error)this.setState({...this.state,data:[],deltas:[],putResults:[],n2kJson:[],n2kOutAvailable:!1,jsonError:null,error:t.error});else{this.state.error=null,this.setState(this.state);const e=[];t.deltas.forEach((n=>{n.context||(n.context="vessels.self"),n.updates&&n.updates.forEach((t=>{t.values&&t.values.forEach((o=>{""===o.path?Object.keys(o.value).forEach((r=>{e.push({path:r,value:o.value[r],context:n.context,timestamp:ye()(t.timestamp).format(sn)})})):e.push({path:o.path,value:o.value,context:n.context,timestamp:ye()(t.timestamp).format(sn)})}))}))})),this.setState({...this.state,data:e,deltas:t.deltas,n2kJson:t.n2kJson,n2kOutAvailable:t.n2kOutAvailable,putResults:t.putResults,jsonError:null})}})).catch((t=>{console.error(t),this.setState({...this.state,data:[],deltas:[],putResults:[],n2kJson:[],n2kOutAvailable:!1,error:t.message,jsonError:null}),(e||n)&&this.setState({...this.state,sending:!1,sendingN2K:!1})}))}render(){const e=e=>{this.setState({...this.state,activeTab:e})};return this.state.hasData&&r().createElement("div",{className:"animated fadeIn"},r().createElement(f.fI,null,r().createElement(f.fv,{xs:"12",md:"6"},r().createElement(f.Zp,null,r().createElement(f.aR,null,"Input"),r().createElement(f.bw,null,r().createElement(f.lV,{action:"",method:"post",encType:"multipart/form-data",className:"form-horizontal",onSubmit:e=>{e.preventDefault()}},r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"12",md:"12"},r().createElement(f.ay,{color:"muted"},"You can enter multi-line raw NMEA 2000, NMEA 0183 or Signal K deltas (one delta or an array). For sending PGNs out over the servers NMEA 2000 connection, use one of the formats"," ",r().createElement("a",{href:"/documentation/develop/plugins/deltas.html?highlight=NMEA%202000%20json#sending-nmea-2000-data-from-a-plugin"},"here")),r().createElement(f.pd,{type:"textarea",name:"input",rows:"15",onChange:this.handleInput,value:this.state.input}))))),r().createElement(f.wL,null,r().createElement(f.fI,{style:{paddingBottom:"0.25rem"}},r().createElement(f.fv,null,r().createElement(f.$n,{size:"sm",color:"primary",className:"float-left",disabled:!this.state.inputIsJson,onClick:this.beautify},r().createElement("i",{className:"fa fa-dot-circle-o"})," Beautify JSON")),r().createElement(f.fv,null,r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.handleExecute,className:"float-right"},r().createElement("i",{className:this.state.sending?"fa fa-spinner fa-spin":"fa fa-dot-circle-o"})," ","Send To Server"))),r().createElement(f.fI,{style:{paddingBottom:"0.25rem"}},r().createElement(f.fv,{className:"text-right"},r().createElement(f.$n,{size:"sm",color:"primary",disabled:!(this.state.n2kJson&&this.state.n2kJson.length>0&&this.state.n2kOutAvailable),onClick:this.handleSendN2K},r().createElement("i",{className:this.state.sendingN2K?"fa fa-spinner fa-spin":"fa fa-dot-circle-o"})," ","Send as PGN to server's NMEA2000 connection"))),r().createElement(f.fI,null,r().createElement(f.fv,null,r().createElement("span",{className:"float-right"},this.state.error&&r().createElement("p",{className:"text-danger"},this.state.error))))))),r().createElement(f.fv,{xs:"12",md:"6"},r().createElement(f.Zp,null,r().createElement(f.aR,null,"Output"),r().createElement(f.bw,null,r().createElement(f.so,{tabs:!0},r().createElement(f.CI,null,r().createElement(f.k2,{className:R()({active:this.state.activeTab===dn}),onClick:()=>{e(dn)}},"Deltas")),this.state.data.length>0&&r().createElement(f.CI,null,r().createElement(f.k2,{className:R()({active:this.state.activeTab===cn}),onClick:()=>{e(cn)}},"Paths")),this.state.n2kJson&&this.state.n2kJson.length>0&&r().createElement(f.CI,null,r().createElement(f.k2,{className:R()({active:this.state.activeTab===mn}),onClick:()=>{e(mn)}},"Decoded NMEA 2000")),this.state.putResults&&this.state.putResults.length>0&&r().createElement(f.CI,null,r().createElement(f.k2,{className:R()({active:this.state.activeTab===pn}),onClick:()=>{e(pn)}},"Put Results")),this.state.jsonError&&r().createElement(f.CI,null,r().createElement(f.k2,{className:R()({active:this.state.activeTab===bn}),onClick:()=>{e(bn)}},"Json Lint Error"))),r().createElement(f.JS,{activeTab:this.state.activeTab},r().createElement(f.mF,{tabId:dn},this.state.deltas.length>0&&r().createElement("div",{style:{overflowY:"scroll",maxHeight:"60vh",border:"1px solid",padding:"5px"}},r().createElement("pre",null,JSON.stringify(this.state.deltas,null,2)))),this.state.data.length>0&&r().createElement(f.mF,{tabId:cn},r().createElement("div",{style:{overflowY:"scroll",maxHeight:"60vh"}},r().createElement(f.XI,{responsive:!0,bordered:!0,striped:!0,size:"sm"},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",null,"Path"),r().createElement("th",null,"Value"),r().createElement("th",null,"Context"))),r().createElement("tbody",null,this.state.data.map((e=>{const n=JSON.stringify(e.value,null,"object"==typeof e.value&&null!==e.value&&Object.keys(e.value).length>1?2:0),t=`${e.path}${e.context}`;return r().createElement("tr",{key:t},r().createElement("td",null,e.path),r().createElement("td",null,r().createElement("pre",{className:"text-primary",style:{whiteSpace:"pre-wrap"}},n)),r().createElement("td",null,e.context))})))))),this.state.n2kJson&&this.state.n2kJson.length>0&&(n=this.state.n2kJson,r().createElement(f.mF,{tabId:mn},r().createElement("div",{style:{overflowY:"scroll",maxHeight:"60vh",border:"1px solid",padding:"5px"}},r().createElement("pre",null,JSON.stringify(n,null,2))))),this.state.putResults&&this.state.putResults.length>0&&r().createElement(f.mF,{tabId:pn},r().createElement("div",{style:{overflowY:"scroll",maxHeight:"60vh",border:"1px solid",padding:"5px"}},r().createElement("pre",null,JSON.stringify(this.state.putResults,null,2)))),this.state.jsonError&&r().createElement(f.mF,{tabId:bn},r().createElement("div",{style:{overflowY:"scroll",maxHeight:"60vh",border:"1px solid",padding:"5px"}},r().createElement("pre",null,this.state.jsonError)))))))));var n}}function un(e){let n=!1;try{JSON.parse(e),n=!0}catch(e){}return n}const hn=(0,d.Ng)((({webSocket:e})=>({webSocket:e})))(gn);var Cn=t(13363),fn=t(2722),wn=t.n(fn);const vn=(0,d.Ng)((({appStore:e})=>({appStore:e})))((function(e){const n=e.data,[t,a]=(0,o.useState)(!1),[i,l]=(0,o.useState)([]),[s,A]=(0,o.useState)(!1),d=()=>{fetch(`${window.serverRoutesPrefix}/appstore/install/${n.name}/${n.version}`,{method:"POST",credentials:"include"})};let c,m,p;return n.installing?(n.isInstalling||n.isRemoving||n.isWaiting?(m=n.isRemove?"Removing":n.isWaiting?"Waiting..":"Installing",p=r().createElement(f.ke,{className:"progress-sm progress__bar",animated:!0,color:"success",value:"100"})):m=n.installFailed?"Failed":n.isRemove?"Removed":n.installedVersion?"Updated":"Installed",c=r().createElement("div",{className:"progress__wrapper"},r().createElement("div",{className:"progress__status p-1"},m),p)):c=r().createElement(r().Fragment,null,r().createElement(f.x,{group:!0,className:"w-100"},n.installed?n.newVersion?r().createElement(f.$n,{className:"text-left",color:"success",onClick:d},r().createElement(ze.g,{className:"icon__update mr-2",icon:Se.sAM}),"Update"):n.isPlugin?r().createElement(G.A,{to:`/serverConfiguration/plugins/${n.id}`,role:"button",className:"btn btn-light text-left"},r().createElement(ze.g,{className:"mr-2",icon:Se.BH7}),"Configure"):r().createElement("a",{href:fe(n),role:"button",className:"btn btn-light text-left"},r().createElement(ze.g,{className:"mr-2",icon:Se.CQO}),"Open"):r().createElement(f.$n,{className:"text-left",color:"light",onClick:d},r().createElement(ze.g,{className:"mr-2",icon:Se.sAM}),"Install"),r().createElement(f.C,{caret:!0,color:n.newVersion?"success":"light",className:"flex-grow-0"}),r().createElement(f.rI,{right:!0},n.installed&&n.newVersion&&r().createElement(G.A,{to:`/serverConfiguration/plugins/${n.id}`,className:"dropdown-item"},r().createElement(ze.g,{className:"mr-2",icon:Se.BH7})," Configure"),n.npmUrl&&r().createElement("a",{href:n.npmUrl,target:"_blank",rel:"noreferrer",className:"dropdown-item"},r().createElement(ze.g,{icon:Se.Ju_,className:"mr-2"}),"View on NPM"),r().createElement(f.tJ,{onClick:async()=>{A(!0),a(!0);try{const n=await fetch(`https://registry.npmjs.org/${e.data.name}`),t=await n.json();if(t.versions){const e=wn().rsort(Object.keys(t.versions));l(e)}}catch(e){console.error("Failed to fetch versions:",e),l([])}finally{A(!1)}},className:"text-left"},r().createElement(ze.g,{className:"mr-2",icon:Se.sAM}),"Versions"),n.installed&&r().createElement(f.tJ,{onClick:()=>{confirm(`Are you sure you want to uninstall ${n.name}?`)&&fetch(`${window.serverRoutesPrefix}/appstore/remove/${n.name}`,{method:"POST",credentials:"include"})},className:"text-danger"},r().createElement(ze.g,{className:"mr-2",icon:Se.sjs}),"Remove")))),r().createElement("div",{className:"cell__renderer cell-action"},r().createElement("div",null,c),r().createElement(f.aF,{isOpen:t,toggle:()=>a(!t),size:"md"},r().createElement(f.rQ,{toggle:()=>a(!t)},"Versions - ",e.data.name),r().createElement(f.cw,null,s?r().createElement("div",{className:"text-center"},r().createElement("div",{className:"spinner-border text-primary",role:"status"},r().createElement("span",{className:"sr-only"},"Loading...")),r().createElement("p",{className:"mt-2"},"Loading versions...")):i.length>0?r().createElement("div",{style:{maxHeight:"450px",overflowY:"auto",border:"1px solid #ccc"}},r().createElement(f.yq,null,i.map((n=>r().createElement(f.HU,{key:n,className:"d-flex justify-content-between align-items-center"},r().createElement("span",null,r().createElement("strong",null,n),e.data.installedVersion===n&&r().createElement("span",{className:"badge badge-success ml-2"},"Installed")),e.data.installedVersion!==n&&r().createElement(f.$n,{size:"sm",color:"light",onClick:()=>(n=>{fetch(`${window.serverRoutesPrefix}/appstore/install/${e.data.name}/${n}`,{method:"POST",credentials:"include"}),a(!1)})(n)},r().createElement(ze.g,{className:"icon__update mr-2",icon:Se.sAM}),"Install")))))):r().createElement("p",{className:"text-muted"},"No older versions available or failed to load versions."))))}));function Bn(){return Bn=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)({}).hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},Bn.apply(null,arguments)}function En(e){return r().createElement(f.HU,{className:"p-3"},r().createElement("div",{className:"d-md-flex align-items-center flex-grow-1"},r().createElement("div",{className:"flex-grow-1 mr-3"},r().createElement("h5",{className:"text-dark mb-0"},e.name),r().createElement("div",{className:"text-muted"},r().createElement("span",{className:"font-weight-bolder"},"v",e.installedVersion||e.version," "),e.newVersion&&r().createElement(r().Fragment,null,r().createElement("span",{className:"text-secondary"}," → "),r().createElement("span",{className:"font-weight-bolder text-success font-italic"},"v",e.newVersion)," "),"released by",r().createElement("span",{className:"text-nowrap font-weight-bolder"}," ",e.author)," ","on",r().createElement("span",{className:"text-nowrap"}," ",e.updated.substring(0,10))),r().createElement("p",{className:"text-pretty mb-0"},e.description)),r().createElement("div",{className:"mt-3 mt-md-0"},r().createElement(vn,{data:e}))))}function xn(e){const[n,t]=(0,o.useState)([]);function a(){t(e.apps.slice(0,n.length+20))}return(0,o.useEffect)(a,[e.apps]),r().createElement(f.yq,null,r().createElement(Cn.A,{dataLength:n.length,next:a,hasMore:n.length!=e.apps.length},n.map((e=>r().createElement(En,Bn({key:e.name},e))))))}function kn({children:e}){return r().createElement("div",{className:"message__container"},r().createElement("p",{className:"message"},r().createElement("span",null,r().createElement(ze.g,{icon:Se.JAe})),e))}var $n=t(72678);b()($n.A,{insert:"head",singleton:!1}),$n.A.locals;const yn=e=>e.installing.filter((e=>e.isWaiting||e.isInstalling)).length,Fn=(e,n)=>e.installedVersion&&e.version!==e.installedVersion&&n.updates.find((n=>n.name===e.name)),Sn=(0,d.Ng)((({appStore:e})=>({appStore:e})))((function(e){const[n,t]=(0,o.useState)("All"),[a,i]=(0,o.useState)("All"),[l,s]=(0,o.useState)((()=>""));let A;!1===e.appStore.storeAvailable?A="You probably don't have Internet connectivity and Appstore can not be reached.":e.appStore.installing.length>0&&(A="Please restart the server after installing, updating or deleting a plugin");const d=((e,n)=>"Installed"===e?e=>e.installedVersion||e.installing:"Updates"===e?e=>Fn(e,n):"Installing"===e?e=>e.installing:()=>!0)(n,e.appStore),c="All"===a?()=>!0:e=>e.categories.includes(a),m=""===l?()=>!0:e=>{const n=l.toLowerCase();return e.name.toLowerCase().indexOf(n)>=0||e.description&&e.description.toLowerCase().indexOf(n)>=0},p=(()=>{const n=e.appStore.available.reduce(((e,n)=>(e[n.name]=n,e)),{});return e.appStore.installed.forEach((t=>n[t.name]={...t,installed:!0,newVersion:Fn(t,e.appStore)?t.version:null})),e.appStore.installing.forEach((e=>(n[e.name]||{}).installing=!0)),Object.values(n).sort(((e,n)=>new Date(n.updated).getTime()-new Date(e.updated).getTime()))})().filter(d).filter(c).filter(m);return r().createElement("div",{className:"appstore animated fadeIn"},A&&r().createElement("section",{className:"appstore__warning section"},r().createElement(kn,null,A)),r().createElement(f.Zp,null,r().createElement(f.aR,{className:"appstore__header"},r().createElement("div",{className:"title__container"},r().createElement(f.ZB,null,"Apps & Plugins"),r().createElement("div",{className:"button-wrapper"},r().createElement(f.$n,{color:"All"===n?"secondary":"light",onClick:()=>t("All")},"All"),r().createElement(f.$n,{color:"Installed"===n?"secondary":"light",onClick:()=>t("Installed")},"Installed"),r().createElement(f.$n,{color:"Updates"===n?"secondary":"light",onClick:()=>t("Updates")},"Updates",e.appStore.updates.length>0&&r().createElement("span",{className:"badge__update"},e.appStore.updates.length)),e.appStore.installing.length>0&&r().createElement(r().Fragment,null,r().createElement(f.$n,{color:"Installing"===n?"secondary":"light",onClick:()=>t("Installing")},"Installs & Removes",yn(e.appStore)>0&&r().createElement("span",{className:"badge__update"},yn(e.appStore))),e.appStore.installing.length>0&&"(Pending restart)"))),r().createElement("div",{className:"action__container"},"Updates"==n&&e.appStore.updates.length>0?r().createElement(f.$n,{color:"success",onClick:()=>{if(confirm("Are you sure you want to install all updates?"))for(const e of p)e.newVersion&&e.installed&&fetch(`${window.serverRoutesPrefix}/appstore/install/${e.name}/${e.version}`,{method:"POST",credentials:"include"})}},"Update all"):void 0,r().createElement("div",{className:"search"},r().createElement(ze.g,{className:"search__icon",icon:Se.$UM}),r().createElement(f.pd,{id:"search-text-box",className:"search__input",placeholder:"Search ...",onInput:e=>{s(e.target.value)},value:l})))),r().createElement(f.bw,null,r().createElement("section",{className:"appstore__tags section"},e.appStore.categories?.map((e=>r().createElement(f.$n,{key:e,color:"secondary",className:a===e?"active":void 0,outline:!0,onClick:()=>i(e)},e)))),r().createElement("section",{className:"appstore__grid"},r().createElement("div",{style:{height:"100%"}},r().createElement(xn,{apps:p}))))))}));var zn=t(22818),Dn=t.n(zn);const Nn=({plugin:e,onSubmit:n})=>{const t=JSON.parse(JSON.stringify(e.schema));var o={};void 0!==e.uiSchema&&(o.configuration=JSON.parse(JSON.stringify(e.uiSchema)));const a={type:"object",properties:{configuration:{type:"object",title:" ",description:t.description,properties:t.properties}}};e.statusMessage&&(a.description=`Status: ${e.statusMessage}`);const{enabled:i,enableLogging:l,enableDebug:s}=e.data;return r().createElement(Dn(),{schema:a,uiSchema:o,formData:e.data||{},onSubmit:e=>{n({...e.formData,enabled:i,enableLogging:l,enableDebug:s})}})};class In extends o.Component{constructor(e){super(e),this.state={component:ae(e.plugin.packageName,"./PluginConfigurationPanel"),configuration:this.props.plugin.data.configuration}}render(){return r().createElement("div",null,r().createElement(o.Suspense,{fallback:"Loading..."},r().createElement(this.state.component,{configuration:this.state.configuration,save:e=>{this.props.saveData({...this.props.plugin.data,configuration:e}),this.setState({configuration:e})}})))}}const Un="admin.v1.plugins.search",qn="admin.v1.plugins.openPlugin";class Gn extends o.Component{constructor(e){super(e),this.state={plugins:[],search:localStorage.getItem(Un)||"",searchResults:null},this.lastOpenedPlugin="--",this.handleSearch=this.handleSearch.bind(this)}searchPlugins(e,n){const t=n.toLowerCase();return e.filter((e=>e.id.toLowerCase().includes(t)||e.packageName.toLowerCase().includes(t)||e.description&&e.description.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)))}handleSearch(e){let n=null;const t=e.target.value;0!==t.length&&(n=this.searchPlugins(this.state.plugins,t)),this.setState({search:t,searchResults:n}),localStorage.setItem(Un,e.target.value)}toggleForm(e,n){const t=this.props.match.params.pluginid===n?"-":n;this.props.match.params.pluginid===n?localStorage.removeItem(qn):localStorage.setItem(qn,t),this.props.history.replace(`/serverConfiguration/plugins/${t}`)}componentDidMount(){fetch(`${window.serverRoutesPrefix}/plugins`,{credentials:"same-origin"}).then((e=>{if(200==e.status)return e.json();throw new Error("/plugins request failed:"+e.status)})).then((e=>{let n;this.state.search.length>0&&(n=this.searchPlugins(e,this.state.search)),this.setState({plugins:e,searchResults:n})})).catch((e=>{console.error(e),alert("Could not fetch plugins list")}))}render(){return r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),r().createElement("strong",null,"Plugin Configuration")),r().createElement(f.bw,null,r().createElement(f.lV,{action:"",method:"post",encType:"multipart/form-data",className:"form-horizontal",onSubmit:e=>{e.preventDefault()}},r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"1",className:"col-form-label"},r().createElement(f.JU,{htmlFor:"select"},"Search")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"text",name:"search",onChange:this.handleSearch,value:this.state.search})))),(this.state.searchResults||this.state.plugins).map(((e,n)=>{const t=this.props.match.params.pluginid===e.id;return r().createElement(Rn,{plugin:e,isConfigurator:Jn(e),key:n,isOpen:t,toggleForm:this.toggleForm.bind(this,n,e.id),history:this.props.history,saveData:n=>{void 0===e.data.configuration&&(n.enabled=!0),this.saveData(e.id,n)}})}))))}saveData(e,n){fetch(`${window.serverRoutesPrefix}/plugins/${e}/config`,{method:"POST",body:JSON.stringify(n),headers:new Headers({"Content-Type":"application/json"}),credentials:"same-origin"}).then((t=>{if(200!=t.status)console.error(t),alert("Saving plugin settings failed");else{const t=[...this.state.plugins];t.find((n=>n.id===e)).data=n,this.setState({plugins:t})}}))}}const Jn=e=>e.keywords.includes("signalk-plugin-configurator");class Rn extends o.Component{render(){const e={marginLeft:"10px",marginBottom:"0px"},{schema:n}=this.props.plugin,t=n&&n.properties&&0!=Object.keys(n?.properties).length&&null==this.props.plugin.data.configuration;return r().createElement("div",{ref:e=>{this.card=e}},r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement(f.fI,null,r().createElement(f.fv,{sm:4,onClick:this.props.toggleForm,className:"align-self-center"},r().createElement("i",{style:{marginRight:"10px"},className:"fa fa-chevron-"+(this.props.isOpen?"down":"right")}),this.props.plugin.name),t&&!this.props.isOpen&&r().createElement(o.Fragment,null,r().createElement(f.fv,{sm:6,lg:3},r().createElement("div",{className:"alert alert-warning mb-0 mt-2 mt-sm-0 pb-1 pt-1 btn-sm",role:"alert"},r().createElement("i",{className:"fa fa-exclamation-triangle"})," Plugin is disabled, configuration missing")),r().createElement(f.fv,{sm:2,className:"d-none d-sm-block"},r().createElement(f.$n,{size:"sm",color:"primary",className:"mt-0",style:{width:"100%"},onClick:this.props.toggleForm},"Configure"))),!t&&r().createElement(o.Fragment,null,r().createElement(f.fv,{lg:2,className:"mt-2 mt-lg-0"},r().createElement(f.JU,{style:e,className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"enabled",className:"switch-input",onChange:()=>{this.props.saveData({...this.props.plugin.data,enabled:!this.props.plugin.data.enabled})},checked:this.props.plugin.data.enabled}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"})),r().createElement("span",{className:"ml-1"},"Enabled")),r().createElement(f.fv,{lg:2,className:"mt-2 mt-lg-0"},r().createElement(f.JU,{style:e,className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"enableLogging",className:"switch-input",onChange:()=>{this.props.saveData({...this.props.plugin.data,enableLogging:!this.props.plugin.data.enableLogging})},checked:this.props.plugin.data.enableLogging}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"})),r().createElement("span",{className:"ml-1"},"Data logging")),r().createElement(f.fv,{lg:2,className:"mt-2 mt-lg-0"},r().createElement(f.JU,{style:e,className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"enableDebug",className:"switch-input ",onChange:()=>{this.props.saveData({...this.props.plugin.data,enableDebug:!this.props.plugin.data.enableDebug})},checked:this.props.plugin.data.enableDebug}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"})),r().createElement("span",{className:"ml-1"},"Enable debug log"))))),this.props.isOpen&&r().createElement(f.bw,null,!this.props.isConfigurator&&r().createElement(Nn,{plugin:this.props.plugin,onSubmit:e=>{this.props.saveData(e),this.props.history.replace("/serverConfiguration/plugins/-")}}),this.props.isConfigurator&&r().createElement(In,this.props))))}componentDidMount(){this.props.isOpen&&window.scrollTo({top:this.card.offsetTop-54,behavior:"smooth"})}}function On(){fetch(`${window.serverRoutesPrefix}/security/config`,{credentials:"include"}).then((e=>e.json())).then((e=>{this.setState({...e,hasData:!0})}))}const Mn=`${window.location.protocol}//${window.location.host}`;class Wn extends o.Component{constructor(e){super(e),this.state={hasData:!1},this.handleChange=this.handleChange.bind(this),this.handleSaveConfig=this.handleSaveConfig.bind(this),this.fetchSecurityConfig=On.bind(this)}componentDidMount(){this.props.loginStatus.authenticationRequired&&this.fetchSecurityConfig()}componentDidUpdate(e){this.props.loginStatus.authenticationRequired!=e.loginStatus.authenticationRequired&&this.fetchSecurityConfig()}handleChange(e){const n="checkbox"===e.target.type?e.target.checked:e.target.value;this.setState({[e.target.name]:n})}handleSaveConfig(){var e={allow_readonly:this.state.allow_readonly,expiration:this.state.expiration,allowNewUserRegistration:this.state.allowNewUserRegistration,allowDeviceAccessRequests:this.state.allowDeviceAccessRequests,allowedCorsOrigins:this.state.allowedCorsOrigins,adminUIOrigin:Mn};fetch(`${window.serverRoutesPrefix}/security/config`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),credentials:"include"}).then((e=>e.text())).then((e=>{this.fetchSecurityConfig(),alert(e)}))}render(){return r().createElement("div",{className:"animated fadeIn"},!1===this.props.loginStatus.authenticationRequired&&r().createElement(se,null),this.state.hasData&&this.props.loginStatus.authenticationRequired&&r().createElement("div",null,r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),"Settings"),r().createElement(f.bw,null,r().createElement(f.lV,{action:"",method:"post",encType:"multipart/form-data",className:"form-horizontal"},r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"0",md:"3"},r().createElement(f.JU,null,"Allow Readonly Access")),r().createElement(f.fv,{md:"9"},r().createElement(f.gE,{check:!0},r().createElement("div",null,r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"allow_readonly",className:"switch-input",onChange:this.handleChange,checked:this.state.allow_readonly}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"})))))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"0",md:"3"},r().createElement(f.JU,null,"Allow New User Registration")),r().createElement(f.fv,{md:"9"},r().createElement(f.gE,{check:!0},r().createElement("div",null,r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"allowNewUserRegistration",className:"switch-input",onChange:this.handleChange,checked:this.state.allowNewUserRegistration}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"})))))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"0",md:"3"},r().createElement(f.JU,null,"Allow New Device Registration")),r().createElement(f.fv,{md:"9"},r().createElement(f.gE,{check:!0},r().createElement("div",null,r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"allowDeviceAccessRequests",className:"switch-input",onChange:this.handleChange,checked:this.state.allowDeviceAccessRequests}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"})))))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"text-input"},"Remember Me timeout")),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"text",name:"expiration",onChange:this.handleChange,value:this.state.expiration}),r().createElement(f.ay,{color:"muted"},"Examples: 60s, 1m, 1h, 1d")),r().createElement(f.fv,{md:"6"},r().createElement(f.ay,{color:"muted"},"How long server keeps you logged when Remember Me is checked in login."))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"12"},r().createElement(f.JU,null,"With no configuration all CORS origins are accepted, but client requests with credentials:include do not work. Add a single * origin to allow all origins with credentials. You can also restrict CORS requests to specific origins. The origin that this UI was loaded from is automatically added to the allowed origins so that requests from the UI work. Changes to the Allowed CORS origins requires a server restart.")))," ",r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"text-input"},"Allowed CORS origins")),r().createElement(f.fv,{xs:"12",md:"9"},r().createElement(f.pd,{type:"text",name:"allowedCorsOrigins",onChange:this.handleChange,value:this.state.allowedCorsOrigins}),r().createElement(f.ay,{color:"muted"},"Use either * or a comma delimited list of origins, example: http://host1.name.com:3000,http://host2.name.com:3000"))))),r().createElement(f.wL,null,r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.handleSaveConfig},r().createElement("i",{className:"fa fa-dot-circle-o"})," Save")))))}}const Pn=(0,d.Ng)((({loginStatus:e})=>({loginStatus:e})))(Wn);function jn(){fetch(`${window.serverRoutesPrefix}/security/users`,{credentials:"include"}).then((e=>e.json())).then((e=>{this.setState({users:e})}))}class Kn extends o.Component{constructor(e){super(e),this.state={},this.handleAddUser=this.handleAddUser.bind(this),this.fetchSecurityUsers=jn.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleApply=this.handleApply.bind(this),this.handleUserChange=this.handleUserChange.bind(this),this.deleteUser=this.deleteUser.bind(this)}componentDidMount(){this.props.loginStatus.authenticationRequired&&this.fetchSecurityUsers()}componentDidUpdate(e){this.props.loginStatus.authenticationRequired!=e.loginStatus.authenticationRequired&&this.fetchSecurityUsers()}handleUserChange(e){const n="checkbox"===e.target.type?e.target.checked:e.target.value;this.state.selectedUser[e.target.name]=n,this.setState({selectedUser:this.state.selectedUser})}handleAddUser(){this.setState({selectedUser:{type:"readonly",isNew:!0},selectedIndex:this.state.users.length-1},(()=>{this.refs.selectedUser.scrollIntoView()}))}handleApply(e){if(e.preventDefault(),this.state.selectedUser.userId&&0!=this.state.selectedUser.userId.length)if(this.state.selectedUser.password&&this.state.selectedUser.password!=this.state.selectedUser.confirmPassword)alert("Passwords do not match");else{var n=this.state.selectedUser.isNew,t={password:this.state.selectedUser.password,type:this.state.selectedUser.type||"readonly"};fetch(`${window.serverRoutesPrefix}/security/users/${this.state.selectedUser.userId}`,{method:n?"POST":"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),credentials:"include"}).then((e=>e.text())).then((e=>{this.setState({selectedUser:null,selectedIndex:-1}),alert(e),this.fetchSecurityUsers()}))}else alert("Please specify a User Id")}deleteUser(){fetch(`${window.serverRoutesPrefix}/security/users/${this.state.selectedUser.userId}`,{method:"DELETE",headers:{"Content-Type":"application/json"},credentials:"include"}).then((e=>e.text())).then((e=>{this.setState({selectedUser:null,selectedIndex:-1}),alert(e),this.fetchSecurityUsers()}))}userClicked(e,n){this.setState({selectedUser:JSON.parse(JSON.stringify(e)),selectedIndex:n},(()=>{this.refs.selectedUser.scrollIntoView()}))}handleCancel(){this.setState({selectedUser:null})}render(){return r().createElement("div",{className:"animated fadeIn"},!1===this.props.loginStatus.authenticationRequired&&r().createElement(se,null),this.state.users&&this.props.loginStatus.authenticationRequired&&r().createElement("div",null,r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),"Users"),r().createElement(f.bw,null,r().createElement(f.XI,{hover:!0,responsive:!0,bordered:!0,striped:!0,size:"sm"},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",null,"User ID"),r().createElement("th",null,"Type"))),r().createElement("tbody",null,(this.state.users||[]).map(((e,n)=>{return r().createElement("tr",{key:e.userId,onClick:this.userClicked.bind(this,e,n)},r().createElement("td",null,e.userId),r().createElement("td",null,"readonly"==(t=e.type)?"Read Only":"readwrite"==t?"Read/Write":"admin"==t?"Admin":void 0));var t}))))),r().createElement(f.wL,null,r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.handleAddUser},r().createElement("i",{className:"fa fa-plus-circle"})," Add"))),this.state.selectedUser&&r().createElement("div",{ref:"selectedUser"},r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),"User"),r().createElement(f.bw,null,r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"userid"},"User ID")),r().createElement(f.fv,{xs:"12",md:"9"},this.state.selectedUser.isNew&&r().createElement(f.pd,{type:"text",name:"userId",value:this.state.selectedUser.userId,onChange:this.handleUserChange}),!this.state.selectedUser.isNew&&r().createElement(f.JU,null,this.state.selectedUser.userId))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"password"},"Password")),r().createElement(f.fv,{xs:"12",md:"9"},r().createElement(f.pd,{type:"password",name:"password",value:this.state.selectedUser.password,onChange:this.handleUserChange}))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"text-input"},"Confirm Password")),r().createElement(f.fv,{xs:"12",md:"9"},r().createElement(f.pd,{type:"password",name:"confirmPassword",value:this.state.selectedUser.confirmPassword,onChange:this.handleUserChange}))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"select"},"Permissions")),r().createElement(f.fv,{xs:"12",md:"2"},r().createElement(f.pd,{type:"select",name:"type",value:this.state.selectedUser.type,onChange:this.handleUserChange},r().createElement("option",{value:"readonly"},"Read Only"),r().createElement("option",{value:"readwrite"},"Read/Write"),r().createElement("option",{value:"admin"},"Admin"))))),r().createElement(f.wL,null,r().createElement(f.fI,null,r().createElement(f.fv,{xs:"4",md:"1"},r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.handleApply},r().createElement("i",{className:"fa fa-dot-circle-o"})," Apply")),r().createElement(f.fv,{xs:"4",md:"1"},r().createElement(f.$n,{size:"sm",color:"secondary",onClick:this.handleCancel},r().createElement("i",{className:"fa fa-ban"})," Cancel")),r().createElement(f.fv,{xs:"4",md:"10",className:"text-right"},r().createElement(f.$n,{size:"sm",color:"danger",onClick:this.deleteUser},r().createElement("i",{className:"fa fa-ban"})," Delete"))))))))}}const Yn=(0,d.Ng)((({loginStatus:e})=>({loginStatus:e})))(Kn);function Tn(){fetch(`${window.serverRoutesPrefix}/security/devices`,{credentials:"include"}).then((e=>e.json())).then((e=>{this.setState({devices:e})}))}class _n extends o.Component{constructor(e){super(e),this.state={devices:[]},this.fetchSecurityDevices=Tn.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleApply=this.handleApply.bind(this),this.handleDeviceChange=this.handleDeviceChange.bind(this),this.deleteDevice=this.deleteDevice.bind(this)}componentDidMount(){this.props.loginStatus.authenticationRequired&&this.fetchSecurityDevices()}handleDeviceChange(e){const n="checkbox"===e.target.type?e.target.checked:e.target.value;this.state.selectedDevice[e.target.name]=n,this.setState({selectedDevice:this.state.selectedDevice})}handleApply(e){e.preventDefault();var n={permissions:this.state.selectedDevice.permissions||"readonly",description:this.state.selectedDevice.description};fetch(`${window.serverRoutesPrefix}/security/devices/${this.state.selectedDevice.clientId}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(n),credentials:"include"}).then((e=>e.text())).then((e=>{this.setState({selectedDevice:null,selectedIndex:-1}),alert(e),this.fetchSecurityDevices()}))}deleteDevice(){fetch(`${window.serverRoutesPrefix}/security/devices/${this.state.selectedDevice.clientId}`,{method:"DELETE",headers:{"Content-Type":"application/json"},credentials:"include"}).then((e=>e.text())).then((e=>{this.setState({selectedDevice:null,selectedIndex:-1}),alert(e),this.fetchSecurityDevices()}))}deviceClicked(e,n){this.setState({selectedDevice:JSON.parse(JSON.stringify(e)),selectedIndex:n},(()=>{this.refs.selectedDevice.scrollIntoView()}))}handleCancel(){this.setState({selectedDevice:null})}render(){return r().createElement("div",{className:"animated fadeIn"},!1===this.props.loginStatus.authenticationRequired&&r().createElement(se,null),this.props.loginStatus.authenticationRequired&&r().createElement("div",null,r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),"Devices"),r().createElement(f.bw,null,r().createElement(f.XI,{hover:!0,responsive:!0,bordered:!0,striped:!0,size:"sm"},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",null,"Client ID"),r().createElement("th",null,"Description"),r().createElement("th",null,"Type"))),r().createElement("tbody",null,(this.state.devices||[]).map(((e,n)=>r().createElement("tr",{key:e.clientId,onClick:this.deviceClicked.bind(this,e,n)},r().createElement("td",null,e.clientId),r().createElement("td",null,e.description),r().createElement("td",null,Ln(e.permissions)))))))),r().createElement(f.wL,null)),this.state.selectedDevice&&r().createElement("div",{ref:"selectedDevice"},r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),"Device"),r().createElement(f.bw,null,r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"clientId"},"Client ID")),r().createElement(f.fv,{xs:"12",md:"9"},r().createElement(f.JU,null,this.state.selectedDevice.clientId))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"description"},"Description")),r().createElement(f.fv,{xs:"12",md:"9"},r().createElement(f.pd,{size:"60",style:{width:"auto"},type:"text",name:"description",onChange:this.handleDeviceChange,value:this.state.selectedDevice.description}))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"select"},"Permissions")),r().createElement(f.fv,{xs:"12",md:"2"},!this.state.selectedDevice.requestedPermissions&&r().createElement(f.pd,{type:"select",name:"permissions",value:this.state.selectedDevice.permissions,onChange:this.handleDeviceChange},r().createElement("option",{value:"readonly"},"Read Only"),r().createElement("option",{value:"readwrite"},"Read/Write"),r().createElement("option",{value:"admin"},"Admin")),this.state.selectedDevice.requestedPermissions&&r().createElement(f.JU,null,Ln(this.state.selectedDevice.permissions))))),r().createElement(f.wL,null,r().createElement(f.fI,null,r().createElement(f.fv,{xs:"4",md:"1"},r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.handleApply},r().createElement("i",{className:"fa fa-dot-circle-o"})," Apply")),r().createElement(f.fv,{xs:"4",md:"1"},r().createElement(f.$n,{size:"sm",color:"secondary",onClick:this.handleCancel},r().createElement("i",{className:"fa fa-ban"})," Cancel")),r().createElement(f.fv,{xs:"4",md:"10",className:"text-right"},r().createElement(f.$n,{size:"sm",color:"danger",onClick:this.deleteDevice},r().createElement("i",{className:"fa fa-ban"})," Delete"))))))))}}const Qn=(0,d.Ng)((({securityDevices:e})=>({securityDevices:e})))(_n);function Ln(e){return"readonly"==e?"Read Only":"readwrite"==e?"Read/Write":"admin"==e?"Admin":void 0}class Hn extends o.Component{constructor(e){super(e),this.state={errorMessage:null,email:"",password:"",confirmPassword:"",registrationSent:!1},this.handleInputChange=this.handleInputChange.bind(this),this.handleCreate=this.handleCreate.bind(this)}handleInputChange(e){var n=e.target.name;this.setState({[e.target.name]:e.target.value},(()=>{"password"===n||"confirmPassword"===n&&this.state.password!=this.state.confirmPassword?this.setState({errorMessage:"Passwords do not match"}):this.setState({errorMessage:null})}))}handleCreate(){if(0==this.state.email.length)this.setState({errorMessage:"Please enter an email address"});else if(0==this.state.password.length&&0==this.state.confirmPassword.length)this.setState({errorMessage:"Please enter and conform your password"});else{if(this.state.password!=this.state.confirmPassword)return;var e={userId:this.state.email,password:this.state.password};fetch("/signalk/v1/access/requests",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),credentials:"include"}).then((e=>{202!=e.status?e.json().then((e=>{this.setState({errorMessage:e.message?e.message:e.result})})):this.setState({registrationSent:!0})}))}}render(){return r().createElement("div",null,r().createElement(f.mc,null,r().createElement(f.fI,{className:"justify-content-center"},r().createElement(f.fv,{md:"6"},r().createElement(f.Zp,{className:"mx-4"},r().createElement(f.bw,{className:"p-4"},r().createElement("h1",null,"Register"),this.state.registrationSent&&r().createElement("p",{className:"text-muted"},"Your registration has been sent"),!this.state.registrationSent&&r().createElement(f.lV,null,r().createElement("p",{className:"text-muted"},"Create your account"),r().createElement(f.MG,{className:"mb-3"},r().createElement(f.Sq,{addonType:"prepend"},r().createElement(f.zB,null,"@")),r().createElement(f.pd,{name:"email",type:"text",placeholder:"Email",onChange:this.handleInputChange})),r().createElement(f.MG,{className:"mb-3"},r().createElement(f.Sq,{addonType:"prepend"},r().createElement(f.zB,null,r().createElement("i",{className:"icon-lock"}))),r().createElement(f.pd,{name:"password",type:"password",placeholder:"Password",onChange:this.handleInputChange})),r().createElement(f.MG,{className:"mb-0"},r().createElement(f.Sq,{addonType:"prepend"},r().createElement(f.zB,null,r().createElement("i",{className:"icon-lock"}))),r().createElement(f.pd,{name:"confirmPassword",type:"password",placeholder:"Repeat password",onChange:this.handleInputChange})),this.state.errorMessage&&r().createElement("p",{className:"text-danger mt-3 mb-0"},this.state.errorMessage))),!this.state.registrationSent&&r().createElement(f.wL,{className:"p-4"},r().createElement(f.fI,null,r().createElement(f.fv,{xs:"12",sm:"12"},r().createElement(f.$n,{color:"success",block:!0,onClick:this.handleCreate},"Create Account")))))))))}}const Vn=Hn;class Xn extends o.Component{constructor(e){super(e),this.state={selectedRequest:null,accessRequestsApproving:[],accessRequestsDenying:[]},this.handleRequestChange=this.handleRequestChange.bind(this)}handleAccessRequest(e,n){var t=n?"accessRequestsApproving":"accessRequestsDenying";this.state[t].push(e),this.setState({stateKey:this.state});var o={permissions:this.state.selectedRequest.permissions||"readonly",config:this.state.selectedRequest.config,expiration:this.state.selectedRequest.expiration||"1y"};fetch(`${window.serverRoutesPrefix}/security/access/requests/${e}/${n?"approved":"denied"}`,{method:"PUT",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)}).then((e=>e.text())).then((()=>{this.state[t]=this.state[t].filter((n=>n!=e)),this.setState({stateKey:this.state[t],selectedRequest:null})}))}requestClicked(e,n,t){this.setState({selectedRequest:JSON.parse(JSON.stringify(n)),selectedIndex:t},(()=>{this.refs.selectedRequest.scrollIntoView()}))}handleRequestChange(e){const n="checkbox"===e.target.type?e.target.checked:e.target.value;this.state.selectedRequest[e.target.name]=n,this.setState({selectedRequest:this.state.selectedRequest})}handleCancel(){this.setState({selectedRequest:null})}render(){return r().createElement("div",{className:"animated fadeIn"},!1===this.props.loginStatus.authenticationRequired&&r().createElement(se,null),this.props.loginStatus.authenticationRequired&&r().createElement("div",null,r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),"Access Requests"),r().createElement(f.bw,null,r().createElement(f.XI,{hover:!0,responsive:!0,bordered:!0,striped:!0,size:"sm"},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",null,"Identifier"),r().createElement("th",null,"Description"),r().createElement("th",null,"Source IP"))),r().createElement("tbody",null,(this.props.accessRequests||[]).map(((e,n)=>r().createElement("tr",{key:e.accessIdentifier,onClick:this.requestClicked.bind(this,event,e,n)},r().createElement("td",null,e.accessIdentifier),r().createElement("td",null,e.accessDescription),r().createElement("td",null,e.ip)))))))),this.state.selectedRequest&&r().createElement("div",{ref:"selectedRequest"},r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),"Request"),r().createElement(f.bw,null,r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"4",lg:"2"},r().createElement(f.JU,null,"Identifier")),r().createElement(f.fv,{xs:"12",md:"8"},r().createElement(f.JU,null,this.state.selectedRequest.accessIdentifier))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"4",lg:"2"},r().createElement(f.JU,null,"Description")),r().createElement(f.fv,{xs:"12",md:"8"},r().createElement(f.JU,null,this.state.selectedRequest.accessDescription))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"4",lg:"2"},r().createElement(f.JU,{htmlFor:"text-input"},"Authentication Timeout")),r().createElement(f.fv,{xs:"12",md:"8",lg:"3"},r().createElement(f.pd,{type:"text",name:"expiration",onChange:this.handleRequestChange,value:this.state.selectedRequest.expiration}),r().createElement(f.ay,{color:"muted"},"Examples: 60s, 1m, 1h, 1d, NEVER"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"4",lg:"2"},r().createElement(f.JU,{htmlFor:"select"},"Permissions")),r().createElement(f.fv,{xs:"12",md:"8",lg:"3"},!this.state.selectedRequest.requestedPermissions&&r().createElement(f.pd,{type:"select",name:"permissions",value:this.state.selectedRequest.permissions,onChange:this.handleRequestChange},r().createElement("option",{value:"readonly"},"Read Only"),r().createElement("option",{value:"readwrite"},"Read/Write"),r().createElement("option",{value:"admin"},"Admin")),this.state.selectedRequest.requestedPermissions&&r().createElement(f.JU,null,"readonly"==(e=this.state.selectedRequest.permissions)?"Read Only":"readwrite"==e?"Read/Write":"admin"==e?"Admin":`Unknown ${e}`)))),r().createElement(f.wL,null,r().createElement(f.fI,{className:"ml-0 mr-0 d-flex justify-content-between justify-content-sm-start"},r().createElement(f.fv,{xs:"4",md:"4",lg:"2",className:"pl-0 pr-0 pr-md-2"},r().createElement(f.$n,{size:"md",color:"success",onClick:this.handleAccessRequest.bind(this,this.state.selectedRequest.accessIdentifier,!0)},r().createElement("i",{className:-1!=this.state.accessRequestsApproving.indexOf(this.state.selectedRequest.accessIdentifier)?"fa fa-spinner fa-spin":"fa fa-check"})," ","Approve")),r().createElement(f.fv,{xs:"4",md:"8",lg:"3",className:"pl-2 pl-lg-1 pr-0 pr-md-2"},r().createElement(f.$n,{size:"md",color:"danger",className:"float-right float-sm-left",onClick:this.handleAccessRequest.bind(this,this.state.selectedRequest.accessIdentifier,!1)},r().createElement("i",{className:-1!=this.state.accessRequestsDenying.indexOf(this.state.selectedRequest.accessIdentifier)?"fa fa-spinner fa-spin":"fa fa-ban"})," ","Deny"))))))));var e}}const Zn=(0,d.Ng)((({accessRequests:e,loginStatus:n})=>({accessRequests:e,loginStatus:n})))(Xn);class et extends o.Component{constructor(){super(),this.handleAddFilter=this.handleAddFilter.bind(this),this.handleEnabledChange=this.handleEnabledChange.bind(this)}filterChanged(e,n){e[n.target.name]=n.target.value,this.props.onChange(n)}deleteFilter(e,n){this.props.value.options.filters.splice(e,1),this.props.onChange(n)}handleEnabledChange(e){this.props.value.options.filtersEnabled=e.target.checked,this.props.onChange(e)}handleAddFilter(e){this.props.value.options.filters||(this.props.value.options.filters=[]),this.props.value.options.filters.push({source:"",pgn:""}),this.props.onChange(e)}render(){const e=this.props.value.options.useCanName?"Can NAME":"Address";return r().createElement("div",null,r().createElement(f.Zp,null,r().createElement(f.aR,null,"Filters"),r().createElement(f.bw,null,r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"filtersEnabled",className:"switch-input",checked:this.props.value.options.filtersEnabled,onChange:this.handleEnabledChange}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))," Enabled ",r().createElement("br",null),r().createElement("br",null),"Filter out all messages from a specific ",e," by entering just the ",e,".",r().createElement("br",null),"Filter out a specific PGN from all devices by entering just the PGN.",r().createElement("br",null),"Filter out a specific PGN from a specific ",e," by entering both.",r().createElement("br",null),r().createElement("br",null),this.props.value.options.filters&&this.props.value.options.filters.length>0&&r().createElement(f.XI,{responsive:!0,bordered:!0,striped:!0,size:"sm"},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",null,e),r().createElement("th",null,"PGN"),r().createElement("th",null))),r().createElement("tbody",null,this.props.value.options.filters.map(((e,n)=>r().createElement("tr",{key:n},r().createElement("td",null,r().createElement(f.pd,{type:"text",name:"source",value:e.source,onChange:this.filterChanged.bind(this,e)})),r().createElement("td",null,r().createElement(f.pd,{type:"text",name:"pgn",value:e.pgn,onChange:this.filterChanged.bind(this,e)})),r().createElement("td",null,r().createElement(f.$n,{color:"link",className:"text-danger",onClick:this.deleteFilter.bind(this,n)},r().createElement("i",{className:"fas fa-trash"})))))))),r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.handleAddFilter},r().createElement("i",{className:"fa fa-plus-circle"})," Add"))))}}const nt=et;class tt extends o.Component{constructor(){super(),this.state={hasAnalyzer:!1}}componentDidMount(){fetch(`${window.serverRoutesPrefix}/hasAnalyzer`,{credentials:"include"}).then((e=>e.json())).then((e=>{this.setState({hasAnalyzer:e})}))}render(){let e={NMEA2000:Ft,NMEA0183:St,SignalK:zt,Seatalk:Nt,FileStream:It}[this.props.value.type]||(()=>null);return r().createElement("div",null,r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"3"},r().createElement(f.JU,{htmlFor:"select"},"Data Type")),r().createElement(f.fv,{xs:"6",md:"3"},this.props.value.isNew?r().createElement(f.pd,{type:"select",value:this.props.value.type,name:"type",onChange:e=>this.props.onChange(e)},r().createElement("option",{value:"NMEA2000"},"NMEA 2000"),r().createElement("option",{value:"NMEA0183"},"NMEA 0183"),r().createElement("option",{value:"SignalK"},"Signal K"),r().createElement("option",{value:"Seatalk"},"Seatalk (GPIO)"),r().createElement("option",{value:"FileStream"},"File Stream")):this.props.value.type)),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"3"},r().createElement(f.JU,null,"Enabled")),r().createElement(f.fv,{xs:"2",md:"3"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"enabled",className:"switch-input",onChange:e=>this.props.onChange(e),checked:this.props.value.enabled}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"})))),"FileStream"!==this.props.value.type&&r().createElement(At,{value:this.props.value,onChange:this.props.onChange}),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"id"},"ID")),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"text",name:"id",value:this.props.value.id,disabled:!this.props.value.isNew,onChange:e=>{const n={target:{name:e.target.name,type:e.target.type,value:(e.target.value||"").replace(/[^a-zA-Z\d-_]/g,"")}};this.props.onChange(n)}}))),r().createElement(e,{value:this.props.value,onChange:this.props.onChange,hasAnalyzer:this.state.hasAnalyzer}),r().createElement(ct,{value:this.props.value.options,onChange:this.props.onChange}),"NMEA2000"===this.props.value.type&&r().createElement(nt,{value:this.props.value,onChange:this.props.onPropChange}))}}const ot=tt;class rt extends o.Component{render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:this.props.name},this.props.title)),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"text",name:this.props.name,value:this.props.value,onChange:e=>this.props.onChange(e)}),this.props.helpText&&r().createElement(f.ay,{color:"muted"},this.props.helpText)))}}class at extends o.Component{render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:this.props.name},this.props.title)),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"textarea",name:this.props.name,value:this.props.value,rows:this.props.rows,onChange:e=>this.props.onChange(e)}),this.props.helpText&&r().createElement(f.ay,{color:"muted"},this.props.helpText)))}}class it extends o.Component{constructor(){super(),this.state={devices:{}}}componentDidMount(){fetch(`${window.serverRoutesPrefix}/serialports`,{credentials:"include"}).then((e=>e.json())).then((e=>{e.serialports=e.serialports.map((e=>e.path)),this.setState({devices:e})}))}render(){const e=!lt(this.props.value.device,this.state.devices);let n=e?"Enter manually"===this.props.value.device?"":this.props.value.device:"";return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"serialportselect"},"Serial port")),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"select",name:"options.device",id:"serialportselect",onChange:this.props.onChange,helpText:"help me",value:e?"Enter manually":this.props.value.device},r().createElement("option",{key:"enterManually"},"Enter manually"),st(["byOpenPlotter","byId","byPath","serialports"],["OpenPlotter managed:","by-id:","by-path:","Listed:"],this.state.devices))),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"text",name:"options.device",disabled:!e,value:n||"",onChange:e=>this.props.onChange(e)})))}}const lt=(e,n)=>Object.keys(n).reduce(((e,t)=>e.concat(n[t])),[]).includes(e),st=(e,n,t)=>e.reduce(((e,o,a)=>(t[o]&&t[o].length>0&&(e.push(r().createElement("option",{disabled:"true",key:o},n[a])),t[o].forEach(((n,t)=>{e.push(r().createElement("option",{key:`${o}${t}`},n))}))),e)),[]);class At extends o.Component{render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"3"},r().createElement(f.JU,null,"Data Logging")),r().createElement(f.fv,{xs:"2",md:"3"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"logging",className:"switch-input",onChange:e=>this.props.onChange(e),checked:this.props.value.logging}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))))}}class dt extends o.Component{constructor(e){super(e),this.props.value.validateChecksum=void 0===this.props.value.validateChecksum||this.props.value.validateChecksum}render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"3"},r().createElement(f.JU,null,"Validate Checksum")),r().createElement(f.fv,{xs:"2",md:"3"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"options.validateChecksum",className:"switch-input",onChange:e=>{this.props.onChange(e),this.props.value.validateChecksum&&(this.props.value.appendChecksum=!1)},checked:this.props.value.validateChecksum}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))))}}class ct extends o.Component{render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"3"},r().createElement(f.JU,null,"Override timestamps")),r().createElement(f.fv,{xs:"2",md:"3"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"options.overrideTimestamp",className:"switch-input",onChange:this.props.onChange,checked:this.props.value.overrideTimestamp}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))))}}class mt extends o.Component{render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"3"},r().createElement(f.JU,null,"Remove NULL characters")),r().createElement(f.fv,{xs:"2",md:"3"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"options.removeNulls",className:"switch-input",onChange:e=>this.props.onChange(e),checked:this.props.value.removeNulls}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))))}}class pt extends o.Component{render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"3"},r().createElement(f.JU,null,"Append Checksum")),r().createElement(f.fv,{xs:"2",md:"1"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"options.appendChecksum",className:"switch-input",onChange:e=>this.props.onChange(e),checked:this.props.value.appendChecksum&&!this.props.value.validateChecksum,disabled:!!this.props.value.validateChecksum}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))),r().createElement(f.fv,{xs:"12",md:"6"},this.props.value.validateChecksum&&r().createElement("label",{className:"text-muted small"},"Turn Validate Checksum OFF to enable appending the checksum")))}}class bt extends o.Component{render(){return r().createElement(rt,{title:"Input Event",name:"options.sentenceEvent",helpText:"Additional event name for incoming sentences. Example: nmea1data",value:this.props.value.sentenceEvent,onChange:this.props.onChange})}}class gt extends o.Component{render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"dataType"},"Data Type")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"select",value:this.props.value.options.dataType,name:"options.dataType",onChange:e=>this.props.onChange(e)},!this.props.value.options.dataType&&r().createElement("option",{value:""},"Select data type"),r().createElement("option",{value:"SignalK"},"Signal K"),r().createElement("option",{value:"NMEA2000JS"},"Actisense NMEA 2000 (canboatjs)"),r().createElement("option",{value:"NMEA2000IK"},"iKonvert NMEA 2000 (canboatjs)"),r().createElement("option",{value:"NMEA2000YD"},"Yacht Devices YDGW-02 NMEA 2000 (canboatjs)"),r().createElement("option",{value:"NMEA2000",disabled:!this.props.hasAnalyzer},"NMEA 2000 (canboat)"),r().createElement("option",{value:"NMEA0183"},"NMEA 0183"),"FileStream"===this.props.value.type&&r().createElement("option",{value:"Multiplexed"},"Multiplexed Log"))))}}class ut extends o.Component{render(){return r().createElement(rt,{title:"Baud Rate",name:"options.baudrate",helpText:"Example: 4800",value:this.props.value.baudrate,onChange:e=>this.props.onChange(e,"number")})}}class ht extends o.Component{constructor(e){super(e),this.props.value.baudrate=this.props.value.baudrate||("ikonvert-canboatjs"===this.props.value.type?230400:115200)}render(){return r().createElement(rt,{title:"Baud Rate",name:"options.baudrate",value:this.props.value.baudrate,onChange:e=>this.props.onChange(e,"number")})}}class Ct extends o.Component{constructor(e){super(),this.state=Ct.getDerivedStateFromProps(e),this.onChange=this.onChange.bind(this)}static getDerivedStateFromProps(e){let n=e.value.toStdout;return Array.isArray(n)&&(n=n.join(",")),{value:n}}onChange(e){this.setState({value:e.target.value}),this.props.onChange({target:{type:e.target.type,name:e.target.name,value:e.target.value.split(",")}})}render(){return r().createElement(rt,{title:"Output Events",name:"options.toStdout",helpText:"Events that should be written as output to this connection. Example: nmea0183,nmea0183out",value:this.state.value,onChange:this.onChange})}}class ft extends o.Component{constructor(e){super(),this.onChange=this.onChange.bind(this),this.state=ft.getDerivedStateFromProps(e)}static getDerivedStateFromProps(e){let n=e.value.ignoredSentences;return Array.isArray(n)&&(n=n.join(",")),{value:n}}onChange(e){this.setState({value:e.target.value}),this.props.onChange({target:{type:e.target.type,name:e.target.name,value:e.target.value.split(",")}})}render(){return r().createElement(rt,{title:"Ignored Sentences",name:"options.ignoredSentences",helpText:"NMEA0183 sentences to throw away from the input data. Example: RMC,ROT",value:this.state.value,onChange:this.onChange})}}class wt extends o.Component{render(){return r().createElement(rt,{title:"Port",name:"options.port",helpText:"Example: 4123",value:this.props.value.port,onChange:this.props.onChange})}}class vt extends o.Component{render(){return r().createElement(rt,{title:"Host",name:"options.host",helpText:"Example: localhost",value:this.props.value.host,onChange:this.props.onChange})}}class Bt extends o.Component{render(){return r().createElement(rt,{title:"No data timeout",name:"options.noDataReceivedTimeout",helpText:"Timeout for no data received in seconds. Socket is disconnected and reconnection attempted if timeout is reached. Leave empty or 0 to disable.",value:this.props.value.noDataReceivedTimeout,onChange:this.props.onChange})}}class Et extends o.Component{render(){return r().createElement(rt,{title:"Remote 'self' to use",name:"options.remoteSelf",helpText:"like vessels.urn:mrn:signalk:uuid:f6d9f041-4e61-4335-82c0-7a51fb10ae86 OR vessels.urn:mrn:imo:mmsi:230099999",value:this.props.value.remoteSelf,onChange:this.props.onChange})}}class xt extends o.Component{render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"3"},r().createElement(f.JU,null,"Suppress nmea0183 event")),r().createElement(f.fv,{xs:"1",md:"1"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"options.suppress0183event",className:"switch-input",onChange:e=>this.props.onChange(e),checked:this.props.value.suppress0183event}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))),r().createElement(f.fv,{xs:"12",md:"6"},r().createElement("label",{className:"text-muted small"},"Supress sending the default nmea0183 event for incoming sentences")))}}class kt extends o.Component{render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"3"},r().createElement(f.JU,null,"Use Can NAME in source data")),r().createElement(f.fv,{xs:"2",md:"3"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"options.useCanName",className:"switch-input",onChange:e=>this.props.onChange(e),checked:this.props.value.useCanName}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))))}}class $t extends o.Component{render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"3"},r().createElement(f.JU,null,"CamcelCase Compat (for legacy N2K plugins)")),r().createElement(f.fv,{xs:"2",md:"3"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"options.useCamelCompat",className:"switch-input",onChange:e=>this.props.onChange(e),checked:void 0===this.props.value.useCamelCompat||this.props.value.useCamelCompat}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))))}}class yt extends o.Component{constructor(e){super(e)}render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"3"},r().createElement(f.JU,null,"Collect Network Statistics")),r().createElement(f.fv,{xs:"2",md:"3"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"options.sendNetworkStats",className:"switch-input",onChange:e=>this.props.onChange(e),checked:this.props.value.sendNetworkStats}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))))}}const Ft=e=>r().createElement("div",null,r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"options.type"},"NMEA 2000 Source")),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"select",value:e.value.options.type||"none",name:"options.type",onChange:n=>e.onChange(n)},r().createElement("option",{value:"none"},"Select a source"),r().createElement("option",{value:"ngt-1-canboatjs"},"Actisense NGT-1 (canboatjs)"),r().createElement("option",{value:"ngt-1",disabled:!e.hasAnalyzer},"Actisense NGT-1 (canboat)"),r().createElement("option",{value:"ikonvert-canboatjs"},"iKonvert (canboatjs)"),r().createElement("option",{value:"navlink2-tcp-canboatjs"},"NavLink2 (canboatjs)"),r().createElement("option",{value:"ydwg02-canboatjs"},"Yacht Devices RAW TCP (canboatjs)"),r().createElement("option",{value:"ydwg02-udp-canboatjs"},"Yacht Devices RAW UDP (canboatjs)"),r().createElement("option",{value:"ydwg02-usb-canboatjs"},"Yacht Devices RAW USB (canboatjs)"),r().createElement("option",{value:"canbus-canboatjs"},"Canbus (canboatjs)"),r().createElement("option",{value:"w2k-1-n2k-ascii-canboatjs"},"W2K-1 N2K ASCII (canboatjs)"),r().createElement("option",{value:"w2k-1-n2k-actisense-canboatjs"},"W2K-1 N2K ACTISENSE (canboatjs)"),r().createElement("option",{value:"canbus",disabled:!e.hasAnalyzer},"Canbus (canboat)")))),("ngt-1"===e.value.options.type||"ngt-1-canboatjs"===e.value.options.type||"ydwg02-usb-canboatjs"===e.value.options.type||"ikonvert-canboatjs"===e.value.options.type)&&r().createElement("div",null,r().createElement(it,{value:e.value.options,onChange:e.onChange}),r().createElement(ht,{value:e.value.options,onChange:e.onChange})),"ydwg02-canboatjs"===e.value.options.type&&r().createElement("div",null,r().createElement(vt,{value:e.value.options,onChange:e.onChange}),r().createElement(wt,{value:e.value.options,onChange:e.onChange}),r().createElement(Bt,{value:e.value.options,onChange:e.onChange})),"ydwg02-udp-canboatjs"===e.value.options.type&&r().createElement("div",null,r().createElement(vt,{value:e.value.options,onChange:e.onChange}),r().createElement(wt,{value:e.value.options,onChange:e.onChange})),"navlink2-tcp-canboatjs"===e.value.options.type&&r().createElement("div",null,r().createElement(vt,{value:e.value.options,onChange:e.onChange}),r().createElement(wt,{value:e.value.options,onChange:e.onChange}),r().createElement(Bt,{value:e.value.options,onChange:e.onChange})),("canbus"===e.value.options.type||"canbus-canboatjs"===e.value.options.type)&&r().createElement("div",null,r().createElement(rt,{title:"Interface",name:"options.interface",helpText:"Example: can0",value:e.value.options.interface,onChange:e.onChange}),r().createElement(rt,{title:"UniqueNumber",name:"options.uniqueNumber",helpText:"Example: any number from 1 to 2097151, will be equal to SerialNumber of a SignalK NMEA2000 device. Leave empty for random (default). Set a fixed value if you have problem with source identification on some B&G MFD's after SignalK restart.",value:e.value.options.uniqueNumber,onChange:e.onChange}),r().createElement(rt,{title:"ManufacturerCode",name:"options.mfgCode",helpText:"Example: 999 - Unknown (default), 0 - Internal, or any other mabufacturer code to emulate. Leave empty for default 999. Set to 0 if you have problem with source identification on some B&G MFD's after SignalK restart.",value:e.value.options.mfgCode,onChange:e.onChange})),("ngt-1-canboatjs"===e.value.options.type||"ikonvert-canboatjs"===e.value.options.type||"navlink2-tcp-canboatjs"===e.value.options.type)&&r().createElement(yt,{value:e.value.options,onChange:e.onChange}),("w2k-1-n2k-ascii-canboatjs"===e.value.options.type||"w2k-1-n2k-actisense-canboatjs"===e.value.options.type)&&r().createElement("div",null,r().createElement(vt,{value:e.value.options,onChange:e.onChange}),r().createElement(wt,{value:e.value.options,onChange:e.onChange}),r().createElement(Bt,{value:e.value.options,onChange:e.onChange})),r().createElement(kt,{value:e.value.options,onChange:e.onChange}),void 0!==e.value.options.type&&-1!=e.value.options.type.indexOf("canboatjs")&&r().createElement($t,{value:e.value.options,onChange:e.onChange})),St=e=>r().createElement("div",null,r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"options.type"},"NMEA 0183 Source")),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"select",value:e.value.options.type,name:"options.type",onChange:n=>e.onChange(n)},r().createElement("option",null,"Select a source"),r().createElement("option",{value:"serial"},"Serial"),r().createElement("option",{value:"tcp"},"TCP Client"),r().createElement("option",{value:"tcpserver"},"TCP Server on port 10110"),r().createElement("option",{value:"udp"},"UDP"),r().createElement("option",{value:"gpsd"},"GPSD"))),"serial"===e.value.options.type&&r().createElement(f.fv,{xs:"12",md:"6"},"Serial ports are bidirectional. Input from the connection is parsed as NMEA0183. Configure Output Events below to connect server's NMEA0183 data for output."),"tcpserver"===e.value.options.type&&r().createElement(f.fv,{xs:"12",md:"6"},"Accept input from clients connected to the default TCP/10110 NMEA0183 server")),Ut(e),("tcp"===e.value.options.type||"gpsd"===e.value.options.type)&&r().createElement("div",null,r().createElement(vt,{value:e.value.options,onChange:e.onChange}),r().createElement(wt,{value:e.value.options,onChange:e.onChange}),r().createElement(Ct,{value:e.value.options,onChange:e.onChange}),r().createElement(Bt,{value:e.value.options,onChange:e.onChange})),r().createElement("div",null,r().createElement(xt,{value:e.value.options,onChange:e.onChange})),"udp"===e.value.options.type&&r().createElement(wt,{value:e.value.options,onChange:e.onChange}),r().createElement(bt,{value:e.value.options,onChange:e.onChange}),r().createElement(dt,{value:e.value.options,onChange:e.onChange}),r().createElement(pt,{value:e.value.options,onChange:e.onChange}),r().createElement(mt,{value:e.value.options,onChange:e.onChange}),r().createElement(ft,{value:e.value.options,onChange:e.onChange})),zt=e=>r().createElement("div",null,r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"options.type"},"SignalK Source")),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"select",value:e.value.options.type,name:"options.type",onChange:n=>e.onChange(n),disabled:e.value.options.useDiscovery,helpText:"afoo"},r().createElement("option",null,"Select a source"),r().createElement("option",{value:"serial"},"Serial"),r().createElement("option",{value:"ws"},"WebSocket"),r().createElement("option",{value:"wss"},"WebSocket SSL"),r().createElement("option",{value:"tcp"},"TCP"),r().createElement("option",{value:"udp"},"UDP")))),e.value.options.useDiscovery&&r().createElement("p",{className:"text-danger"},"This connection is deprecated, please delete it and recreate it with the connection automatically discovered at the top of the page."),!e.value.options.useDiscovery&&("ws"===e.value.options.type||"wss"===e.value.options.type||"tcp"===e.value.options.type)&&r().createElement("div",null,r().createElement(vt,{value:e.value.options,onChange:e.onChange}),r().createElement(wt,{value:e.value.options,onChange:e.onChange}),"wss"===e.value.options.type&&r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"0",md:"3"},r().createElement(f.JU,null,"Allow self signed certificates")),r().createElement(f.fv,{xs:"12",md:"8"},r().createElement("div",{key:name},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",id:"options.selfsignedcert",name:"options.selfsignedcert",className:"switch-input",onChange:e.onChange,checked:e.value.options.selfsignedcert,disabled:!("wss"===e.value.options.type)}),r().createElement("span",{className:"switch-label","data-on":"On","data-off":"Off"}),r().createElement("span",{className:"switch-handle"}))))),("ws"===e.value.options.type||"wss"===e.value.options.type)&&r().createElement("div",null,r().createElement(at,{title:"Subscription",name:"options.subscription",rows:"6",value:e.value.options.subscription,onChange:n=>e.onChange(n,"jsonstring"),helpText:"Defaults to all. This can be an array of subscriptions."}))),"udp"===e.value.options.type&&r().createElement(wt,{value:e.value.options,onChange:e.onChange}),Ut(e),!e.value.options.useDiscovery&&r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"options.type"},"'self' handling")),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"select",value:e.value.options.selfHandling||"noSelf",name:"options.selfHandling",onChange:n=>e.onChange(n)},r().createElement("option",{value:"useRemoteSelf"},"Map remote 'self' to local 'self'"),r().createElement("option",{value:"manualSelf"},"Manual mapping"),r().createElement("option",{value:"noSelf"},"No 'self' mapping")))),!e.value.options.useDiscovery&&"manualSelf"===e.value.options.selfHandling&&r().createElement(Et,{value:e.value.options,onChange:e.onChange})),Dt=[4,5,6,12,13,16,17,18,19,20,21,22,23,24,25,26,27].map((e=>`0${e}`.slice(-2))),Nt=e=>r().createElement("span",null,r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"options.type"},"GPIO Library")),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"select",value:e.value.options.type||"none",name:"options.type",onChange:n=>e.onChange(n)},r().createElement("option",{value:"none"},"Select a library"),r().createElement("option",{value:"gpiod"},"gpiod"),r().createElement("option",{value:"pigpio"},"pigpio (legacy)")))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"gpio"},"GPIO Pin")),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"select",name:"options.gpio",id:"gpio",onChange:e.onChange,value:e.value.options.gpio||Dt[0]},Dt.map((e=>r().createElement("option",{key:e},`GPIO${e}`)))))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"gpioInvert"},"Invert signal")),r().createElement(f.fv,{xs:"12",md:"10"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",id:"gpioInvert",name:"options.gpioInvert",className:"switch-input",onChange:e.onChange,checked:e.value.options.gpioInvert}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))))),It=e=>r().createElement("div",null,r().createElement(gt,{hasAnalyzer:e.hasAnalyzer,value:e.value,onChange:e.onChange}),r().createElement(rt,{title:"File Name",name:"options.filename",value:e.value.options.filename,onChange:e.onChange})),Ut=e=>"serial"===e.value.options.type&&r().createElement("div",null,r().createElement(it,{value:e.value.options,onChange:e.onChange}),r().createElement(ut,{value:e.value.options,onChange:e.onChange}),r().createElement(Ct,{value:e.value.options,onChange:e.onChange}));var qt=t(44214),Gt=t(7875),Jt=t.n(Gt),Rt=t(27846),Ot=t.n(Rt);const Mt="SOURCEPRIOS_PPRIO_CHANGED",Wt="SOURCEPRIOS_PRIO_DELETED",Pt="SOURCEPRIOS_PRIO_MOVED",jt="SOURCEPRIOS_PATH_CHANGED",Kt="SOURCEPRIOS_PATH_DELETED",Yt="SOURCEPRIOS_SAVING",Tt="SOURCEPRIOS_SAVED",_t="SOURCEPRIOS_SAVE_FAILED",Qt="SOURCEPRIOS_SAVE_FAILED_OVER";function Lt(e){return e.reduce(((n,t,o)=>{const{timeout:r}=t;if(!n)return n;if(0===o)return!0;const a=Number(r);return!(Number.isNaN(a)||a<=0)&&(1===o||a>Number(e[o-1].timeout))}),!0)}const Ht=(e,n)=>{const t=JSON.parse(JSON.stringify(e.sourcePriorities));let o={...e.saveState};const{path:r,index:a,pathIndex:i,sourceRef:l,timeout:s,change:A}=n.data||{},d=void 0!==i?t[i].priorities:void 0;switch(n.type){case jt:a===t.length&&t.push({path:"",priorities:[]}),t[a].path=r,o.dirty=!0;break;case Kt:Jt()(t,((e,n)=>n===a)),o.dirty=!0;break;case Mt:i===t.length&&t.push({path:"",priorities:[]}),a===d.length&&d.push({sourceRef:"",timeout:""}),d[a]={sourceRef:l,timeout:s},o.dirty=!0,o.timeoutsOk=Lt(d);break;case Wt:Jt()(d,((e,n)=>n===a)),o.dirty=!0;break;case Pt:const n=d[a];d[a]=d[a+A],d[a+A]=n,o.dirty=!0,o.timeoutsOk=Lt(d);break;case Yt:o={...o,isSaving:!0,saveFailed:!1};break;case Tt:o={...o,dirty:!1,isSaving:!1,saveFailed:!1};break;case _t:o={...o,isSaving:!1,saveFailed:!0};break;case Qt:o={...o,saveFailed:!1};break;default:return e}return{sourcePriorities:t,saveState:o}};function Vt(e,n){fetch(`/signalk/v1/api/vessels/self/${e.replace(/\./g,"/")}`,{credentials:"include"}).then((e=>e.json())).then((e=>{let n=[e.$source];return e.values&&(n=n.concat(Object.keys(e.values))),Ot()(n)})).then(n)}class Xt extends o.Component{constructor(e){super(e),this.state={isOpen:!1,sourceRefs:[]},Vt(this.props.path,(e=>{this.setState({sourceRefs:e})}))}componentDidUpdate(e){this.props.path!==e.path&&Vt(this.props.path,(e=>{this.setState({sourceRefs:e})}))}render(){const e=()=>this.setState((e=>({isOpen:!e.isOpen})));return r().createElement("div",null,!this.state.isOpen&&r().createElement("div",{onClick:e},"..."),r().createElement(f.SD,{isOpen:this.state.isOpen},r().createElement(f.XI,null,r().createElement("thead",{onClick:e},r().createElement("tr",null,r().createElement("td",{style:{width:"30px"}},"#"),r().createElement("td",null,"Source Reference (see DataBrowser for details)"),r().createElement("td",{style:{width:"120px"}},"Timeout (ms)"),r().createElement("td",{style:{Width:"80px"}},"Order"),r().createElement("td",null))),r().createElement("tbody",null,[...this.props.priorities,{sourceRef:"",timeout:""}].map((({sourceRef:e,timeout:n},t)=>{const o=this.state.sourceRefs.map((e=>({label:e,value:e})));return r().createElement("tr",{key:t},r().createElement("td",null,t+1,"."),r().createElement("td",null,r().createElement(qt.Ay,{menuPortalTarget:document.body,options:o,value:{value:e,label:e},onChange:e=>{this.props.dispatch({type:Mt,data:{pathIndex:this.props.pathIndex,sourceRef:e.value,timeout:n,index:t}})}})),r().createElement("td",null,t>0&&r().createElement(f.pd,{type:"number",name:"timeout",onChange:n=>this.props.dispatch({type:Mt,data:{pathIndex:this.props.pathIndex,sourceRef:e,timeout:n.target.value,index:t}}),value:n})),r().createElement("td",null,t>0&&t<this.props.priorities.length&&r().createElement("button",{onClick:()=>!this.props.isSaving&&this.props.dispatch({type:Pt,data:{pathIndex:this.props.pathIndex,index:t,change:-1}})},r().createElement("i",{className:"fas fa-arrow-up"})),t<this.props.priorities.length-1&&r().createElement("button",{onClick:()=>!this.props.isSaving&&this.props.dispatch({type:Pt,data:{pathIndex:this.props.pathIndex,index:t,change:1}})},r().createElement("i",{className:"fas fa-arrow-down"}))),r().createElement("td",null,t<this.props.priorities.length&&r().createElement("i",{className:"fas fa-trash",onClick:()=>!this.props.isSaving&&this.props.dispatch({type:Wt,data:{pathIndex:this.props.pathIndex,index:t}})})))}))))))}}class Zt extends o.Component{constructor(e){var n;super(e),this.state={availablePaths:[]},n=e=>{this.setState({availablePaths:e.map((e=>({value:e,label:e})))})},fetch(`${window.serverRoutesPrefix}/availablePaths`,{credentials:"include"}).then((e=>e.json())).then(n)}render(){const e=[].concat(this.props.sourcePriorities);return e.push({path:"",priorities:[]}),r().createElement(f.Zp,null,r().createElement(f.aR,null,"Source Priorities Settings"),r().createElement(f.bw,null,r().createElement(f.Fc,null,r().createElement("p",null,"Use Source Priorities to filter incoming data so that data from lower priority sources is discarded when there is fresh data from some higher priority source."),r().createElement("p",null,"Incoming data is not handled if the"," ",r().createElement("b",null,"latest value for a path is from a higher priority source and it is not older than the timeout")," ","specified for the source of the incoming data. Timeout for data from unlisted sources is 10 seconds."),r().createElement("p",null,"You can debug the settings by saving them and activating debug key"," ",r().createElement("b",null,"signalk-server:sourcepriorities")," in"," ",r().createElement("a",{href:"./#/serverConfiguration/log"},"Server Log"))),r().createElement(f.XI,{responsive:!0,bordered:!0,striped:!0,size:"sm"},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",{style:{width:"40%"}},"Path"),r().createElement("th",null,"Priorities"),r().createElement("th",null))),r().createElement("tbody",null,e.map((({path:e,priorities:n},t)=>r().createElement("tr",{key:t},r().createElement("td",null,r().createElement(qt.Ay,{menuPortalTarget:document.body,options:this.state.availablePaths,value:{value:e,label:e},onChange:e=>{this.props.dispatch({type:jt,data:{path:e.value,index:t}})}})),r().createElement("td",null,r().createElement(Xt,{key:e,path:e,priorities:n,dispatch:this.props.dispatch,isSaving:this.props.saveState.isSaving,pathIndex:t})),r().createElement("td",{style:{border:"none"}},t<this.props.sourcePriorities.length&&r().createElement("i",{className:"fas fa-trash",onClick:()=>this.props.dispatch({type:Kt,data:{index:t}})})))))))),r().createElement(f.wL,null,r().createElement(f.$n,{size:"sm",color:"primary",disabled:!this.props.saveState.dirty||this.props.saveState.isSaving||!this.props.saveState.timeoutsOk,onClick:e=>{e.preventDefault(),this.props.dispatch((e=>n=>{n({type:Yt}),fetch(`${window.serverRoutesPrefix}/sourcePriorities`,{method:"PUT",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(e.reduce(((e,n)=>(e[n.path]=n.priorities,e)),{}))}).then((e=>{if(200!==e.status)throw new Error;n({type:Tt})})).catch((()=>{n({type:_t}),setTimeout((()=>n({type:Qt})),5e3)}))})(this.props.sourcePriorities))}},r().createElement("i",{className:"fa fa-save"})," Save"),this.props.saveState.saveFailed&&"Saving priorities settings failed!",!this.props.saveState.timeoutsOk&&r().createElement("span",{style:{paddingLeft:"10px"}},r().createElement(f.Ex,{color:"danger"},"Error"),"The timeout values need to be numbers in ascending order, please fix.")))}}const eo=(0,d.Ng)((({sourcePrioritiesData:e})=>({sourcePriorities:e.sourcePriorities,saveState:e.saveState})))(Zt);var no=t(86281),to=t.n(no);function oo(){fetch(`${window.serverRoutesPrefix}/providers`,{credentials:"include"}).then((e=>e.json())).then((e=>{let n,t;this.state.selectedProviderId&&(n=e.find((e=>e.id===this.state.selectedProviderId)),t=e.findIndex((e=>e.id===this.state.selectedProviderId))),n&&(n.originalId=n.id),this.setState({providers:e,selectedProvider:n?JSON.parse(JSON.stringify(n)):void 0,selectedIndex:t})}))}function ro(){fetch(`${window.serverRoutesPrefix}/runDiscovery`,{method:"PUT",credentials:"include"})}class ao extends o.Component{constructor(e){super(e),this.state={activeTab:"1",providers:[],selectedProviderId:this.props.match.params.providerId},this.fetchProviders=oo.bind(this),this.runDiscovery=ro.bind(this),this.handleProviderChange=this.handleProviderChange.bind(this),this.handleProviderPropChange=this.handleProviderChange.bind(this),this.handleAddProvider=this.handleAddProvider.bind(this),this.handleCancel=this.handleCancel.bind(this),this.toggle=this.toggle.bind(this),this.handleApply=this.handleApply.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleDelete=this.handleDelete.bind(this)}componentDidMount(){this.fetchProviders(),this.runDiscovery()}handleProviderChange(e,n){var t="checkbox"===e.target.type?e.target.checked:e.target.value;"number"===n&&(t=Number(t)),to()(this.state.selectedProvider,e.target.name,t),this.setState({selectedProvider:this.state.selectedProvider})}handleProviderPropChange(){this.setState({selectedProvider:this.state.selectedProvider})}handleAddProvider(){this.setState({selectedProvider:JSON.parse(JSON.stringify({type:"NMEA2000",logging:!1,isNew:!0,id:"",enabled:!0,options:{},editable:!0})),selectedIndex:this.state.providers.length-1},(()=>{this.refs.selectedProvider.scrollIntoView()}))}handleApply(){var e=this.state.selectedProvider.isNew,n=this.state.selectedProvider.wasDiscovered;delete this.state.selectedProvider.json;var t=this.state.selectedProvider.originalId;fetch(`${window.serverRoutesPrefix}/providers/${t&&!e?t:""}`,{method:e?"POST":"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(this.state.selectedProvider),credentials:"include"}).then((t=>{if(t.ok){var o=JSON.parse(JSON.stringify(this.state.selectedProvider));delete o.isNew,delete o.wasDiscovered,delete this.state.selectedProvider.isNew,e?this.state.providers.push(o):this.state.providers[this.state.selectedIndex]=o,n&&this.props.discoveredProviders.splice(this.state.selectedIndex,1),this.setState({providers:this.state.providers,selectedProvider:null,selectedIndex:-1},(()=>{this.props.history.push("/serverConfiguration/connections/-")}))}return t.text()})).then((e=>{alert(e)}))}handleCancel(){this.setState({selectedProvider:null})}handleDelete(){fetch(`${window.serverRoutesPrefix}/providers/${this.state.selectedProvider.id}`,{method:"DELETE",headers:{"Content-Type":"application/json"},credentials:"include"}).then((e=>e.text())).then((e=>{this.state.providers.splice(this.state.selectedIndex,1),this.setState({providers:this.state.providers,selectedProvider:null,selectedIndex:-1}),alert(e)}))}providerClicked(e,n){this.setState({selectedProvider:{...JSON.parse(JSON.stringify(e)),originalId:e.id},selectedIndex:n},(()=>{this.refs.selectedProvider.scrollIntoView()}))}toggle(e){this.state.activeTab!==e&&this.setState({activeTab:e})}render(){return r().createElement("div",{className:"animated fadeIn"},this.props.discoveredProviders&&this.props.discoveredProviders.length>0&&r().createElement(f.Zp,null,r().createElement(f.aR,null,"Discovered Connections"),r().createElement(f.bw,null,r().createElement(f.XI,{hover:!0,responsive:!0,bordered:!0,striped:!0,size:"sm"},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",null,"ID"),r().createElement("th",null,"Data Type"),r().createElement("th",null,"Enabled"),r().createElement("th",null,"Data Logging"))),r().createElement("tbody",null,(this.props.discoveredProviders||[]).map(((e,n)=>r().createElement("tr",{onClick:this.providerClicked.bind(this,e,n),key:e.id},r().createElement("td",null,e.id),r().createElement("td",null,r().createElement(lo,{provider:e})),r().createElement("td",null,r().createElement(io,{applicable:e.editable,toggle:e.enabled})),r().createElement("td",null,r().createElement(io,{applicable:e.editable,toggle:e.logging}))))))))),r().createElement(f.Zp,null,r().createElement(f.aR,null,"Connections"),r().createElement(f.bw,null,r().createElement(f.XI,{hover:!0,responsive:!0,bordered:!0,striped:!0,size:"sm"},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",null,"ID"),r().createElement("th",null,"Data Type"),r().createElement("th",null,"Enabled"),r().createElement("th",null,"Data Logging"))),r().createElement("tbody",null,(this.state.providers||[]).map(((e,n)=>r().createElement("tr",{onClick:this.providerClicked.bind(this,e,n),key:e.id},r().createElement("td",null,e.id),r().createElement("td",null,r().createElement(lo,{provider:e})),r().createElement("td",null,r().createElement(io,{applicable:e.editable,toggle:e.enabled})),r().createElement("td",null,r().createElement(io,{applicable:e.editable,toggle:e.logging})))))))),r().createElement(f.wL,null,r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.handleAddProvider},r().createElement("i",{className:"fa fa-plus-circle"})," Add"))),this.state.selectedProvider&&r().createElement("div",{ref:"selectedProvider",style:{scrollMarginTop:"54px"}},r().createElement(f.Zp,null,r().createElement(f.bw,null,this.state.selectedProvider.editable?r().createElement(ot,{value:this.state.selectedProvider,onChange:this.handleProviderChange,onPropChange:this.handleProviderPropChange}):r().createElement(f.pd,{type:"textarea",name:"json",id:"json",rows:"20",value:this.state.selectedProvider.json,readOnly:"true"})),r().createElement(f.wL,null,this.state.selectedProvider.editable?r().createElement(f.fI,null,r().createElement(f.fv,{xs:"4",md:"1"},r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.handleApply},r().createElement("i",{className:"fa fa-dot-circle-o"})," Apply")),r().createElement(f.fv,{xs:"4",md:"1"},r().createElement(f.$n,{size:"sm",color:"secondary",onClick:this.handleCancel},r().createElement("i",{className:"fa fa-ban"})," Cancel")),r().createElement(f.fv,{xs:"4",md:"10",className:"text-right"},r().createElement(f.$n,{size:"sm",color:"danger",onClick:this.handleDelete},r().createElement("i",{className:"fa fa-ban"})," Delete"))):r().createElement(f.fI,null,r().createElement(f.fv,{xs:"4",md:"12",className:"text-right"},r().createElement(f.$n,{size:"sm",color:"danger",onClick:this.handleDelete},r().createElement("i",{className:"fa fa-ban"})," Delete")))))),r().createElement(eo,null))}}const io=e=>r().createElement("div",null,e.applicable?e.toggle?"Yes":"No":"N/A"),lo=e=>r().createElement("div",null,e.provider.type,"FileStream"===e.provider.type?`/${e.provider.options.dataType}`:""),so=(0,d.Ng)((({discoveredProviders:e})=>({discoveredProviders:e})))(ao);function Ao(){fetch(`${window.serverRoutesPrefix}/vessel`,{credentials:"include"}).then((e=>e.json())).then((e=>{this.setState({...e,hasData:!0})}))}class co extends o.Component{constructor(e){super(e),this.state={hasData:!1},this.fetchVessel=Ao.bind(this),this.handleChange=this.handleChange.bind(this),this.handleSaveVessel=this.handleSaveVessel.bind(this)}componentDidMount(){this.fetchVessel()}handleChange(e){console.log(e);const n="checkbox"===e.target.type?e.target.checked:e.target.value;this.setState({[e.target.name]:n})}handleSaveVessel(){fetch(`${window.serverRoutesPrefix}/vessel`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(this.state),credentials:"include"}).then((e=>e.text())).then((e=>{alert(e)}))}render(){return this.state.hasData&&r().createElement("div",{className:"animated fadeIn"},r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),r().createElement("strong",null,"Vessel Base Data")),r().createElement(f.bw,null,r().createElement(f.lV,{action:"",method:"post",encType:"multipart/form-data",className:"form-horizontal"},r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"name"},"Name")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"text",name:"name",onChange:this.handleChange,value:this.state.name}),r().createElement(f.ay,{color:"muted"},"The name of the vessel"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"mmsi"},"MMSI")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"text",name:"mmsi",onChange:this.handleChange,value:this.state.mmsi}),r().createElement(f.ay,{color:"muted"},"Leave blank if there is no mmsi"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"callsignVhf"},"Call Sign")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"text",name:"callsignVhf",onChange:this.handleChange,value:this.state.callsignVhf}),r().createElement(f.ay,{color:"muted"},"Leave blank if there is no call sign"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"uuid"},"UUID")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"text",name:"uuid",onChange:this.handleChange,value:this.state.uuid}),r().createElement(f.ay,{color:"muted"},"Ignored if MMSI is set"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"aisShipType"},"Ship Type")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"select",name:"aisShipType",value:this.state.aisShipType,onChange:this.handleChange},r().createElement("option",{value:"20"},"Wing In Ground"),r().createElement("option",{value:"29"},"Wing In Ground (no other information)"),r().createElement("option",{value:"30"},"Fishing"),r().createElement("option",{value:"31"},"Towing"),r().createElement("option",{value:"32"},"Towing exceeds 200m or wider than 25m"),r().createElement("option",{value:"33"},"Engaged in dredging or underwater operations"),r().createElement("option",{value:"34"},"Engaged in diving operations"),r().createElement("option",{value:"35"},"Engaged in military operations"),r().createElement("option",{value:"36"},"Sailing"),r().createElement("option",{value:"37"},"Pleasure"),r().createElement("option",{value:"40"},"High speed craft"),r().createElement("option",{value:"41"},"High speed craft carrying dangerous goods"),r().createElement("option",{value:"42"},"High speed craft hazard cat B"),r().createElement("option",{value:"43"},"High speed craft hazard cat C"),r().createElement("option",{value:"44"},"High speed craft hazard cat D"),r().createElement("option",{value:"49"},"High speed craft (no additional information)"),r().createElement("option",{value:"50"},"Pilot vessel"),r().createElement("option",{value:"51"},"SAR"),r().createElement("option",{value:"52"},"Tug"),r().createElement("option",{value:"53"},"Port tender"),r().createElement("option",{value:"54"},"Anti-pollution"),r().createElement("option",{value:"55"},"Law enforcement"),r().createElement("option",{value:"56"},"Spare"),r().createElement("option",{value:"57"},"Spare #2"),r().createElement("option",{value:"58"},"Medical"),r().createElement("option",{value:"59"},"RR Resolution No.1"),r().createElement("option",{value:"60"},"Passenger ship"),r().createElement("option",{value:"69"},"Passenger ship (no additional information)"),r().createElement("option",{value:"70"},"Cargo ship"),r().createElement("option",{value:"71"},"Cargo ship carrying dangerous goods"),r().createElement("option",{value:"72"},"Cargo ship hazard cat B"),r().createElement("option",{value:"73"},"Cargo ship hazard cat C"),r().createElement("option",{value:"74"},"Cargo ship hazard cat D"),r().createElement("option",{value:"79"},"Cargo ship (no additional information)"),r().createElement("option",{value:"80"},"Tanker"),r().createElement("option",{value:"81"},"Tanker carrying dangerous goods"),r().createElement("option",{value:"82"},"Tanker hazard cat B"),r().createElement("option",{value:"83"},"Tanker hazard cat C"),r().createElement("option",{value:"84"},"Tanker hazard cat D"),r().createElement("option",{value:"89"},"Tanker (no additional information)"),r().createElement("option",{value:"90"},"Other"),r().createElement("option",{value:"91"},"Other carrying dangerous goods"),r().createElement("option",{value:"92"},"Other hazard cat B"),r().createElement("option",{value:"93"},"Other hazard cat C"),r().createElement("option",{value:"94"},"Other hazard cat D"),r().createElement("option",{value:"99"},"Other (no additional information)")))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"draft"},"Draft")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"text",name:"draft",onChange:this.handleChange,value:this.state.draft}),r().createElement(f.ay,{color:"muted"},"The maximum draft in meters of the vessel"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"length"},"Length")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"text",name:"length",onChange:this.handleChange,value:this.state.length}),r().createElement(f.ay,{color:"muted"},"The overall length of the vessel in meters"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"beam"},"Beam")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"text",name:"beam",onChange:this.handleChange,value:this.state.beam}),r().createElement(f.ay,{color:"muted"},"The beam of the vessel in meters"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"height"},"Height")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"text",name:"height",onChange:this.handleChange,value:this.state.height}),r().createElement(f.ay,{color:"muted"},"The total height of the vessel in meters"," "))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"gpsFromBow"},"GPS Distance From Bow")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"text",name:"gpsFromBow",onChange:this.handleChange,value:this.state.gpsFromBow}),r().createElement(f.ay,{color:"muted"},"The distance of the gps receiver from the bow in meters"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"gpsFromCenter"},"GPS Distance From Center")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"text",name:"gpsFromCenter",onChange:this.handleChange,value:this.state.gpsFromCenter}),r().createElement(f.ay,{color:"muted"},"The distance from the center of vessel of the gps receiver in meters"))))),r().createElement(f.wL,null,r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.handleSaveVessel},r().createElement("i",{className:"fa fa-dot-circle-o"})," Save"))))}}const mo=(0,d.Ng)()(co);function po(){const e=fetch(`${window.serverRoutesPrefix}/logfiles/`,{credentials:"include"}).then((e=>e.ok?e:(this.setState({authorized:!1}),!1)));e&&e.then((e=>e.json())).then((e=>{e.sort(),this.setState({logfileslist:e,hasData:!0,authorized:!0})}))}class bo extends o.Component{constructor(e){super(e),this.state={hasData:!1,authorized:!0},this.fetchLogfileList=po.bind(this)}componentDidMount(){this.fetchLogfileList()}render(){return this.state.authorized?this.state.hasData&&r().createElement("div",{className:"animated fadeIn"},r().createElement(f.fI,null,r().createElement(f.fv,{sm:"12",xl:"12"},r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),r().createElement("strong",null,"Data Logfiles")),r().createElement(f.bw,null,r().createElement(f.yq,null,this.logfilesToRows(this.state.logfileslist))),r().createElement(f.wL,null,r().createElement("small",{className:"text-muted"},"Click button to download each logfile or"),r().createElement("a",{href:`${window.serverRoutesPrefix}/ziplogs`},r().createElement(f.$n,{className:"m-2"},"Get all logs in one ZIP file"))))))):r().createElement("div",{className:"animated fadeIn"},"Not Authorized")}logfilesToRows(e){const n=e.reduce(((e,n)=>{const t=n.substr(13,10),o=n.substr(24,2);return e[t]||(e[t]=[]),e[t].push(o),e}),{});return Object.keys(n).map(((e,t)=>r().createElement(f.HU,{key:t},e,n[e].map(((n,t)=>r().createElement("span",{key:t},r().createElement("a",{href:`${window.serverRoutesPrefix}/logfiles/skserver-raw_${e}T${n}.log`},r().createElement(f.$n,{className:"m-2"},n))))))))}}const go=(0,d.Ng)()(bo);function uo(){fetch(`${window.serverRoutesPrefix}/settings`,{credentials:"include"}).then((e=>e.json())).then((e=>{this.setState({...e,hasData:!0})}))}class ho extends o.Component{constructor(e){super(e),this.state={hasData:!1},this.fetchSettings=uo.bind(this),this.handleChange=this.handleChange.bind(this),this.handleCourseApiChange=this.handleCourseApiChange.bind(this),this.handleOptionChange=this.handleOptionChange.bind(this),this.handleInterfaceChange=this.handleInterfaceChange.bind(this),this.handleSaveSettings=this.handleSaveSettings.bind(this)}componentDidMount(){this.fetchSettings()}handleChange(e){const n="checkbox"===e.target.type?e.target.checked:e.target.value;this.setState({[e.target.name]:n})}handleCourseApiChange(e){const n="checkbox"===e.target.type?e.target.checked:e.target.value;this.state.courseApi[e.target.name]=n,this.setState({courseApi:this.state.courseApi})}handleOptionChange(e){const n="checkbox"===e.target.type?e.target.checked:e.target.value;this.state.options[e.target.name]=n,this.setState({options:this.state.options})}handleInterfaceChange(e){const n="checkbox"===e.target.type?e.target.checked:e.target.value;this.state.interfaces[e.target.name]=n,this.setState({interfaces:this.state.interfaces})}handleSaveSettings(){fetch(`${window.serverRoutesPrefix}/settings`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(this.state),credentials:"include"}).then((e=>e.text())).then((e=>{alert(e)}))}render(){const e=10;return this.state.hasData&&r().createElement("div",{className:"animated fadeIn"},r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),r().createElement("strong",null,"Server Settings")),r().createElement(f.bw,null,r().createElement(f.lV,{action:"",method:"post",encType:"multipart/form-data",className:"form-horizontal"},!this.state.runFromSystemd&&r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"port"},"HTTP Port")),r().createElement(f.fv,{xs:"12",md:e},r().createElement(f.pd,{size:"5",style:{width:"auto"},type:"text",name:"port",onChange:this.handleChange,value:this.state.port}),r().createElement(f.ay,{color:"muted"},"Saving a new value here will not have effect if overridden by environment variable PORT"))),this.state.runFromSystemd&&r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"12",md:e},r().createElement(f.ay,null,"The server was started by systemd, run signalk-server-setup to change ports and ssl configuration."))),this.state.options.ssl&&!this.state.runFromSystemd&&r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"sslport"},"SSL Port")),r().createElement(f.fv,{xs:"12",md:e},r().createElement(f.pd,{size:"5",style:{width:"auto"},type:"text",name:"sslport",onChange:this.handleChange,value:this.state.sslport}),r().createElement(f.ay,{color:"muted"},"Saving a new value here will not have effect if overridden by environment variable SSLPORT"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,null,"Options")),r().createElement(f.fv,{md:e},r().createElement(f.gE,{check:!0},Object.keys(this.state.options).map((e=>r().createElement("div",{key:e},r().createElement(f.JU,{style:{marginRight:"15px"},className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",id:e,name:e,className:"switch-input",onChange:this.handleOptionChange,checked:this.state.options[e]}),r().createElement("span",{className:"switch-label","data-on":"On","data-off":"Off"}),r().createElement("span",{className:"switch-handle"})),r().createElement("span",{style:{lineHeight:"23px"}},e))))))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,null,"Interfaces")),r().createElement(f.fv,{md:e},r().createElement(f.gE,{check:!0},Object.keys(Co).map((e=>r().createElement("div",{key:e},r().createElement(f.JU,{style:{marginRight:"15px"},className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",id:e,name:e,className:"switch-input",onChange:this.handleInterfaceChange,checked:this.state.interfaces[e]}),r().createElement("span",{className:"switch-label","data-on":"On","data-off":"Off"}),r().createElement("span",{className:"switch-handle"})),r().createElement("span",{style:{lineHeight:"24px"}},Co[e]))))))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"pruneContextsMinutes"},"Maximum age of inactive vessels' data")),r().createElement(f.fv,{xs:"12",md:e},r().createElement(f.pd,{type:"text",name:"pruneContextsMinutes",onChange:this.handleChange,value:this.state.pruneContextsMinutes}),r().createElement(f.ay,{color:"muted"},"Vessels that have not been updated after this many minutes will be removed"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"loggingDirectory"},"Data Logging Directory")),r().createElement(f.fv,{xs:"12",md:e},r().createElement(f.pd,{type:"text",name:"loggingDirectory",onChange:this.handleChange,value:this.state.loggingDirectory}),r().createElement(f.ay,{color:"muted"},"Connections that have logging enabled create hourly log files in Multiplexed format in this directory"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,null,"Keep only most recent data log files")),r().createElement(f.fv,null,r().createElement(f.gE,{check:!0},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"keepMostRecentLogsOnly",id:"keepMostRecentLogsOnly",className:"switch-input",onChange:this.handleChange,checked:this.state.keepMostRecentLogsOnly}),r().createElement("span",{className:"switch-label","data-on":"On","data-off":"Off"}),r().createElement("span",{className:"switch-handle"})))),r().createElement(f.fv,null,r().createElement(f.pd,{type:"text",name:"logCountToKeep",onChange:this.handleChange,value:this.state.logCountToKeep}),r().createElement(f.ay,{color:"muted"},"How many hourly files to keep"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,null,"API Only Mode",r().createElement("br",null),r().createElement("i",null,"(Course API)"))),r().createElement(f.fv,null,r().createElement(f.gE,{check:!0},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"apiOnly",id:"apiOnly",className:"switch-input",onChange:this.handleCourseApiChange,checked:this.state.courseApi.apiOnly}),r().createElement("span",{className:"switch-label","data-on":"On","data-off":"Off"}),r().createElement("span",{className:"switch-handle"})),r().createElement(f.ay,{color:"muted"},"Accept course operations only via HTTP requests. Destination data from NMEA sources is not used.")))))),r().createElement(f.wL,null,r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.handleSaveSettings},r().createElement("i",{className:"fa fa-dot-circle-o"})," Save")," ",r().createElement(f.Ex,{color:"danger",className:"float-right"},"Restart Required"))))}}const Co={applicationData:"Application Data Storage",logfiles:"Data log files access","nmea-tcp":"NMEA 0183 over TCP (10110)",tcp:"Signal K over TCP (8375)"},fo=(0,d.Ng)()(ho);class wo extends o.Component{render(){return r().createElement("div",null,r().createElement(mo,null),r().createElement(fo,null),r().createElement(go,null))}}const vo=wo;class Bo extends o.Component{constructor(e){super(e),this.state={restoreFile:null,restoreState:0,includePlugins:!1},this.fileChanged=this.fileChanged.bind(this),this.handleRestoreFileChange=this.handleRestoreFileChange.bind(this),this.includePluginsChange=this.includePluginsChange.bind(this),this.backup=this.backup.bind(this),this.validate=this.validate.bind(this),this.restore=this.restore.bind(this),this.restart=this.restart.bind(this),this.cancelRestore=this.cancelRestore.bind(this)}cancelRestore(){this.setState({restoreState:0})}fileChanged(e){this.setState({...this.state,restoreFile:e.target.files[0]})}backup(){const e=`${window.serverRoutesPrefix}/backup?includePlugins=${this.state.includePlugins}`;window.location=e}restore(){fetch(`${window.serverRoutesPrefix}/restore`,{credentials:"include",method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(this.state.restoreContents)}).then((e=>{if(!e.ok)return e.text()})).then((e=>{"string"==typeof e?(alert(e),this.setState({restoreState:0,restoreFile:null})):this.setState({restoreState:3})})).catch((e=>{alert(e.message)}))}restart(){this.props.restart(),this.setState({restoreState:0}),window.location="/admin/#/dashboard"}validate(){if(!this.state.restoreFile)return void alert("Please choose a file");const e=new FormData;e.append("file",this.state.restoreFile),this.setState({restoreState:1}),fetch(`${window.serverRoutesPrefix}/validateBackup`,{credentials:"include",method:"POST",headers:{Accept:"application/json"},body:e}).then((e=>e.ok?e.json():e.text())).then((e=>{if("string"==typeof e)alert(e),this.setState({restoreState:0,restoreFile:null});else{const n={};e.forEach((e=>{n[e]=!0})),this.setState({restoreState:2,restoreContents:n})}})).catch((e=>{alert(e.message)}))}handleRestoreFileChange(e){const n="checkbox"===e.target.type?e.target.checked:e.target.value;this.state.restoreContents[e.target.name]=n,this.setState({restoreContents:this.state.restoreContents})}includePluginsChange(e){this.state.includePlugins=e.target.checked,this.setState({includePlugins:this.state.includePlugins})}render(){const e=10;return r().createElement("div",null,0===this.state.restoreState&&!this.props.restoreStatus.state&&r().createElement(f.Zp,null,r().createElement(f.aR,null,"Backup Settings"),r().createElement(f.bw,null,r().createElement(f.lV,{action:"",method:"post",encType:"multipart/form-data",className:"form-horizontal"},r().createElement(f.ay,{color:"muted"},"This will backup your server and plugin settings."),r().createElement("br",null),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"2"},r().createElement(f.JU,null,"Include Plugins")),r().createElement(f.fv,{xs:"2",md:e},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"enabled",className:"switch-input",onChange:e=>this.includePluginsChange(e),checked:this.state.includePlugins}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"})),r().createElement(f.ay,{color:"muted"},"Selecting Yes will increase the size of the backup, but will allow for offline restore."))))),r().createElement(f.wL,null,r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.backup},r().createElement("i",{className:"fa fa-dot-circle-o"})," Backup")," ")),r().createElement(f.Zp,null,r().createElement(f.aR,null,"Restore Settings"),r().createElement(f.bw,null,r().createElement(f.lV,{action:"",method:"post",encType:"multipart/form-data",className:"form-horizontal"},0===this.state.restoreState&&!this.props.restoreStatus.state&&r().createElement("div",null,r().createElement(f.ay,{color:"muted"},"Please select the backup file from your device to use in restoring the settings. Your existing settings will be overwritten."),r().createElement("br",null),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"12",md:e},r().createElement(f.pd,{type:"file",name:"backupFile",onChange:this.fileChanged})))),2===this.state.restoreState&&r().createElement(f.gE,{check:!0},r().createElement(f.fv,{xs:"12",md:e},Object.keys(this.state.restoreContents).map((e=>r().createElement("div",{key:e},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",id:e,name:e,className:"switch-input",onChange:this.handleRestoreFileChange,checked:this.state.restoreContents[e]}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))," ",e))))),this.props.restoreStatus&&this.props.restoreStatus.state&&"Complete"!==this.props.restoreStatus.state&&r().createElement("div",null,r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"12",md:e},r().createElement(f.ay,null,this.props.restoreStatus.state," :"," ",this.props.restoreStatus.message))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"12",md:e},r().createElement(f.ke,{animated:!0,color:"success",value:this.props.restoreStatus.percentComplete})))),this.props.restoreStatus.state&&"Complete"===this.props.restoreStatus.state&&r().createElement("div",null,r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"12",md:e},r().createElement(f.ay,null,"Please Restart"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"12",md:e},r().createElement(f.$n,{size:"sm",color:"danger",onClick:this.restart},this.props.restarting?r().createElement("i",{className:"fa fa-circle-o-notch fa-spin"}):r().createElement("i",{className:"fa fa-circle-o-notch"})," ","Restart")))))),r().createElement(f.wL,null,0===this.state.restoreState&&!this.props.restoreStatus.state&&r().createElement("div",null,r().createElement(f.$n,{size:"sm",color:"danger",onClick:this.validate,disabled:null===this.state.restoreFile},r().createElement("i",{className:"fa fa-dot-circle-o"})," Restore")," "),2===this.state.restoreState&&r().createElement("div",null,r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.cancelRestore},r().createElement("i",{className:"fa fa-dot-circle-o"})," Cancel")," ",r().createElement(f.$n,{size:"sm",color:"danger",onClick:this.restore},r().createElement("i",{className:"fa fa-dot-circle-o"})," Confirm")))))}}const Eo=(0,d.Ng)((({restoreStatus:e,restarting:n})=>({restoreStatus:e,restarting:n})),{restart:E})(Bo);var xo=t(26911);class ko extends o.Component{constructor(e){super(e),this.state={hasData:!0,webSocket:null,didSubScribe:!1,pause:!1,debugKeys:[]},this.handleDebug=this.handleDebug.bind(this),this.handlePause=this.handlePause.bind(this),this.fetchDebugKeys=this.fetchDebugKeys.bind(this)}subscribeToLogsIfNeeded(){if(!this.state.pause&&this.props.webSocket&&(this.props.webSocket!=this.state.webSocket||!1===this.state.didSubScribe)){const e={context:"vessels.self",subscribe:[{path:"log"}]};this.props.webSocket.send(JSON.stringify(e)),this.state.webSocket=this.props.webSocket,this.state.didSubScribe=!0}}unsubscribeToLogs(){if(this.props.webSocket){const e={context:"vessels.self",unsubscribe:[{path:"log"}]};this.props.webSocket.send(JSON.stringify(e)),this.state.didSubScribe=!1}}fetchDebugKeys(){fetch(`${window.serverRoutesPrefix}/debugKeys`,{credentials:"include"}).then((e=>e.json())).then((e=>{this.setState({debugKeys:e.sort()})}))}componentDidMount(){this.subscribeToLogsIfNeeded(),this.fetchDebugKeys()}componentDidUpdate(){this.subscribeToLogsIfNeeded()}componentWillUnmount(){this.unsubscribeToLogs()}handleDebug(e){this.doHandleDebug(e.target.value)}handleDebugCheckbox(e,n){const t=this.props.log.debugEnabled.length>0?this.props.log.debugEnabled.split(","):[];n?t.push(e):Jt()(t,(n=>n===e)),this.doHandleDebug(t.toString())}doHandleDebug(e){fetch(`${window.serverRoutesPrefix}/debug`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:e}),credentials:"include"}).then((e=>e.text()))}handleRememberDebug(e){fetch(`${window.serverRoutesPrefix}/rememberDebug`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:e.target.checked}),credentials:"include"}).then((e=>e.text()))}handlePause(e){this.state.pause=e.target.checked,this.setState(this.state),this.state.pause?this.unsubscribeToLogs():this.subscribeToLogsIfNeeded()}render(){return this.state.hasData&&r().createElement("div",{className:"animated fadeIn"},r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),r().createElement("strong",null,"Server Log")),r().createElement(f.bw,null,r().createElement(f.lV,{action:"",method:"post",encType:"multipart/form-data",className:"form-horizontal",onSubmit:e=>{e.preventDefault()}},r().createElement(f.gE,{row:!0},r().createElement(f.fv,null,r().createElement(qt.Ay,{isMulti:!0,options:this.state.debugKeys.map((e=>({label:e,value:e}))),value:this.props.log.debugEnabled?this.props.log.debugEnabled.split(",").map((e=>({label:e,value:e}))):null,onChange:e=>{const n=null!==e?e.map((({value:e})=>e)).join(","):"";this.doHandleDebug(n)}}),r().createElement(f.ay,{color:"muted",style:{marginBottom:"15px"}},"Select the appropriate debug keys to activate debug logging for various components on the server."))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"6",md:"6"},"Persist debug settings over server restarts"," ",r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",id:"Enabled",name:"debug",className:"switch-input",onChange:this.handleRememberDebug,checked:this.props.log.rememberDebug}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))),r().createElement(f.fv,{xs:"6",md:"6"},"Pause the log window"," ",r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",id:"Pause",name:"pause",className:"switch-input",onChange:this.handlePause,checked:this.state.pause}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"})))),r().createElement($o,{value:this.props.log})))),r().createElement(go,null))}}class $o extends o.Component{componentDidMount(){this.end.scrollIntoView()}render(){return r().createElement("div",{style:{overflowY:"scroll",maxHeight:"60vh",border:"1px solid",padding:"5px",fontFamily:"monospace"}},this.props.value.entries&&this.props.value.entries.map((e=>r().createElement(yo,{key:e.i,log:e.d}))),r().createElement("div",{ref:e=>{this.end=e}}," "))}}class yo extends r().PureComponent{render(){return r().createElement("span",null,(0,xo.Ay)(this.props.log),r().createElement("br",null))}}const Fo=(0,d.Ng)((({log:e,webSocket:n})=>({log:e,webSocket:n})))(ko);class So extends o.Component{constructor(e){super(e),this.state={chanelog:null},this.handleUpdate=this.handleUpdate.bind(this),this.fetchChangelog=this.fetchChangelog.bind(this),this.fetchChangelog()}fetchChangelog(){fetch("https://raw.githubusercontent.com/SignalK/signalk-server-node/master/CHANGELOG.md").then((e=>e.text())).then((e=>{this.setState({changelog:e})}))}handleUpdate(){console.log("handleUpdate"),confirm("Are you sure you want to update the server?'")&&(this.props.history.push("/appstore/updates"),fetch(`${window.serverRoutesPrefix}/appstore/install/signalk-server/${this.props.appStore.serverUpdate}`,{method:"POST",credentials:"include"}).then((()=>{this.history.pushState(null,"appstore/updates")})))}render(){if(!this.props.appStore.storeAvailable)return r().createElement("div",{className:"animated fadeIn"},r().createElement(f.Zp,null,r().createElement(f.aR,null,"Waiting for App store data to load...")));let e=!1,n=!1,t=this.props.appStore.installing.find((e=>"signalk-server"==e.name));return t&&(t.isWaiting||t.isInstalling?e=!0:n=!0),r().createElement("div",{className:"animated fadeIn"},!this.props.appStore.canUpdateServer&&r().createElement(f.Zp,{className:"border-warning"},r().createElement(f.aR,null,"Server Update"),r().createElement(f.bw,null,"This installation is not updatable from the admin user interface.")),this.props.appStore.isInDocker&&r().createElement(f.Zp,{className:"border-warning"},r().createElement(f.aR,null,"Running as a Docker container"),r().createElement(f.bw,null,r().createElement("p",null,"The server is running as a Docker container. You need to pull a new server version from Container registry to update.",r().createElement("ul",null,r().createElement("code",null,"docker pull cr.signalk.io/signalk/signalk-server"))),r().createElement("p",null,"More info about running Signal K in Docker can be found at"," ",r().createElement("a",{href:"https://github.com/SignalK/signalk-server/blob/master/docker/README.md",target:"_blank",rel:"noopener noreferrer"},"Docker README")," ","."))),this.props.appStore.canUpdateServer&&this.props.appStore.serverUpdate&&!e&&!n&&r().createElement(f.Zp,null,r().createElement(f.aR,null,"Server version ",this.props.appStore.serverUpdate," is available"),r().createElement(f.bw,null,r().createElement("a",{href:"https://github.com/SignalK/signalk-server/releases/"},"Release Notes for latest releases."),r().createElement("br",null),r().createElement("br",null),r().createElement(f.$n,{className:"btn btn-danger",size:"sm",color:"primary",onClick:this.handleUpdate},"Update"))),e&&r().createElement(f.Zp,null,r().createElement(f.aR,null,"Server Update"),r().createElement(f.bw,null,"The update is being installed")),n&&r().createElement(f.Zp,null,r().createElement(f.aR,null,"Server Update"),r().createElement(f.bw,null,"The update has been installed, please restart the Signal K server.")),this.props.appStore.canUpdateServer&&!this.props.appStore.serverUpdate&&r().createElement(f.Zp,null,r().createElement(f.aR,null,"Server Update"),r().createElement(f.bw,null,"Your server is up to date.")),r().createElement(f.Zp,null,r().createElement(f.aR,null,"Sponsoring"),r().createElement(f.bw,null,r().createElement("p",null,"If you find Signal K valuable to you consider sponsoring our work on developing it further."),r().createElement("p",null,"Your support allows us to do things like",r().createElement("ul",null,r().createElement("li",null,"travel to meet in person and push things forward"),r().createElement("li",null,"purchase equipment to develop on"),r().createElement("li",null,"upgrade our cloud resources beyond the free tiers"))),r().createElement("p",null,"See"," ",r().createElement("a",{href:"https://opencollective.com/signalk"},"Signal K in Open Collective")," ","for details."))))}}const zo=(0,d.Ng)((({appStore:e})=>({appStore:e})))((0,C.A)(So));class Do extends o.Component{componentDidMount(){const{dispatch:e}=this.props;N(e),I(e)}render(){const e=0===this.props.location.pathname.indexOf("/e/")?{padding:"0px"}:{};return r().createElement("div",{className:"app"},r().createElement(q,null),r().createElement("div",{className:"app-body"},r().createElement(L,this.props),r().createElement("main",{className:"main"},r().createElement(f.mc,{fluid:!0,style:e},r().createElement(s.A,null,r().createElement(A.A,{path:"/dashboard",name:"Dashboard",component:Io(re,!0)}),r().createElement(A.A,{path:"/webapps",name:"Webapps",component:Io(Ee,!0)}),r().createElement(A.A,{path:"/e/:moduleId",name:"Embedded Webapps",component:Io(be,!0)}),r().createElement(A.A,{path:"/databrowser",name:"DataBrowser",component:Io(rn,!0)}),r().createElement(A.A,{path:"/serverConfiguration/datafiddler",name:"DataFiddler",component:Io(hn,!0)}),r().createElement(A.A,{path:"/appstore",name:"Appstore",component:Io(Sn)}),r().createElement(A.A,{path:"/serverConfiguration/plugins/:pluginid",component:Io(Gn)}),r().createElement(A.A,{path:"/serverConfiguration/settings",component:Io(vo)}),r().createElement(A.A,{path:"/serverConfiguration/backuprestore",component:Io(Eo)}),r().createElement(A.A,{path:"/serverConfiguration/connections/:providerId",component:Io(so)}),r().createElement(A.A,{path:"/serverConfiguration/log",component:Io(Fo)}),r().createElement(A.A,{path:"/serverConfiguration/update",component:Io(zo)}),r().createElement(A.A,{path:"/security/settings",component:Io(Pn)}),r().createElement(A.A,{path:"/security/users",component:Io(Yn)}),r().createElement(A.A,{path:"/security/devices",component:Io(Qn)}),r().createElement(A.A,{path:"/security/access/requests",component:Io(Zn)}),r().createElement(A.A,{path:"/login",component:de}),r().createElement(A.A,{path:"/register",component:Vn}),r().createElement(h.A,{from:"/",to:"/dashboard"})))),r().createElement(V,null)),r().createElement(ee,null))}}const No=(0,d.Ng)()(Do),Io=(e,n)=>{class t extends o.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}render(){return function(e,n){return(!n||!e.readOnlyAccess)&&(e.authenticationRequired&&"notLoggedIn"===e.status)}(this.props.loginStatus,n)?r().createElement(de,null):this.state.hasError?r().createElement("span",null,"Something went wrong."):r().createElement(e,this.props)}}return(0,d.Ng)((({loginStatus:e})=>({loginStatus:e})))((0,C.A)(t))};var Uo=t(41673),qo=t.n(Uo),Go=t(92574);const Jo=new(t.n(Go)()),Ro=[];let Oo=0;for(let e=0;e<100;e++)Ro[e]={i:Oo++,d:""};const Mo={plugins:[],webapps:[],addons:[],appStore:{updates:[],installed:[],available:[],installing:[]},loginStatus:{},serverSpecification:{},websocketStatus:"initial",webSocket:null,restarting:!1,accessRequests:[],discoveredProviders:[],log:{entries:Ro,debugEnabled:"",rememberDebug:!1},restoreStatus:{},vesselInfo:{},sourcePrioritiesData:{sourcePriorities:[],saveState:{dirty:!1,timeoutsOk:!0}}};let Wo=(0,c.y$)(((e,n)=>{if("RECEIVE_PLUGIN_LIST"===n.type)return{...e,plugins:n.data};if("RECEIVE_WEBAPPS_LIST"===n.type)return{...e,webapps:n.data};if("RECEIVE_ADDONS_LIST"===n.type)return{...e,addons:n.data};if("RECEIVE_APPSTORE_LIST"===n.type||"APP_STORE_CHANGED"===n.type){var t=n.data;return t.installing.sort(Po),t.available.sort(Po),t.installed.sort(Po),t.updates.sort(Po),{...e,appStore:t}}if("SERVERSTATISTICS"===n.type)return{...e,serverStatistics:n.data};if("PROVIDERSTATUS"===n.type)return n.data.sort(((e,n)=>e.id>n.id)),{...e,providerStatus:n.data};if("RECEIVE_LOGIN_STATUS"===n.type)return{...e,loginStatus:n.data};if("RECEIVE_SERVER_SPEC"===n.type)return{...e,serverSpecification:n.data};if("WEBSOCKET_CONNECTED"===n.type)return{...e,websocketStatus:"connected"};if("WEBSOCKET_OPEN"===n.type)return e.webSocketTimer&&(clearInterval(e.webSocketTimer),delete e.webSocketTimer),e.restarting&&(e.restarting=!1),{...e,websocketStatus:"open",webSocket:n.data};if("VESSEL_INFO"===n.type)return n.data.name&&(document.title=n.data.name),{...e,vesselInfo:n.data};if("WEBSOCKET_ERROR"===n.type)return{...e,websocketStatus:"error"};if("WEBSOCKET_CLOSE"===n.type)return e.webSocketTimer||(e.webSocketTimer=setInterval((()=>{console.log("retry..."),I(Wo.dispatch,!0)}),5e3)),{...e,websocketStatus:"closed",webSocket:null};if("LOGIN_SUCCESS"===n.type)return e.webSocket&&(e.webSocket.onclose=void 0,e.webSocket.close()),I(Wo.dispatch),e;if("SERVER_RESTART"===n.type)return{...e,restarting:!0};if("SERVER_UP"===n.data)return{...e,restarting:!1};if("LOGOUT_REQUESTED"===n.type&&e.webSocket&&e.webSocket.close(),"ACCESS_REQUEST"===n.type)return{...e,accessRequests:n.data};if("DISCOVERY_CHANGED"===n.type)return{...e,discoveredProviders:n.data};if("DEBUG_SETTINGS"===n.type)return{...e,log:{...e.log,...n.data}};if("LOG"===n.type){const t=`<span style="${n.data.isError?"color:red":"font-weight:lighter"}">`+n.data.ts+"</span> "+Jo.toHtml(qo()(n.data.row));return e.log.entries.push({i:Oo++,d:t}),e.log.entries.length>100&&e.log.entries.shift(),{...e,log:{...e.log,entries:e.log.entries}}}if("RESTORESTATUS"===n.type)return{...e,restoreStatus:n.data};if("SOURCEPRIORITIES"===n.type){const t=n.data,o=Object.keys(t).map((e=>({path:e,priorities:t[e]})));return o.state={},{...e,sourcePrioritiesData:{sourcePriorities:o,saveState:{dirty:!1,timeoutsOk:!0}}}}return{...e,sourcePrioritiesData:Ht(e.sourcePrioritiesData,n)}}),Mo,(0,c.Tw)(m.A));function Po(e,n){return e.name<n.name?-1:e.name>n.name?1:0}window.serverRoutesPrefix="/skServer",t.I("default"),i().render(r().createElement(l.A,null,r().createElement(s.A,null,r().createElement(d.Kq,{store:Wo},r().createElement(A.A,{path:"/",name:"Home",component:No})))),document.getElementById("root"))},44597:()=>{},48359:(e,n,t)=>{"use strict";t.d(n,{A:()=>o});const o=t.p+"./fonts/signal-k-logo-image.200bef2a0bd5597ecdd8594980e10b8b.svg"},71087:(e,n,t)=>{"use strict";t.d(n,{A:()=>b});var o=t(9372),r=t.n(o),a=t(40935),i=t.n(a),l=t(20062),s=t.n(l),A=t(7653),d=t(48359),c=i()(r()),m=s()(A.A),p=s()(d.A);c.push([e.id,"/*!\n * CoreUI - Open Source Bootstrap Admin Template\n * @version v1.0.6\n * @link http://coreui.io\n * Copyright (c) 2017 creativeLabs Łukasz Holeczek\n * @license MIT\n *//*!\n * Bootstrap v4.6.2 (https://getbootstrap.com/)\n * Copyright 2011-2022 The Bootstrap Authors\n * Copyright 2011-2022 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */:root{--blue: #003399;--indigo: #6610f2;--purple: #6f42c1;--pink: #e83e8c;--red: #f86c6b;--orange: #f8cb00;--yellow: #ffcc00;--green: #4dbd74;--teal: #20c997;--cyan: #63c2de;--white: #fff;--gray: #536c79;--gray-dark: #29363d;--blue: #003399;--indigo: #6610f2;--purple: #6f42c1;--pink: #e83e8c;--red: #f86c6b;--orange: #f8cb00;--yellow: #ffcc00;--green: #4dbd74;--teal: #20c997;--cyan: #63c2de;--white: #fff;--gray: #536c79;--primary: #003399;--secondary: #3e515b;--success: #4dbd74;--info: #63c2de;--warning: #ffcc00;--danger: #f86c6b;--light: #c2cfd6;--dark: #29363d;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";--font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace}*,*::before,*::after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",\"Liberation Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";font-size:0.875rem;font-weight:400;line-height:1.5;color:#151b1e;text-align:left;background-color:#e4e5e6}[tabindex=\"-1\"]:focus:not(:focus-visible){outline:0 !important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-original-title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:#039;text-decoration:none;background-color:rgba(0,0,0,0)}a:hover{color:rgb(0,25.5,76.5);text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#536c79;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none !important}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:2.1875rem}h2,.h2{font-size:1.75rem}h3,.h3{font-size:1.53125rem}h4,.h4{font-size:1.3125rem}h5,.h5{font-size:1.09375rem}h6,.h6{font-size:0.875rem}.lead{font-size:1.09375rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}small,.small{font-size:0.875em;font-weight:400}mark,.mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.09375rem}.blockquote-footer{display:block;font-size:0.875em;color:#536c79}.blockquote-footer::before{content:\"— \"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#e4e5e6;border:1px solid #a4b7c1;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#536c79}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#151b1e;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#151b1e}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-xl,.container-lg,.container-md,.container-sm{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media(min-width: 576px){.container-sm,.container{max-width:540px}}@media(min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media(min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media(min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col-xl,.col-xl-auto,.col-xl-12,.col-xl-11,.col-xl-10,.col-xl-9,.col-xl-8,.col-xl-7,.col-xl-6,.col-xl-5,.col-xl-4,.col-xl-3,.col-xl-2,.col-xl-1,.col-lg,.col-lg-auto,.col-lg-12,.col-lg-11,.col-lg-10,.col-lg-9,.col-lg-8,.col-lg-7,.col-lg-6,.col-lg-5,.col-lg-4,.col-lg-3,.col-lg-2,.col-lg-1,.col-md,.col-md-auto,.col-md-12,.col-md-11,.col-md-10,.col-md-9,.col-md-8,.col-md-7,.col-md-6,.col-md-5,.col-md-4,.col-md-3,.col-md-2,.col-md-1,.col-sm,.col-sm-auto,.col-sm-12,.col-sm-11,.col-sm-10,.col-sm-9,.col-sm-8,.col-sm-7,.col-sm-6,.col-sm-5,.col-sm-4,.col-sm-3,.col-sm-2,.col-sm-1,.col,.col-auto,.col-12,.col-11,.col-10,.col-9,.col-8,.col-7,.col-6,.col-5,.col-4,.col-3,.col-2,.col-1{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}@media(min-width: 576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-sm-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-sm-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-sm-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-sm-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}}@media(min-width: 768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-md-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-md-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-md-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-md-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}}@media(min-width: 992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-lg-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-lg-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-lg-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-lg-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}}@media(min-width: 1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-xl-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-xl-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-xl-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-xl-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}}.table{width:100%;margin-bottom:1rem;color:#151b1e}.table th,.table td{padding:.75rem;vertical-align:top;border-top:1px solid #a4b7c1}.table thead th{vertical-align:bottom;border-bottom:2px solid #a4b7c1}.table tbody+tbody{border-top:2px solid #a4b7c1}.table-sm th,.table-sm td{padding:.3rem}.table-bordered{border:1px solid #a4b7c1}.table-bordered th,.table-bordered td{border:1px solid #a4b7c1}.table-bordered thead th,.table-bordered thead td{border-bottom-width:2px}.table-borderless th,.table-borderless td,.table-borderless thead th,.table-borderless tbody+tbody{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#151b1e;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>th,.table-primary>td{background-color:rgb(183.6,197.88,226.44)}.table-primary th,.table-primary td,.table-primary thead th,.table-primary tbody+tbody{border-color:rgb(122.4,148.92,201.96)}.table-hover .table-primary:hover{background-color:hsl(220,42.8571428571%,75.4%)}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:hsl(220,42.8571428571%,75.4%)}.table-secondary,.table-secondary>th,.table-secondary>td{background-color:rgb(200.96,206.28,209.08)}.table-secondary th,.table-secondary td,.table-secondary thead th,.table-secondary tbody+tbody{border-color:rgb(154.64,164.52,169.72)}.table-hover .table-secondary:hover{background-color:hsl(200.6896551724,8.1232492997%,75.4%)}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:hsl(200.6896551724,8.1232492997%,75.4%)}.table-success,.table-success>th,.table-success>td{background-color:rgb(205.16,236.52,216.08)}.table-success th,.table-success td,.table-success thead th,.table-success tbody+tbody{border-color:rgb(162.44,220.68,182.72)}.table-hover .table-success:hover{background-color:rgb(186.5575409836,229.6224590164,201.5533606557)}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:rgb(186.5575409836,229.6224590164,201.5533606557)}.table-info,.table-info>th,.table-info>td{background-color:rgb(211.32,237.92,245.76)}.table-info th,.table-info td,.table-info thead th,.table-info tbody+tbody{border-color:rgb(173.88,223.28,237.84)}.table-hover .table-info:hover{background-color:rgb(190.2723809524,229.6898412698,241.3076190476)}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:rgb(190.2723809524,229.6898412698,241.3076190476)}.table-warning,.table-warning>th,.table-warning>td{background-color:hsl(48,100%,86%)}.table-warning th,.table-warning td,.table-warning thead th,.table-warning tbody+tbody{border-color:hsl(48,100%,74%)}.table-hover .table-warning:hover{background-color:hsl(48,100%,81%)}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:hsl(48,100%,81%)}.table-danger,.table-danger>th,.table-danger>td{background-color:rgb(253.04,213.84,213.56)}.table-danger th,.table-danger td,.table-danger thead th,.table-danger tbody+tbody{border-color:rgb(251.36,178.56,178.04)}.table-hover .table-danger:hover{background-color:hsl(.4255319149,90.9677419355%,86.4901960784%)}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:hsl(.4255319149,90.9677419355%,86.4901960784%)}.table-light,.table-light>th,.table-light>td{background-color:rgb(237.92,241.56,243.52)}.table-light th,.table-light td,.table-light thead th,.table-light tbody+tbody{border-color:rgb(223.28,230.04,233.68)}.table-hover .table-light:hover{background-color:rgb(222.67,229.56,233.27)}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:rgb(222.67,229.56,233.27)}.table-dark,.table-dark>th,.table-dark>td{background-color:rgb(195.08,198.72,200.68)}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:rgb(143.72,150.48,154.12)}.table-hover .table-dark:hover{background-color:hsl(201,4.9019607843%,72.6%)}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:hsl(201,4.9019607843%,72.6%)}.table-active,.table-active>th,.table-active>td{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#29363d;border-color:rgb(56.375,74.25,83.875)}.table .thead-light th{color:#3e515b;background-color:#c2cfd6;border-color:#a4b7c1}.table-dark{color:#fff;background-color:#29363d}.table-dark th,.table-dark td,.table-dark thead th{border-color:rgb(56.375,74.25,83.875)}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:hsla(0,0%,100%,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:hsla(0,0%,100%,.075)}@media(max-width: 575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media(max-width: 767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media(max-width: 991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media(max-width: 1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + 0.75rem + 2px);padding:.375rem .75rem;font-size:0.875rem;font-weight:400;line-height:1.5;color:#3e515b;background-color:#fff;background-clip:padding-box;border:1px solid #c2cfd6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:rgba(0,0,0,0);border:0}.form-control:focus{color:#3e515b;background-color:#fff;border-color:rgb(25.5,102,255);outline:0;box-shadow:0 0 0 .2rem rgba(0,51,153,.25)}.form-control::placeholder{color:#536c79;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#c2cfd6;opacity:1}input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{appearance:none}select.form-control:-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 #3e515b}select.form-control:focus::-ms-value{color:#3e515b;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(0.375rem + 1px);padding-bottom:calc(0.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(0.5rem + 1px);padding-bottom:calc(0.5rem + 1px);font-size:1.09375rem;line-height:1.5}.col-form-label-sm{padding-top:calc(0.25rem + 1px);padding-bottom:calc(0.25rem + 1px);font-size:0.765625rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:0.875rem;line-height:1.5;color:#151b1e;background-color:rgba(0,0,0,0);border:solid rgba(0,0,0,0);border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + 0.5rem + 2px);padding:.25rem .5rem;font-size:0.765625rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.09375rem;line-height:1.5;border-radius:.3rem}select.form-control[size],select.form-control[multiple]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{color:#536c79}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#4dbd74}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.765625rem;line-height:1.5;color:#fff;background-color:rgba(77,189,116,.9);border-radius:.25rem}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#4dbd74;padding-right:calc(1.5em + 0.75rem) !important;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%234dbd74' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#4dbd74;box-shadow:0 0 0 .2rem rgba(77,189,116,.25)}.was-validated select.form-control:valid,select.form-control.is-valid{padding-right:3rem !important;background-position:right 1.5rem center}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .custom-select:valid,.custom-select.is-valid{border-color:#4dbd74;padding-right:calc(0.75em + 2.3125rem) !important;background:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%2329363d' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right .75rem center/8px 10px no-repeat,#fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%234dbd74' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat}.was-validated .custom-select:valid:focus,.custom-select.is-valid:focus{border-color:#4dbd74;box-shadow:0 0 0 .2rem rgba(77,189,116,.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#4dbd74}.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip,.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip{display:block}.was-validated .custom-control-input:valid~.custom-control-label,.custom-control-input.is-valid~.custom-control-label{color:#4dbd74}.was-validated .custom-control-input:valid~.custom-control-label::before,.custom-control-input.is-valid~.custom-control-label::before{border-color:#4dbd74}.was-validated .custom-control-input:valid:checked~.custom-control-label::before,.custom-control-input.is-valid:checked~.custom-control-label::before{border-color:rgb(114.2049180328,202.7950819672,145.0532786885);background-color:rgb(114.2049180328,202.7950819672,145.0532786885)}.was-validated .custom-control-input:valid:focus~.custom-control-label::before,.custom-control-input.is-valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(77,189,116,.25)}.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before{border-color:#4dbd74}.was-validated .custom-file-input:valid~.custom-file-label,.custom-file-input.is-valid~.custom-file-label{border-color:#4dbd74}.was-validated .custom-file-input:valid:focus~.custom-file-label,.custom-file-input.is-valid:focus~.custom-file-label{border-color:#4dbd74;box-shadow:0 0 0 .2rem rgba(77,189,116,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#f86c6b}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.765625rem;line-height:1.5;color:#fff;background-color:rgba(248,108,107,.9);border-radius:.25rem}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#f86c6b;padding-right:calc(1.5em + 0.75rem) !important;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23f86c6b' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23f86c6b' stroke='none'/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#f86c6b;box-shadow:0 0 0 .2rem rgba(248,108,107,.25)}.was-validated select.form-control:invalid,select.form-control.is-invalid{padding-right:3rem !important;background-position:right 1.5rem center}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .custom-select:invalid,.custom-select.is-invalid{border-color:#f86c6b;padding-right:calc(0.75em + 2.3125rem) !important;background:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%2329363d' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right .75rem center/8px 10px no-repeat,#fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23f86c6b' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23f86c6b' stroke='none'/%3e%3c/svg%3e\") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat}.was-validated .custom-select:invalid:focus,.custom-select.is-invalid:focus{border-color:#f86c6b;box-shadow:0 0 0 .2rem rgba(248,108,107,.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#f86c6b}.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip,.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip{display:block}.was-validated .custom-control-input:invalid~.custom-control-label,.custom-control-input.is-invalid~.custom-control-label{color:#f86c6b}.was-validated .custom-control-input:invalid~.custom-control-label::before,.custom-control-input.is-invalid~.custom-control-label::before{border-color:#f86c6b}.was-validated .custom-control-input:invalid:checked~.custom-control-label::before,.custom-control-input.is-invalid:checked~.custom-control-label::before{border-color:hsl(.4255319149,90.9677419355%,79.6078431373%);background-color:hsl(.4255319149,90.9677419355%,79.6078431373%)}.was-validated .custom-control-input:invalid:focus~.custom-control-label::before,.custom-control-input.is-invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(248,108,107,.25)}.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before{border-color:#f86c6b}.was-validated .custom-file-input:invalid~.custom-file-label,.custom-file-input.is-invalid~.custom-file-label{border-color:#f86c6b}.was-validated .custom-file-input:invalid:focus~.custom-file-label,.custom-file-input.is-invalid:focus~.custom-file-label{border-color:#f86c6b;box-shadow:0 0 0 .2rem rgba(248,108,107,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media(min-width: 576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group,.form-inline .custom-select{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#151b1e;text-align:center;vertical-align:middle;user-select:none;background-color:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);padding:.375rem .75rem;font-size:0.875rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#151b1e;text-decoration:none}.btn:focus,.btn.focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,51,153,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#039;border-color:#039}.btn-primary:hover{color:#fff;background-color:rgb(0,38.25,114.75);border-color:#026}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:rgb(0,38.25,114.75);border-color:#026;box-shadow:0 0 0 .2rem rgba(38.25,81.6,168.3,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#039;border-color:#039}.btn-primary:not(:disabled):not(.disabled):active,.btn-primary:not(:disabled):not(.disabled).active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#026;border-color:rgb(0,29.75,89.25)}.btn-primary:not(:disabled):not(.disabled):active:focus,.btn-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38.25,81.6,168.3,.5)}.btn-secondary{color:#fff;background-color:#3e515b;border-color:#3e515b}.btn-secondary:hover{color:#fff;background-color:rgb(46.5,60.75,68.25);border-color:rgb(41.3333333333,54,60.6666666667)}.btn-secondary:focus,.btn-secondary.focus{color:#fff;background-color:rgb(46.5,60.75,68.25);border-color:rgb(41.3333333333,54,60.6666666667);box-shadow:0 0 0 .2rem rgba(90.95,107.1,115.6,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#3e515b;border-color:#3e515b}.btn-secondary:not(:disabled):not(.disabled):active,.btn-secondary:not(:disabled):not(.disabled).active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:rgb(41.3333333333,54,60.6666666667);border-color:rgb(36.1666666667,47.25,53.0833333333)}.btn-secondary:not(:disabled):not(.disabled):active:focus,.btn-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(90.95,107.1,115.6,.5)}.btn-success{color:#fff;background-color:#4dbd74;border-color:#4dbd74}.btn-success:hover{color:#fff;background-color:rgb(61.6045081967,166.1454918033,98.0071721311);border-color:rgb(58.1557377049,156.8442622951,92.5204918033)}.btn-success:focus,.btn-success.focus{color:#fff;background-color:rgb(61.6045081967,166.1454918033,98.0071721311);border-color:rgb(58.1557377049,156.8442622951,92.5204918033);box-shadow:0 0 0 .2rem rgba(103.7,198.9,136.85,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#4dbd74;border-color:#4dbd74}.btn-success:not(:disabled):not(.disabled):active,.btn-success:not(:disabled):not(.disabled).active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:rgb(58.1557377049,156.8442622951,92.5204918033);border-color:rgb(54.7069672131,147.5430327869,87.0338114754)}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(103.7,198.9,136.85,.5)}.btn-info{color:#151b1e;background-color:#63c2de;border-color:#63c2de}.btn-info:hover{color:#151b1e;background-color:rgb(67.4285714286,181.6547619048,215.3214285714);border-color:rgb(56.9047619048,177.5396825397,213.0952380952)}.btn-info:focus,.btn-info.focus{color:#151b1e;background-color:rgb(67.4285714286,181.6547619048,215.3214285714);border-color:rgb(56.9047619048,177.5396825397,213.0952380952);box-shadow:0 0 0 .2rem rgba(87.3,168.95,193.2,.5)}.btn-info.disabled,.btn-info:disabled{color:#151b1e;background-color:#63c2de;border-color:#63c2de}.btn-info:not(:disabled):not(.disabled):active,.btn-info:not(:disabled):not(.disabled).active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:rgb(56.9047619048,177.5396825397,213.0952380952);border-color:rgb(46.380952381,173.4246031746,210.869047619)}.btn-info:not(:disabled):not(.disabled):active:focus,.btn-info:not(:disabled):not(.disabled).active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(87.3,168.95,193.2,.5)}.btn-warning{color:#151b1e;background-color:#fc0;border-color:#fc0}.btn-warning:hover{color:#151b1e;background-color:hsl(48,100%,42.5%);border-color:rgb(204,163.2,0)}.btn-warning:focus,.btn-warning.focus{color:#151b1e;background-color:hsl(48,100%,42.5%);border-color:rgb(204,163.2,0);box-shadow:0 0 0 .2rem rgba(219.9,177.45,4.5,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#151b1e;background-color:#fc0;border-color:#fc0}.btn-warning:not(:disabled):not(.disabled):active,.btn-warning:not(:disabled):not(.disabled).active,.show>.btn-warning.dropdown-toggle{color:#151b1e;background-color:rgb(204,163.2,0);border-color:rgb(191.25,153,0)}.btn-warning:not(:disabled):not(.disabled):active:focus,.btn-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(219.9,177.45,4.5,.5)}.btn-danger{color:#fff;background-color:#f86c6b;border-color:#f86c6b}.btn-danger:hover{color:#fff;background-color:hsl(.4255319149,90.9677419355%,62.1078431373%);border-color:hsl(.4255319149,90.9677419355%,59.6078431373%)}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:hsl(.4255319149,90.9677419355%,62.1078431373%);border-color:hsl(.4255319149,90.9677419355%,59.6078431373%);box-shadow:0 0 0 .2rem rgba(249.05,130.05,129.2,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#f86c6b;border-color:#f86c6b}.btn-danger:not(:disabled):not(.disabled):active,.btn-danger:not(:disabled):not(.disabled).active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:hsl(.4255319149,90.9677419355%,59.6078431373%);border-color:hsl(.4255319149,90.9677419355%,57.1078431373%)}.btn-danger:not(:disabled):not(.disabled):active:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(249.05,130.05,129.2,.5)}.btn-light{color:#151b1e;background-color:#c2cfd6;border-color:#c2cfd6}.btn-light:hover{color:#151b1e;background-color:rgb(171.125,189,198.625);border-color:rgb(163.5,183,193.5)}.btn-light:focus,.btn-light.focus{color:#151b1e;background-color:rgb(171.125,189,198.625);border-color:rgb(163.5,183,193.5);box-shadow:0 0 0 .2rem rgba(168.05,180,186.4,.5)}.btn-light.disabled,.btn-light:disabled{color:#151b1e;background-color:#c2cfd6;border-color:#c2cfd6}.btn-light:not(:disabled):not(.disabled):active,.btn-light:not(:disabled):not(.disabled).active,.show>.btn-light.dropdown-toggle{color:#151b1e;background-color:rgb(163.5,183,193.5);border-color:rgb(155.875,177,188.375)}.btn-light:not(:disabled):not(.disabled):active:focus,.btn-light:not(:disabled):not(.disabled).active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(168.05,180,186.4,.5)}.btn-dark{color:#fff;background-color:#29363d;border-color:#29363d}.btn-dark:hover{color:#fff;background-color:rgb(25.625,33.75,38.125);border-color:rgb(20.5,27,30.5)}.btn-dark:focus,.btn-dark.focus{color:#fff;background-color:rgb(25.625,33.75,38.125);border-color:rgb(20.5,27,30.5);box-shadow:0 0 0 .2rem rgba(73.1,84.15,90.1,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#29363d;border-color:#29363d}.btn-dark:not(:disabled):not(.disabled):active,.btn-dark:not(:disabled):not(.disabled).active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:rgb(20.5,27,30.5);border-color:rgb(15.375,20.25,22.875)}.btn-dark:not(:disabled):not(.disabled):active:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(73.1,84.15,90.1,.5)}.btn-outline-primary{color:#039;border-color:#039}.btn-outline-primary:hover{color:#fff;background-color:#039;border-color:#039}.btn-outline-primary:focus,.btn-outline-primary.focus{box-shadow:0 0 0 .2rem rgba(0,51,153,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#039;background-color:rgba(0,0,0,0)}.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-outline-primary:not(:disabled):not(.disabled).active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#039;border-color:#039}.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,51,153,.5)}.btn-outline-secondary{color:#3e515b;border-color:#3e515b}.btn-outline-secondary:hover{color:#fff;background-color:#3e515b;border-color:#3e515b}.btn-outline-secondary:focus,.btn-outline-secondary.focus{box-shadow:0 0 0 .2rem rgba(62,81,91,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#3e515b;background-color:rgba(0,0,0,0)}.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-outline-secondary:not(:disabled):not(.disabled).active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#3e515b;border-color:#3e515b}.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(62,81,91,.5)}.btn-outline-success{color:#4dbd74;border-color:#4dbd74}.btn-outline-success:hover{color:#fff;background-color:#4dbd74;border-color:#4dbd74}.btn-outline-success:focus,.btn-outline-success.focus{box-shadow:0 0 0 .2rem rgba(77,189,116,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#4dbd74;background-color:rgba(0,0,0,0)}.btn-outline-success:not(:disabled):not(.disabled):active,.btn-outline-success:not(:disabled):not(.disabled).active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#4dbd74;border-color:#4dbd74}.btn-outline-success:not(:disabled):not(.disabled):active:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(77,189,116,.5)}.btn-outline-info{color:#63c2de;border-color:#63c2de}.btn-outline-info:hover{color:#151b1e;background-color:#63c2de;border-color:#63c2de}.btn-outline-info:focus,.btn-outline-info.focus{box-shadow:0 0 0 .2rem rgba(99,194,222,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#63c2de;background-color:rgba(0,0,0,0)}.btn-outline-info:not(:disabled):not(.disabled):active,.btn-outline-info:not(:disabled):not(.disabled).active,.show>.btn-outline-info.dropdown-toggle{color:#151b1e;background-color:#63c2de;border-color:#63c2de}.btn-outline-info:not(:disabled):not(.disabled):active:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(99,194,222,.5)}.btn-outline-warning{color:#fc0;border-color:#fc0}.btn-outline-warning:hover{color:#151b1e;background-color:#fc0;border-color:#fc0}.btn-outline-warning:focus,.btn-outline-warning.focus{box-shadow:0 0 0 .2rem rgba(255,204,0,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#fc0;background-color:rgba(0,0,0,0)}.btn-outline-warning:not(:disabled):not(.disabled):active,.btn-outline-warning:not(:disabled):not(.disabled).active,.show>.btn-outline-warning.dropdown-toggle{color:#151b1e;background-color:#fc0;border-color:#fc0}.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,204,0,.5)}.btn-outline-danger{color:#f86c6b;border-color:#f86c6b}.btn-outline-danger:hover{color:#fff;background-color:#f86c6b;border-color:#f86c6b}.btn-outline-danger:focus,.btn-outline-danger.focus{box-shadow:0 0 0 .2rem rgba(248,108,107,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#f86c6b;background-color:rgba(0,0,0,0)}.btn-outline-danger:not(:disabled):not(.disabled):active,.btn-outline-danger:not(:disabled):not(.disabled).active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#f86c6b;border-color:#f86c6b}.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,108,107,.5)}.btn-outline-light{color:#c2cfd6;border-color:#c2cfd6}.btn-outline-light:hover{color:#151b1e;background-color:#c2cfd6;border-color:#c2cfd6}.btn-outline-light:focus,.btn-outline-light.focus{box-shadow:0 0 0 .2rem rgba(194,207,214,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#c2cfd6;background-color:rgba(0,0,0,0)}.btn-outline-light:not(:disabled):not(.disabled):active,.btn-outline-light:not(:disabled):not(.disabled).active,.show>.btn-outline-light.dropdown-toggle{color:#151b1e;background-color:#c2cfd6;border-color:#c2cfd6}.btn-outline-light:not(:disabled):not(.disabled):active:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(194,207,214,.5)}.btn-outline-dark{color:#29363d;border-color:#29363d}.btn-outline-dark:hover{color:#fff;background-color:#29363d;border-color:#29363d}.btn-outline-dark:focus,.btn-outline-dark.focus{box-shadow:0 0 0 .2rem rgba(41,54,61,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#29363d;background-color:rgba(0,0,0,0)}.btn-outline-dark:not(:disabled):not(.disabled):active,.btn-outline-dark:not(:disabled):not(.disabled).active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#29363d;border-color:#29363d}.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(41,54,61,.5)}.btn-link{font-weight:400;color:#039;text-decoration:none}.btn-link:hover{color:rgb(0,25.5,76.5);text-decoration:underline}.btn-link:focus,.btn-link.focus{text-decoration:underline}.btn-link:disabled,.btn-link.disabled{color:#536c79;pointer-events:none}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.09375rem;line-height:1.5;border-radius:.3rem}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:0.765625rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.width{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion: reduce){.collapsing.width{transition:none}}.dropup,.dropright,.dropdown,.dropleft{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid;border-right:.3em solid rgba(0,0,0,0);border-bottom:0;border-left:.3em solid rgba(0,0,0,0)}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:0 0;margin:.125rem 0 0;font-size:0.875rem;color:#151b1e;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #c2cfd6;border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media(min-width: 576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media(min-width: 768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media(min-width: 992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media(min-width: 1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:0;border-right:.3em solid rgba(0,0,0,0);border-bottom:.3em solid;border-left:.3em solid rgba(0,0,0,0)}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid rgba(0,0,0,0);border-right:0;border-bottom:.3em solid rgba(0,0,0,0);border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\"}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid rgba(0,0,0,0);border-right:.3em solid;border-bottom:.3em solid rgba(0,0,0,0)}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=top],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #f0f3f5}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#151b1e;text-align:inherit;white-space:nowrap;background-color:rgba(0,0,0,0);border:0}.dropdown-item:first-child{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.dropdown-item:last-child{border-bottom-right-radius:calc(0.25rem - 1px);border-bottom-left-radius:calc(0.25rem - 1px)}.dropdown-item:hover,.dropdown-item:focus{color:rgb(10.5,13.5,15);text-decoration:none;background-color:#c2cfd6}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#039}.dropdown-item.disabled,.dropdown-item:disabled{color:#678898;pointer-events:none;background-color:rgba(0,0,0,0)}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:0 1.5rem;margin-bottom:0;font-size:0.765625rem;color:#536c79;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#151b1e}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover{z-index:1}.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-control-plaintext,.input-group>.custom-select,.input-group>.custom-file{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.form-control+.form-control,.input-group>.form-control+.custom-select,.input-group>.form-control+.custom-file,.input-group>.form-control-plaintext+.form-control,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.custom-file,.input-group>.custom-select+.form-control,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.custom-file,.input-group>.custom-file+.form-control,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.custom-file{margin-left:-1px}.input-group>.form-control:focus,.input-group>.custom-select:focus,.input-group>.custom-file .custom-file-input:focus~.custom-file-label{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.form-control:not(:first-child),.input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group:not(.has-validation)>.form-control:not(:last-child),.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label,.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.form-control:nth-last-child(n+3),.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label,.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-prepend,.input-group-append{display:flex}.input-group-prepend .btn,.input-group-append .btn{position:relative;z-index:2}.input-group-prepend .btn:focus,.input-group-append .btn:focus{z-index:3}.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.input-group-text,.input-group-append .input-group-text+.btn{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:0.875rem;font-weight:400;line-height:1.5;color:#3e515b;text-align:center;white-space:nowrap;background-color:#f0f3f5;border:1px solid #c2cfd6;border-radius:.25rem}.input-group-text input[type=radio],.input-group-text input[type=checkbox]{margin-top:0}.input-group-lg>.form-control:not(textarea),.input-group-lg>.custom-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-control,.input-group-lg>.custom-select,.input-group-lg>.input-group-prepend>.input-group-text,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-append>.btn{padding:.5rem 1rem;font-size:1.09375rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.form-control:not(textarea),.input-group-sm>.custom-select{height:calc(1.5em + 0.5rem + 2px)}.input-group-sm>.form-control,.input-group-sm>.custom-select,.input-group-sm>.input-group-prepend>.input-group-text,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-append>.btn{padding:.25rem .5rem;font-size:0.765625rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.3125rem;padding-left:1.5rem;print-color-adjust:exact}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.15625rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#039;background-color:#039}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,51,153,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:rgb(25.5,102,255)}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:rgb(76.5,136,255);border-color:rgb(76.5,136,255)}.custom-control-input[disabled]~.custom-control-label,.custom-control-input:disabled~.custom-control-label{color:#536c79}.custom-control-input[disabled]~.custom-control-label::before,.custom-control-input:disabled~.custom-control-label::before{background-color:#c2cfd6}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.15625rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:\"\";background-color:#fff;border:1px solid #678898}.custom-control-label::after{position:absolute;top:.15625rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:\"\";background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e\")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#039;background-color:#039}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,51,153,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,51,153,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,51,153,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(0.15625rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#678898;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;transform:translateX(0.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,51,153,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + 0.75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:0.875rem;font-weight:400;line-height:1.5;color:#3e515b;vertical-align:middle;background:#fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%2329363d' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right .75rem center/8px 10px no-repeat;border:1px solid #c2cfd6;border-radius:.25rem;appearance:none}.custom-select:focus{border-color:rgb(25.5,102,255);outline:0;box-shadow:0 0 0 .2rem rgba(0,51,153,.25)}.custom-select:focus::-ms-value{color:#3e515b;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size=\"1\"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#536c79;background-color:#c2cfd6}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 #3e515b}.custom-select-sm{height:calc(1.5em + 0.5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.765625rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.09375rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + 0.75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + 0.75rem + 2px);margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:rgb(25.5,102,255);box-shadow:0 0 0 .2rem rgba(0,51,153,.25)}.custom-file-input[disabled]~.custom-file-label,.custom-file-input:disabled~.custom-file-label{background-color:#c2cfd6}.custom-file-input:lang(en)~.custom-file-label::after{content:\"Browse\"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + 0.75rem + 2px);padding:.375rem .75rem;overflow:hidden;font-weight:400;line-height:1.5;color:#3e515b;background-color:#fff;border:1px solid #c2cfd6;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + 0.75rem);padding:.375rem .75rem;line-height:1.5;color:#3e515b;content:\"Browse\";background-color:#f0f3f5;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:rgba(0,0,0,0);appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #e4e5e6,0 0 0 .2rem rgba(0,51,153,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #e4e5e6,0 0 0 .2rem rgba(0,51,153,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #e4e5e6,0 0 0 .2rem rgba(0,51,153,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;background-color:#039;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:rgb(76.5,136,255)}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:#a4b7c1;border-color:rgba(0,0,0,0);border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#039;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:rgb(76.5,136,255)}.custom-range::-moz-range-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:#a4b7c1;border-color:rgba(0,0,0,0);border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#039;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:rgb(76.5,136,255)}.custom-range::-ms-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0);border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#a4b7c1;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#a4b7c1;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#678898}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#678898}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#678898}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link,.navbar .dropdown-toggle{display:block;padding:.5rem 1rem}.nav-link:hover,.navbar .dropdown-toggle:hover,.nav-link:focus,.navbar .dropdown-toggle:focus{text-decoration:none}.nav-link.disabled,.navbar .disabled.dropdown-toggle{color:#536c79;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #a4b7c1}.nav-tabs .nav-link,.nav-tabs .navbar .dropdown-toggle,.navbar .nav-tabs .dropdown-toggle{margin-bottom:-1px;background-color:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:hover,.nav-tabs .navbar .dropdown-toggle:hover,.navbar .nav-tabs .dropdown-toggle:hover,.nav-tabs .nav-link:focus,.nav-tabs .navbar .dropdown-toggle:focus,.navbar .nav-tabs .dropdown-toggle:focus{isolation:isolate;border-color:#c2cfd6 #c2cfd6 #a4b7c1}.nav-tabs .nav-link.disabled,.nav-tabs .navbar .disabled.dropdown-toggle,.navbar .nav-tabs .disabled.dropdown-toggle{color:#536c79;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.nav-tabs .nav-link.active,.nav-tabs .navbar .active.dropdown-toggle,.navbar .nav-tabs .active.dropdown-toggle,.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-item.show .navbar .dropdown-toggle,.navbar .nav-tabs .nav-item.show .dropdown-toggle{color:#3e515b;background-color:#e4e5e6;border-color:#a4b7c1 #a4b7c1 #e4e5e6}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link,.nav-pills .navbar .dropdown-toggle,.navbar .nav-pills .dropdown-toggle{background:none;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .navbar .active.dropdown-toggle,.navbar .nav-pills .active.dropdown-toggle,.nav-pills .show>.nav-link,.nav-pills .navbar .show>.dropdown-toggle,.navbar .nav-pills .show>.dropdown-toggle{color:#fff;background-color:#039}.nav-fill>.nav-link,.navbar .nav-fill>.dropdown-toggle,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.navbar .nav-justified>.dropdown-toggle,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-sm,.navbar .container-md,.navbar .container-lg,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3359375rem;padding-bottom:.3359375rem;margin-right:1rem;font-size:1.09375rem;line-height:inherit;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link,.navbar-nav .navbar .dropdown-toggle,.navbar .navbar-nav .dropdown-toggle{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.09375rem;line-height:1;background-color:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);border-radius:.25rem}.navbar-toggler:hover,.navbar-toggler:focus{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:\"\";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media(max-width: 575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link,.navbar-expand-sm .navbar-nav .navbar .dropdown-toggle,.navbar .navbar-expand-sm .navbar-nav .dropdown-toggle{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media(max-width: 767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link,.navbar-expand-md .navbar-nav .navbar .dropdown-toggle,.navbar .navbar-expand-md .navbar-nav .dropdown-toggle{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media(max-width: 991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link,.navbar-expand-lg .navbar-nav .navbar .dropdown-toggle,.navbar .navbar-expand-lg .navbar-nav .dropdown-toggle{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media(max-width: 1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link,.navbar-expand-xl .navbar-nav .navbar .dropdown-toggle,.navbar .navbar-expand-xl .navbar-nav .dropdown-toggle{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link,.navbar-expand .navbar-nav .navbar .dropdown-toggle,.navbar .navbar-expand .navbar-nav .dropdown-toggle{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link,.navbar-light .navbar-nav .navbar .dropdown-toggle,.navbar .navbar-light .navbar-nav .dropdown-toggle{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .navbar .dropdown-toggle:hover,.navbar .navbar-light .navbar-nav .dropdown-toggle:hover,.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .navbar .dropdown-toggle:focus,.navbar .navbar-light .navbar-nav .dropdown-toggle:focus{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled,.navbar-light .navbar-nav .navbar .disabled.dropdown-toggle,.navbar .navbar-light .navbar-nav .disabled.dropdown-toggle{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .navbar .show>.dropdown-toggle,.navbar .navbar-light .navbar-nav .show>.dropdown-toggle,.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .navbar .active>.dropdown-toggle,.navbar .navbar-light .navbar-nav .active>.dropdown-toggle,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .navbar .show.dropdown-toggle,.navbar .navbar-light .navbar-nav .show.dropdown-toggle,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .navbar .active.dropdown-toggle,.navbar .navbar-light .navbar-nav .active.dropdown-toggle{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link,.navbar-dark .navbar-nav .navbar .dropdown-toggle,.navbar .navbar-dark .navbar-nav .dropdown-toggle{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .navbar .dropdown-toggle:hover,.navbar .navbar-dark .navbar-nav .dropdown-toggle:hover,.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .navbar .dropdown-toggle:focus,.navbar .navbar-dark .navbar-nav .dropdown-toggle:focus{color:hsla(0,0%,100%,.75)}.navbar-dark .navbar-nav .nav-link.disabled,.navbar-dark .navbar-nav .navbar .disabled.dropdown-toggle,.navbar .navbar-dark .navbar-nav .disabled.dropdown-toggle{color:hsla(0,0%,100%,.25)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .navbar .show>.dropdown-toggle,.navbar .navbar-dark .navbar-nav .show>.dropdown-toggle,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .navbar .active>.dropdown-toggle,.navbar .navbar-dark .navbar-nav .active>.dropdown-toggle,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .navbar .show.dropdown-toggle,.navbar .navbar-dark .navbar-nav .show.dropdown-toggle,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .navbar .active.dropdown-toggle,.navbar .navbar-dark .navbar-nav .active.dropdown-toggle{color:#fff}.navbar-dark .navbar-toggler{color:hsla(0,0%,100%,.5);border-color:hsla(0,0%,100%,.1)}.navbar-dark .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}.navbar-dark .navbar-text{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid #c2cfd6;border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(0.25rem - 1px);border-bottom-left-radius:calc(0.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body,.card-block{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-0.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f0f3f5;border-bottom:1px solid #c2cfd6}.card-header:first-child{border-radius:calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:#f0f3f5;border-top:1px solid #c2cfd6}.card-footer:last-child{border-radius:0 0 calc(0.25rem - 1px) calc(0.25rem - 1px)}.card-header-tabs{margin-right:-0.625rem;margin-bottom:-0.75rem;margin-left:-0.625rem;border-bottom:0}.card-header-pills{margin-right:-0.625rem;margin-left:-0.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(0.25rem - 1px)}.card-img,.card-img-top,.card-img-bottom{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(0.25rem - 1px);border-bottom-left-radius:calc(0.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media(min-width: 576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media(min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media(min-width: 576px){.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1.5rem;list-style:none;background-color:#fff;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#536c79;content:\"/\"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#536c79}.pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link,.pagination-datatables li a,.pagination li a{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#039;background-color:#fff;border:1px solid #a4b7c1}.page-link:hover,.pagination-datatables li a:hover,.pagination li a:hover{z-index:2;color:rgb(0,25.5,76.5);text-decoration:none;background-color:#c2cfd6;border-color:#a4b7c1}.page-link:focus,.pagination-datatables li a:focus,.pagination li a:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,51,153,.25)}.page-item:first-child .page-link,.page-item:first-child .pagination-datatables li a,.pagination-datatables li .page-item:first-child a,.page-item:first-child .pagination li a,.pagination li .page-item:first-child a,.pagination-datatables li:first-child .page-link,.pagination-datatables li:first-child a,.pagination li:first-child .page-link,.pagination li:first-child a{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link,.page-item:last-child .pagination-datatables li a,.pagination-datatables li .page-item:last-child a,.page-item:last-child .pagination li a,.pagination li .page-item:last-child a,.pagination-datatables li:last-child .page-link,.pagination-datatables li:last-child a,.pagination li:last-child .page-link,.pagination li:last-child a{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link,.page-item.active .pagination-datatables li a,.pagination-datatables li .page-item.active a,.page-item.active .pagination li a,.pagination li .page-item.active a,.pagination-datatables li.active .page-link,.pagination-datatables li.active a,.pagination li.active .page-link,.pagination li.active a{z-index:3;color:#fff;background-color:#039;border-color:#039}.page-item.disabled .page-link,.page-item.disabled .pagination-datatables li a,.pagination-datatables li .page-item.disabled a,.page-item.disabled .pagination li a,.pagination li .page-item.disabled a,.pagination-datatables li.disabled .page-link,.pagination-datatables li.disabled a,.pagination li.disabled .page-link,.pagination li.disabled a{color:#536c79;pointer-events:none;cursor:auto;background-color:#fff;border-color:#a4b7c1}.pagination-lg .page-link,.pagination-lg .pagination-datatables li a,.pagination-datatables li .pagination-lg a,.pagination-lg .pagination li a,.pagination li .pagination-lg a{padding:.75rem 1.5rem;font-size:1.09375rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link,.pagination-lg .page-item:first-child .pagination-datatables li a,.pagination-datatables li .pagination-lg .page-item:first-child a,.pagination-lg .page-item:first-child .pagination li a,.pagination li .pagination-lg .page-item:first-child a,.pagination-lg .pagination-datatables li:first-child .page-link,.pagination-lg .pagination-datatables li:first-child a,.pagination-datatables .pagination-lg li:first-child .page-link,.pagination-datatables .pagination-lg li:first-child a,.pagination-lg .pagination li:first-child .page-link,.pagination-lg .pagination li:first-child a,.pagination .pagination-lg li:first-child .page-link,.pagination .pagination-lg li:first-child a{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link,.pagination-lg .page-item:last-child .pagination-datatables li a,.pagination-datatables li .pagination-lg .page-item:last-child a,.pagination-lg .page-item:last-child .pagination li a,.pagination li .pagination-lg .page-item:last-child a,.pagination-lg .pagination-datatables li:last-child .page-link,.pagination-lg .pagination-datatables li:last-child a,.pagination-datatables .pagination-lg li:last-child .page-link,.pagination-datatables .pagination-lg li:last-child a,.pagination-lg .pagination li:last-child .page-link,.pagination-lg .pagination li:last-child a,.pagination .pagination-lg li:last-child .page-link,.pagination .pagination-lg li:last-child a{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link,.pagination-sm .pagination-datatables li a,.pagination-datatables li .pagination-sm a,.pagination-sm .pagination li a,.pagination li .pagination-sm a{padding:.25rem .5rem;font-size:0.765625rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link,.pagination-sm .page-item:first-child .pagination-datatables li a,.pagination-datatables li .pagination-sm .page-item:first-child a,.pagination-sm .page-item:first-child .pagination li a,.pagination li .pagination-sm .page-item:first-child a,.pagination-sm .pagination-datatables li:first-child .page-link,.pagination-sm .pagination-datatables li:first-child a,.pagination-datatables .pagination-sm li:first-child .page-link,.pagination-datatables .pagination-sm li:first-child a,.pagination-sm .pagination li:first-child .page-link,.pagination-sm .pagination li:first-child a,.pagination .pagination-sm li:first-child .page-link,.pagination .pagination-sm li:first-child a{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link,.pagination-sm .page-item:last-child .pagination-datatables li a,.pagination-datatables li .pagination-sm .page-item:last-child a,.pagination-sm .page-item:last-child .pagination li a,.pagination li .pagination-sm .page-item:last-child a,.pagination-sm .pagination-datatables li:last-child .page-link,.pagination-sm .pagination-datatables li:last-child a,.pagination-datatables .pagination-sm li:last-child .page-link,.pagination-datatables .pagination-sm li:last-child a,.pagination-sm .pagination li:last-child .page-link,.pagination-sm .pagination li:last-child a,.pagination .pagination-sm li:last-child .page-link,.pagination .pagination-sm li:last-child a{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.badge{transition:none}}a.badge:hover,a.badge:focus{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#039}a.badge-primary:hover,a.badge-primary:focus{color:#fff;background-color:#026}a.badge-primary:focus,a.badge-primary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,51,153,.5)}.badge-secondary{color:#fff;background-color:#3e515b}a.badge-secondary:hover,a.badge-secondary:focus{color:#fff;background-color:rgb(41.3333333333,54,60.6666666667)}a.badge-secondary:focus,a.badge-secondary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(62,81,91,.5)}.badge-success{color:#fff;background-color:#4dbd74}a.badge-success:hover,a.badge-success:focus{color:#fff;background-color:rgb(58.1557377049,156.8442622951,92.5204918033)}a.badge-success:focus,a.badge-success.focus{outline:0;box-shadow:0 0 0 .2rem rgba(77,189,116,.5)}.badge-info{color:#151b1e;background-color:#63c2de}a.badge-info:hover,a.badge-info:focus{color:#151b1e;background-color:rgb(56.9047619048,177.5396825397,213.0952380952)}a.badge-info:focus,a.badge-info.focus{outline:0;box-shadow:0 0 0 .2rem rgba(99,194,222,.5)}.badge-warning{color:#151b1e;background-color:#fc0}a.badge-warning:hover,a.badge-warning:focus{color:#151b1e;background-color:rgb(204,163.2,0)}a.badge-warning:focus,a.badge-warning.focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,204,0,.5)}.badge-danger{color:#fff;background-color:#f86c6b}a.badge-danger:hover,a.badge-danger:focus{color:#fff;background-color:hsl(.4255319149,90.9677419355%,59.6078431373%)}a.badge-danger:focus,a.badge-danger.focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,108,107,.5)}.badge-light{color:#151b1e;background-color:#c2cfd6}a.badge-light:hover,a.badge-light:focus{color:#151b1e;background-color:rgb(163.5,183,193.5)}a.badge-light:focus,a.badge-light.focus{outline:0;box-shadow:0 0 0 .2rem rgba(194,207,214,.5)}.badge-dark{color:#fff;background-color:#29363d}a.badge-dark:hover,a.badge-dark:focus{color:#fff;background-color:rgb(20.5,27,30.5)}a.badge-dark:focus,a.badge-dark.focus{outline:0;box-shadow:0 0 0 .2rem rgba(41,54,61,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#c2cfd6;border-radius:.3rem}@media(min-width: 576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid rgba(0,0,0,0);border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3.8125rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:rgb(0,26.52,79.56);background-color:rgb(204,214.2,234.6);border-color:rgb(183.6,197.88,226.44)}.alert-primary hr{border-top-color:hsl(220,42.8571428571%,75.4%)}.alert-primary .alert-link{color:rgb(0,9.52,28.56)}.alert-secondary{color:rgb(32.24,42.12,47.32);background-color:rgb(216.4,220.2,222.2);border-color:rgb(200.96,206.28,209.08)}.alert-secondary hr{border-top-color:hsl(200.6896551724,8.1232492997%,75.4%)}.alert-secondary .alert-link{color:rgb(11.5733333333,15.12,16.9866666667)}.alert-success{color:rgb(40.04,98.28,60.32);background-color:rgb(219.4,241.8,227.2);border-color:rgb(205.16,236.52,216.08)}.alert-success hr{border-top-color:rgb(186.5575409836,229.6224590164,201.5533606557)}.alert-success .alert-link{color:rgb(25.2768421053,62.0431578947,38.0793984962)}.alert-info{color:rgb(51.48,100.88,115.44);background-color:rgb(223.8,242.8,248.4);border-color:rgb(211.32,237.92,245.76)}.alert-info hr{border-top-color:rgb(190.2723809524,229.6898412698,241.3076190476)}.alert-info .alert-link{color:rgb(35.7510280374,70.0575700935,80.1689719626)}.alert-warning{color:hsl(48,100%,26%);background-color:hsl(48,100%,90%);border-color:hsl(48,100%,86%)}.alert-warning hr{border-top-color:hsl(48,100%,81%)}.alert-warning .alert-link{color:hsl(48,100%,16%)}.alert-danger{color:rgb(128.96,56.16,55.64);background-color:rgb(253.6,225.6,225.4);border-color:rgb(253.04,213.84,213.56)}.alert-danger hr{border-top-color:hsl(.4255319149,90.9677419355%,86.4901960784%)}.alert-danger .alert-link{color:rgb(93.3318309859,40.6445070423,40.2681690141)}.alert-light{color:rgb(100.88,107.64,111.28);background-color:rgb(242.8,245.4,246.8);border-color:rgb(237.92,241.56,243.52)}.alert-light hr{border-top-color:rgb(222.67,229.56,233.27)}.alert-light .alert-link{color:rgb(76.63,81.765,84.53)}.alert-dark{color:rgb(21.32,28.08,31.72);background-color:rgb(212.2,214.8,216.2);border-color:rgb(195.08,198.72,200.68)}.alert-dark hr{border-top-color:hsl(201,4.9019607843%,72.6%)}.alert-dark .alert-link{color:rgb(.82,1.08,1.22)}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;overflow:hidden;line-height:0;font-size:0.65625rem;background-color:#f0f3f5;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#039;transition:width .6s ease}@media(prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#3e515b;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#3e515b;text-decoration:none;background-color:#f0f3f5}.list-group-item-action:active{color:#151b1e;background-color:#c2cfd6}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#536c79;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#039;border-color:#039}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:rgb(0,26.52,79.56);background-color:rgb(183.6,197.88,226.44)}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:rgb(0,26.52,79.56);background-color:hsl(220,42.8571428571%,75.4%)}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:rgb(0,26.52,79.56);border-color:rgb(0,26.52,79.56)}.list-group-item-secondary{color:rgb(32.24,42.12,47.32);background-color:rgb(200.96,206.28,209.08)}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:rgb(32.24,42.12,47.32);background-color:hsl(200.6896551724,8.1232492997%,75.4%)}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:rgb(32.24,42.12,47.32);border-color:rgb(32.24,42.12,47.32)}.list-group-item-success{color:rgb(40.04,98.28,60.32);background-color:rgb(205.16,236.52,216.08)}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:rgb(40.04,98.28,60.32);background-color:rgb(186.5575409836,229.6224590164,201.5533606557)}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:rgb(40.04,98.28,60.32);border-color:rgb(40.04,98.28,60.32)}.list-group-item-info{color:rgb(51.48,100.88,115.44);background-color:rgb(211.32,237.92,245.76)}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:rgb(51.48,100.88,115.44);background-color:rgb(190.2723809524,229.6898412698,241.3076190476)}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:rgb(51.48,100.88,115.44);border-color:rgb(51.48,100.88,115.44)}.list-group-item-warning{color:hsl(48,100%,26%);background-color:hsl(48,100%,86%)}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:hsl(48,100%,26%);background-color:hsl(48,100%,81%)}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:hsl(48,100%,26%);border-color:hsl(48,100%,26%)}.list-group-item-danger{color:rgb(128.96,56.16,55.64);background-color:rgb(253.04,213.84,213.56)}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:rgb(128.96,56.16,55.64);background-color:hsl(.4255319149,90.9677419355%,86.4901960784%)}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:rgb(128.96,56.16,55.64);border-color:rgb(128.96,56.16,55.64)}.list-group-item-light{color:rgb(100.88,107.64,111.28);background-color:rgb(237.92,241.56,243.52)}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:rgb(100.88,107.64,111.28);background-color:rgb(222.67,229.56,233.27)}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:rgb(100.88,107.64,111.28);border-color:rgb(100.88,107.64,111.28)}.list-group-item-dark{color:rgb(21.32,28.08,31.72);background-color:rgb(195.08,198.72,200.68)}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:rgb(21.32,28.08,31.72);background-color:hsl(201,4.9019607843%,72.6%)}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:rgb(21.32,28.08,31.72);border-color:rgb(21.32,28.08,31.72)}.close{float:right;font-size:1.3125rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):hover,.close:not(:disabled):not(.disabled):focus{opacity:.75}button.close{padding:0;background-color:rgba(0,0,0,0);border:0}a.close.disabled{pointer-events:none}.toast{flex-basis:350px;max-width:350px;font-size:0.875rem;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#536c79;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0, -50px)}@media(prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-header,.modal-dialog-scrollable .modal-footer{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:min-content;content:\"\"}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #a4b7c1;border-top-left-radius:calc(0.3rem - 1px);border-top-right-radius:calc(0.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #a4b7c1;border-bottom-right-radius:calc(0.3rem - 1px);border-bottom-left-radius:calc(0.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media(min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:min-content}.modal-sm{max-width:300px}}@media(min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media(min-width: 1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",\"Liberation Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:0.765625rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:\"\";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",\"Liberation Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:0.765625rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::before,.popover .arrow::after{position:absolute;display:block;content:\"\";border-color:rgba(0,0,0,0);border-style:solid}.bs-popover-top,.bs-popover-auto[x-placement^=top]{margin-bottom:.5rem}.bs-popover-top>.arrow,.bs-popover-auto[x-placement^=top]>.arrow{bottom:calc(-0.5rem - 1px)}.bs-popover-top>.arrow::before,.bs-popover-auto[x-placement^=top]>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-top>.arrow::after,.bs-popover-auto[x-placement^=top]>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-right,.bs-popover-auto[x-placement^=right]{margin-left:.5rem}.bs-popover-right>.arrow,.bs-popover-auto[x-placement^=right]>.arrow{left:calc(-0.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-right>.arrow::before,.bs-popover-auto[x-placement^=right]>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-right>.arrow::after,.bs-popover-auto[x-placement^=right]>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom,.bs-popover-auto[x-placement^=bottom]{margin-top:.5rem}.bs-popover-bottom>.arrow,.bs-popover-auto[x-placement^=bottom]>.arrow{top:calc(-0.5rem - 1px)}.bs-popover-bottom>.arrow::before,.bs-popover-auto[x-placement^=bottom]>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-bottom>.arrow::after,.bs-popover-auto[x-placement^=bottom]>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[x-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-0.5rem;content:\"\";border-bottom:1px solid hsl(0,0%,97%)}.bs-popover-left,.bs-popover-auto[x-placement^=left]{margin-right:.5rem}.bs-popover-left>.arrow,.bs-popover-auto[x-placement^=left]>.arrow{right:calc(-0.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-left>.arrow::before,.bs-popover-auto[x-placement^=left]>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-left>.arrow::after,.bs-popover-auto[x-placement^=left]>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:0.875rem;background-color:hsl(0,0%,97%);border-bottom:1px solid hsl(0,0%,92%);border-top-left-radius:calc(0.3rem - 1px);border-top-right-radius:calc(0.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#151b1e}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:\"\"}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-left),.active.carousel-item-right{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-right),.active.carousel-item-left{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\")}.carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid rgba(0,0,0,0);border-bottom:10px solid rgba(0,0,0,0);opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion: reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-0.125em;border:.25em solid currentcolor;border-right-color:rgba(0,0,0,0);border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-0.125em;background-color:currentcolor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media(prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.bg-primary{background-color:#039 !important}a.bg-primary:hover,a.bg-primary:focus,button.bg-primary:hover,button.bg-primary:focus{background-color:#026 !important}.bg-secondary{background-color:#3e515b !important}a.bg-secondary:hover,a.bg-secondary:focus,button.bg-secondary:hover,button.bg-secondary:focus{background-color:rgb(41.3333333333,54,60.6666666667) !important}.bg-success{background-color:#4dbd74 !important}a.bg-success:hover,a.bg-success:focus,button.bg-success:hover,button.bg-success:focus{background-color:rgb(58.1557377049,156.8442622951,92.5204918033) !important}.bg-info{background-color:#63c2de !important}a.bg-info:hover,a.bg-info:focus,button.bg-info:hover,button.bg-info:focus{background-color:rgb(56.9047619048,177.5396825397,213.0952380952) !important}.bg-warning{background-color:#fc0 !important}a.bg-warning:hover,a.bg-warning:focus,button.bg-warning:hover,button.bg-warning:focus{background-color:rgb(204,163.2,0) !important}.bg-danger{background-color:#f86c6b !important}a.bg-danger:hover,a.bg-danger:focus,button.bg-danger:hover,button.bg-danger:focus{background-color:hsl(.4255319149,90.9677419355%,59.6078431373%) !important}.bg-light{background-color:#c2cfd6 !important}a.bg-light:hover,a.bg-light:focus,button.bg-light:hover,button.bg-light:focus{background-color:rgb(163.5,183,193.5) !important}.bg-dark{background-color:#29363d !important}a.bg-dark:hover,a.bg-dark:focus,button.bg-dark:hover,button.bg-dark:focus{background-color:rgb(20.5,27,30.5) !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:rgba(0,0,0,0) !important}.border{border:1px solid #a4b7c1 !important}.border-top{border-top:1px solid #a4b7c1 !important}.border-right{border-right:1px solid #a4b7c1 !important}.border-bottom{border-bottom:1px solid #a4b7c1 !important}.border-left{border-left:1px solid #a4b7c1 !important}.border-0{border:0 !important}.border-top-0{border-top:0 !important}.border-right-0{border-right:0 !important}.border-bottom-0{border-bottom:0 !important}.border-left-0{border-left:0 !important}.border-primary{border-color:#039 !important}.border-secondary{border-color:#3e515b !important}.border-success{border-color:#4dbd74 !important}.border-info{border-color:#63c2de !important}.border-warning{border-color:#fc0 !important}.border-danger{border-color:#f86c6b !important}.border-light{border-color:#c2cfd6 !important}.border-dark{border-color:#29363d !important}.border-white{border-color:#fff !important}.rounded-sm{border-radius:.2rem !important}.rounded{border-radius:.25rem !important}.rounded-top{border-top-left-radius:.25rem !important;border-top-right-radius:.25rem !important}.rounded-right{border-top-right-radius:.25rem !important;border-bottom-right-radius:.25rem !important}.rounded-bottom{border-bottom-right-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-left{border-top-left-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-lg{border-radius:.3rem !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-0{border-radius:0 !important}.clearfix::after{display:block;clear:both;content:\"\"}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}@media(min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}}@media(min-width: 768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}}@media(min-width: 992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}}@media(min-width: 1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:\"\"}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.85714286%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-fill{flex:1 1 auto !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}@media(min-width: 576px){.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}}@media(min-width: 768px){.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}}@media(min-width: 992px){.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}}@media(min-width: 1200px){.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media(min-width: 576px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media(min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media(min-width: 992px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media(min-width: 1200px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports(position: sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075) !important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175) !important}.shadow-none{box-shadow:none !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.mh-100{max-height:100% !important}.min-vw-100{min-width:100vw !important}.min-vh-100{min-height:100vh !important}.vw-100{width:100vw !important}.vh-100{height:100vh !important}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-n1{margin:-0.25rem !important}.mt-n1,.my-n1{margin-top:-0.25rem !important}.mr-n1,.mx-n1{margin-right:-0.25rem !important}.mb-n1,.my-n1{margin-bottom:-0.25rem !important}.ml-n1,.mx-n1{margin-left:-0.25rem !important}.m-n2{margin:-0.5rem !important}.mt-n2,.my-n2{margin-top:-0.5rem !important}.mr-n2,.mx-n2{margin-right:-0.5rem !important}.mb-n2,.my-n2{margin-bottom:-0.5rem !important}.ml-n2,.mx-n2{margin-left:-0.5rem !important}.m-n3{margin:-1rem !important}.mt-n3,.my-n3{margin-top:-1rem !important}.mr-n3,.mx-n3{margin-right:-1rem !important}.mb-n3,.my-n3{margin-bottom:-1rem !important}.ml-n3,.mx-n3{margin-left:-1rem !important}.m-n4{margin:-1.5rem !important}.mt-n4,.my-n4{margin-top:-1.5rem !important}.mr-n4,.mx-n4{margin-right:-1.5rem !important}.mb-n4,.my-n4{margin-bottom:-1.5rem !important}.ml-n4,.mx-n4{margin-left:-1.5rem !important}.m-n5{margin:-3rem !important}.mt-n5,.my-n5{margin-top:-3rem !important}.mr-n5,.mx-n5{margin-right:-3rem !important}.mb-n5,.my-n5{margin-bottom:-3rem !important}.ml-n5,.mx-n5{margin-left:-3rem !important}.m-auto{margin:auto !important}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media(min-width: 576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:.25rem !important}.mt-sm-1,.my-sm-1{margin-top:.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:.25rem !important}.m-sm-2{margin:.5rem !important}.mt-sm-2,.my-sm-2{margin-top:.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:.5rem !important}.m-sm-3{margin:1rem !important}.mt-sm-3,.my-sm-3{margin-top:1rem !important}.mr-sm-3,.mx-sm-3{margin-right:1rem !important}.mb-sm-3,.my-sm-3{margin-bottom:1rem !important}.ml-sm-3,.mx-sm-3{margin-left:1rem !important}.m-sm-4{margin:1.5rem !important}.mt-sm-4,.my-sm-4{margin-top:1.5rem !important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem !important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem !important}.m-sm-5{margin:3rem !important}.mt-sm-5,.my-sm-5{margin-top:3rem !important}.mr-sm-5,.mx-sm-5{margin-right:3rem !important}.mb-sm-5,.my-sm-5{margin-bottom:3rem !important}.ml-sm-5,.mx-sm-5{margin-left:3rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:.25rem !important}.pt-sm-1,.py-sm-1{padding-top:.25rem !important}.pr-sm-1,.px-sm-1{padding-right:.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem !important}.pl-sm-1,.px-sm-1{padding-left:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2,.py-sm-2{padding-top:.5rem !important}.pr-sm-2,.px-sm-2{padding-right:.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem !important}.pl-sm-2,.px-sm-2{padding-left:.5rem !important}.p-sm-3{padding:1rem !important}.pt-sm-3,.py-sm-3{padding-top:1rem !important}.pr-sm-3,.px-sm-3{padding-right:1rem !important}.pb-sm-3,.py-sm-3{padding-bottom:1rem !important}.pl-sm-3,.px-sm-3{padding-left:1rem !important}.p-sm-4{padding:1.5rem !important}.pt-sm-4,.py-sm-4{padding-top:1.5rem !important}.pr-sm-4,.px-sm-4{padding-right:1.5rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem !important}.pl-sm-4,.px-sm-4{padding-left:1.5rem !important}.p-sm-5{padding:3rem !important}.pt-sm-5,.py-sm-5{padding-top:3rem !important}.pr-sm-5,.px-sm-5{padding-right:3rem !important}.pb-sm-5,.py-sm-5{padding-bottom:3rem !important}.pl-sm-5,.px-sm-5{padding-left:3rem !important}.m-sm-n1{margin:-0.25rem !important}.mt-sm-n1,.my-sm-n1{margin-top:-0.25rem !important}.mr-sm-n1,.mx-sm-n1{margin-right:-0.25rem !important}.mb-sm-n1,.my-sm-n1{margin-bottom:-0.25rem !important}.ml-sm-n1,.mx-sm-n1{margin-left:-0.25rem !important}.m-sm-n2{margin:-0.5rem !important}.mt-sm-n2,.my-sm-n2{margin-top:-0.5rem !important}.mr-sm-n2,.mx-sm-n2{margin-right:-0.5rem !important}.mb-sm-n2,.my-sm-n2{margin-bottom:-0.5rem !important}.ml-sm-n2,.mx-sm-n2{margin-left:-0.5rem !important}.m-sm-n3{margin:-1rem !important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem !important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem !important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem !important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem !important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem !important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem !important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem !important}.m-sm-n5{margin:-3rem !important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem !important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem !important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem !important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem !important}.m-sm-auto{margin:auto !important}.mt-sm-auto,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media(min-width: 768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:.25rem !important}.mt-md-1,.my-md-1{margin-top:.25rem !important}.mr-md-1,.mx-md-1{margin-right:.25rem !important}.mb-md-1,.my-md-1{margin-bottom:.25rem !important}.ml-md-1,.mx-md-1{margin-left:.25rem !important}.m-md-2{margin:.5rem !important}.mt-md-2,.my-md-2{margin-top:.5rem !important}.mr-md-2,.mx-md-2{margin-right:.5rem !important}.mb-md-2,.my-md-2{margin-bottom:.5rem !important}.ml-md-2,.mx-md-2{margin-left:.5rem !important}.m-md-3{margin:1rem !important}.mt-md-3,.my-md-3{margin-top:1rem !important}.mr-md-3,.mx-md-3{margin-right:1rem !important}.mb-md-3,.my-md-3{margin-bottom:1rem !important}.ml-md-3,.mx-md-3{margin-left:1rem !important}.m-md-4{margin:1.5rem !important}.mt-md-4,.my-md-4{margin-top:1.5rem !important}.mr-md-4,.mx-md-4{margin-right:1.5rem !important}.mb-md-4,.my-md-4{margin-bottom:1.5rem !important}.ml-md-4,.mx-md-4{margin-left:1.5rem !important}.m-md-5{margin:3rem !important}.mt-md-5,.my-md-5{margin-top:3rem !important}.mr-md-5,.mx-md-5{margin-right:3rem !important}.mb-md-5,.my-md-5{margin-bottom:3rem !important}.ml-md-5,.mx-md-5{margin-left:3rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:.25rem !important}.pt-md-1,.py-md-1{padding-top:.25rem !important}.pr-md-1,.px-md-1{padding-right:.25rem !important}.pb-md-1,.py-md-1{padding-bottom:.25rem !important}.pl-md-1,.px-md-1{padding-left:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2,.py-md-2{padding-top:.5rem !important}.pr-md-2,.px-md-2{padding-right:.5rem !important}.pb-md-2,.py-md-2{padding-bottom:.5rem !important}.pl-md-2,.px-md-2{padding-left:.5rem !important}.p-md-3{padding:1rem !important}.pt-md-3,.py-md-3{padding-top:1rem !important}.pr-md-3,.px-md-3{padding-right:1rem !important}.pb-md-3,.py-md-3{padding-bottom:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.p-md-4{padding:1.5rem !important}.pt-md-4,.py-md-4{padding-top:1.5rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pb-md-4,.py-md-4{padding-bottom:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}.p-md-5{padding:3rem !important}.pt-md-5,.py-md-5{padding-top:3rem !important}.pr-md-5,.px-md-5{padding-right:3rem !important}.pb-md-5,.py-md-5{padding-bottom:3rem !important}.pl-md-5,.px-md-5{padding-left:3rem !important}.m-md-n1{margin:-0.25rem !important}.mt-md-n1,.my-md-n1{margin-top:-0.25rem !important}.mr-md-n1,.mx-md-n1{margin-right:-0.25rem !important}.mb-md-n1,.my-md-n1{margin-bottom:-0.25rem !important}.ml-md-n1,.mx-md-n1{margin-left:-0.25rem !important}.m-md-n2{margin:-0.5rem !important}.mt-md-n2,.my-md-n2{margin-top:-0.5rem !important}.mr-md-n2,.mx-md-n2{margin-right:-0.5rem !important}.mb-md-n2,.my-md-n2{margin-bottom:-0.5rem !important}.ml-md-n2,.mx-md-n2{margin-left:-0.5rem !important}.m-md-n3{margin:-1rem !important}.mt-md-n3,.my-md-n3{margin-top:-1rem !important}.mr-md-n3,.mx-md-n3{margin-right:-1rem !important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem !important}.ml-md-n3,.mx-md-n3{margin-left:-1rem !important}.m-md-n4{margin:-1.5rem !important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem !important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem !important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem !important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem !important}.m-md-n5{margin:-3rem !important}.mt-md-n5,.my-md-n5{margin-top:-3rem !important}.mr-md-n5,.mx-md-n5{margin-right:-3rem !important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem !important}.ml-md-n5,.mx-md-n5{margin-left:-3rem !important}.m-md-auto{margin:auto !important}.mt-md-auto,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media(min-width: 992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:.25rem !important}.mt-lg-1,.my-lg-1{margin-top:.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:.25rem !important}.m-lg-2{margin:.5rem !important}.mt-lg-2,.my-lg-2{margin-top:.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:.5rem !important}.m-lg-3{margin:1rem !important}.mt-lg-3,.my-lg-3{margin-top:1rem !important}.mr-lg-3,.mx-lg-3{margin-right:1rem !important}.mb-lg-3,.my-lg-3{margin-bottom:1rem !important}.ml-lg-3,.mx-lg-3{margin-left:1rem !important}.m-lg-4{margin:1.5rem !important}.mt-lg-4,.my-lg-4{margin-top:1.5rem !important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem !important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem !important}.m-lg-5{margin:3rem !important}.mt-lg-5,.my-lg-5{margin-top:3rem !important}.mr-lg-5,.mx-lg-5{margin-right:3rem !important}.mb-lg-5,.my-lg-5{margin-bottom:3rem !important}.ml-lg-5,.mx-lg-5{margin-left:3rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:.25rem !important}.pt-lg-1,.py-lg-1{padding-top:.25rem !important}.pr-lg-1,.px-lg-1{padding-right:.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem !important}.pl-lg-1,.px-lg-1{padding-left:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2,.py-lg-2{padding-top:.5rem !important}.pr-lg-2,.px-lg-2{padding-right:.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem !important}.pl-lg-2,.px-lg-2{padding-left:.5rem !important}.p-lg-3{padding:1rem !important}.pt-lg-3,.py-lg-3{padding-top:1rem !important}.pr-lg-3,.px-lg-3{padding-right:1rem !important}.pb-lg-3,.py-lg-3{padding-bottom:1rem !important}.pl-lg-3,.px-lg-3{padding-left:1rem !important}.p-lg-4{padding:1.5rem !important}.pt-lg-4,.py-lg-4{padding-top:1.5rem !important}.pr-lg-4,.px-lg-4{padding-right:1.5rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem !important}.pl-lg-4,.px-lg-4{padding-left:1.5rem !important}.p-lg-5{padding:3rem !important}.pt-lg-5,.py-lg-5{padding-top:3rem !important}.pr-lg-5,.px-lg-5{padding-right:3rem !important}.pb-lg-5,.py-lg-5{padding-bottom:3rem !important}.pl-lg-5,.px-lg-5{padding-left:3rem !important}.m-lg-n1{margin:-0.25rem !important}.mt-lg-n1,.my-lg-n1{margin-top:-0.25rem !important}.mr-lg-n1,.mx-lg-n1{margin-right:-0.25rem !important}.mb-lg-n1,.my-lg-n1{margin-bottom:-0.25rem !important}.ml-lg-n1,.mx-lg-n1{margin-left:-0.25rem !important}.m-lg-n2{margin:-0.5rem !important}.mt-lg-n2,.my-lg-n2{margin-top:-0.5rem !important}.mr-lg-n2,.mx-lg-n2{margin-right:-0.5rem !important}.mb-lg-n2,.my-lg-n2{margin-bottom:-0.5rem !important}.ml-lg-n2,.mx-lg-n2{margin-left:-0.5rem !important}.m-lg-n3{margin:-1rem !important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem !important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem !important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem !important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem !important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem !important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem !important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem !important}.m-lg-n5{margin:-3rem !important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem !important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem !important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem !important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem !important}.m-lg-auto{margin:auto !important}.mt-lg-auto,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media(min-width: 1200px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:.25rem !important}.mt-xl-1,.my-xl-1{margin-top:.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:.25rem !important}.m-xl-2{margin:.5rem !important}.mt-xl-2,.my-xl-2{margin-top:.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:.5rem !important}.m-xl-3{margin:1rem !important}.mt-xl-3,.my-xl-3{margin-top:1rem !important}.mr-xl-3,.mx-xl-3{margin-right:1rem !important}.mb-xl-3,.my-xl-3{margin-bottom:1rem !important}.ml-xl-3,.mx-xl-3{margin-left:1rem !important}.m-xl-4{margin:1.5rem !important}.mt-xl-4,.my-xl-4{margin-top:1.5rem !important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem !important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem !important}.m-xl-5{margin:3rem !important}.mt-xl-5,.my-xl-5{margin-top:3rem !important}.mr-xl-5,.mx-xl-5{margin-right:3rem !important}.mb-xl-5,.my-xl-5{margin-bottom:3rem !important}.ml-xl-5,.mx-xl-5{margin-left:3rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:.25rem !important}.pt-xl-1,.py-xl-1{padding-top:.25rem !important}.pr-xl-1,.px-xl-1{padding-right:.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem !important}.pl-xl-1,.px-xl-1{padding-left:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2,.py-xl-2{padding-top:.5rem !important}.pr-xl-2,.px-xl-2{padding-right:.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem !important}.pl-xl-2,.px-xl-2{padding-left:.5rem !important}.p-xl-3{padding:1rem !important}.pt-xl-3,.py-xl-3{padding-top:1rem !important}.pr-xl-3,.px-xl-3{padding-right:1rem !important}.pb-xl-3,.py-xl-3{padding-bottom:1rem !important}.pl-xl-3,.px-xl-3{padding-left:1rem !important}.p-xl-4{padding:1.5rem !important}.pt-xl-4,.py-xl-4{padding-top:1.5rem !important}.pr-xl-4,.px-xl-4{padding-right:1.5rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem !important}.pl-xl-4,.px-xl-4{padding-left:1.5rem !important}.p-xl-5{padding:3rem !important}.pt-xl-5,.py-xl-5{padding-top:3rem !important}.pr-xl-5,.px-xl-5{padding-right:3rem !important}.pb-xl-5,.py-xl-5{padding-bottom:3rem !important}.pl-xl-5,.px-xl-5{padding-left:3rem !important}.m-xl-n1{margin:-0.25rem !important}.mt-xl-n1,.my-xl-n1{margin-top:-0.25rem !important}.mr-xl-n1,.mx-xl-n1{margin-right:-0.25rem !important}.mb-xl-n1,.my-xl-n1{margin-bottom:-0.25rem !important}.ml-xl-n1,.mx-xl-n1{margin-left:-0.25rem !important}.m-xl-n2{margin:-0.5rem !important}.mt-xl-n2,.my-xl-n2{margin-top:-0.5rem !important}.mr-xl-n2,.mx-xl-n2{margin-right:-0.5rem !important}.mb-xl-n2,.my-xl-n2{margin-bottom:-0.5rem !important}.ml-xl-n2,.mx-xl-n2{margin-left:-0.5rem !important}.m-xl-n3{margin:-1rem !important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem !important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem !important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem !important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem !important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem !important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem !important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem !important}.m-xl-n5{margin:-3rem !important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem !important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem !important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem !important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem !important}.m-xl-auto{margin:auto !important}.mt-xl-auto,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:\"\";background-color:rgba(0,0,0,0)}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace !important}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media(min-width: 576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width: 768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width: 992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width: 1200px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light{font-weight:300 !important}.font-weight-lighter{font-weight:lighter !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-weight-bolder{font-weight:bolder !important}.font-italic{font-style:italic !important}.text-white{color:#fff !important}.text-primary{color:#039 !important}a.text-primary:hover,a.text-primary:focus{color:rgb(0,25.5,76.5) !important}.text-secondary{color:#3e515b !important}a.text-secondary:hover,a.text-secondary:focus{color:rgb(31,40.5,45.5) !important}.text-success{color:#4dbd74 !important}a.text-success:hover,a.text-success:focus{color:rgb(51.2581967213,138.2418032787,81.5471311475) !important}.text-info{color:#63c2de !important}a.text-info:hover,a.text-info:focus{color:rgb(42.6904761905,165.5873015873,201.8095238095) !important}.text-warning{color:#fc0 !important}a.text-warning:hover,a.text-warning:focus{color:hsl(48,100%,35%) !important}.text-danger{color:#f86c6b !important}a.text-danger:hover,a.text-danger:focus{color:hsl(.4255319149,90.9677419355%,54.6078431373%) !important}.text-light{color:#c2cfd6 !important}a.text-light:hover,a.text-light:focus{color:rgb(148.25,171,183.25) !important}.text-dark{color:#29363d !important}a.text-dark:hover,a.text-dark:focus{color:rgb(10.25,13.5,15.25) !important}.text-body{color:#151b1e !important}.text-muted{color:#536c79 !important}.text-black-50{color:rgba(0,0,0,.5) !important}.text-white-50{color:hsla(0,0%,100%,.5) !important}.text-hide{font:0/0 a;color:rgba(0,0,0,0);text-shadow:none;background-color:rgba(0,0,0,0);border:0}.text-decoration-none{text-decoration:none !important}.text-break{word-break:break-word !important;word-wrap:break-word !important}.text-reset{color:inherit !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media print{*,*::before,*::after{text-shadow:none !important;box-shadow:none !important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:\" (\" attr(title) \")\"}pre{white-space:pre-wrap !important}pre,blockquote{border:1px solid #678898;page-break-inside:avoid}tr,img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px !important}.container{min-width:992px !important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #a4b7c1 !important}.table-dark{color:inherit}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#a4b7c1}.table .thead-dark th{color:inherit;border-color:#a4b7c1}}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.font-xs{font-size:.75rem !important}.font-sm{font-size:.85rem !important}.font-lg{font-size:1rem !important}.font-xl{font-size:1.25rem !important}.font-2xl{font-size:1.5rem !important}.font-3xl{font-size:1.75rem !important}.font-4xl{font-size:2rem !important}.font-5xl{font-size:2.5rem !important}.animated{animation-duration:1s}.animated.infinite{animation-iteration-count:infinite}.animated.hinge{animation-duration:2s}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fadeIn{animation-name:fadeIn}.aside-menu{z-index:1019;width:250px;color:#29363d;background:#fff;border-left:1px solid #a4b7c1}.aside-menu .nav-tabs{border-color:#a4b7c1}.aside-menu .nav-tabs .nav-link,.aside-menu .nav-tabs .navbar .dropdown-toggle,.navbar .aside-menu .nav-tabs .dropdown-toggle{padding:.75rem 1rem;color:#151b1e;border-top:0}.aside-menu .nav-tabs .nav-link.active,.aside-menu .nav-tabs .navbar .active.dropdown-toggle,.navbar .aside-menu .nav-tabs .active.dropdown-toggle{color:#039;border-right-color:#a4b7c1;border-left-color:#a4b7c1}.aside-menu .nav-tabs .nav-item:first-child .nav-link,.aside-menu .nav-tabs .nav-item:first-child .navbar .dropdown-toggle,.navbar .aside-menu .nav-tabs .nav-item:first-child .dropdown-toggle{border-left:0}.aside-menu .tab-content{position:relative;overflow-x:hidden;overflow-y:auto;border:0;border-top:1px solid #a4b7c1;-ms-overflow-style:-ms-autohiding-scrollbar}.aside-menu .tab-content::-webkit-scrollbar{width:10px;margin-left:-10px;-webkit-appearance:none}.aside-menu .tab-content::-webkit-scrollbar-track{background-color:#fff;border-right:1px solid hsl(0,0%,95%);border-left:1px solid hsl(0,0%,95%)}.aside-menu .tab-content::-webkit-scrollbar-thumb{height:50px;background-color:hsl(0,0%,90%);background-clip:content-box;border-color:rgba(0,0,0,0);border-style:solid;border-width:1px 2px}.aside-menu .tab-content .tab-pane{padding:0}.img-avatar{border-radius:50em}.avatar{position:relative;display:inline-block;width:36px}.avatar .img-avatar{width:36px;height:36px}.avatar .avatar-status{position:absolute;right:0;bottom:0;display:block;width:10px;height:10px;border:1px solid #fff;border-radius:50em}.avatar.avatar-xs{position:relative;display:inline-block;width:20px}.avatar.avatar-xs .img-avatar{width:20px;height:20px}.avatar.avatar-xs .avatar-status{position:absolute;right:0;bottom:0;display:block;width:8px;height:8px;border:1px solid #fff;border-radius:50em}.avatar.avatar-sm{position:relative;display:inline-block;width:24px}.avatar.avatar-sm .img-avatar{width:24px;height:24px}.avatar.avatar-sm .avatar-status{position:absolute;right:0;bottom:0;display:block;width:8px;height:8px;border:1px solid #fff;border-radius:50em}.avatar.avatar-lg{position:relative;display:inline-block;width:72px}.avatar.avatar-lg .img-avatar{width:72px;height:72px}.avatar.avatar-lg .avatar-status{position:absolute;right:0;bottom:0;display:block;width:12px;height:12px;border:1px solid #fff;border-radius:50em}.avatars-stack .avatar.avatar-xs{margin-right:-10px}.avatars-stack .avatar{margin-right:-15px;transition:margin-left .25s,margin-right .25s}.avatars-stack .avatar:hover{margin-right:0 !important}.badge-pill{border-radius:10rem}.breadcrumb-menu{margin-left:auto}.breadcrumb-menu::before{display:none}.breadcrumb-menu .btn-group{vertical-align:top}.breadcrumb-menu .btn{padding:0 .75rem;color:#536c79;vertical-align:top;border:0}.breadcrumb-menu .btn:hover,.breadcrumb-menu .btn.active{color:#151b1e;background:rgba(0,0,0,0)}.breadcrumb-menu .open .btn{color:#151b1e;background:rgba(0,0,0,0)}.breadcrumb-menu .dropdown-menu{min-width:180px;line-height:1.5}.breadcrumb{position:relative;border-bottom:1px solid #a4b7c1}button{cursor:pointer}.btn .badge{position:absolute;top:2px;right:6px;font-size:9px}.btn-transparent{color:#fff;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.btn [class^=icon-],.btn [class*=\" icon-\"]{display:inline-block;margin-top:-2px;vertical-align:middle}.btn-facebook,.btn-twitter,.btn-linkedin,.btn-flickr,.btn-tumblr,.btn-xing,.btn-github,.btn-html5,.btn-openid,.btn-stack-overflow,.btn-youtube,.btn-css3,.btn-dribbble,.btn-google-plus,.btn-instagram,.btn-pinterest,.btn-vk,.btn-yahoo,.btn-behance,.btn-dropbox,.btn-reddit,.btn-spotify,.btn-vine,.btn-foursquare,.btn-vimeo{position:relative;overflow:hidden;color:#fff !important;text-align:center;padding:.375rem .75rem;font-size:.875rem;line-height:1.5;border:0;border-radius:.25rem}.btn-facebook::before,.btn-twitter::before,.btn-linkedin::before,.btn-flickr::before,.btn-tumblr::before,.btn-xing::before,.btn-github::before,.btn-html5::before,.btn-openid::before,.btn-stack-overflow::before,.btn-youtube::before,.btn-css3::before,.btn-dribbble::before,.btn-google-plus::before,.btn-instagram::before,.btn-pinterest::before,.btn-vk::before,.btn-yahoo::before,.btn-behance::before,.btn-dropbox::before,.btn-reddit::before,.btn-spotify::before,.btn-vine::before,.btn-foursquare::before,.btn-vimeo::before{position:absolute;top:0;left:0;display:block;font-family:\"FontAwesome\";font-style:normal;font-weight:normal;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.btn-facebook:hover,.btn-twitter:hover,.btn-linkedin:hover,.btn-flickr:hover,.btn-tumblr:hover,.btn-xing:hover,.btn-github:hover,.btn-html5:hover,.btn-openid:hover,.btn-stack-overflow:hover,.btn-youtube:hover,.btn-css3:hover,.btn-dribbble:hover,.btn-google-plus:hover,.btn-instagram:hover,.btn-pinterest:hover,.btn-vk:hover,.btn-yahoo:hover,.btn-behance:hover,.btn-dropbox:hover,.btn-reddit:hover,.btn-spotify:hover,.btn-vine:hover,.btn-foursquare:hover,.btn-vimeo:hover{color:#fff}.btn-facebook.icon span,.btn-twitter.icon span,.btn-linkedin.icon span,.btn-flickr.icon span,.btn-tumblr.icon span,.btn-xing.icon span,.btn-github.icon span,.btn-html5.icon span,.btn-openid.icon span,.btn-stack-overflow.icon span,.btn-youtube.icon span,.btn-css3.icon span,.btn-dribbble.icon span,.btn-google-plus.icon span,.btn-instagram.icon span,.btn-pinterest.icon span,.btn-vk.icon span,.btn-yahoo.icon span,.btn-behance.icon span,.btn-dropbox.icon span,.btn-reddit.icon span,.btn-spotify.icon span,.btn-vine.icon span,.btn-foursquare.icon span,.btn-vimeo.icon span{display:none}.btn-facebook.text::before,.btn-twitter.text::before,.btn-linkedin.text::before,.btn-flickr.text::before,.btn-tumblr.text::before,.btn-xing.text::before,.btn-github.text::before,.btn-html5.text::before,.btn-openid.text::before,.btn-stack-overflow.text::before,.btn-youtube.text::before,.btn-css3.text::before,.btn-dribbble.text::before,.btn-google-plus.text::before,.btn-instagram.text::before,.btn-pinterest.text::before,.btn-vk.text::before,.btn-yahoo.text::before,.btn-behance.text::before,.btn-dropbox.text::before,.btn-reddit.text::before,.btn-spotify.text::before,.btn-vine.text::before,.btn-foursquare.text::before,.btn-vimeo.text::before{display:none}.btn-facebook.text span,.btn-twitter.text span,.btn-linkedin.text span,.btn-flickr.text span,.btn-tumblr.text span,.btn-xing.text span,.btn-github.text span,.btn-html5.text span,.btn-openid.text span,.btn-stack-overflow.text span,.btn-youtube.text span,.btn-css3.text span,.btn-dribbble.text span,.btn-google-plus.text span,.btn-instagram.text span,.btn-pinterest.text span,.btn-vk.text span,.btn-yahoo.text span,.btn-behance.text span,.btn-dropbox.text span,.btn-reddit.text span,.btn-spotify.text span,.btn-vine.text span,.btn-foursquare.text span,.btn-vimeo.text span{margin-left:0 !important}.btn-facebook::before,.btn-twitter::before,.btn-linkedin::before,.btn-flickr::before,.btn-tumblr::before,.btn-xing::before,.btn-github::before,.btn-html5::before,.btn-openid::before,.btn-stack-overflow::before,.btn-youtube::before,.btn-css3::before,.btn-dribbble::before,.btn-google-plus::before,.btn-instagram::before,.btn-pinterest::before,.btn-vk::before,.btn-yahoo::before,.btn-behance::before,.btn-dropbox::before,.btn-reddit::before,.btn-spotify::before,.btn-vine::before,.btn-foursquare::before,.btn-vimeo::before{width:2.0625rem;height:2.0625rem;padding:.375rem 0;font-size:.875rem;line-height:1.5;border-radius:.25rem}.btn-facebook span,.btn-twitter span,.btn-linkedin span,.btn-flickr span,.btn-tumblr span,.btn-xing span,.btn-github span,.btn-html5 span,.btn-openid span,.btn-stack-overflow span,.btn-youtube span,.btn-css3 span,.btn-dribbble span,.btn-google-plus span,.btn-instagram span,.btn-pinterest span,.btn-vk span,.btn-yahoo span,.btn-behance span,.btn-dropbox span,.btn-reddit span,.btn-spotify span,.btn-vine span,.btn-foursquare span,.btn-vimeo span{margin-left:2.0625rem}.btn-facebook.icon,.btn-twitter.icon,.btn-linkedin.icon,.btn-flickr.icon,.btn-tumblr.icon,.btn-xing.icon,.btn-github.icon,.btn-html5.icon,.btn-openid.icon,.btn-stack-overflow.icon,.btn-youtube.icon,.btn-css3.icon,.btn-dribbble.icon,.btn-google-plus.icon,.btn-instagram.icon,.btn-pinterest.icon,.btn-vk.icon,.btn-yahoo.icon,.btn-behance.icon,.btn-dropbox.icon,.btn-reddit.icon,.btn-spotify.icon,.btn-vine.icon,.btn-foursquare.icon,.btn-vimeo.icon{width:2.0625rem;height:2.0625rem}.btn-facebook.btn-lg,.btn-group-lg>.btn-facebook.btn,.btn-twitter.btn-lg,.btn-group-lg>.btn-twitter.btn,.btn-linkedin.btn-lg,.btn-group-lg>.btn-linkedin.btn,.btn-flickr.btn-lg,.btn-group-lg>.btn-flickr.btn,.btn-tumblr.btn-lg,.btn-group-lg>.btn-tumblr.btn,.btn-xing.btn-lg,.btn-group-lg>.btn-xing.btn,.btn-github.btn-lg,.btn-group-lg>.btn-github.btn,.btn-html5.btn-lg,.btn-group-lg>.btn-html5.btn,.btn-openid.btn-lg,.btn-group-lg>.btn-openid.btn,.btn-stack-overflow.btn-lg,.btn-group-lg>.btn-stack-overflow.btn,.btn-youtube.btn-lg,.btn-group-lg>.btn-youtube.btn,.btn-css3.btn-lg,.btn-group-lg>.btn-css3.btn,.btn-dribbble.btn-lg,.btn-group-lg>.btn-dribbble.btn,.btn-google-plus.btn-lg,.btn-group-lg>.btn-google-plus.btn,.btn-instagram.btn-lg,.btn-group-lg>.btn-instagram.btn,.btn-pinterest.btn-lg,.btn-group-lg>.btn-pinterest.btn,.btn-vk.btn-lg,.btn-group-lg>.btn-vk.btn,.btn-yahoo.btn-lg,.btn-group-lg>.btn-yahoo.btn,.btn-behance.btn-lg,.btn-group-lg>.btn-behance.btn,.btn-dropbox.btn-lg,.btn-group-lg>.btn-dropbox.btn,.btn-reddit.btn-lg,.btn-group-lg>.btn-reddit.btn,.btn-spotify.btn-lg,.btn-group-lg>.btn-spotify.btn,.btn-vine.btn-lg,.btn-group-lg>.btn-vine.btn,.btn-foursquare.btn-lg,.btn-group-lg>.btn-foursquare.btn,.btn-vimeo.btn-lg,.btn-group-lg>.btn-vimeo.btn{padding:.5rem 1rem;font-size:1.09375rem;line-height:1.5;border:0;border-radius:.3rem}.btn-facebook.btn-lg::before,.btn-group-lg>.btn-facebook.btn::before,.btn-twitter.btn-lg::before,.btn-group-lg>.btn-twitter.btn::before,.btn-linkedin.btn-lg::before,.btn-group-lg>.btn-linkedin.btn::before,.btn-flickr.btn-lg::before,.btn-group-lg>.btn-flickr.btn::before,.btn-tumblr.btn-lg::before,.btn-group-lg>.btn-tumblr.btn::before,.btn-xing.btn-lg::before,.btn-group-lg>.btn-xing.btn::before,.btn-github.btn-lg::before,.btn-group-lg>.btn-github.btn::before,.btn-html5.btn-lg::before,.btn-group-lg>.btn-html5.btn::before,.btn-openid.btn-lg::before,.btn-group-lg>.btn-openid.btn::before,.btn-stack-overflow.btn-lg::before,.btn-group-lg>.btn-stack-overflow.btn::before,.btn-youtube.btn-lg::before,.btn-group-lg>.btn-youtube.btn::before,.btn-css3.btn-lg::before,.btn-group-lg>.btn-css3.btn::before,.btn-dribbble.btn-lg::before,.btn-group-lg>.btn-dribbble.btn::before,.btn-google-plus.btn-lg::before,.btn-group-lg>.btn-google-plus.btn::before,.btn-instagram.btn-lg::before,.btn-group-lg>.btn-instagram.btn::before,.btn-pinterest.btn-lg::before,.btn-group-lg>.btn-pinterest.btn::before,.btn-vk.btn-lg::before,.btn-group-lg>.btn-vk.btn::before,.btn-yahoo.btn-lg::before,.btn-group-lg>.btn-yahoo.btn::before,.btn-behance.btn-lg::before,.btn-group-lg>.btn-behance.btn::before,.btn-dropbox.btn-lg::before,.btn-group-lg>.btn-dropbox.btn::before,.btn-reddit.btn-lg::before,.btn-group-lg>.btn-reddit.btn::before,.btn-spotify.btn-lg::before,.btn-group-lg>.btn-spotify.btn::before,.btn-vine.btn-lg::before,.btn-group-lg>.btn-vine.btn::before,.btn-foursquare.btn-lg::before,.btn-group-lg>.btn-foursquare.btn::before,.btn-vimeo.btn-lg::before,.btn-group-lg>.btn-vimeo.btn::before{width:2.640625rem;height:2.640625rem;padding:.5rem 0;font-size:1.09375rem;line-height:1.5;border-radius:.3rem}.btn-facebook.btn-lg span,.btn-group-lg>.btn-facebook.btn span,.btn-twitter.btn-lg span,.btn-group-lg>.btn-twitter.btn span,.btn-linkedin.btn-lg span,.btn-group-lg>.btn-linkedin.btn span,.btn-flickr.btn-lg span,.btn-group-lg>.btn-flickr.btn span,.btn-tumblr.btn-lg span,.btn-group-lg>.btn-tumblr.btn span,.btn-xing.btn-lg span,.btn-group-lg>.btn-xing.btn span,.btn-github.btn-lg span,.btn-group-lg>.btn-github.btn span,.btn-html5.btn-lg span,.btn-group-lg>.btn-html5.btn span,.btn-openid.btn-lg span,.btn-group-lg>.btn-openid.btn span,.btn-stack-overflow.btn-lg span,.btn-group-lg>.btn-stack-overflow.btn span,.btn-youtube.btn-lg span,.btn-group-lg>.btn-youtube.btn span,.btn-css3.btn-lg span,.btn-group-lg>.btn-css3.btn span,.btn-dribbble.btn-lg span,.btn-group-lg>.btn-dribbble.btn span,.btn-google-plus.btn-lg span,.btn-group-lg>.btn-google-plus.btn span,.btn-instagram.btn-lg span,.btn-group-lg>.btn-instagram.btn span,.btn-pinterest.btn-lg span,.btn-group-lg>.btn-pinterest.btn span,.btn-vk.btn-lg span,.btn-group-lg>.btn-vk.btn span,.btn-yahoo.btn-lg span,.btn-group-lg>.btn-yahoo.btn span,.btn-behance.btn-lg span,.btn-group-lg>.btn-behance.btn span,.btn-dropbox.btn-lg span,.btn-group-lg>.btn-dropbox.btn span,.btn-reddit.btn-lg span,.btn-group-lg>.btn-reddit.btn span,.btn-spotify.btn-lg span,.btn-group-lg>.btn-spotify.btn span,.btn-vine.btn-lg span,.btn-group-lg>.btn-vine.btn span,.btn-foursquare.btn-lg span,.btn-group-lg>.btn-foursquare.btn span,.btn-vimeo.btn-lg span,.btn-group-lg>.btn-vimeo.btn span{margin-left:2.640625rem}.btn-facebook.btn-lg.icon,.btn-group-lg>.btn-facebook.icon.btn,.btn-twitter.btn-lg.icon,.btn-group-lg>.btn-twitter.icon.btn,.btn-linkedin.btn-lg.icon,.btn-group-lg>.btn-linkedin.icon.btn,.btn-flickr.btn-lg.icon,.btn-group-lg>.btn-flickr.icon.btn,.btn-tumblr.btn-lg.icon,.btn-group-lg>.btn-tumblr.icon.btn,.btn-xing.btn-lg.icon,.btn-group-lg>.btn-xing.icon.btn,.btn-github.btn-lg.icon,.btn-group-lg>.btn-github.icon.btn,.btn-html5.btn-lg.icon,.btn-group-lg>.btn-html5.icon.btn,.btn-openid.btn-lg.icon,.btn-group-lg>.btn-openid.icon.btn,.btn-stack-overflow.btn-lg.icon,.btn-group-lg>.btn-stack-overflow.icon.btn,.btn-youtube.btn-lg.icon,.btn-group-lg>.btn-youtube.icon.btn,.btn-css3.btn-lg.icon,.btn-group-lg>.btn-css3.icon.btn,.btn-dribbble.btn-lg.icon,.btn-group-lg>.btn-dribbble.icon.btn,.btn-google-plus.btn-lg.icon,.btn-group-lg>.btn-google-plus.icon.btn,.btn-instagram.btn-lg.icon,.btn-group-lg>.btn-instagram.icon.btn,.btn-pinterest.btn-lg.icon,.btn-group-lg>.btn-pinterest.icon.btn,.btn-vk.btn-lg.icon,.btn-group-lg>.btn-vk.icon.btn,.btn-yahoo.btn-lg.icon,.btn-group-lg>.btn-yahoo.icon.btn,.btn-behance.btn-lg.icon,.btn-group-lg>.btn-behance.icon.btn,.btn-dropbox.btn-lg.icon,.btn-group-lg>.btn-dropbox.icon.btn,.btn-reddit.btn-lg.icon,.btn-group-lg>.btn-reddit.icon.btn,.btn-spotify.btn-lg.icon,.btn-group-lg>.btn-spotify.icon.btn,.btn-vine.btn-lg.icon,.btn-group-lg>.btn-vine.icon.btn,.btn-foursquare.btn-lg.icon,.btn-group-lg>.btn-foursquare.icon.btn,.btn-vimeo.btn-lg.icon,.btn-group-lg>.btn-vimeo.icon.btn{width:2.640625rem;height:2.640625rem}.btn-facebook.btn-sm,.btn-group-sm>.btn-facebook.btn,.btn-twitter.btn-sm,.btn-group-sm>.btn-twitter.btn,.btn-linkedin.btn-sm,.btn-group-sm>.btn-linkedin.btn,.btn-flickr.btn-sm,.btn-group-sm>.btn-flickr.btn,.btn-tumblr.btn-sm,.btn-group-sm>.btn-tumblr.btn,.btn-xing.btn-sm,.btn-group-sm>.btn-xing.btn,.btn-github.btn-sm,.btn-group-sm>.btn-github.btn,.btn-html5.btn-sm,.btn-group-sm>.btn-html5.btn,.btn-openid.btn-sm,.btn-group-sm>.btn-openid.btn,.btn-stack-overflow.btn-sm,.btn-group-sm>.btn-stack-overflow.btn,.btn-youtube.btn-sm,.btn-group-sm>.btn-youtube.btn,.btn-css3.btn-sm,.btn-group-sm>.btn-css3.btn,.btn-dribbble.btn-sm,.btn-group-sm>.btn-dribbble.btn,.btn-google-plus.btn-sm,.btn-group-sm>.btn-google-plus.btn,.btn-instagram.btn-sm,.btn-group-sm>.btn-instagram.btn,.btn-pinterest.btn-sm,.btn-group-sm>.btn-pinterest.btn,.btn-vk.btn-sm,.btn-group-sm>.btn-vk.btn,.btn-yahoo.btn-sm,.btn-group-sm>.btn-yahoo.btn,.btn-behance.btn-sm,.btn-group-sm>.btn-behance.btn,.btn-dropbox.btn-sm,.btn-group-sm>.btn-dropbox.btn,.btn-reddit.btn-sm,.btn-group-sm>.btn-reddit.btn,.btn-spotify.btn-sm,.btn-group-sm>.btn-spotify.btn,.btn-vine.btn-sm,.btn-group-sm>.btn-vine.btn,.btn-foursquare.btn-sm,.btn-group-sm>.btn-foursquare.btn,.btn-vimeo.btn-sm,.btn-group-sm>.btn-vimeo.btn{padding:.25rem .5rem;font-size:.765625rem;line-height:1.5;border:0;border-radius:.2rem}.btn-facebook.btn-sm::before,.btn-group-sm>.btn-facebook.btn::before,.btn-twitter.btn-sm::before,.btn-group-sm>.btn-twitter.btn::before,.btn-linkedin.btn-sm::before,.btn-group-sm>.btn-linkedin.btn::before,.btn-flickr.btn-sm::before,.btn-group-sm>.btn-flickr.btn::before,.btn-tumblr.btn-sm::before,.btn-group-sm>.btn-tumblr.btn::before,.btn-xing.btn-sm::before,.btn-group-sm>.btn-xing.btn::before,.btn-github.btn-sm::before,.btn-group-sm>.btn-github.btn::before,.btn-html5.btn-sm::before,.btn-group-sm>.btn-html5.btn::before,.btn-openid.btn-sm::before,.btn-group-sm>.btn-openid.btn::before,.btn-stack-overflow.btn-sm::before,.btn-group-sm>.btn-stack-overflow.btn::before,.btn-youtube.btn-sm::before,.btn-group-sm>.btn-youtube.btn::before,.btn-css3.btn-sm::before,.btn-group-sm>.btn-css3.btn::before,.btn-dribbble.btn-sm::before,.btn-group-sm>.btn-dribbble.btn::before,.btn-google-plus.btn-sm::before,.btn-group-sm>.btn-google-plus.btn::before,.btn-instagram.btn-sm::before,.btn-group-sm>.btn-instagram.btn::before,.btn-pinterest.btn-sm::before,.btn-group-sm>.btn-pinterest.btn::before,.btn-vk.btn-sm::before,.btn-group-sm>.btn-vk.btn::before,.btn-yahoo.btn-sm::before,.btn-group-sm>.btn-yahoo.btn::before,.btn-behance.btn-sm::before,.btn-group-sm>.btn-behance.btn::before,.btn-dropbox.btn-sm::before,.btn-group-sm>.btn-dropbox.btn::before,.btn-reddit.btn-sm::before,.btn-group-sm>.btn-reddit.btn::before,.btn-spotify.btn-sm::before,.btn-group-sm>.btn-spotify.btn::before,.btn-vine.btn-sm::before,.btn-group-sm>.btn-vine.btn::before,.btn-foursquare.btn-sm::before,.btn-group-sm>.btn-foursquare.btn::before,.btn-vimeo.btn-sm::before,.btn-group-sm>.btn-vimeo.btn::before{width:1.6484375rem;height:1.6484375rem;padding:.25rem 0;font-size:.765625rem;line-height:1.5;border-radius:.2rem}.btn-facebook.btn-sm span,.btn-group-sm>.btn-facebook.btn span,.btn-twitter.btn-sm span,.btn-group-sm>.btn-twitter.btn span,.btn-linkedin.btn-sm span,.btn-group-sm>.btn-linkedin.btn span,.btn-flickr.btn-sm span,.btn-group-sm>.btn-flickr.btn span,.btn-tumblr.btn-sm span,.btn-group-sm>.btn-tumblr.btn span,.btn-xing.btn-sm span,.btn-group-sm>.btn-xing.btn span,.btn-github.btn-sm span,.btn-group-sm>.btn-github.btn span,.btn-html5.btn-sm span,.btn-group-sm>.btn-html5.btn span,.btn-openid.btn-sm span,.btn-group-sm>.btn-openid.btn span,.btn-stack-overflow.btn-sm span,.btn-group-sm>.btn-stack-overflow.btn span,.btn-youtube.btn-sm span,.btn-group-sm>.btn-youtube.btn span,.btn-css3.btn-sm span,.btn-group-sm>.btn-css3.btn span,.btn-dribbble.btn-sm span,.btn-group-sm>.btn-dribbble.btn span,.btn-google-plus.btn-sm span,.btn-group-sm>.btn-google-plus.btn span,.btn-instagram.btn-sm span,.btn-group-sm>.btn-instagram.btn span,.btn-pinterest.btn-sm span,.btn-group-sm>.btn-pinterest.btn span,.btn-vk.btn-sm span,.btn-group-sm>.btn-vk.btn span,.btn-yahoo.btn-sm span,.btn-group-sm>.btn-yahoo.btn span,.btn-behance.btn-sm span,.btn-group-sm>.btn-behance.btn span,.btn-dropbox.btn-sm span,.btn-group-sm>.btn-dropbox.btn span,.btn-reddit.btn-sm span,.btn-group-sm>.btn-reddit.btn span,.btn-spotify.btn-sm span,.btn-group-sm>.btn-spotify.btn span,.btn-vine.btn-sm span,.btn-group-sm>.btn-vine.btn span,.btn-foursquare.btn-sm span,.btn-group-sm>.btn-foursquare.btn span,.btn-vimeo.btn-sm span,.btn-group-sm>.btn-vimeo.btn span{margin-left:1.6484375rem}.btn-facebook.btn-sm.icon,.btn-group-sm>.btn-facebook.icon.btn,.btn-twitter.btn-sm.icon,.btn-group-sm>.btn-twitter.icon.btn,.btn-linkedin.btn-sm.icon,.btn-group-sm>.btn-linkedin.icon.btn,.btn-flickr.btn-sm.icon,.btn-group-sm>.btn-flickr.icon.btn,.btn-tumblr.btn-sm.icon,.btn-group-sm>.btn-tumblr.icon.btn,.btn-xing.btn-sm.icon,.btn-group-sm>.btn-xing.icon.btn,.btn-github.btn-sm.icon,.btn-group-sm>.btn-github.icon.btn,.btn-html5.btn-sm.icon,.btn-group-sm>.btn-html5.icon.btn,.btn-openid.btn-sm.icon,.btn-group-sm>.btn-openid.icon.btn,.btn-stack-overflow.btn-sm.icon,.btn-group-sm>.btn-stack-overflow.icon.btn,.btn-youtube.btn-sm.icon,.btn-group-sm>.btn-youtube.icon.btn,.btn-css3.btn-sm.icon,.btn-group-sm>.btn-css3.icon.btn,.btn-dribbble.btn-sm.icon,.btn-group-sm>.btn-dribbble.icon.btn,.btn-google-plus.btn-sm.icon,.btn-group-sm>.btn-google-plus.icon.btn,.btn-instagram.btn-sm.icon,.btn-group-sm>.btn-instagram.icon.btn,.btn-pinterest.btn-sm.icon,.btn-group-sm>.btn-pinterest.icon.btn,.btn-vk.btn-sm.icon,.btn-group-sm>.btn-vk.icon.btn,.btn-yahoo.btn-sm.icon,.btn-group-sm>.btn-yahoo.icon.btn,.btn-behance.btn-sm.icon,.btn-group-sm>.btn-behance.icon.btn,.btn-dropbox.btn-sm.icon,.btn-group-sm>.btn-dropbox.icon.btn,.btn-reddit.btn-sm.icon,.btn-group-sm>.btn-reddit.icon.btn,.btn-spotify.btn-sm.icon,.btn-group-sm>.btn-spotify.icon.btn,.btn-vine.btn-sm.icon,.btn-group-sm>.btn-vine.icon.btn,.btn-foursquare.btn-sm.icon,.btn-group-sm>.btn-foursquare.icon.btn,.btn-vimeo.btn-sm.icon,.btn-group-sm>.btn-vimeo.icon.btn{width:1.6484375rem;height:1.6484375rem}.btn-facebook{background:#3b5998}.btn-facebook::before{content:\"\";background:rgb(51.8696682464,78.2440758294,133.6303317536)}.btn-facebook:hover{background:rgb(51.8696682464,78.2440758294,133.6303317536)}.btn-facebook:hover::before{background:rgb(44.7393364929,67.4881516588,115.2606635071)}.btn-twitter{background:#00aced}.btn-twitter::before{content:\"\";background:rgb(0,153.4936708861,211.5)}.btn-twitter:hover{background:rgb(0,153.4936708861,211.5)}.btn-twitter:hover::before{background:rgb(0,134.9873417722,186)}.btn-linkedin{background:#4875b4}.btn-linkedin::before{content:\"\";background:hsl(215,42.8571428571%,44.4117647059%)}.btn-linkedin:hover{background:hsl(215,42.8571428571%,44.4117647059%)}.btn-linkedin:hover::before{background:hsl(215,42.8571428571%,39.4117647059%)}.btn-flickr{background:#ff0084}.btn-flickr::before{content:\"\";background:rgb(229.5,0,118.8)}.btn-flickr:hover{background:rgb(229.5,0,118.8)}.btn-flickr:hover::before{background:rgb(204,0,105.6)}.btn-tumblr{background:#32506d}.btn-tumblr::before{content:\"\";background:rgb(41.9811320755,67.1698113208,91.5188679245)}.btn-tumblr:hover{background:rgb(41.9811320755,67.1698113208,91.5188679245)}.btn-tumblr:hover::before{background:rgb(33.9622641509,54.3396226415,74.0377358491)}.btn-xing{background:#026466}.btn-xing::before{content:\"\";background:hsl(181.2,96.1538461538%,15.3921568627%)}.btn-xing:hover{background:hsl(181.2,96.1538461538%,15.3921568627%)}.btn-xing:hover::before{background:hsl(181.2,96.1538461538%,10.3921568627%)}.btn-github{background:#4183c4}.btn-github::before{content:\"\";background:rgb(55.8012048193,118.2228915663,179.6987951807)}.btn-github:hover{background:rgb(55.8012048193,118.2228915663,179.6987951807)}.btn-github:hover::before{background:rgb(49.7590361446,105.421686747,160.2409638554)}.btn-html5{background:#e34f26}.btn-html5::before{content:\"\";background:rgb(212.1285714286,67.4510204082,27.3714285714)}.btn-html5:hover{background:rgb(212.1285714286,67.4510204082,27.3714285714)}.btn-html5:hover::before{background:rgb(189.5428571429,60.2693877551,24.4571428571)}.btn-openid{background:#f78c40}.btn-openid::before{content:\"\";background:hsl(24.9180327869,91.959798995%,55.9803921569%)}.btn-openid:hover{background:hsl(24.9180327869,91.959798995%,55.9803921569%)}.btn-openid:hover::before{background:rgb(244.9497487437,110.527638191,15.0502512563)}.btn-stack-overflow{background:#fe7a15}.btn-stack-overflow::before{content:\"\";background:rgb(248.4382978723,108.2936170213,1.0617021277)}.btn-stack-overflow:hover{background:rgb(248.4382978723,108.2936170213,1.0617021277)}.btn-stack-overflow:hover::before{background:rgb(223.0468085106,97.2255319149,.9531914894)}.btn-css3{background:#0170ba}.btn-css3::before{content:\"\";background:hsl(204,98.9304812834%,31.6666666667%)}.btn-css3:hover{background:hsl(204,98.9304812834%,31.6666666667%)}.btn-css3:hover::before{background:hsl(204,98.9304812834%,26.6666666667%)}.btn-youtube{background:#b00}.btn-youtube::before{content:\"\";background:rgb(161.5,0,0)}.btn-youtube:hover{background:rgb(161.5,0,0)}.btn-youtube:hover::before{background:#800}.btn-dribbble{background:#ea4c89}.btn-dribbble::before{content:\"\";background:rgb(231.3225,53.1775,121.955)}.btn-dribbble:hover{background:rgb(231.3225,53.1775,121.955)}.btn-dribbble:hover::before{background:rgb(228.645,30.355,106.91)}.btn-google-plus{background:#d34836}.btn-google-plus::before{content:\"\";background:rgb(196.487755102,60.6081632653,43.012244898)}.btn-google-plus:hover{background:rgb(196.487755102,60.6081632653,43.012244898)}.btn-google-plus:hover::before{background:rgb(175.5673469388,54.1551020408,38.4326530612)}.btn-instagram{background:#517fa4}.btn-instagram::before{content:\"\";background:rgb(72.5693877551,113.7816326531,146.9306122449)}.btn-instagram:hover{background:rgb(72.5693877551,113.7816326531,146.9306122449)}.btn-instagram:hover::before{background:rgb(64.1387755102,100.5632653061,129.8612244898)}.btn-pinterest{background:#cb2027}.btn-pinterest::before{content:\"\";background:rgb(180.9723404255,28.5276595745,34.7680851064)}.btn-pinterest:hover{background:rgb(180.9723404255,28.5276595745,34.7680851064)}.btn-pinterest:hover::before{background:rgb(158.9446808511,25.0553191489,30.5361702128)}.btn-vk{background:#45668e}.btn-vk::before{content:\"\";background:rgb(60.6611374408,89.672985782,124.8388625592)}.btn-vk:hover{background:rgb(60.6611374408,89.672985782,124.8388625592)}.btn-vk:hover::before{background:rgb(52.3222748815,77.345971564,107.6777251185)}.btn-yahoo{background:#400191}.btn-yahoo::before{content:\"\";background:hsl(266.25,98.6301369863%,23.6274509804%)}.btn-yahoo:hover{background:hsl(266.25,98.6301369863%,23.6274509804%)}.btn-yahoo:hover::before{background:hsl(266.25,98.6301369863%,18.6274509804%)}.btn-behance{background:#1769ff}.btn-behance::before{content:\"\";background:rgb(0,89.2456896552,252.5)}.btn-behance:hover{background:rgb(0,89.2456896552,252.5)}.btn-behance:hover::before{background:rgb(0,80.2327586207,227)}.btn-dropbox{background:#007ee5}.btn-dropbox::before{content:\"\";background:rgb(0,111.9694323144,203.5)}.btn-dropbox:hover{background:rgb(0,111.9694323144,203.5)}.btn-dropbox:hover::before{background:rgb(0,97.9388646288,178)}.btn-reddit{background:#ff4500}.btn-reddit::before{content:\"\";background:rgb(229.5,62.1,0)}.btn-reddit:hover{background:rgb(229.5,62.1,0)}.btn-reddit:hover::before{background:rgb(204,55.2,0)}.btn-spotify{background:#7ab800}.btn-spotify::before{content:\"\";background:rgb(105.0923913043,158.5,0)}.btn-spotify:hover{background:rgb(105.0923913043,158.5,0)}.btn-spotify:hover::before{background:rgb(88.1847826087,133,0)}.btn-vine{background:#00bf8f}.btn-vine::before{content:\"\";background:rgb(0,165.5,123.9083769634)}.btn-vine:hover{background:rgb(0,165.5,123.9083769634)}.btn-vine:hover::before{background:rgb(0,140,104.8167539267)}.btn-foursquare{background:#1073af}.btn-foursquare::before{content:\"\";background:rgb(13.8638743455,99.6465968586,151.6361256545)}.btn-foursquare:hover{background:rgb(13.8638743455,99.6465968586,151.6361256545)}.btn-foursquare:hover::before{background:rgb(11.7277486911,84.2931937173,128.2722513089)}.btn-vimeo{background:#aad450}.btn-vimeo::before{content:\"\";background:rgb(160.0573394495,206.9701834862,59.5298165138)}.btn-vimeo:hover{background:rgb(160.0573394495,206.9701834862,59.5298165138)}.btn-vimeo:hover::before{background:rgb(147.0321100917,193.4633027523,47.5366972477)}.callout{position:relative;padding:0 1rem;margin:1rem 0;border:0 solid #a4b7c1;border-left-width:.25rem;border-radius:.25rem}.callout .chart-wrapper{position:absolute;top:10px;left:50%;float:right;width:50%}.callout-bordered{border:1px solid #a4b7c1;border-left-width:.25rem}.callout code{border-radius:.25rem}.callout h4{margin-top:0;margin-bottom:.25rem}.callout p:last-child{margin-bottom:0}.callout+.callout{margin-top:-0.25rem}.callout-default{border-left-color:#536c79}.callout-default h4{color:#536c79}.callout-primary{border-left-color:#039}.callout-primary h4{color:#039}.callout-secondary{border-left-color:#3e515b}.callout-secondary h4{color:#3e515b}.callout-success{border-left-color:#4dbd74}.callout-success h4{color:#4dbd74}.callout-info{border-left-color:#63c2de}.callout-info h4{color:#63c2de}.callout-warning{border-left-color:#fc0}.callout-warning h4{color:#fc0}.callout-danger{border-left-color:#f86c6b}.callout-danger h4{color:#f86c6b}.callout-light{border-left-color:#c2cfd6}.callout-light h4{color:#c2cfd6}.callout-dark{border-left-color:#29363d}.callout-dark h4{color:#29363d}.card{margin-bottom:1.5rem}.card.bg-primary{border-color:rgb(0,29.75,89.25)}.card.bg-primary .card-header{background-color:rgb(0,45.9,137.7);border-color:rgb(0,29.75,89.25)}.card.bg-secondary{border-color:rgb(36.1666666667,47.25,53.0833333333)}.card.bg-secondary .card-header{background-color:rgb(55.8,72.9,81.9);border-color:rgb(36.1666666667,47.25,53.0833333333)}.card.bg-success{border-color:rgb(54.7069672131,147.5430327869,87.0338114754)}.card.bg-success .card-header{background-color:rgb(67.812295082,182.887704918,107.8831967213);border-color:rgb(54.7069672131,147.5430327869,87.0338114754)}.card.bg-info{border-color:rgb(46.380952381,173.4246031746,210.869047619)}.card.bg-info .card-header{background-color:rgb(86.3714285714,189.0619047619,219.3285714286);border-color:rgb(46.380952381,173.4246031746,210.869047619)}.card.bg-warning{border-color:rgb(191.25,153,0)}.card.bg-warning .card-header{background-color:hsl(48,100%,47%);border-color:rgb(191.25,153,0)}.card.bg-danger{border-color:hsl(.4255319149,90.9677419355%,57.1078431373%)}.card.bg-danger .card-header{background-color:hsl(.4255319149,90.9677419355%,66.6078431373%);border-color:hsl(.4255319149,90.9677419355%,57.1078431373%)}.card.bg-light{border-color:rgb(155.875,177,188.375)}.card.bg-light .card-header{background-color:rgb(184.85,199.8,207.85);border-color:rgb(155.875,177,188.375)}.card.bg-dark{border-color:rgb(15.375,20.25,22.875)}.card.bg-dark .card-header{background-color:rgb(34.85,45.9,51.85);border-color:rgb(15.375,20.25,22.875)}.text-white .text-muted{color:hsla(0,0%,100%,.6) !important}.card-header .icon-bg{display:inline-body;padding:.75rem 1.25rem !important;margin-top:-0.75rem;margin-right:1.25rem;margin-bottom:-0.75rem;margin-left:-1.25rem;line-height:inherit;color:#151b1e;vertical-align:bottom;background:rgba(0,0,0,0);border-right:1px solid #c2cfd6}.card-header .nav.nav-tabs{margin-top:-0.75rem;margin-bottom:-0.75rem;border-bottom:0}.card-header .nav.nav-tabs .nav-item{border-top:0}.card-header .nav.nav-tabs .nav-link,.card-header .nav.nav-tabs .navbar .dropdown-toggle,.navbar .card-header .nav.nav-tabs .dropdown-toggle{padding:.75rem .625rem;color:#536c79;border-top:0}.card-header .nav.nav-tabs .nav-link.active,.card-header .nav.nav-tabs .navbar .active.dropdown-toggle,.navbar .card-header .nav.nav-tabs .active.dropdown-toggle{color:#151b1e;background:#fff}.card-header.card-header-inverse{color:#fff}.card-header .btn{margin-top:-0.375rem}.card-header .btn-sm,.card-header .btn-group-sm>.btn{margin-top:-0.25rem}.card-header .btn-lg,.card-header .btn-group-lg>.btn{margin-top:-0.5rem}.card-footer ul{display:table;width:100%;padding:0;margin:0;table-layout:fixed}.card-footer ul li{display:table-cell;padding:0 1.25rem;text-align:center}[class*=card-outline-] .card-body,[class*=card-outline-] .card-block{background:#fff !important}[class*=card-outline-].card-outline-top{border-top-width:2px;border-right-color:#a4b7c1;border-bottom-color:#a4b7c1;border-left-color:#a4b7c1}.card-accent-primary{border-top-width:2px;border-top-color:#039}.card-accent-secondary{border-top-width:2px;border-top-color:#3e515b}.card-accent-success{border-top-width:2px;border-top-color:#4dbd74}.card-accent-info{border-top-width:2px;border-top-color:#63c2de}.card-accent-warning{border-top-width:2px;border-top-color:#fc0}.card-accent-danger{border-top-width:2px;border-top-color:#f86c6b}.card-accent-light{border-top-width:2px;border-top-color:#c2cfd6}.card-accent-dark{border-top-width:2px;border-top-color:#29363d}.card-header>i{margin-right:.5rem}.card-header .card-actions{position:absolute;top:0;right:0}.card-header .card-actions a,.card-header .card-actions button{display:block;float:left;width:50px;padding:.75rem 0;margin:0 !important;color:#151b1e;text-align:center;background:rgba(0,0,0,0);border:0;border-left:1px solid #a4b7c1;box-shadow:0}.card-header .card-actions a:hover,.card-header .card-actions button:hover{text-decoration:none}.card-header .card-actions a [class^=icon-],.card-header .card-actions a [class*=\" icon-\"],.card-header .card-actions button [class^=icon-],.card-header .card-actions button [class*=\" icon-\"]{display:inline-body;vertical-align:middle}.card-header .card-actions a i,.card-header .card-actions button i{display:inline-body;transition:.4s}.card-header .card-actions a .r180,.card-header .card-actions button .r180{transform:rotate(180deg)}.card-header .card-actions .input-group{width:230px;margin:6px}.card-header .card-actions .input-group .input-group-addon{background:#fff}.card-header .card-actions .input-group input{border-left:0}.card-full{margin-top:-1rem;margin-right:-15px;margin-left:-15px;border:0;border-bottom:1px solid #a4b7c1}@media(min-width: 576px){.card-columns.cols-2{column-count:2}}.card.drag,.card .drag{cursor:move}.card-placeholder{background:rgba(0,0,0,.025);border:1px dashed #a4b7c1}.chart-wrapper canvas{width:100% !important}base-chart.chart{display:block !important}.dropdown-item{position:relative;padding:.375rem .75rem;border-bottom:1px solid #c2cfd6}.dropdown-item:last-child{border-bottom:0}.dropdown-item i{display:inline-block;width:20px;margin-right:10px;margin-left:-10px;color:#c2cfd6;text-align:center}.dropdown-item .badge{position:absolute;right:10px;margin-top:2px}.dropdown-header{padding:8px 20px;background:#f0f3f5;border-bottom:1px solid #c2cfd6}.dropdown-header .btn{margin-top:-7px;color:#536c79}.dropdown-header .btn:hover{color:#151b1e}.dropdown-header .btn.pull-right{margin-right:-20px}.dropdown-menu-lg{width:250px}.app-header .navbar-nav .dropdown-menu{position:absolute}.app-header .navbar-nav .dropdown-menu-right{right:0;left:auto}.app-header .navbar-nav .dropdown-menu-left{right:auto;left:0}.app-footer{display:flex;flex-wrap:wrap;align-items:center;padding:0 1rem;color:#151b1e;background:#f0f3f5;border-top:1px solid #a4b7c1}.row.row-equal{padding-right:7.5px;padding-left:7.5px;margin-right:-15px;margin-left:-15px}.row.row-equal [class*=col-]{padding-right:7.5px;padding-left:7.5px}.main .container-fluid,.main .container-sm,.main .container-md,.main .container-lg,.main .container-xl{padding:30px;height:100%}.input-group-addon,.input-group-btn{min-width:40px;white-space:nowrap;vertical-align:middle}#loading-bar,#loading-bar-spinner{-webkit-pointer-events:none;pointer-events:none;-moz-transition:350ms linear all;-o-transition:350ms linear all;-webkit-transition:350ms linear all;transition:350ms linear all}#loading-bar.ng-enter,#loading-bar.ng-leave.ng-leave-active,#loading-bar-spinner.ng-enter,#loading-bar-spinner.ng-leave.ng-leave-active{opacity:0}#loading-bar.ng-enter.ng-enter-active,#loading-bar.ng-leave,#loading-bar-spinner.ng-enter.ng-enter-active,#loading-bar-spinner.ng-leave{opacity:1}#loading-bar .bar{position:fixed;top:0;left:0;z-index:20002;width:100%;height:2px;background:#039;border-top-right-radius:1px;border-bottom-right-radius:1px;-moz-transition:width 350ms;-o-transition:width 350ms;-webkit-transition:width 350ms;transition:width 350ms}#loading-bar .peg{position:absolute;top:0;right:0;width:70px;height:2px;-moz-border-radius:100%;-webkit-border-radius:100%;border-radius:100%;-moz-box-shadow:#29d 1px 0 6px 1px;-ms-box-shadow:#29d 1px 0 6px 1px;-webkit-box-shadow:#29d 1px 0 6px 1px;box-shadow:#29d 1px 0 6px 1px;opacity:.45}#loading-bar-spinner{position:fixed;top:10px;left:10px;z-index:10002;display:block}#loading-bar-spinner .spinner-icon{width:14px;height:14px;border:solid 2px rgba(0,0,0,0);border-top-color:#29d;border-left-color:#29d;border-radius:50%;-moz-animation:loading-bar-spinner 400ms linear infinite;-ms-animation:loading-bar-spinner 400ms linear infinite;-o-animation:loading-bar-spinner 400ms linear infinite;-webkit-animation:loading-bar-spinner 400ms linear infinite;animation:loading-bar-spinner 400ms linear infinite}@-webkit-keyframes loading-bar-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes loading-bar-spinner{0%{-moz-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes loading-bar-spinner{0%{-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes loading-bar-spinner{0%{-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-bar-spinner{0%{transform:rotate(0deg);transform:rotate(0deg)}100%{transform:rotate(360deg);transform:rotate(360deg)}}.pace{-webkit-pointer-events:none;pointer-events:none;-moz-user-select:none;-webkit-user-select:none;user-select:none}.pace-inactive{display:none}.pace .pace-progress{position:fixed;top:0;right:100%;z-index:2000;width:100%;height:2px;background:#039}.modal-primary .modal-content{border-color:#039}.modal-primary .modal-header{color:#fff;background-color:#039}.modal-secondary .modal-content{border-color:#3e515b}.modal-secondary .modal-header{color:#fff;background-color:#3e515b}.modal-success .modal-content{border-color:#4dbd74}.modal-success .modal-header{color:#fff;background-color:#4dbd74}.modal-info .modal-content{border-color:#63c2de}.modal-info .modal-header{color:#fff;background-color:#63c2de}.modal-warning .modal-content{border-color:#fc0}.modal-warning .modal-header{color:#fff;background-color:#fc0}.modal-danger .modal-content{border-color:#f86c6b}.modal-danger .modal-header{color:#fff;background-color:#f86c6b}.modal-light .modal-content{border-color:#c2cfd6}.modal-light .modal-header{color:#fff;background-color:#c2cfd6}.modal-dark .modal-content{border-color:#29363d}.modal-dark .modal-header{color:#fff;background-color:#29363d}.nav-tabs .nav-link,.nav-tabs .navbar .dropdown-toggle,.navbar .nav-tabs .dropdown-toggle{color:#536c79}.nav-tabs .nav-link.active,.nav-tabs .navbar .active.dropdown-toggle,.navbar .nav-tabs .active.dropdown-toggle{color:#29363d;background:#fff;border-color:#a4b7c1;border-bottom-color:#fff}.nav-tabs .nav-link.active:focus,.nav-tabs .navbar .active.dropdown-toggle:focus,.navbar .nav-tabs .active.dropdown-toggle:focus{background:#fff;border-color:#a4b7c1;border-bottom-color:#fff}.tab-content{margin-top:-1px;background:#fff;border:1px solid #a4b7c1}.tab-content .tab-pane{padding:1rem}.card-block .tab-content{margin-top:0;border:0}.app-header.navbar{position:relative;flex-direction:row;height:55px;padding:0;margin:0;background-color:#fff;border-bottom:1px solid #a4b7c1}.app-header.navbar .navbar-brand{display:inline-block;width:130px;height:55px;padding:.5rem 1rem;margin-right:0;background-color:#fff;background-image:url("+m+");background-repeat:no-repeat;background-position:center center;background-size:110px auto;border-bottom:1px solid #a4b7c1}.app-header.navbar .navbar-toggler{min-width:50px;padding:.25rem 0}.app-header.navbar .navbar-toggler:hover .navbar-toggler-icon{background-image:url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%2329363d' stroke-width='2.25' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\")}.app-header.navbar .navbar-toggler-icon{height:23px;background-image:url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%23536c79' stroke-width='2.25' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\")}.app-header.navbar .navbar-nav{flex-direction:row;align-items:center}.app-header.navbar .nav-item{position:relative;min-width:50px;margin:0 !important;text-align:center}.app-header.navbar .nav-item button{margin:0 auto}.app-header.navbar .nav-item .nav-link,.app-header.navbar .nav-item .dropdown-toggle{padding-top:0;padding-bottom:0;background:0;border:0}.app-header.navbar .nav-item .nav-link .badge,.app-header.navbar .nav-item .dropdown-toggle .badge{position:absolute;top:50%;left:50%;margin-top:-16px;margin-left:0}.app-header.navbar .nav-item .nav-link>.img-avatar,.app-header.navbar .nav-item .dropdown-toggle>.img-avatar{height:35px;margin:0 10px}.app-header.navbar .dropdown-menu{padding-bottom:0;line-height:1.5}.app-header.navbar .dropdown-item{min-width:180px}.navbar-brand{color:#29363d}.navbar-brand:hover,.navbar-brand:focus{color:#29363d}.navbar-nav .nav-link,.navbar-nav .navbar .dropdown-toggle,.navbar .navbar-nav .dropdown-toggle{color:#536c79}.navbar-nav .nav-link:hover,.navbar-nav .navbar .dropdown-toggle:hover,.navbar .navbar-nav .dropdown-toggle:hover,.navbar-nav .nav-link:focus,.navbar-nav .navbar .dropdown-toggle:focus,.navbar .navbar-nav .dropdown-toggle:focus{color:#29363d}.navbar-nav .open>.nav-link,.navbar-nav .navbar .open>.dropdown-toggle,.navbar .navbar-nav .open>.dropdown-toggle,.navbar-nav .open>.nav-link:hover,.navbar-nav .open>.nav-link:focus,.navbar-nav .active>.nav-link,.navbar-nav .navbar .active>.dropdown-toggle,.navbar .navbar-nav .active>.dropdown-toggle,.navbar-nav .active>.nav-link:hover,.navbar-nav .active>.nav-link:focus,.navbar-nav .nav-link.open,.navbar-nav .navbar .open.dropdown-toggle,.navbar .navbar-nav .open.dropdown-toggle,.navbar-nav .nav-link.open:hover,.navbar-nav .nav-link.open:focus,.navbar-nav .nav-link.active,.navbar-nav .navbar .active.dropdown-toggle,.navbar .navbar-nav .active.dropdown-toggle,.navbar-nav .nav-link.active:hover,.navbar-nav .nav-link.active:focus{color:#29363d}.navbar-divider{background-color:rgba(0,0,0,.075)}@media(min-width: 992px){.brand-minimized .app-header.navbar .navbar-brand{width:50px;background-color:#fff;background-image:url("+p+");background-size:30px;border-bottom:1px solid #a4b7c1}}.progress-xs{height:4px}.progress-sm{height:8px}.progress-white{background-color:hsla(0,0%,100%,.2) !important}.progress-white .progress-bar{background-color:#fff}.sidebar{display:flex;flex-direction:column;padding:0;color:#fff;background:#29363d}.sidebar .sidebar-close{position:absolute;right:0;display:none;padding:0 1rem;font-size:24px;font-weight:800;line-height:55px;color:#fff;background:0;border:0;opacity:.8}.sidebar .sidebar-close:hover{opacity:1}.sidebar .sidebar-header{flex:0 0 auto;padding:.75rem 1rem;text-align:center;background:rgba(0,0,0,.2)}.sidebar .sidebar-form .form-control{color:#fff;background:rgb(20.5,27,30.5);border:0}.sidebar .sidebar-form .form-control::placeholder{color:hsla(0,0%,100%,.7)}.sidebar .sidebar-nav{position:relative;flex:1;overflow-x:hidden;overflow-y:auto;-ms-overflow-style:-ms-autohiding-scrollbar;width:200px}.sidebar .sidebar-nav::-webkit-scrollbar{position:absolute;width:10px;margin-left:-10px;-webkit-appearance:none}.sidebar .sidebar-nav::-webkit-scrollbar-track{background-color:rgb(51.25,67.5,76.25);border-right:1px solid rgb(30.75,40.5,45.75);border-left:1px solid rgb(30.75,40.5,45.75)}.sidebar .sidebar-nav::-webkit-scrollbar-thumb{height:50px;background-color:rgb(20.5,27,30.5);background-clip:content-box;border-color:rgba(0,0,0,0);border-style:solid;border-width:1px 2px}.sidebar .nav{width:200px;flex-direction:column;min-height:100%}.sidebar .nav-title{padding:.75rem 1rem;font-size:11px;font-weight:600;color:#c2cfd6;text-transform:uppercase}.sidebar .nav-divider,.sidebar .divider{height:10px}.sidebar .nav-item{position:relative;margin:0;transition:background .3s ease-in-out}.sidebar .nav-dropdown-items{max-height:0;padding:0;margin:0;overflow-y:hidden;transition:max-height .3s ease-in-out}.sidebar .nav-dropdown-items .nav-item{padding:0;list-style:none}.sidebar .nav-link,.sidebar .navbar .dropdown-toggle,.navbar .sidebar .dropdown-toggle{display:block;padding:.75rem 1rem;color:#fff;text-decoration:none;background:rgba(0,0,0,0)}.sidebar .nav-link i,.sidebar .navbar .dropdown-toggle i,.navbar .sidebar .dropdown-toggle i{display:inline-block;width:20px;margin:0 .5rem 0 0;font-size:14px;color:#536c79;text-align:center}.sidebar .nav-link .badge,.sidebar .navbar .dropdown-toggle .badge,.navbar .sidebar .dropdown-toggle .badge{float:right;margin-top:2px}.sidebar .nav-link.active,.sidebar .navbar .active.dropdown-toggle,.navbar .sidebar .active.dropdown-toggle{color:#fff;background:rgb(51.25,67.5,76.25)}.sidebar .nav-link.active i,.sidebar .navbar .active.dropdown-toggle i,.navbar .sidebar .active.dropdown-toggle i{color:#039}.sidebar .nav-link:hover,.sidebar .navbar .dropdown-toggle:hover,.navbar .sidebar .dropdown-toggle:hover{color:#fff;background:#039}.sidebar .nav-link:hover i,.sidebar .navbar .dropdown-toggle:hover i,.navbar .sidebar .dropdown-toggle:hover i{color:#fff}.sidebar .nav-link:hover.nav-dropdown-toggle::before,.sidebar .navbar .dropdown-toggle:hover.nav-dropdown-toggle::before,.navbar .sidebar .dropdown-toggle:hover.nav-dropdown-toggle::before{background-image:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='%23fff' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\")}.sidebar .nav-link.nav-link-primary,.sidebar .navbar .nav-link-primary.dropdown-toggle,.navbar .sidebar .nav-link-primary.dropdown-toggle{background:#039}.sidebar .nav-link.nav-link-primary i,.sidebar .navbar .nav-link-primary.dropdown-toggle i,.navbar .sidebar .nav-link-primary.dropdown-toggle i{color:hsla(0,0%,100%,.7)}.sidebar .nav-link.nav-link-primary:hover,.sidebar .navbar .nav-link-primary.dropdown-toggle:hover,.navbar .sidebar .nav-link-primary.dropdown-toggle:hover{background:rgb(0,42.5,127.5) !important}.sidebar .nav-link.nav-link-primary:hover i,.sidebar .navbar .nav-link-primary.dropdown-toggle:hover i,.navbar .sidebar .nav-link-primary.dropdown-toggle:hover i{color:#fff}.sidebar .nav-link.nav-link-secondary,.sidebar .navbar .nav-link-secondary.dropdown-toggle,.navbar .sidebar .nav-link-secondary.dropdown-toggle{background:#3e515b}.sidebar .nav-link.nav-link-secondary i,.sidebar .navbar .nav-link-secondary.dropdown-toggle i,.navbar .sidebar .nav-link-secondary.dropdown-toggle i{color:hsla(0,0%,100%,.7)}.sidebar .nav-link.nav-link-secondary:hover,.sidebar .navbar .nav-link-secondary.dropdown-toggle:hover,.navbar .sidebar .nav-link-secondary.dropdown-toggle:hover{background:rgb(51.6666666667,67.5,75.8333333333) !important}.sidebar .nav-link.nav-link-secondary:hover i,.sidebar .navbar .nav-link-secondary.dropdown-toggle:hover i,.navbar .sidebar .nav-link-secondary.dropdown-toggle:hover i{color:#fff}.sidebar .nav-link.nav-link-success,.sidebar .navbar .nav-link-success.dropdown-toggle,.navbar .sidebar .nav-link-success.dropdown-toggle{background:#4dbd74}.sidebar .nav-link.nav-link-success i,.sidebar .navbar .nav-link-success.dropdown-toggle i,.navbar .sidebar .nav-link-success.dropdown-toggle i{color:hsla(0,0%,100%,.7)}.sidebar .nav-link.nav-link-success:hover,.sidebar .navbar .nav-link-success.dropdown-toggle:hover,.navbar .sidebar .nav-link-success.dropdown-toggle:hover{background:rgb(65.0532786885,175.4467213115,103.493852459) !important}.sidebar .nav-link.nav-link-success:hover i,.sidebar .navbar .nav-link-success.dropdown-toggle:hover i,.navbar .sidebar .nav-link-success.dropdown-toggle:hover i{color:#fff}.sidebar .nav-link.nav-link-info,.sidebar .navbar .nav-link-info.dropdown-toggle,.navbar .sidebar .nav-link-info.dropdown-toggle{background:#63c2de}.sidebar .nav-link.nav-link-info i,.sidebar .navbar .nav-link-info.dropdown-toggle i,.navbar .sidebar .nav-link-info.dropdown-toggle i{color:hsla(0,0%,100%,.7)}.sidebar .nav-link.nav-link-info:hover,.sidebar .navbar .nav-link-info.dropdown-toggle:hover,.navbar .sidebar .nav-link-info.dropdown-toggle:hover{background:rgb(77.9523809524,185.7698412698,217.5476190476) !important}.sidebar .nav-link.nav-link-info:hover i,.sidebar .navbar .nav-link-info.dropdown-toggle:hover i,.navbar .sidebar .nav-link-info.dropdown-toggle:hover i{color:#fff}.sidebar .nav-link.nav-link-warning,.sidebar .navbar .nav-link-warning.dropdown-toggle,.navbar .sidebar .nav-link-warning.dropdown-toggle{background:#fc0}.sidebar .nav-link.nav-link-warning i,.sidebar .navbar .nav-link-warning.dropdown-toggle i,.navbar .sidebar .nav-link-warning.dropdown-toggle i{color:hsla(0,0%,100%,.7)}.sidebar .nav-link.nav-link-warning:hover,.sidebar .navbar .nav-link-warning.dropdown-toggle:hover,.navbar .sidebar .nav-link-warning.dropdown-toggle:hover{background:hsl(48,100%,45%) !important}.sidebar .nav-link.nav-link-warning:hover i,.sidebar .navbar .nav-link-warning.dropdown-toggle:hover i,.navbar .sidebar .nav-link-warning.dropdown-toggle:hover i{color:#fff}.sidebar .nav-link.nav-link-danger,.sidebar .navbar .nav-link-danger.dropdown-toggle,.navbar .sidebar .nav-link-danger.dropdown-toggle{background:#f86c6b}.sidebar .nav-link.nav-link-danger i,.sidebar .navbar .nav-link-danger.dropdown-toggle i,.navbar .sidebar .nav-link-danger.dropdown-toggle i{color:hsla(0,0%,100%,.7)}.sidebar .nav-link.nav-link-danger:hover,.sidebar .navbar .nav-link-danger.dropdown-toggle:hover,.navbar .sidebar .nav-link-danger.dropdown-toggle:hover{background:hsl(.4255319149,90.9677419355%,64.6078431373%) !important}.sidebar .nav-link.nav-link-danger:hover i,.sidebar .navbar .nav-link-danger.dropdown-toggle:hover i,.navbar .sidebar .nav-link-danger.dropdown-toggle:hover i{color:#fff}.sidebar .nav-link.nav-link-light,.sidebar .navbar .nav-link-light.dropdown-toggle,.navbar .sidebar .nav-link-light.dropdown-toggle{background:#c2cfd6}.sidebar .nav-link.nav-link-light i,.sidebar .navbar .nav-link-light.dropdown-toggle i,.navbar .sidebar .nav-link-light.dropdown-toggle i{color:hsla(0,0%,100%,.7)}.sidebar .nav-link.nav-link-light:hover,.sidebar .navbar .nav-link-light.dropdown-toggle:hover,.navbar .sidebar .nav-link-light.dropdown-toggle:hover{background:rgb(178.75,195,203.75) !important}.sidebar .nav-link.nav-link-light:hover i,.sidebar .navbar .nav-link-light.dropdown-toggle:hover i,.navbar .sidebar .nav-link-light.dropdown-toggle:hover i{color:#fff}.sidebar .nav-link.nav-link-dark,.sidebar .navbar .nav-link-dark.dropdown-toggle,.navbar .sidebar .nav-link-dark.dropdown-toggle{background:#29363d}.sidebar .nav-link.nav-link-dark i,.sidebar .navbar .nav-link-dark.dropdown-toggle i,.navbar .sidebar .nav-link-dark.dropdown-toggle i{color:hsla(0,0%,100%,.7)}.sidebar .nav-link.nav-link-dark:hover,.sidebar .navbar .nav-link-dark.dropdown-toggle:hover,.navbar .sidebar .nav-link-dark.dropdown-toggle:hover{background:rgb(30.75,40.5,45.75) !important}.sidebar .nav-link.nav-link-dark:hover i,.sidebar .navbar .nav-link-dark.dropdown-toggle:hover i,.navbar .sidebar .nav-link-dark.dropdown-toggle:hover i{color:#fff}.sidebar .nav-dropdown-toggle{position:relative}.sidebar .nav-dropdown-toggle::before{position:absolute;top:50%;right:1rem;display:block;width:8px;height:8px;padding:0;margin-top:-4px;content:\"\";background-image:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='%23536c79' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center;transition:transform .3s}.sidebar .nav-dropdown.open{background:rgba(0,0,0,.2)}.sidebar .nav-dropdown.open>.nav-dropdown-items{max-height:1000px}.sidebar .nav-dropdown.open .nav-link,.sidebar .nav-dropdown.open .navbar .dropdown-toggle,.navbar .sidebar .nav-dropdown.open .dropdown-toggle{color:#fff;border-left:0 !important}.sidebar .nav-dropdown.open>.nav-link.nav-dropdown-toggle::before,.sidebar .navbar .nav-dropdown.open>.nav-dropdown-toggle.dropdown-toggle::before,.navbar .sidebar .nav-dropdown.open>.nav-dropdown-toggle.dropdown-toggle::before{transform:rotate(-90deg)}.sidebar .nav-dropdown.open .nav-dropdown.open{border-left:0}.sidebar .nav-label{display:block;padding:.09375rem 1rem;color:#c2cfd6}.sidebar .nav-label:hover{color:#fff;text-decoration:none}.sidebar .nav-label i{width:20px;margin:-3px .5rem 0 0;font-size:10px;color:#536c79;text-align:center;vertical-align:middle}.sidebar .progress{background-color:rgb(71.75,94.5,106.75) !important}.sidebar .sidebar-footer{flex:0 0 auto;padding:.75rem 1rem;background:rgba(0,0,0,.2)}.sidebar .sidebar-minimizer{position:relative;flex:0 0 50px;background-color:rgba(0,0,0,.2);border:0}.sidebar .sidebar-minimizer::before{position:absolute;top:0;right:0;width:50px;height:50px;content:\"\";background-image:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='%23536c79' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center;background-size:12.5px;transition:.3s}.sidebar .sidebar-minimizer:focus,.sidebar .sidebar-minimizer.focus{outline:0}.sidebar .sidebar-minimizer:hover{background-color:rgba(0,0,0,.3)}.sidebar .sidebar-minimizer:hover::before{background-image:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='%23fff' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\")}@media(min-width: 992px){.sidebar-compact .sidebar .sidebar-nav{width:150px}.sidebar-compact .sidebar .nav{width:150px}.sidebar-compact .sidebar .nav .nav-title{text-align:center}.sidebar-compact .sidebar .nav .nav-item{width:150px;border-left:0 !important}.sidebar-compact .sidebar .nav .nav-item .nav-link,.sidebar-compact .sidebar .nav .nav-item .navbar .dropdown-toggle,.navbar .sidebar-compact .sidebar .nav .nav-item .dropdown-toggle{text-align:center}.sidebar-compact .sidebar .nav .nav-item .nav-link i,.sidebar-compact .sidebar .nav .nav-item .navbar .dropdown-toggle i,.navbar .sidebar-compact .sidebar .nav .nav-item .dropdown-toggle i{display:block;width:100%;margin:.25rem 0;font-size:24px}.sidebar-compact .sidebar .nav .nav-item .nav-link .badge,.sidebar-compact .sidebar .nav .nav-item .navbar .dropdown-toggle .badge,.navbar .sidebar-compact .sidebar .nav .nav-item .dropdown-toggle .badge{position:absolute;top:18px;right:10px}.sidebar-compact .sidebar .nav .nav-item .nav-link.nav-dropdown-toggle::before,.sidebar-compact .sidebar .nav .nav-item .navbar .nav-dropdown-toggle.dropdown-toggle::before,.navbar .sidebar-compact .sidebar .nav .nav-item .nav-dropdown-toggle.dropdown-toggle::before{top:30px}.sidebar-minimized .hidden-cn{display:none}.sidebar-minimized .sidebar{z-index:1019}.sidebar-minimized .sidebar .sidebar-nav{overflow:visible;width:50px}.sidebar-minimized .sidebar .nav{width:50px}.sidebar-minimized .sidebar .nav-divider,.sidebar-minimized .sidebar .divider,.sidebar-minimized .sidebar .nav-title,.sidebar-minimized .sidebar .sidebar-footer,.sidebar-minimized .sidebar .sidebar-form,.sidebar-minimized .sidebar .sidebar-header{display:none}.sidebar-minimized .sidebar .sidebar-minimizer::before{width:100%;transform:rotate(-180deg)}.sidebar-minimized .sidebar .nav-item{width:50px;overflow:hidden;border-left:0 !important}.sidebar-minimized .sidebar .nav-item:hover{width:250px;overflow:visible}.sidebar-minimized .sidebar .nav-item:hover>.nav-link,.sidebar-minimized .sidebar .navbar .nav-item:hover>.dropdown-toggle,.navbar .sidebar-minimized .sidebar .nav-item:hover>.dropdown-toggle{background:#039}.sidebar-minimized .sidebar .nav-item:hover>.nav-link i,.sidebar-minimized .sidebar .navbar .nav-item:hover>.dropdown-toggle i,.navbar .sidebar-minimized .sidebar .nav-item:hover>.dropdown-toggle i{color:#fff}.sidebar-minimized .sidebar .nav-link,.sidebar-minimized .sidebar .navbar .dropdown-toggle,.navbar .sidebar-minimized .sidebar .dropdown-toggle{position:relative;padding-left:0;margin:0;white-space:nowrap;border-left:0 !important}.sidebar-minimized .sidebar .nav-link i,.sidebar-minimized .sidebar .navbar .dropdown-toggle i,.navbar .sidebar-minimized .sidebar .dropdown-toggle i{display:block;float:left;width:50px;font-size:18px}.sidebar-minimized .sidebar .nav-link .badge,.sidebar-minimized .sidebar .navbar .dropdown-toggle .badge,.navbar .sidebar-minimized .sidebar .dropdown-toggle .badge{position:absolute;right:15px;display:none}.sidebar-minimized .sidebar .nav-link:hover,.sidebar-minimized .sidebar .navbar .dropdown-toggle:hover,.navbar .sidebar-minimized .sidebar .dropdown-toggle:hover{width:250px;background:#039}.sidebar-minimized .sidebar .nav-link:hover .badge,.sidebar-minimized .sidebar .navbar .dropdown-toggle:hover .badge,.navbar .sidebar-minimized .sidebar .dropdown-toggle:hover .badge{display:inline}.sidebar-minimized .sidebar .nav-link.nav-dropdown-toggle::before,.sidebar-minimized .sidebar .navbar .nav-dropdown-toggle.dropdown-toggle::before,.navbar .sidebar-minimized .sidebar .nav-dropdown-toggle.dropdown-toggle::before{display:none}.sidebar-minimized .sidebar .nav-dropdown-items .nav-item{width:200px}.sidebar-minimized .sidebar .nav-dropdown-items .nav-item .nav-link,.sidebar-minimized .sidebar .nav-dropdown-items .nav-item .navbar .dropdown-toggle,.navbar .sidebar-minimized .sidebar .nav-dropdown-items .nav-item .dropdown-toggle{width:200px}.sidebar-minimized .sidebar .nav>.nav-dropdown>.nav-dropdown-items{display:none;max-height:1000px;background:#29363d}.sidebar-minimized .sidebar .nav>.nav-dropdown:hover{background:#039}.sidebar-minimized .sidebar .nav>.nav-dropdown:hover>.nav-dropdown-items{position:absolute;left:50px;display:inline}}.switch.switch-default{position:relative;display:inline-block;vertical-align:top;width:40px;height:24px;background-color:rgba(0,0,0,0);cursor:pointer}.switch.switch-default .switch-input{position:absolute;top:0;left:0;opacity:0}.switch.switch-default .switch-label{position:relative;display:block;height:inherit;font-size:10px;font-weight:600;text-transform:uppercase;background-color:#fff;border:1px solid #a4b7c1;border-radius:2px;transition:opacity background .15s ease-out}.switch.switch-default .switch-input:checked~.switch-label::before{opacity:0}.switch.switch-default .switch-input:checked~.switch-label::after{opacity:1}.switch.switch-default .switch-handle{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border:1px solid #a4b7c1;border-radius:1px;transition:left .15s ease-out}.switch.switch-default .switch-input:checked~.switch-handle{left:18px}.switch.switch-default.switch-lg{width:48px;height:28px}.switch.switch-default.switch-lg .switch-label{font-size:12px}.switch.switch-default.switch-lg .switch-handle{width:24px;height:24px}.switch.switch-default.switch-lg .switch-input:checked~.switch-handle{left:22px}.switch.switch-default.switch-sm{width:32px;height:20px}.switch.switch-default.switch-sm .switch-label{font-size:8px}.switch.switch-default.switch-sm .switch-handle{width:16px;height:16px}.switch.switch-default.switch-sm .switch-input:checked~.switch-handle{left:14px}.switch.switch-default.switch-xs{width:24px;height:16px}.switch.switch-default.switch-xs .switch-label{font-size:7px}.switch.switch-default.switch-xs .switch-handle{width:12px;height:12px}.switch.switch-default.switch-xs .switch-input:checked~.switch-handle{left:10px}.switch.switch-text{position:relative;display:inline-block;vertical-align:top;width:48px;height:24px;background-color:rgba(0,0,0,0);cursor:pointer}.switch.switch-text .switch-input{position:absolute;top:0;left:0;opacity:0}.switch.switch-text .switch-label{position:relative;display:block;height:inherit;font-size:10px;font-weight:600;text-transform:uppercase;background-color:#fff;border:1px solid #a4b7c1;border-radius:2px;transition:opacity background .15s ease-out}.switch.switch-text .switch-label::before,.switch.switch-text .switch-label::after{position:absolute;top:50%;width:50%;margin-top:-0.5em;line-height:1;text-align:center;transition:inherit}.switch.switch-text .switch-label::before{right:1px;color:#c2cfd6;content:attr(data-off)}.switch.switch-text .switch-label::after{left:1px;color:#fff;content:attr(data-on);opacity:0}.switch.switch-text .switch-input:checked~.switch-label::before{opacity:0}.switch.switch-text .switch-input:checked~.switch-label::after{opacity:1}.switch.switch-text .switch-handle{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border:1px solid #a4b7c1;border-radius:1px;transition:left .15s ease-out}.switch.switch-text .switch-input:checked~.switch-handle{left:26px}.switch.switch-text.switch-lg{width:56px;height:28px}.switch.switch-text.switch-lg .switch-label{font-size:12px}.switch.switch-text.switch-lg .switch-handle{width:24px;height:24px}.switch.switch-text.switch-lg .switch-input:checked~.switch-handle{left:30px}.switch.switch-text.switch-sm{width:40px;height:20px}.switch.switch-text.switch-sm .switch-label{font-size:8px}.switch.switch-text.switch-sm .switch-handle{width:16px;height:16px}.switch.switch-text.switch-sm .switch-input:checked~.switch-handle{left:22px}.switch.switch-text.switch-xs{width:32px;height:16px}.switch.switch-text.switch-xs .switch-label{font-size:7px}.switch.switch-text.switch-xs .switch-handle{width:12px;height:12px}.switch.switch-text.switch-xs .switch-input:checked~.switch-handle{left:18px}.switch.switch-icon{position:relative;display:inline-block;vertical-align:top;width:48px;height:24px;background-color:rgba(0,0,0,0);cursor:pointer}.switch.switch-icon .switch-input{position:absolute;top:0;left:0;opacity:0}.switch.switch-icon .switch-label{position:relative;display:block;height:inherit;font-family:FontAwesome;font-size:10px;font-weight:600;text-transform:uppercase;background-color:#fff;border:1px solid #a4b7c1;border-radius:2px;transition:opacity background .15s ease-out}.switch.switch-icon .switch-label::before,.switch.switch-icon .switch-label::after{position:absolute;top:50%;width:50%;margin-top:-0.5em;line-height:1;text-align:center;transition:inherit}.switch.switch-icon .switch-label::before{right:1px;color:#c2cfd6;content:attr(data-off)}.switch.switch-icon .switch-label::after{left:1px;color:#fff;content:attr(data-on);opacity:0}.switch.switch-icon .switch-input:checked~.switch-label::before{opacity:0}.switch.switch-icon .switch-input:checked~.switch-label::after{opacity:1}.switch.switch-icon .switch-handle{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border:1px solid #a4b7c1;border-radius:1px;transition:left .15s ease-out}.switch.switch-icon .switch-input:checked~.switch-handle{left:26px}.switch.switch-icon.switch-lg{width:56px;height:28px}.switch.switch-icon.switch-lg .switch-label{font-size:12px}.switch.switch-icon.switch-lg .switch-handle{width:24px;height:24px}.switch.switch-icon.switch-lg .switch-input:checked~.switch-handle{left:30px}.switch.switch-icon.switch-sm{width:40px;height:20px}.switch.switch-icon.switch-sm .switch-label{font-size:8px}.switch.switch-icon.switch-sm .switch-handle{width:16px;height:16px}.switch.switch-icon.switch-sm .switch-input:checked~.switch-handle{left:22px}.switch.switch-icon.switch-xs{width:32px;height:16px}.switch.switch-icon.switch-xs .switch-label{font-size:7px}.switch.switch-icon.switch-xs .switch-handle{width:12px;height:12px}.switch.switch-icon.switch-xs .switch-input:checked~.switch-handle{left:18px}.switch.switch-3d{position:relative;display:inline-block;vertical-align:top;width:40px;height:24px;background-color:rgba(0,0,0,0);cursor:pointer}.switch.switch-3d .switch-input{position:absolute;top:0;left:0;opacity:0}.switch.switch-3d .switch-label{position:relative;display:block;height:inherit;font-size:10px;font-weight:600;text-transform:uppercase;background-color:#f0f3f5;border:1px solid #a4b7c1;border-radius:2px;transition:opacity background .15s ease-out}.switch.switch-3d .switch-input:checked~.switch-label::before{opacity:0}.switch.switch-3d .switch-input:checked~.switch-label::after{opacity:1}.switch.switch-3d .switch-handle{position:absolute;top:0;left:0;width:24px;height:24px;background:#fff;border:1px solid #a4b7c1;border-radius:1px;transition:left .15s ease-out;border:0;box-shadow:0 2px 5px rgba(0,0,0,.3)}.switch.switch-3d .switch-input:checked~.switch-handle{left:16px}.switch.switch-3d.switch-lg{width:48px;height:28px}.switch.switch-3d.switch-lg .switch-label{font-size:12px}.switch.switch-3d.switch-lg .switch-handle{width:28px;height:28px}.switch.switch-3d.switch-lg .switch-input:checked~.switch-handle{left:20px}.switch.switch-3d.switch-sm{width:32px;height:20px}.switch.switch-3d.switch-sm .switch-label{font-size:8px}.switch.switch-3d.switch-sm .switch-handle{width:20px;height:20px}.switch.switch-3d.switch-sm .switch-input:checked~.switch-handle{left:12px}.switch.switch-3d.switch-xs{width:24px;height:16px}.switch.switch-3d.switch-xs .switch-label{font-size:7px}.switch.switch-3d.switch-xs .switch-handle{width:16px;height:16px}.switch.switch-3d.switch-xs .switch-input:checked~.switch-handle{left:8px}.switch-pill .switch-label,.switch.switch-3d .switch-label,.switch-pill .switch-handle,.switch.switch-3d .switch-handle{border-radius:50em !important}.switch-pill .switch-label::before,.switch.switch-3d .switch-label::before{right:2px !important}.switch-pill .switch-label::after,.switch.switch-3d .switch-label::after{left:2px !important}.switch-primary>.switch-input:checked~.switch-label{background:#039 !important;border-color:#026}.switch-primary>.switch-input:checked~.switch-handle{border-color:#026}.switch-primary-outline>.switch-input:checked~.switch-label{background:#fff !important;border-color:#039}.switch-primary-outline>.switch-input:checked~.switch-label::after{color:#039}.switch-primary-outline>.switch-input:checked~.switch-handle{border-color:#039}.switch-primary-outline-alt>.switch-input:checked~.switch-label{background:#fff !important;border-color:#039}.switch-primary-outline-alt>.switch-input:checked~.switch-label::after{color:#039}.switch-primary-outline-alt>.switch-input:checked~.switch-handle{background:#039 !important;border-color:#039}.switch-secondary>.switch-input:checked~.switch-label{background:#3e515b !important;border-color:rgb(41.3333333333,54,60.6666666667)}.switch-secondary>.switch-input:checked~.switch-handle{border-color:rgb(41.3333333333,54,60.6666666667)}.switch-secondary-outline>.switch-input:checked~.switch-label{background:#fff !important;border-color:#3e515b}.switch-secondary-outline>.switch-input:checked~.switch-label::after{color:#3e515b}.switch-secondary-outline>.switch-input:checked~.switch-handle{border-color:#3e515b}.switch-secondary-outline-alt>.switch-input:checked~.switch-label{background:#fff !important;border-color:#3e515b}.switch-secondary-outline-alt>.switch-input:checked~.switch-label::after{color:#3e515b}.switch-secondary-outline-alt>.switch-input:checked~.switch-handle{background:#3e515b !important;border-color:#3e515b}.switch-success>.switch-input:checked~.switch-label{background:#4dbd74 !important;border-color:rgb(58.1557377049,156.8442622951,92.5204918033)}.switch-success>.switch-input:checked~.switch-handle{border-color:rgb(58.1557377049,156.8442622951,92.5204918033)}.switch-success-outline>.switch-input:checked~.switch-label{background:#fff !important;border-color:#4dbd74}.switch-success-outline>.switch-input:checked~.switch-label::after{color:#4dbd74}.switch-success-outline>.switch-input:checked~.switch-handle{border-color:#4dbd74}.switch-success-outline-alt>.switch-input:checked~.switch-label{background:#fff !important;border-color:#4dbd74}.switch-success-outline-alt>.switch-input:checked~.switch-label::after{color:#4dbd74}.switch-success-outline-alt>.switch-input:checked~.switch-handle{background:#4dbd74 !important;border-color:#4dbd74}.switch-info>.switch-input:checked~.switch-label{background:#63c2de !important;border-color:rgb(56.9047619048,177.5396825397,213.0952380952)}.switch-info>.switch-input:checked~.switch-handle{border-color:rgb(56.9047619048,177.5396825397,213.0952380952)}.switch-info-outline>.switch-input:checked~.switch-label{background:#fff !important;border-color:#63c2de}.switch-info-outline>.switch-input:checked~.switch-label::after{color:#63c2de}.switch-info-outline>.switch-input:checked~.switch-handle{border-color:#63c2de}.switch-info-outline-alt>.switch-input:checked~.switch-label{background:#fff !important;border-color:#63c2de}.switch-info-outline-alt>.switch-input:checked~.switch-label::after{color:#63c2de}.switch-info-outline-alt>.switch-input:checked~.switch-handle{background:#63c2de !important;border-color:#63c2de}.switch-warning>.switch-input:checked~.switch-label{background:#fc0 !important;border-color:rgb(204,163.2,0)}.switch-warning>.switch-input:checked~.switch-handle{border-color:rgb(204,163.2,0)}.switch-warning-outline>.switch-input:checked~.switch-label{background:#fff !important;border-color:#fc0}.switch-warning-outline>.switch-input:checked~.switch-label::after{color:#fc0}.switch-warning-outline>.switch-input:checked~.switch-handle{border-color:#fc0}.switch-warning-outline-alt>.switch-input:checked~.switch-label{background:#fff !important;border-color:#fc0}.switch-warning-outline-alt>.switch-input:checked~.switch-label::after{color:#fc0}.switch-warning-outline-alt>.switch-input:checked~.switch-handle{background:#fc0 !important;border-color:#fc0}.switch-danger>.switch-input:checked~.switch-label{background:#f86c6b !important;border-color:hsl(.4255319149,90.9677419355%,59.6078431373%)}.switch-danger>.switch-input:checked~.switch-handle{border-color:hsl(.4255319149,90.9677419355%,59.6078431373%)}.switch-danger-outline>.switch-input:checked~.switch-label{background:#fff !important;border-color:#f86c6b}.switch-danger-outline>.switch-input:checked~.switch-label::after{color:#f86c6b}.switch-danger-outline>.switch-input:checked~.switch-handle{border-color:#f86c6b}.switch-danger-outline-alt>.switch-input:checked~.switch-label{background:#fff !important;border-color:#f86c6b}.switch-danger-outline-alt>.switch-input:checked~.switch-label::after{color:#f86c6b}.switch-danger-outline-alt>.switch-input:checked~.switch-handle{background:#f86c6b !important;border-color:#f86c6b}.switch-light>.switch-input:checked~.switch-label{background:#c2cfd6 !important;border-color:rgb(163.5,183,193.5)}.switch-light>.switch-input:checked~.switch-handle{border-color:rgb(163.5,183,193.5)}.switch-light-outline>.switch-input:checked~.switch-label{background:#fff !important;border-color:#c2cfd6}.switch-light-outline>.switch-input:checked~.switch-label::after{color:#c2cfd6}.switch-light-outline>.switch-input:checked~.switch-handle{border-color:#c2cfd6}.switch-light-outline-alt>.switch-input:checked~.switch-label{background:#fff !important;border-color:#c2cfd6}.switch-light-outline-alt>.switch-input:checked~.switch-label::after{color:#c2cfd6}.switch-light-outline-alt>.switch-input:checked~.switch-handle{background:#c2cfd6 !important;border-color:#c2cfd6}.switch-dark>.switch-input:checked~.switch-label{background:#29363d !important;border-color:rgb(20.5,27,30.5)}.switch-dark>.switch-input:checked~.switch-handle{border-color:rgb(20.5,27,30.5)}.switch-dark-outline>.switch-input:checked~.switch-label{background:#fff !important;border-color:#29363d}.switch-dark-outline>.switch-input:checked~.switch-label::after{color:#29363d}.switch-dark-outline>.switch-input:checked~.switch-handle{border-color:#29363d}.switch-dark-outline-alt>.switch-input:checked~.switch-label{background:#fff !important;border-color:#29363d}.switch-dark-outline-alt>.switch-input:checked~.switch-label::after{color:#29363d}.switch-dark-outline-alt>.switch-input:checked~.switch-handle{background:#29363d !important;border-color:#29363d}.table-outline{border:1px solid #a4b7c1}.table-outline td{vertical-align:middle}.table-align-middle td{vertical-align:middle}.table-clear td{border:0}.social-box{min-height:160px;margin-bottom:1.5rem;text-align:center;background:#fff;border:1px solid #c2cfd6;border-radius:.25rem}.social-box i{display:block;margin:-1px -1px 0;font-size:40px;line-height:90px;background:#c2cfd6;border-radius:.25rem .25rem 0 0}.social-box .chart-wrapper{height:90px;margin:-90px 0 0}.social-box .chart-wrapper canvas{width:100% !important;height:90px !important}.social-box ul{padding:10px 0;list-style:none}.social-box ul li{display:block;float:left;width:50%}.social-box ul li:first-child{border-right:1px solid #a4b7c1}.social-box ul li strong{display:block;font-size:20px}.social-box ul li span{font-size:10px;font-weight:500;color:#a4b7c1;text-transform:uppercase}.social-box.facebook i{color:#fff;background:#3b5998}.social-box.twitter i{color:#fff;background:#00aced}.social-box.linkedin i{color:#fff;background:#4875b4}.social-box.google-plus i{color:#fff;background:#d34836}.horizontal-bars{padding:0;margin:0;list-style:none}.horizontal-bars li{position:relative;height:40px;line-height:40px;vertical-align:middle}.horizontal-bars li .title{width:100px;font-size:12px;font-weight:600;color:#536c79;vertical-align:middle}.horizontal-bars li .bars{position:absolute;top:15px;width:100%;padding-left:100px}.horizontal-bars li .bars .progress:first-child{margin-bottom:2px}.horizontal-bars li.legend{text-align:center}.horizontal-bars li.legend .badge{display:inline-block;width:8px;height:8px;padding:0}.horizontal-bars li.divider{height:40px}.horizontal-bars li.divider i{margin:0 !important}.horizontal-bars.type-2 li{overflow:hidden}.horizontal-bars.type-2 li i{display:inline-block;margin-right:1rem;margin-left:5px;font-size:18px;line-height:40px}.horizontal-bars.type-2 li .title{display:inline-block;width:auto;margin-top:-9px;font-size:.875rem;font-weight:normal;line-height:40px;color:#151b1e}.horizontal-bars.type-2 li .value{float:right;font-weight:600}.horizontal-bars.type-2 li .bars{position:absolute;top:auto;bottom:0;padding:0}.icons-list{padding:0;margin:0;list-style:none}.icons-list li{position:relative;height:40px;vertical-align:middle}.icons-list li i{display:block;float:left;width:35px !important;height:35px !important;margin:2px;line-height:35px !important;text-align:center}.icons-list li .desc{height:40px;margin-left:50px;border-bottom:1px solid #a4b7c1}.icons-list li .desc .title{padding:2px 0 0;margin:0}.icons-list li .desc small{display:block;margin-top:-4px;color:#536c79}.icons-list li .value{position:absolute;top:2px;right:45px;text-align:right}.icons-list li .value strong{display:block;margin-top:-3px}.icons-list li .actions{position:absolute;top:-4px;right:10px;width:40px;height:40px;line-height:40px;text-align:center}.icons-list li .actions i{float:none;width:auto;height:auto;padding:0;margin:0;line-height:normal}.icons-list li.divider{height:40px}.icons-list li.divider i{width:auto;height:auto;margin:2px 0 0;font-size:18px}@media all and (-ms-high-contrast: none){html{display:flex;flex-direction:column}}.app,app-dashboard,app-root{display:flex;flex-direction:column;min-height:100vh}.app-header{flex:0 0 55px}.app-footer{flex:0 0 50px}.app-body{display:flex;flex-direction:row;flex-grow:1;overflow-x:hidden}.app-body .main{flex:1;min-width:0}.app-body .sidebar{flex:0 0 200px;order:-1}.app-body .aside-menu{flex:0 0 250px}.header-fixed .app-header{position:fixed;z-index:1020;width:100%}.header-fixed .app-body{margin-top:55px}.sidebar-hidden .sidebar{margin-left:-200px}.sidebar-fixed .sidebar{position:fixed;z-index:1019;width:200px;height:calc(100vh - 55px)}.sidebar-fixed .main,.sidebar-fixed .app-footer{margin-left:200px}.sidebar-fixed.sidebar-hidden .main,.sidebar-fixed.sidebar-hidden .app-footer{margin-left:0}.sidebar-off-canvas .sidebar{position:fixed;z-index:1019;height:calc(100vh - 55px)}@media(min-width: 992px){.sidebar-compact .sidebar{flex:0 0 150px}.sidebar-compact.sidebar-hidden .sidebar{margin-left:-150px}.sidebar-compact.sidebar-fixed .main,.sidebar-compact.sidebar-fixed .app-footer{margin-left:150px}.sidebar-compact.sidebar-fixed .sidebar{width:150px}.sidebar-compact.sidebar-fixed.sidebar-hidden .main,.sidebar-compact.sidebar-fixed.sidebar-hidden .app-footer{margin-left:0}.sidebar-minimized .sidebar{flex:0 0 50px}.sidebar-minimized.sidebar-hidden .sidebar{margin-left:-50px}.sidebar-minimized.sidebar-fixed .main,.sidebar-minimized.sidebar-fixed .app-footer{margin-left:50px}.sidebar-minimized.sidebar-fixed .sidebar{width:50px}.sidebar-minimized.sidebar-fixed.sidebar-hidden .main,.sidebar-minimized.sidebar-fixed.sidebar-hidden .app-footer{margin-left:0}}.aside-menu-hidden .aside-menu{margin-right:-250px}.aside-menu-fixed .aside-menu{position:fixed;right:0;height:100%}.aside-menu-fixed .aside-menu .tab-content{height:calc(100vh - 2.375rem - 55px)}.aside-menu-fixed .main,.aside-menu-fixed .app-footer{margin-right:250px}.aside-menu-fixed.aside-menu-hidden .main,.aside-menu-fixed.aside-menu-hidden .app-footer{margin-right:0}.aside-menu-off-canvas .aside-menu{position:fixed;right:0;z-index:1019;height:100%}.aside-menu-off-canvas .aside-menu .tab-content{height:calc(100vh - 2.375rem - 55px)}.breadcrumb-fixed .main{padding-top:3.875rem}.breadcrumb-fixed .breadcrumb{position:fixed;top:55px;right:0;left:0;z-index:1018}.breadcrumb-fixed .main:nth-child(2) .breadcrumb{right:250px;left:200px}.breadcrumb-fixed .main:first-child .breadcrumb{right:250px;left:0}.breadcrumb-fixed .main:last-child .breadcrumb{right:0}.breadcrumb-fixed.sidebar-minimized .main .breadcrumb{left:50px}.breadcrumb-fixed.sidebar-hidden .main .breadcrumb,.breadcrumb-fixed.sidebar-off-canvas .main .breadcrumb{left:0}.breadcrumb-fixed.aside-menu-hidden .main .breadcrumb,.breadcrumb-fixed.aside-menu-off-canvas .main .breadcrumb{right:0}.footer-fixed .app-footer{position:fixed;right:0;bottom:0;left:0;z-index:1020;height:50px}.footer-fixed .app-body{margin-bottom:50px}.app-header,.app-footer,.sidebar,.main,.aside-menu{transition:margin-left .25s,margin-right .25s,width .25s,flex .25s}.sidebar-nav{transition:width .25s}.breadcrumb{transition:left .25s,right .25s,width .25s}@media(max-width: 991.98px){.app-header.navbar{position:fixed !important;z-index:1020;width:100%;text-align:center;background-color:#fff;border-bottom:1px solid #a4b7c1}.app-header.navbar .navbar-toggler{color:#536c79}.app-header.navbar .navbar-brand{position:absolute;left:50%;margin-left:-65px}.app-body{margin-top:55px}.breadcrumb-fixed .main:nth-child(2) .breadcrumb{right:auto;left:auto;width:100%}.sidebar{position:fixed;z-index:1019;width:220px;height:calc(100vh - 55px);margin-left:-220px}.sidebar .sidebar-nav,.sidebar .nav{width:220px;min-height:calc(100vh - 55px)}.sidebar .sidebar-minimizer{display:none}.main,.app-footer{margin-left:0 !important}.sidebar-hidden .sidebar{margin-left:-220px}.sidebar-mobile-show .sidebar{width:220px;margin-left:0}.sidebar-mobile-show .main{margin-right:-220px !important;margin-left:220px !important}}hr.transparent{border-top:1px solid rgba(0,0,0,0)}.bg-primary,.bg-success,.bg-info,.bg-warning,.bg-danger,.bg-inverse{color:#fff}.b-a-0{border:0 !important}.b-t-0{border-top:0 !important}.b-r-0{border-right:0 !important}.b-b-0{border-bottom:0 !important}.b-l-0{border-left:0 !important}.b-a-1{border:1px solid #a4b7c1 !important}.b-t-1{border-top:1px solid #a4b7c1 !important}.b-r-1{border-right:1px solid #a4b7c1 !important}.b-b-1{border-bottom:1px solid #a4b7c1 !important}.b-l-1{border-left:1px solid #a4b7c1 !important}.b-a-2{border:2px solid #a4b7c1 !important}.b-t-2{border-top:2px solid #a4b7c1 !important}.b-r-2{border-right:2px solid #a4b7c1 !important}.b-b-2{border-bottom:2px solid #a4b7c1 !important}.b-l-2{border-left:2px solid #a4b7c1 !important}@media(max-width: 575.98px){.d-down-none{display:none !important}}@media(max-width: 767.98px){.d-sm-down-none{display:none !important}}@media(max-width: 991.98px){.d-md-down-none{display:none !important}}@media(max-width: 1199.98px){.d-lg-down-none{display:none !important}}.d-xl-down-none{display:none !important}.label-pill{border-radius:1rem !important}.open>a,.show>a{outline:0}.navbar .dropdown-toggle .img-avatar{height:35px;margin:0 10px}*[dir=rtl]{direction:rtl;unicode-bidi:embed}*[dir=rtl] ul{-webkit-padding-start:0}*[dir=rtl] table tr th{text-align:right}*[dir=rtl] .breadcrumb-item{float:right}*[dir=rtl] .breadcrumb-menu{right:auto;left:1rem}*[dir=rtl] .dropdown-item{text-align:right}*[dir=rtl] .dropdown-item i{margin-right:-10px;margin-left:10px}*[dir=rtl] .dropdown-item .badge{right:auto;left:10px}*[dir=rtl] .sidebar-hidden .sidebar{margin-right:-200px}*[dir=rtl] .sidebar-fixed .main,*[dir=rtl] .sidebar-fixed .app-footer{margin-right:200px}*[dir=rtl] .sidebar-fixed.sidebar-hidden .main,*[dir=rtl] .sidebar-fixed.sidebar-hidden .app-footer{margin-right:0}*[dir=rtl] .sidebar-minimized .sidebar{flex:0 0 50px}*[dir=rtl] .sidebar-minimized.sidebar-hidden .sidebar{margin-right:-50px;margin-left:0}*[dir=rtl] .sidebar-minimized.sidebar-fixed .main,*[dir=rtl] .sidebar-minimized.sidebar-fixed .app-footer{margin-right:50px}*[dir=rtl] .sidebar-minimized.sidebar-fixed.sidebar-hidden .main,*[dir=rtl] .sidebar-minimized.sidebar-fixed.sidebar-hidden .app-footer{margin-left:0}*[dir=rtl] .aside-menu-hidden .aside-menu{margin-right:0;margin-left:-250px}*[dir=rtl] .aside-menu-fixed .aside-menu{right:auto;left:0}*[dir=rtl] .aside-menu-fixed .main,*[dir=rtl] .aside-menu-fixed .app-footer{margin-left:250px}*[dir=rtl] .aside-menu-fixed.aside-menu-hidden .main,*[dir=rtl] .aside-menu-fixed.aside-menu-hidden .app-footer{margin-left:0}*[dir=rtl] .aside-menu-off-canvas .aside-menu{position:fixed;right:0;z-index:1019;height:100%}*[dir=rtl] .aside-menu-off-canvas .aside-menu .tab-content{height:calc(100vh - 2.375rem - 55px)}*[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .nav-link,*[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .navbar .dropdown-toggle,.navbar *[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .dropdown-toggle{direction:rtl}*[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .nav-link i,*[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .navbar .dropdown-toggle i,.navbar *[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .dropdown-toggle i{margin:0 0 0 .5rem}*[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .nav-link .badge,*[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .navbar .dropdown-toggle .badge,.navbar *[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .dropdown-toggle .badge{float:left;margin-top:2px}*[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .nav-link.nav-dropdown-toggle::before,*[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .navbar .nav-dropdown-toggle.dropdown-toggle::before,.navbar *[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .nav-dropdown-toggle.dropdown-toggle::before{position:absolute;right:auto !important;left:1rem;transform:rotate(180deg)}*[dir=rtl] .sidebar .sidebar-nav .nav .nav-item.nav-dropdown.open>.nav-link.nav-dropdown-toggle::before,*[dir=rtl] .sidebar .sidebar-nav .nav .navbar .nav-item.nav-dropdown.open>.nav-dropdown-toggle.dropdown-toggle::before,.navbar *[dir=rtl] .sidebar .sidebar-nav .nav .nav-item.nav-dropdown.open>.nav-dropdown-toggle.dropdown-toggle::before{transform:rotate(270deg)}*[dir=rtl] .sidebar-minimized .sidebar .nav-link,*[dir=rtl] .sidebar-minimized .sidebar .navbar .dropdown-toggle,.navbar *[dir=rtl] .sidebar-minimized .sidebar .dropdown-toggle{padding-right:0}*[dir=rtl] .sidebar-minimized .sidebar .nav-link i,*[dir=rtl] .sidebar-minimized .sidebar .navbar .dropdown-toggle i,.navbar *[dir=rtl] .sidebar-minimized .sidebar .dropdown-toggle i{float:right;padding:0;margin:0}*[dir=rtl] .sidebar-minimized .sidebar .nav-link .badge,*[dir=rtl] .sidebar-minimized .sidebar .navbar .dropdown-toggle .badge,.navbar *[dir=rtl] .sidebar-minimized .sidebar .dropdown-toggle .badge{right:auto;left:15px}*[dir=rtl] .sidebar-minimized .sidebar .nav>.nav-dropdown:hover>.nav-dropdown-items{right:50px;left:0}*[dir=rtl] .horizontal-bars li .bars{padding-right:100px;padding-left:0}*[dir=rtl] .horizontal-bars li .bars .progress:first-child{margin-bottom:2px}*[dir=rtl] .horizontal-bars.type-2 li i{margin-right:5px;margin-left:1rem}*[dir=rtl] .horizontal-bars.type-2 li .value{float:left;font-weight:600}*[dir=rtl] .horizontal-bars.type-2 li .bars{padding:0}*[dir=rtl] .icons-list li{position:relative;height:40px;vertical-align:middle}*[dir=rtl] .icons-list li i{float:right}*[dir=rtl] .icons-list li .desc{margin-right:50px;margin-left:0}*[dir=rtl] .icons-list li .value{right:auto;left:45px;text-align:left}*[dir=rtl] .icons-list li .value strong{display:block;margin-top:-3px}*[dir=rtl] .icons-list li .actions{right:auto;left:10px}*[dir=rtl] .callout{border:0 solid #a4b7c1;border-right-width:.25rem}*[dir=rtl] .callout.callout-primary{border-right-color:#039}*[dir=rtl] .callout.callout-secondary{border-right-color:#3e515b}*[dir=rtl] .callout.callout-success{border-right-color:#4dbd74}*[dir=rtl] .callout.callout-info{border-right-color:#63c2de}*[dir=rtl] .callout.callout-warning{border-right-color:#fc0}*[dir=rtl] .callout.callout-danger{border-right-color:#f86c6b}*[dir=rtl] .callout.callout-light{border-right-color:#c2cfd6}*[dir=rtl] .callout.callout-dark{border-right-color:#29363d}*[dir=rtl] .callout .chart-wrapper{left:0;float:left}*[dir=rtl] .callout-default{border-right-color:#536c79}form.rjsf label{margin-bottom:0}form.rjsf div>p.field-description{font-size:.7rem;font-style:italic;margin-bottom:0px}form.rjsf input{width:auto}form.rjsf div.row.array-item{background-color:#f0f8ff;margin-bottom:3px}@media(max-width: 767px){.container-fluid,.container-sm,.container-md,.container-lg,.container-xl,.row{padding:0 2px !important}.navbar-header{margin:0px}}.text-pretty{text-wrap:balance;text-wrap:pretty}","",{version:3,sources:["webpack://./scss/style.scss","webpack://./../../node_modules/bootstrap/scss/_root.scss","webpack://./../../node_modules/bootstrap/scss/_reboot.scss","webpack://./../../node_modules/bootstrap/scss/_variables.scss","webpack://./../../node_modules/bootstrap/scss/vendor/_rfs.scss","webpack://./scss/_bootstrap-variables.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_hover.scss","webpack://./../../node_modules/bootstrap/scss/_type.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_lists.scss","webpack://./../../node_modules/bootstrap/scss/_images.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_image.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_border-radius.scss","webpack://./../../node_modules/bootstrap/scss/_code.scss","webpack://./../../node_modules/bootstrap/scss/_grid.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_grid.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_breakpoints.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_grid-framework.scss","webpack://./../../node_modules/bootstrap/scss/_tables.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_table-row.scss","webpack://./../../node_modules/bootstrap/scss/_forms.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_transition.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_forms.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_gradients.scss","webpack://./../../node_modules/bootstrap/scss/_buttons.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_buttons.scss","webpack://./../../node_modules/bootstrap/scss/_transitions.scss","webpack://./../../node_modules/bootstrap/scss/_dropdown.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_caret.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_nav-divider.scss","webpack://./../../node_modules/bootstrap/scss/_button-group.scss","webpack://./../../node_modules/bootstrap/scss/_input-group.scss","webpack://./../../node_modules/bootstrap/scss/_custom-forms.scss","webpack://./../../node_modules/bootstrap/scss/_nav.scss","webpack://./../../node_modules/bootstrap/scss/_navbar.scss","webpack://./../../node_modules/bootstrap/scss/_card.scss","webpack://./../../node_modules/bootstrap/scss/_breadcrumb.scss","webpack://./../../node_modules/bootstrap/scss/_pagination.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_pagination.scss","webpack://./../../node_modules/bootstrap/scss/_badge.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_badge.scss","webpack://./../../node_modules/bootstrap/scss/_jumbotron.scss","webpack://./../../node_modules/bootstrap/scss/_alert.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_alert.scss","webpack://./../../node_modules/bootstrap/scss/_progress.scss","webpack://./../../node_modules/bootstrap/scss/_media.scss","webpack://./../../node_modules/bootstrap/scss/_list-group.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_list-group.scss","webpack://./../../node_modules/bootstrap/scss/_close.scss","webpack://./../../node_modules/bootstrap/scss/_toasts.scss","webpack://./../../node_modules/bootstrap/scss/_modal.scss","webpack://./../../node_modules/bootstrap/scss/_tooltip.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_reset-text.scss","webpack://./../../node_modules/bootstrap/scss/_popover.scss","webpack://./../../node_modules/bootstrap/scss/_carousel.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_clearfix.scss","webpack://./../../node_modules/bootstrap/scss/_spinners.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_align.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_background-variant.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_background.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_borders.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_display.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_embed.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_flex.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_float.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_interactions.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_position.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_screenreaders.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_screen-reader.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_shadows.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_sizing.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_spacing.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_stretched-link.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_text.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_text-truncate.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_text-emphasis.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_text-hide.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_visibility.scss","webpack://./../../node_modules/bootstrap/scss/_print.scss","webpack://./scss/core/_typography.scss","webpack://./scss/core/_animate.scss","webpack://./scss/core/_aside.scss","webpack://./scss/core/_variables.scss","webpack://./scss/core/_mixins.scss","webpack://./scss/core/_avatars.scss","webpack://./scss/core/_badge.scss","webpack://./scss/core/_breadcrumb-menu.scss","webpack://./scss/core/_breadcrumb.scss","webpack://./scss/core/_buttons.scss","webpack://./scss/core/_callout.scss","webpack://./scss/core/_card.scss","webpack://./scss/core/_charts.scss","webpack://./scss/core/_dropdown.scss","webpack://./scss/core/_footer.scss","webpack://./scss/core/_grid.scss","webpack://./scss/core/_input-group.scss","webpack://./scss/core/_loading.scss","webpack://./scss/core/_modal.scss","webpack://./scss/core/_nav.scss","webpack://./scss/core/_navbar.scss","webpack://./scss/core/_progress.scss","webpack://./scss/core/_sidebar.scss","webpack://./scss/core/_switches.scss","webpack://./scss/core/_tables.scss","webpack://./scss/core/_widgets.scss","webpack://./scss/core/_layout.scss","webpack://./scss/core/_others.scss","webpack://./scss/core/utilities/_background.scss","webpack://./scss/core/utilities/_borders.scss","webpack://./scss/core/utilities/_display.scss","webpack://./scss/core/_temp.scss","webpack://./scss/core/_rtl.scss","webpack://./scss/_custom.scss"],names:[],mappings:"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A,CAGF,4DAEE,UrBJW,CqBKX,8BAAA,CAGF,+JAGE,UAAA,CACA,qBrBZW,CqBaX,iBrBbW,CqBeX,iLAKI,wCAAA,CDzBN,uBCPA,arBYa,CqBXb,oBrBWa,CGhEb,6BkBwDE,UALgD,CAMhD,wBrBOW,CqBNX,oBrBMW,CqBHb,0DAEE,wCAAA,CAGF,gEAEE,arBJW,CqBKX,8BAAA,CAGF,qKAGE,UAAA,CACA,wBrBZW,CqBaX,oBrBbW,CqBeX,uLAKI,wCAAA,CDzBN,qBCPA,arBYa,CqBXb,oBrBWa,CGhEb,2BkBwDE,UALgD,CAMhD,wBrBOW,CqBNX,oBrBMW,CqBHb,sDAEE,0CAAA,CAGF,4DAEE,arBJW,CqBKX,8BAAA,CAGF,+JAGE,UAAA,CACA,wBrBZW,CqBaX,oBrBbW,CqBeX,iLAKI,0CAAA,CDzBN,kBCPA,arBYa,CqBXb,oBrBWa,CGhEb,wBkBwDE,aALgD,CAMhD,wBrBOW,CqBNX,oBrBMW,CqBHb,gDAEE,0CAAA,CAGF,sDAEE,arBJW,CqBKX,8BAAA,CAGF,sJAGE,aAAA,CACA,wBrBZW,CqBaX,oBrBbW,CqBeX,wKAKI,0CAAA,CDzBN,qBCPA,UrBYa,CqBXb,iBrBWa,CGhEb,2BkBwDE,aALgD,CAMhD,qBrBOW,CqBNX,iBrBMW,CqBHb,sDAEE,yCAAA,CAGF,4DAEE,UrBJW,CqBKX,8BAAA,CAGF,+JAGE,aAAA,CACA,qBrBZW,CqBaX,iBrBbW,CqBeX,iLAKI,yCAAA,CDzBN,oBCPA,arBYa,CqBXb,oBrBWa,CGhEb,0BkBwDE,UALgD,CAMhD,wBrBOW,CqBNX,oBrBMW,CqBHb,oDAEE,2CAAA,CAGF,0DAEE,arBJW,CqBKX,8BAAA,CAGF,4JAGE,UAAA,CACA,wBrBZW,CqBaX,oBrBbW,CqBeX,8KAKI,2CAAA,CDzBN,mBCPA,arBYa,CqBXb,oBrBWa,CGhEb,yBkBwDE,aALgD,CAMhD,wBrBOW,CqBNX,oBrBMW,CqBHb,kDAEE,2CAAA,CAGF,wDAEE,arBJW,CqBKX,8BAAA,CAGF,yJAGE,aAAA,CACA,wBrBZW,CqBaX,oBrBbW,CqBeX,2KAKI,2CAAA,CDzBN,kBCPA,arBYa,CqBXb,oBrBWa,CGhEb,wBkBwDE,UALgD,CAMhD,wBrBOW,CqBNX,oBrBMW,CqBHb,gDAEE,wCAAA,CAGF,sDAEE,arBJW,CqBKX,8BAAA,CAGF,sJAGE,UAAA,CACA,wBrBZW,CqBaX,oBrBbW,CqBeX,wKAKI,wCAAA,CDdR,UACE,epB6M4B,CoB5M5B,UpB2FwC,CoB1FxC,oBpB2FwC,CGpKxC,gBiB4EE,sBpByFsC,CoBxFtC,yBpByFsC,CoBtFxC,gCAEE,yBpBoFsC,CoBjFxC,sCAEE,alBvFO,CkBwFP,mBAAA,CAWJ,2BCPE,kBAAA,CpB4EI,oBAAA,CoB1EJ,erB+H4B,CQvN1B,mBAAA,CYiGJ,2BCXE,oBAAA,CpB4EI,qBAAA,CoB1EJ,erBgI4B,CQxN1B,mBAAA,CY0GJ,WACE,aAAA,CACA,UAAA,CAGA,sBACE,gBpBwT0B,CoBhT5B,sFACE,UAAA,CE3IJ,MLgBM,8BKfJ,CLmBI,uCKpBN,MLqBQ,eAAA,CAAA,CKlBN,iBACE,SAAA,CAKF,qBACE,YAAA,CAIJ,YACE,iBAAA,CACA,QAAA,CACA,eAAA,CLDI,2BKEJ,CLEI,uCKNN,YLOQ,eAAA,CAAA,CKDN,kBACE,OAAA,CACA,WAAA,CLNE,0BKOF,CLHE,uCAAA,kBACE,eAAA,CAAA,CMpBR,uCAIE,iBAAA,CAGF,iBACE,kBAAA,CCoBE,wBACE,oBAAA,CACA,kBxB+NwB,CwB9NxB,qBxB6NwB,CwB5NxB,UAAA,CAhCJ,qBAAA,CACA,qCAAA,CACA,eAAA,CACA,oCAAA,CAqDE,8BACE,aAAA,CD1CN,eACE,iBAAA,CACA,QAAA,CACA,MAAA,CACA,YvBypBkC,CuBxpBlC,YAAA,CACA,UAAA,CACA,evBiuBkC,CuBhuBlC,WAAA,CACA,kBAAA,CtB2JI,kBAAA,CsBzJJ,arBZS,CqBaT,eAAA,CACA,eAAA,CACA,qBrBxBM,CqByBN,2BAAA,CACA,wBAAA,CfdE,oBAAA,CeuBA,oBACE,UAAA,CACA,MAAA,CAGF,qBACE,OAAA,CACA,SAAA,CXYF,yBWnBA,uBACE,UAAA,CACA,MAAA,CAGF,wBACE,OAAA,CACA,SAAA,CAAA,CXYF,yBWnBA,uBACE,UAAA,CACA,MAAA,CAGF,wBACE,OAAA,CACA,SAAA,CAAA,CXYF,yBWnBA,uBACE,UAAA,CACA,MAAA,CAGF,wBACE,OAAA,CACA,SAAA,CAAA,CXYF,0BWnBA,uBACE,UAAA,CACA,MAAA,CAGF,wBACE,OAAA,CACA,SAAA,CAAA,CAQJ,uBACE,QAAA,CACA,WAAA,CACA,YAAA,CACA,qBvB+rBgC,CwB9tBhC,gCACE,oBAAA,CACA,kBxB+NwB,CwB9NxB,qBxB6NwB,CwB5NxB,UAAA,CAzBJ,YAAA,CACA,qCAAA,CACA,wBAAA,CACA,oCAAA,CA8CE,sCACE,aAAA,CDWJ,0BACE,KAAA,CACA,UAAA,CACA,SAAA,CACA,YAAA,CACA,mBvBirBgC,CwB9tBhC,mCACE,oBAAA,CACA,kBxB+NwB,CwB9NxB,qBxB6NwB,CwB5NxB,UAAA,CAlBJ,mCAAA,CACA,cAAA,CACA,sCAAA,CACA,sBAAA,CAuCE,yCACE,aAAA,CDqBF,mCACE,gBAAA,CAMJ,yBACE,KAAA,CACA,UAAA,CACA,SAAA,CACA,YAAA,CACA,oBvBgqBgC,CwB9tBhC,kCACE,oBAAA,CACA,kBxB+NwB,CwB9NxB,qBxB6NwB,CwB5NxB,UAAA,CAWA,kCACE,YAAA,CAGF,mCACE,oBAAA,CACA,mBxB4MsB,CwB3MtB,qBxB0MsB,CwBzMtB,UAAA,CA9BN,mCAAA,CACA,uBAAA,CACA,sCAAA,CAiCE,wCACE,aAAA,CDsCF,mCACE,gBAAA,CAQJ,0IAIE,UAAA,CACA,WAAA,CAKJ,kBE9GE,QAAA,CACA,cAAA,CACA,eAAA,CACA,4BAAA,CFkHF,eACE,aAAA,CACA,UAAA,CACA,qBAAA,CACA,UAAA,CACA,evBiK4B,CuBhK5B,arBjHS,CqBkHT,kBAAA,CAEA,kBAAA,CACA,8BAAA,CACA,QAAA,CAKE,2Bf/GA,0CAAA,CACA,2CAAA,CekHA,0BfrGA,8CAAA,CACA,6CAAA,CL1BF,0CoBoIE,uBvBonBgC,CuBnnBhC,oBAAA,CJ/IA,wBjBEO,CqBiJT,4CAEE,UrBrJI,CqBsJJ,oBAAA,CJtJA,qBnBoP0B,CuB1F5B,gDAEE,arBvJO,CqBwJP,mBAAA,CACA,8BAAA,CAQJ,oBACE,aAAA,CAIF,iBACE,aAAA,CACA,gBvBimBkC,CuBhmBlC,eAAA,CAAA,qBAAA,CAEA,arB1KS,CqB2KT,kBAAA,CAIF,oBACE,aAAA,CACA,qBAAA,CACA,arB/KS,CwBZX,+BAEE,iBAAA,CACA,mBAAA,CACA,qBAAA,CAEA,yCACE,iBAAA,CACA,aAAA,CvBCF,qDuBII,SAAA,CAEF,mKAGE,SAAA,CAMN,aACE,YAAA,CACA,cAAA,CACA,0BAAA,CAEA,0BACE,UAAA,CAMF,0EAEE,gBAAA,CAIF,mGlBXE,yBAAA,CACA,4BAAA,CkBeF,+ElBFE,wBAAA,CACA,2BAAA,CkBmBJ,uBACE,sBAAA,CACA,qBAAA,CAEA,6GAGE,aAAA,CAGF,yCACE,cAAA,CAIJ,yEACE,qBAAA,CACA,oBAAA,CAGF,yEACE,oBAAA,CACA,mBAAA,CAoBF,oBACE,qBAAA,CACA,sBAAA,CACA,sBAAA,CAEA,wDAEE,UAAA,CAGF,4FAEE,eAAA,CAIF,qHlBrFE,4BAAA,CACA,2BAAA,CkByFF,iGlBxGE,wBAAA,CACA,yBAAA,CkB2HF,yDAEE,eAAA,CAEA,gMAEE,iBAAA,CACA,qBAAA,CACA,mBAAA,CCzJN,aACE,iBAAA,CACA,YAAA,CACA,cAAA,CACA,mBAAA,CACA,UAAA,CAEA,sHAIE,iBAAA,CACA,aAAA,CACA,QAAA,CACA,WAAA,CACA,eAAA,CAEA,0gBAGE,gBAAA,CAKJ,yIAGE,SAAA,CAIF,mDACE,SAAA,CAKA,2FnBIA,wBAAA,CACA,2BAAA,CAAA,0BmBCA,YAAA,CACA,kBAAA,CAEA,mInBnBA,yBAAA,CACA,4BAAA,CmBoBA,+DnBPA,wBAAA,CACA,2BAAA,CmBUA,gTnBzBA,yBAAA,CACA,4BAAA,CmBiCA,oSnBlCA,yBAAA,CACA,4BAAA,CmBiDJ,yCAEE,YAAA,CAKA,mDACE,iBAAA,CACA,SAAA,CAEA,+DACE,SAAA,CAIJ,4VAIE,gBAAA,CAIJ,qBAAA,iBAAA,CACA,oBAAA,gBAAA,CAQA,kBACE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,C1B2DI,kBAAA,C0BzDJ,e3BqK4B,C2BpK5B,e3ByK4B,C2BxK5B,azBhHS,CyBiHT,iBAAA,CACA,kBAAA,CACA,wBzBzHS,CyB0HT,wBAAA,CnB/GE,oBAAA,CmBmHF,2EAEE,YAAA,CAUJ,2EAEE,+B3BmWsC,C2BhWxC,6PAME,kBAAA,C1BwBI,oBAAA,C0BtBJ,e3B2E4B,CQvN1B,mBAAA,CmBgJJ,2EAEE,iC3BiVsC,C2B9UxC,6PAME,oBAAA,C1BOI,qBAAA,C0BLJ,e3B2D4B,CQxN1B,mBAAA,CmBiKJ,8DAEE,qBAAA,CAWF,skBnB9JI,yBAAA,CACA,4BAAA,CmBwKJ,+WnB3JI,wBAAA,CACA,2BAAA,CoBxCJ,gBACE,iBAAA,CACA,SAAA,CACA,aAAA,CACA,oBAAA,CACA,mBAAA,CACA,wBAAA,CAGF,uBACE,mBAAA,CACA,iB5ByfsC,C4BtfxC,sBACE,iBAAA,CACA,MAAA,CACA,UAAA,CACA,U5BqfsC,C4BpftC,iBAAA,CACA,SAAA,CAEA,4DACE,U1B1BI,C0B2BJ,iB5ByN0B,CmBpP1B,qBnBoP0B,C4BpN5B,0DAKI,yC5BgWwB,C4B5V5B,wEACE,8B5BsboC,C4BnbtC,0EACE,U1B9CI,C0B+CJ,kC5Bkf4C,C4Bjf5C,8B5Bif4C,C4B1e5C,2GACE,a1BlDK,C0BoDL,2HACE,wB1BzDG,C0BmEX,sBACE,iBAAA,CACA,eAAA,CAEA,kBAAA,CAIA,8BACE,iBAAA,CACA,aAAA,CACA,YAAA,CACA,aAAA,CACA,U5BwboC,C4BvbpC,W5BuboC,C4BtbpC,mBAAA,CACA,UAAA,CACA,qB1BtFI,C0BuFJ,wBAAA,CAKF,6BACE,iBAAA,CACA,aAAA,CACA,YAAA,CACA,aAAA,CACA,U5ByaoC,C4BxapC,W5BwaoC,C4BvapC,UAAA,CACA,gCAAA,CAUF,+CpBlGE,oBAAA,CoBuGA,4EACE,iOAAA,CAKF,mFACE,iB5B0HwB,CmBpP1B,qBnBoP0B,C4BtH1B,kFACE,8KAAA,CAKF,sFTpIA,kCnByhB4C,C4BlZ5C,4FTvIA,kCnByhB4C,C4BvY9C,4CAEE,iB5B0Z4C,C4BtZ5C,yEACE,6KAAA,CAKF,mFT9JA,kCnByhB4C,C4BhXhD,eACE,oBAAA,CAGE,6CACE,aAAA,CACA,a5BkY0C,C4BjY1C,kBAAA,CAEA,mB5BgY0C,C4B7X5C,4CACE,0BAAA,CACA,yBAAA,CACA,sB5B2X0C,C4B1X1C,uB5B0X0C,C4BzX1C,wB1BrLK,C0BuLL,mB5BsX0C,CiBxiB1C,iIWmLA,CX/KA,uCWuKF,4CXtKI,eAAA,CAAA,CWmLJ,0EACE,qB1BnME,C0BoMF,6BAAA,CAKF,oFTzMA,kCnByhB4C,C4BnUhD,eACE,oBAAA,CACA,UAAA,CACA,kC5BqRsC,C4BpRtC,sCAAA,C3B5CI,kBAAA,C2B+CJ,e5B6D4B,C4B5D5B,e5BiE4B,C4BhE5B,a1BxNS,C0ByNT,qBAAA,CACA,qOAAA,CACA,wBAAA,CpBtNE,oBAAA,CoByNF,eAAA,CAEA,qBACE,8B5BwPoC,C4BvPpC,SAAA,CAKE,yC5BmW8B,C4BhWhC,gCAME,a1BhPK,C0BiPL,qB1BxPE,C0B4PN,8DAEE,WAAA,CACA,oB5B+H0B,C4B9H1B,qBAAA,CAGF,wBACE,a1B9PO,C0B+PP,wB1BnQO,C0BuQT,2BACE,YAAA,CAIF,8BACE,mBAAA,CACA,yBAAA,CAIJ,kBACE,iC5B0NsC,C4BzNtC,kB5BiH4B,C4BhH5B,qB5BgH4B,C4B/G5B,kB5BgH4B,CC1NxB,qBAAA,C2B8GN,kBACE,+B5BmNsC,C4BlNtC,iB5B8G4B,C4B7G5B,oB5B6G4B,C4B5G5B,iB5B6G4B,CC/NxB,oBAAA,C2B2HN,aACE,iBAAA,CACA,oBAAA,CACA,UAAA,CACA,kC5BiMsC,C4BhMtC,eAAA,CAGF,mBACE,iBAAA,CACA,SAAA,CACA,UAAA,CACA,kC5ByLsC,C4BxLtC,QAAA,CACA,eAAA,CACA,SAAA,CAEA,4CACE,8B5BqKoC,C4BpKpC,yC5ByE0B,C4BrE5B,+FAEE,wB1BhUO,C0BoUP,sDACE,gB5B2Ta,C4BvTjB,0DACE,yBAAA,CAIJ,mBACE,iBAAA,CACA,KAAA,CACA,OAAA,CACA,MAAA,CACA,SAAA,CACA,kC5BwJsC,C4BvJtC,sBAAA,CACA,eAAA,CAEA,e5BhE4B,C4BiE5B,e5B5D4B,C4B6D5B,a1BrVS,C0BsVT,qB1B7VM,C0B8VN,wBAAA,CpBlVE,oBAAA,CoBsVF,0BACE,iBAAA,CACA,KAAA,CACA,OAAA,CACA,QAAA,CACA,SAAA,CACA,aAAA,CACA,4B5BiIoC,C4BhIpC,sBAAA,CACA,e5B5E0B,C4B6E1B,a1BrWO,C0BsWP,gBAAA,CT7WA,wBjBCO,C0B8WP,mBAAA,CpBnWA,+BAAA,CoB8WJ,cACE,UAAA,CACA,aAAA,CACA,SAAA,CACA,8BAAA,CACA,eAAA,CAEA,oBACE,SAAA,CAIA,0CAAA,2D5BoOyC,C4BnOzC,sCAAA,2D5BmOyC,C4BlOzC,+BAAA,2D5BkOyC,C4B/N3C,gCACE,QAAA,CAGF,oCACE,U5BoNyC,C4BnNzC,W5BmNyC,C4BlNzC,mBAAA,CTlZA,qBnBoP0B,C4BgK1B,Q5BmNyC,CQ3lBzC,kBAAA,CSFE,sGW6YF,CACA,eAAA,CX1YE,uCWiYJ,oCXhYM,eAAA,CAAA,CW2YJ,2CT1ZA,kCnB4mByC,C4B7M3C,6CACE,U5B6LgC,C4B5LhC,Y5B6LgC,C4B5LhC,mBAAA,CACA,c5B4LgC,C4B3LhC,wB1BjaO,C0BkaP,0BAAA,CpBzZA,kBAAA,CoB8ZF,gCACE,U5ByLyC,C4BxLzC,W5BwLyC,CmBpmBzC,qBnBoP0B,C4B0L1B,Q5ByLyC,CQ3lBzC,kBAAA,CSFE,sGWuaF,CACA,eAAA,CXpaE,uCW4ZJ,gCX3ZM,eAAA,CAAA,CWqaJ,uCTpbA,kCnB4mByC,C4BnL3C,gCACE,U5BmKgC,C4BlKhC,Y5BmKgC,C4BlKhC,mBAAA,CACA,c5BkKgC,C4BjKhC,wB1B3bO,C0B4bP,0BAAA,CpBnbA,kBAAA,CoBwbF,yBACE,U5B+JyC,C4B9JzC,W5B8JyC,C4B7JzC,YAAA,CACA,kB5BrE0B,C4BsE1B,iB5BtE0B,CmBnY1B,qBnBoP0B,C4BuN1B,Q5B4JyC,CQ3lBzC,kBAAA,CSFE,sGWocF,CACA,eAAA,CXjcE,uCWsbJ,yBXrbM,eAAA,CAAA,CWkcJ,gCTjdA,kCnB4mByC,C4BtJ3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,uCDyIkE,CCxIlE,mCDwIkE,CCrJxE,yBACE,4BDoJsE,CCnJtE,0CDmJuC,CvCxIzC,4GwCPM,4BD+IkE,CC9IlE,kEAAA,CAGF,uDACE,UzCRA,CyCSA,uCDyIkE,CCxIlE,mCDwIkE,CCrJxE,sBACE,8BDoJsE,CCnJtE,0CDmJuC,CvCxIzC,sGwCPM,8BD+IkE,CC9IlE,kEAAA,CAGF,oDACE,UzCRA,CyCSA,yCDyIkE,CCxIlE,qCDwIkE,CCrJxE,yBACE,sBDoJsE,CCnJtE,iCDmJuC,CvCxIzC,4GwCPM,sBD+IkE,CC9IlE,iCAAA,CAGF,uDACE,UzCRA,CyCSA,iCDyIkE,CCxIlE,6BDwIkE,CCrJxE,wBACE,6BDoJsE,CCnJtE,0CDmJuC,CvCxIzC,0GwCPM,6BD+IkE,CC9IlE,+DAAA,CAGF,sDACE,UzCRA,CyCSA,wCDyIkE,CCxIlE,oCDwIkE,CCrJxE,uBACE,+BDoJsE,CCnJtE,0CDmJuC,CvCxIzC,wGwCPM,+BD+IkE,CC9IlE,0CAAA,CAGF,qDACE,UzCRA,CyCSA,0CDyIkE,CCxIlE,sCDwIkE,CCrJxE,sBACE,4BDoJsE,CCnJtE,0CDmJuC,CvCxIzC,sGwCPM,4BD+IkE,CC9IlE,6CAAA,CAGF,oDACE,UzCRA,CyCSA,uCDyIkE,CCxIlE,mCDwIkE,CExJ1E,OACE,WAAA,C3CmLI,mBAAA,C2CjLJ,e5C8R4B,C4C7R5B,aAAA,CACA,U1CWM,C0CVN,wB5CylCkC,C4CxlClC,UAAA,CzCKA,ayCDE,U1CKI,C0CJJ,oBAAA,CzCIF,sFyCCI,WAAA,CAWN,aACE,SAAA,CACA,8BAAA,CACA,QAAA,CAMF,iBACE,mBAAA,CCtCF,OAGE,gB7C24BkC,C6C14BlC,e7C04BkC,CC1tB9B,kBAAA,C4C7KJ,oC7C44BkC,C6C34BlC,2BAAA,CACA,+BAAA,CACA,yC7C64BkC,C6C54BlC,SAAA,CrCOE,oBAAA,CqCJF,wBACE,oB7Cg4BgC,C6C73BlC,eACE,SAAA,CAGF,YACE,aAAA,CACA,SAAA,CAGF,YACE,YAAA,CAIJ,cACE,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,a3CxBS,C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",sourcesContent:["/*!\n * CoreUI - Open Source Bootstrap Admin Template\n * @version v1.0.6\n * @link http://coreui.io\n * Copyright (c) 2017 creativeLabs Łukasz Holeczek\n * @license MIT\n */\n\n// Override Boostrap variables\n@import 'bootstrap-variables';\n\n// Import Bootstrap source files\n@import '~bootstrap/scss/bootstrap';\n\n// Override core variables\n@import 'core-variables';\n\n// Import core styles\n@import 'core/core';\n\n// Custom styles\n@import 'custom';\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n",'// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for "new" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn\'t normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex="-1"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don\'t allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn\'t be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Set the cursor for non-`<button>` buttons\n//\n// Details at https://github.com/twbs/bootstrap/pull/30562\n[role="button"] {\n cursor: pointer;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type="button"], // 1\n[type="reset"],\n[type="submit"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add "hand" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type="button"],\n [type="reset"],\n [type="submit"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don\'t restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type="button"]::-moz-focus-inner,\n[type="reset"]::-moz-focus-inner,\n[type="submit"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type="radio"],\ninput[type="checkbox"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don\'t break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don\'t affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type="number"]::-webkit-inner-spin-button,\n[type="number"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type="search"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it\'s not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type="search"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n','// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge(\n (\n "100": $gray-100,\n "200": $gray-200,\n "300": $gray-300,\n "400": $gray-400,\n "500": $gray-500,\n "600": $gray-600,\n "700": $gray-700,\n "800": $gray-800,\n "900": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge(\n (\n "blue": $blue,\n "indigo": $indigo,\n "purple": $purple,\n "pink": $pink,\n "red": $red,\n "orange": $orange,\n "yellow": $yellow,\n "green": $green,\n "teal": $teal,\n "cyan": $cyan,\n "white": $white,\n "gray": $gray-600,\n "gray-dark": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge(\n (\n "primary": $primary,\n "secondary": $secondary,\n "success": $success,\n "info": $info,\n "warning": $warning,\n "danger": $danger,\n "light": $light,\n "dark": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from "dark" to "light". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n ("<", "%3c"),\n (">", "%3e"),\n ("#", "%23"),\n ("(", "%28"),\n (")", "%29"),\n) !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color("primary") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, "$grid-breakpoints");\n@include _assert-starts-at-zero($grid-breakpoints, "$grid-breakpoints");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, "$container-max-widths");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color("primary") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n$transition-collapse-width: width .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer * .5 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-th-font-weight: null !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap\'s buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n$custom-control-cursor: null !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-label-color: null !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5) !default;\n$custom-control-indicator-checked-box-shadow: null !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: null !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' width=\'8\' height=\'8\' viewBox=\'0 0 8 8\'><path fill=\'#{$custom-control-indicator-checked-color}\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z\'/></svg>") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' width=\'4\' height=\'4\' viewBox=\'0 0 4 4\'><path stroke=\'#{$custom-checkbox-indicator-indeterminate-color}\' d=\'M0 2h4\'/></svg>") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: null !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' width=\'12\' height=\'12\' viewBox=\'-4 -4 8 8\'><circle r=\'3\' fill=\'#{$custom-control-indicator-checked-color}\'/></svg>") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size * .5 !default;\n$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' width=\'4\' height=\'5\' viewBox=\'0 0 4 5\'><path fill=\'#{$custom-select-indicator-color}\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/></svg>") !default;\n$custom-select-background: escape-svg($custom-select-indicator) right $custom-select-padding-x center / $custom-select-bg-size no-repeat !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: "Browse"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color("success") !default;\n$form-feedback-invalid-color: theme-color("danger") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' width=\'8\' height=\'8\' viewBox=\'0 0 8 8\'><path fill=\'#{$form-feedback-icon-valid-color}\' d=\'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\'/></svg>") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' width=\'12\' height=\'12\' fill=\'none\' stroke=\'#{$form-feedback-icon-invalid-color}\' viewBox=\'0 0 12 12\'><circle cx=\'6\' cy=\'6\' r=\'4.5\'/><path stroke-linejoin=\'round\' d=\'M5.8 3.6h.4L6 6.5z\'/><circle cx=\'6\' cy=\'8.2\' r=\'.6\' fill=\'#{$form-feedback-icon-invalid-color}\' stroke=\'none\'/></svg>") !default;\n\n$form-validation-states: () !default;\n$form-validation-states: map-merge(\n (\n "valid": (\n "color": $form-feedback-valid-color,\n "icon": $form-feedback-icon-valid\n ),\n "invalid": (\n "color": $form-feedback-invalid-color,\n "icon": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They\'re used for a bird\'s eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer * .5 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer * .5 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-nav-scroll-max-height: 75vh !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' width=\'30\' height=\'30\' viewBox=\'0 0 30 30\'><path stroke=\'#{$navbar-dark-color}\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' stroke-width=\'2\' d=\'M4 7h22M4 15h22M4 23h22\'/></svg>") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' width=\'30\' height=\'30\' viewBox=\'0 0 30 30\'><path stroke=\'#{$navbar-light-color}\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' stroke-width=\'2\' d=\'M4 7h22M4 15h22M4 23h22\'/></svg>") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-200 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-500 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-border-radius-sm: $border-radius-sm !default;\n$pagination-border-radius-lg: $border-radius-lg !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width * .5 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color("primary") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote("/") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' fill=\'#{$carousel-control-color}\' width=\'8\' height=\'8\' viewBox=\'0 0 8 8\'><path d=\'M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z\'/></svg>") !default;\n$carousel-control-next-icon-bg: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' fill=\'#{$carousel-control-color}\' width=\'8\' height=\'8\' viewBox=\'0 0 8 8\'><path d=\'M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z\'/></svg>") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-vertical-align: -.125em !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n$user-selects: all, auto, none !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, "lg") !default;\n','// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive font sizes\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/v8.x/LICENSE)\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n@if $rfs-font-size-unit != rem and $rfs-font-size-unit != px {\n @error "`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.";\n}\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error "`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.";\n}\n\n// Resize font size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != "number" or $rfs-factor <= 1 {\n @error "`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.";\n}\n\n// Generate enable or disable classes. Possibilities: false, "enable" or "disable"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n@function divide($dividend, $divisor, $precision: 10) {\n $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);\n $dividend: abs($dividend);\n $divisor: abs($divisor);\n @if $dividend == 0 {\n @return 0;\n }\n @if $divisor == 0 {\n @error "Cannot divide by 0";\n }\n $remainder: $dividend;\n $result: 0;\n $factor: 10;\n @while ($remainder > 0 and $precision >= 0) {\n $quotient: 0;\n @while ($remainder >= $divisor) {\n $remainder: $remainder - $divisor;\n $quotient: $quotient + 1;\n }\n $result: $result * 10 + $quotient;\n $factor: $factor * .1;\n $remainder: $remainder * 10;\n $precision: $precision - 1;\n @if ($precision < 0 and $remainder >= $divisor * 5) {\n $result: $result + 1;\n }\n }\n $result: $result * $factor * $sign;\n $dividend-unit: unit($dividend);\n $divisor-unit: unit($divisor);\n $unit-map: (\n "px": 1px,\n "rem": 1rem,\n "em": 1em,\n "%": 1%\n );\n @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {\n $result: $result * map-get($unit-map, $dividend-unit);\n }\n @return $result;\n}\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == "px" {\n $rfs-base-font-size: divide($rfs-base-font-size, $rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == "rem" {\n $rfs-base-font-size: divide($rfs-base-font-size, divide($rfs-base-font-size * 0 + 1, $rfs-rem-value));\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == "px" {\n $rfs-breakpoint: divide($rfs-breakpoint, $rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == "rem" or $rfs-breakpoint-unit-cache == "em" {\n $rfs-breakpoint: divide($rfs-breakpoint, divide($rfs-breakpoint * 0 + 1, $rfs-rem-value));\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-disable-class {\n @if $rfs-class == "disable" {\n // Adding an extra class increases specificity, which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-enable-class {\n @if $rfs-class == "enable" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query($mq-value) {\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @content;\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @content;\n }\n }\n}\n\n// Responsive font size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == "number", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, " !important", "");\n\n // If $fs isn\'t a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != "" and $fs-unit != "px" and $fs-unit != "rem" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Remove unit from $fs for calculations\n @if $fs-unit == "px" {\n $fs: divide($fs, $fs * 0 + 1);\n }\n @else if $fs-unit == "rem" {\n $fs: divide($fs, divide($fs * 0 + 1, $rfs-rem-value));\n }\n\n // Set default font size\n $rfs-static: if($rfs-font-size-unit == rem, #{divide($fs, $rfs-rem-value)}rem, #{$fs}px);\n\n // Only add the media query if the font size is bigger than the minimum font size\n @if $fs <= $rfs-base-font-size or not $enable-responsive-font-sizes {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n @else {\n // Calculate the minimum font size for $fs\n $fs-min: $rfs-base-font-size + divide($fs - $rfs-base-font-size, $rfs-factor);\n\n // Calculate difference between $fs and the minimum font size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n $min-width: if($rfs-font-size-unit == rem, #{divide($fs-min, $rfs-rem-value)}rem, #{$fs-min}px);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{divide($fs-diff * 100, $rfs-breakpoint)}#{$variable-unit};\n\n // Set the calculated font-size\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n\n // Breakpoint formatting\n $mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{divide($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});\n\n @include _rfs-disable-class {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n\n @include _rfs-media-query($mq-value) {\n @include _rfs-enable-class {\n font-size: $rfs-fluid;\n }\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixins use RFS to rescale the font size\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n',"// Bootstrap overrides\n\n//\n// Color system\n//\n\n$white: #fff;\n$gray-100: #f0f3f5;\n$gray-200: #c2cfd6;\n$gray-300: #a4b7c1;\n$gray-400: #869fac;\n$gray-500: #678898;\n$gray-600: #536c79;\n$gray-700: #3e515b;\n$gray-800: #29363d;\n$gray-900: #151b1e;\n$black: #000 !default;\n\n$blue: #003399;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #f86c6b;\n$orange: #f8cb00;\n$yellow: #ffcc00 !default;\n$green: #4dbd74;\n$teal: #20c997 !default;\n$cyan: #63c2de;\n\n$colors: (\n blue: $blue,\n indigo: $indigo,\n purple: $purple,\n pink: $pink,\n red: $red,\n orange: $orange,\n yellow: $yellow,\n green: $green,\n teal: $teal,\n cyan: $cyan,\n white: $white,\n gray: $gray-600,\n gray-dark: $gray-800\n);\n\n$theme-colors: (\n primary: $blue,\n secondary: $gray-700,\n success: $green,\n info: $cyan,\n warning: $yellow,\n danger: $red,\n light: $gray-200,\n dark: $gray-800\n);\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-transitions: true;\n$enable-rounded: true;\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: #e4e5e6;\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n$font-size-base: 0.875rem;\n\n// Breadcrumbs\n\n$breadcrumb-bg: #fff;\n$breadcrumb-margin-bottom: 1.5rem;\n\n// Cards\n\n$card-border-color: $gray-200;\n$card-cap-bg: $gray-100;\n\n// Dropdowns\n\n$dropdown-padding-y: 0;\n$dropdown-border-color: $gray-200;\n$dropdown-divider-bg: $gray-100;\n\n// Buttons\n\n$btn-secondary-border: $gray-300;\n\n// Progress bars\n\n$progress-bg: $gray-100;\n\n// Tables\n\n$table-bg-accent: $gray-100;\n$table-bg-hover: $gray-100;\n\n// Forms\n\n$input-group-addon-bg: $gray-100;\n$input-border-color: $gray-200;\n$input-group-addon-border-color: $gray-200;\n","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n",'// stylelint-disable selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { @include font-size($h1-font-size); }\nh2, .h2 { @include font-size($h2-font-size); }\nh3, .h3 { @include font-size($h3-font-size); }\nh4, .h4 { @include font-size($h4-font-size); }\nh5, .h5 { @include font-size($h5-font-size); }\nh6, .h6 { @include font-size($h6-font-size); }\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n @include font-size($small-font-size);\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size(90%);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: "\\2014\\00A0"; // em dash, nbsp\n }\n}\n',"// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled() {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer * .5;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n",'// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid() {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn\'t convert dppx=>dpi.\n // There\'s no such thing as unprefixed min-device-pixel-ratio since it\'s nonstandard.\n // Compatibility info: https://caniuse.com/css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don\'t support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n @include deprecate("`img-retina()`", "v4.3.0", "v5");\n}\n',"// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n","// Inline code\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n",'// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*="col-"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n','/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter * .5;\n padding-left: $gutter * .5;\n margin-right: auto;\n margin-left: auto;\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter * .5;\n margin-left: -$gutter * .5;\n}\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n @include deprecate("The `make-container-max-widths` mixin", "v4.5.2", "v5");\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter * .5;\n padding-left: $gutter * .5;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage(divide($size, $columns));\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage(divide($size, $columns));\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 divide(100%, $count);\n max-width: divide(100%, $count);\n }\n}\n','// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// "" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// "-sm"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint\'s minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n','// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter * .5;\n padding-left: $gutter * .5;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @if $columns > 0 {\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n }\n\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n @if $columns > 0 {\n // `$columns - 1` because offsetting by the width of an entire row isn\'t possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n }\n}\n',"//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover() {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover() {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover() {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n",'// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n @include form-control-focus($ignore-warning: true);\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox\'s unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won\'t be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don\'t honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\ninput[type="date"],\ninput[type="time"],\ninput[type="datetime-local"],\ninput[type="month"] {\n &.form-control {\n appearance: none; // Fix appearance for date inputs in Safari\n }\n}\n\nselect.form-control {\n // Remove select outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $input-color;\n }\n\n &:focus::-ms-value {\n // Suppress the nested default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<label>/<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n}\n\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n @include font-size($input-font-size);\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n// stylelint-disable-next-line no-duplicate-selectors\nselect.form-control {\n &[size],\n &[multiple] {\n height: auto;\n }\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: $form-group-margin-bottom;\n}\n\n.form-text {\n display: block;\n margin-top: $form-text-margin-top;\n}\n\n\n// Form grid\n//\n// Special replacement for our grid system\'s `.row` for tighter form layouts.\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$form-grid-gutter-width * .5;\n margin-left: -$form-grid-gutter-width * .5;\n\n > .col,\n > [class*="col-"] {\n padding-right: $form-grid-gutter-width * .5;\n padding-left: $form-grid-gutter-width * .5;\n }\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.form-check {\n position: relative;\n display: block;\n padding-left: $form-check-input-gutter;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: $form-check-input-margin-y;\n margin-left: -$form-check-input-gutter;\n\n // Use [disabled] and :disabled for workaround https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .form-check-label,\n &:disabled ~ .form-check-label {\n color: $text-muted;\n }\n}\n\n.form-check-label {\n margin-bottom: 0; // Override default `<label>` bottom margin\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0; // Override base .form-check\n margin-right: $form-check-inline-margin-x;\n\n // Undo .form-check-input defaults and add some `margin-right`.\n .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: $form-check-inline-input-margin-x;\n margin-left: 0;\n }\n}\n\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server side validation.\n\n@each $state, $data in $form-validation-states {\n @include form-validation-state($state, map-get($data, color), map-get($data, icon));\n}\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn\'t occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for "inline"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group,\n .custom-select {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n\n .custom-control {\n align-items: center;\n justify-content: center;\n }\n .custom-control-label {\n margin-bottom: 0;\n }\n }\n}\n',"// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n @if length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-prefers-reduced-motion-media-query and nth($transition, 1) != null and nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n",'// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit\'s default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus($ignore-warning: false) {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($input-box-shadow, $input-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $input-focus-box-shadow;\n }\n }\n @include deprecate("The `form-control-focus()` mixin", "v4.4.0", "v5", $ignore-warning);\n}\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == "valid" or $state == "invalid") {\n .was-validated #{if(&, "&", "")}:#{$state},\n #{if(&, "&", "")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, "&", "")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-yiq($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n\n // See https://github.com/twbs/bootstrap/pull/31557\n // Align tooltip to form elements\n .form-row > .col > &,\n .form-row > [class*="col-"] > & {\n left: $form-grid-gutter-width * .5;\n }\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner !important; // stylelint-disable-line declaration-no-important\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n select.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-padding-x * 4 !important; // stylelint-disable-line declaration-no-important\n background-position: right $input-padding-x * 2 center;\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .custom-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $custom-select-feedback-icon-padding-right !important; // stylelint-disable-line declaration-no-important\n background: $custom-select-background, $custom-select-bg escape-svg($icon) $custom-select-feedback-icon-position / $custom-select-feedback-icon-size no-repeat;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n ~ .form-check-label {\n color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .custom-control-input {\n @include form-validation-state-selector($state) {\n ~ .custom-control-label {\n color: $color;\n\n &::before {\n border-color: $color;\n }\n }\n\n &:checked {\n ~ .custom-control-label::before {\n border-color: lighten($color, 10%);\n @include gradient-bg(lighten($color, 10%));\n }\n }\n\n &:focus {\n ~ .custom-control-label::before {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n &:not(:checked) ~ .custom-control-label::before {\n border-color: $color;\n }\n }\n }\n }\n\n // custom file\n .custom-file-input {\n @include form-validation-state-selector($state) {\n ~ .custom-file-label {\n border-color: $color;\n }\n\n &:focus {\n ~ .custom-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n',"// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n",'// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n color: $body-color;\n text-align: center;\n text-decoration: if($link-decoration == none, null, none);\n white-space: $btn-white-space;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius);\n @include transition($btn-transition);\n\n @include hover() {\n color: $body-color;\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n &:not(:disabled):not(.disabled) {\n cursor: if($enable-pointer-cursor-for-buttons, pointer, null);\n\n &:active,\n &.active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $link-color;\n text-decoration: $link-decoration;\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n pointer-events: none;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n\n// Specificity overrides\ninput[type="submit"],\ninput[type="reset"],\ninput[type="button"] {\n &.btn-block {\n width: 100%;\n }\n}\n',"// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n @include hover() {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n @if $enable-shadows {\n @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows and $btn-active-box-shadow != none {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n border-color: $color;\n\n @include hover() {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows and $btn-active-box-shadow != none {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n\n &.width {\n width: 0;\n height: auto;\n @include transition($transition-collapse-width);\n }\n}\n",'// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on "open" of the menu\n float: left;\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y $dropdown-padding-x;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you\'re set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When Popper is enabled, reset the basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^="top"],\n &[x-placement^="right"],\n &[x-placement^="bottom"],\n &[x-placement^="left"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y, true);\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there\'s no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n @include hover-focus() {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they\'re enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-header-padding;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n','@mixin caret-down() {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up() {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right() {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left() {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: "";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: "";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n','// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y, $ignore-warning: false) {\n height: 0;\n margin: $margin-y 0;\n overflow: hidden;\n border-top: 1px solid $color;\n @include deprecate("The `nav-divider()` mixin", "v4.4.0", "v5", $ignore-warning);\n}\n','// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n\n // Bring the hover, focused, and "active" buttons to the front to overlay\n // the borders properly\n @include hover() {\n z-index: 1;\n }\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser\'s form validation feedback, powered by the\n// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type="radio"],\n input[type="checkbox"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n','// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-control-plaintext,\n > .custom-select,\n > .custom-file {\n position: relative; // For focus state\'s z-index\n flex: 1 1 auto;\n width: 1%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n margin-bottom: 0;\n\n + .form-control,\n + .custom-select,\n + .custom-file {\n margin-left: -$input-border-width;\n }\n }\n\n // Bring the "active" form control to the top of surrounding elements\n > .form-control:focus,\n > .custom-select:focus,\n > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .custom-file .custom-file-input:focus {\n z-index: 4;\n }\n\n > .form-control,\n > .custom-select {\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .custom-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .custom-file-label,\n &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }\n &:not(:first-child) .custom-file-label { @include border-left-radius(0); }\n }\n\n &:not(.has-validation) {\n > .form-control:not(:last-child),\n > .custom-select:not(:last-child),\n > .custom-file:not(:last-child) .custom-file-label,\n > .custom-file:not(:last-child) .custom-file-label::after {\n @include border-right-radius(0);\n }\n }\n\n &.has-validation {\n > .form-control:nth-last-child(n + 3),\n > .custom-select:nth-last-child(n + 3),\n > .custom-file:nth-last-child(n + 3) .custom-file-label,\n > .custom-file:nth-last-child(n + 3) .custom-file-label::after {\n @include border-right-radius(0);\n }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn\'t needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type="radio"],\n input[type="checkbox"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: $custom-select-padding-x + $custom-select-indicator-padding;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They\'re more specific than we\'d like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,\n.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,\n.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn,\n.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n @include border-right-radius(0);\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n @include border-left-radius(0);\n}\n','// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n position: relative;\n z-index: 1;\n display: block;\n min-height: $font-size-base * $line-height-base;\n padding-left: $custom-control-gutter + $custom-control-indicator-size;\n print-color-adjust: exact; // Keep themed appearance for print\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1; // Put the input behind the label so it doesn\'t overlay text\n width: $custom-control-indicator-size;\n height: ($font-size-base * $line-height-base + $custom-control-indicator-size) * .5;\n opacity: 0;\n\n &:checked ~ .custom-control-label::before {\n color: $custom-control-indicator-checked-color;\n border-color: $custom-control-indicator-checked-border-color;\n @include gradient-bg($custom-control-indicator-checked-bg);\n @include box-shadow($custom-control-indicator-checked-box-shadow);\n }\n\n &:focus ~ .custom-control-label::before {\n // the mixin is not used here to make sure there is feedback\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $custom-control-indicator-focus-box-shadow;\n } @else {\n box-shadow: $custom-control-indicator-focus-box-shadow;\n }\n }\n\n &:focus:not(:checked) ~ .custom-control-label::before {\n border-color: $custom-control-indicator-focus-border-color;\n }\n\n &:not(:disabled):active ~ .custom-control-label::before {\n color: $custom-control-indicator-active-color;\n background-color: $custom-control-indicator-active-bg;\n border-color: $custom-control-indicator-active-border-color;\n @include box-shadow($custom-control-indicator-active-box-shadow);\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .custom-control-label {\n color: $custom-control-label-disabled-color;\n\n &::before {\n background-color: $custom-control-indicator-disabled-bg;\n }\n }\n }\n}\n\n// Custom control indicators\n//\n// Build the custom controls out of pseudo-elements.\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n color: $custom-control-label-color;\n vertical-align: top;\n cursor: $custom-control-cursor;\n\n // Background-color and (when enabled) gradient\n &::before {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) * .5;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n pointer-events: none;\n content: "";\n background-color: $custom-control-indicator-bg;\n border: $custom-control-indicator-border-width solid $custom-control-indicator-border-color;\n @include box-shadow($custom-control-indicator-box-shadow);\n }\n\n // Foreground (icon)\n &::after {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) * .5;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n content: "";\n background: 50% / #{$custom-control-indicator-bg-size} no-repeat;\n }\n}\n\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n .custom-control-label::before {\n @include border-radius($custom-checkbox-indicator-border-radius);\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-checked);\n }\n }\n\n .custom-control-input:indeterminate ~ .custom-control-label {\n &::before {\n border-color: $custom-checkbox-indicator-indeterminate-border-color;\n @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);\n @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n }\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-indeterminate);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n &:indeterminate ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n .custom-control-label::before {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $custom-radio-indicator-border-radius;\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-radio-indicator-icon-checked);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n }\n}\n\n\n// switches\n//\n// Tweak a few things for switches\n\n.custom-switch {\n padding-left: $custom-switch-width + $custom-control-gutter;\n\n .custom-control-label {\n &::before {\n left: -($custom-switch-width + $custom-control-gutter);\n width: $custom-switch-width;\n pointer-events: all;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $custom-switch-indicator-border-radius;\n }\n\n &::after {\n top: add(($font-size-base * $line-height-base - $custom-control-indicator-size) * .5, $custom-control-indicator-border-width * 2);\n left: add(-($custom-switch-width + $custom-control-gutter), $custom-control-indicator-border-width * 2);\n width: $custom-switch-indicator-size;\n height: $custom-switch-indicator-size;\n background-color: $custom-control-indicator-border-color;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $custom-switch-indicator-border-radius;\n @include transition(transform .15s ease-in-out, $custom-forms-transition);\n }\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-color: $custom-control-indicator-bg;\n transform: translateX($custom-switch-width - $custom-control-indicator-size);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n }\n}\n\n\n// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n//\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: $custom-select-height;\n padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;\n font-family: $custom-select-font-family;\n @include font-size($custom-select-font-size);\n font-weight: $custom-select-font-weight;\n line-height: $custom-select-line-height;\n color: $custom-select-color;\n vertical-align: middle;\n background: $custom-select-bg $custom-select-background;\n border: $custom-select-border-width solid $custom-select-border-color;\n @include border-radius($custom-select-border-radius, 0);\n @include box-shadow($custom-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $custom-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($custom-select-box-shadow, $custom-select-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $custom-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size="1"]) {\n height: auto;\n padding-right: $custom-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $custom-select-disabled-color;\n background-color: $custom-select-disabled-bg;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n display: none;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $custom-select-color;\n }\n}\n\n.custom-select-sm {\n height: $custom-select-height-sm;\n padding-top: $custom-select-padding-y-sm;\n padding-bottom: $custom-select-padding-y-sm;\n padding-left: $custom-select-padding-x-sm;\n @include font-size($custom-select-font-size-sm);\n}\n\n.custom-select-lg {\n height: $custom-select-height-lg;\n padding-top: $custom-select-padding-y-lg;\n padding-bottom: $custom-select-padding-y-lg;\n padding-left: $custom-select-padding-x-lg;\n @include font-size($custom-select-font-size-lg);\n}\n\n\n// File\n//\n// Custom file input.\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: $custom-file-height;\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: $custom-file-height;\n margin: 0;\n overflow: hidden;\n opacity: 0;\n\n &:focus ~ .custom-file-label {\n border-color: $custom-file-focus-border-color;\n box-shadow: $custom-file-focus-box-shadow;\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .custom-file-label,\n &:disabled ~ .custom-file-label {\n background-color: $custom-file-disabled-bg;\n }\n\n @each $lang, $value in $custom-file-text {\n &:lang(#{$lang}) ~ .custom-file-label::after {\n content: $value;\n }\n }\n\n ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n }\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: $custom-file-height;\n padding: $custom-file-padding-y $custom-file-padding-x;\n overflow: hidden;\n font-family: $custom-file-font-family;\n font-weight: $custom-file-font-weight;\n line-height: $custom-file-line-height;\n color: $custom-file-color;\n background-color: $custom-file-bg;\n border: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius($custom-file-border-radius);\n @include box-shadow($custom-file-box-shadow);\n\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: $custom-file-height-inner;\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-button-color;\n content: "Browse";\n @include gradient-bg($custom-file-button-bg);\n border-left: inherit;\n @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);\n }\n}\n\n// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.custom-range {\n width: 100%;\n height: add($custom-range-thumb-height, $custom-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: 0;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: ($custom-range-track-height - $custom-range-thumb-height) * .5; // Webkit specific\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent; // Why?\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent;\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $custom-range-thumb-height * .5;\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &:disabled {\n &::-webkit-slider-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n\n &::-webkit-slider-runnable-track {\n cursor: default;\n }\n\n &::-moz-range-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n\n &::-moz-range-track {\n cursor: default;\n }\n\n &::-ms-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n }\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n @include transition($custom-forms-transition);\n}\n',"// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n text-decoration: if($link-decoration == none, null, none);\n\n @include hover-focus() {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-link {\n margin-bottom: -$nav-tabs-border-width;\n background-color: transparent;\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n @include hover-focus() {\n // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link\n isolation: isolate;\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n background: none;\n border: 0;\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n > .nav-link,\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n > .nav-link,\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n %container-flex-properties {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n\n .container,\n .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n @include font-size($navbar-brand-font-size);\n line-height: inherit;\n white-space: nowrap;\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n float: none;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: 50% / 100% 100% no-repeat;\n}\n\n.navbar-nav-scroll {\n max-height: $navbar-nav-scroll-max-height;\n overflow-y: auto;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n %container-navbar-expand-#{$breakpoint} {\n padding-right: 0;\n padding-left: 0;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n %container-nesting-#{$breakpoint} {\n flex-wrap: nowrap;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-nesting-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-nesting-#{$breakpoint};\n }\n }\n\n .navbar-nav-scroll {\n overflow: visible;\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n @include hover-focus() {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n @include hover-focus() {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n a {\n color: $navbar-light-active-color;\n\n @include hover-focus() {\n color: $navbar-light-active-color;\n }\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n @include hover-focus() {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n @include hover-focus() {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a {\n color: $navbar-dark-active-color;\n\n @include hover-focus() {\n color: $navbar-dark-active-color;\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n\n &:first-child {\n border-top-width: 0;\n @include border-top-radius($card-inner-border-radius);\n }\n\n &:last-child {\n border-bottom-width: 0;\n @include border-bottom-radius($card-inner-border-radius);\n }\n }\n\n // Due to specificity of the above selector (`.card > .list-group`), we must\n // use a child selector here to prevent double borders.\n > .card-header + .list-group,\n > .list-group + .card-footer {\n border-top: 0;\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n // Workaround for the image size bug in IE\n // See: https://github.com/twbs/bootstrap/pull/28855\n min-height: 1px;\n padding: $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-spacer-y * .5;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n @include hover() {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-spacer-x * .5;\n margin-bottom: -$card-spacer-y;\n margin-left: -$card-spacer-x * .5;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -$card-spacer-x * .5;\n margin-left: -$card-spacer-x * .5;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n @include border-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Columns\n//\n\n.card-columns {\n .card {\n margin-bottom: $card-columns-margin;\n }\n\n @include media-breakpoint-up(sm) {\n column-count: $card-columns-count;\n column-gap: $card-columns-gap;\n orphans: 1;\n widows: 1;\n\n .card {\n display: inline-block; // Don't let them vertically span multiple columns\n width: 100%; // Don't let their width change\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n overflow-anchor: none;\n\n > .card {\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:not(:first-of-type) {\n @include border-top-radius(0);\n }\n\n > .card-header {\n @include border-radius(0);\n margin-bottom: -$card-border-width;\n }\n }\n}\n",'.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: "/")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding;\n\n &::before {\n float: left; // Suppress inline spacings and underlining of the separator\n padding-right: $breadcrumb-item-padding;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n','.pagination {\n display: flex;\n @include list-unstyled();\n @include border-radius();\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: $pagination-padding-y $pagination-padding-x;\n margin-left: -$pagination-border-width;\n line-height: $pagination-line-height;\n color: $pagination-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:first-child {\n .page-link {\n margin-left: 0;\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the "hand" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $pagination-border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $pagination-border-radius-sm);\n}\n',"// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n }\n\n .page-item {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n @include transition($badge-transition);\n\n @at-root a#{&} {\n @include hover-focus() {\n text-decoration: none;\n }\n }\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n padding-right: $badge-pill-padding-x;\n padding-left: $badge-pill-padding-x;\n @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n .badge-#{$color} {\n @include badge-variant($value);\n }\n}\n","@mixin badge-variant($bg) {\n color: color-yiq($bg);\n background-color: $bg;\n\n @at-root a#{&} {\n @include hover-focus() {\n color: color-yiq($bg);\n background-color: darken($bg, 10%);\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5);\n }\n }\n}\n",".jumbotron {\n padding: $jumbotron-padding ($jumbotron-padding * .5);\n margin-bottom: $jumbotron-padding;\n color: $jumbotron-color;\n background-color: $jumbotron-bg;\n @include border-radius($border-radius-lg);\n\n @include media-breakpoint-up(sm) {\n padding: ($jumbotron-padding * 2) $jumbotron-padding;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n @include border-radius(0);\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n from { background-position: $progress-height 0; }\n to { background-position: 0 0; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n line-height: 0;\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: $progress-bar-animation-timing progress-bar-stripes;\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n",".media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n @include border-radius($list-group-border-radius);\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n @include hover-focus() {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n color: $list-group-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius(inherit);\n }\n\n &:last-child {\n @include border-bottom-radius(inherit);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n > .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n @include border-radius(0);\n\n > .list-group-item {\n border-width: 0 0 $list-group-border-width;\n\n &:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n @include hover-focus() {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",'.close {\n float: right;\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>\'s hover style\n @include hover() {\n color: $close-color;\n text-decoration: none;\n }\n\n &:not(:disabled):not(.disabled) {\n @include hover-focus() {\n opacity: .75;\n }\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href="#"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\n// Future-proof disabling of clicks on `<a>` elements\n\n// stylelint-disable-next-line selector-no-qualifying-type\na.close.disabled {\n pointer-events: none;\n}\n',".toast {\n // Prevents from shrinking in IE11, when in a flex container\n // See https://github.com/twbs/bootstrap/issues/28341\n flex-basis: $toast-max-width;\n max-width: $toast-max-width;\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n @include border-top-radius(subtract($toast-border-radius, $toast-border-width));\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n display: flex; // IE10/11\n max-height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin * 2); // IE10/11\n overflow: hidden;\n }\n\n .modal-header,\n .modal-footer {\n flex-shrink: 0;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n\n // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)\n &::before {\n display: block; // IE10\n height: subtract(100vh, $modal-dialog-margin * 2);\n height: min-content; // Reset height to 0 except on IE\n content: \"\";\n }\n\n // Ensure `.modal-body` shows scrollbar (IE10/11)\n &.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n\n .modal-content {\n max-height: none;\n }\n\n &::before {\n content: none;\n }\n }\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between * .5;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n > * {\n margin: $modal-footer-margin-between * .5;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n max-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n }\n }\n\n .modal-dialog-centered {\n min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n &::before {\n height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n height: min-content;\n }\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n",'// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don\'t overflow the tooltip\'s bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: "";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width * .5) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width * .5) $tooltip-arrow-height ($tooltip-arrow-width * .5) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width * .5) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width * .5) 0 ($tooltip-arrow-width * .5) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^="top"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^="right"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^="bottom"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^="left"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n',"@mixin reset-text() {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n}\n",'.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don\'t overflow the popover\'s bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: "";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width * .5) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width * .5) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover\'s rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header\'s border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width * .5;\n content: "";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover\'s rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width * .5) 0 ($popover-arrow-width * .5) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width * .5) 0 ($popover-arrow-width * .5) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^="top"] {\n @extend .bs-popover-top;\n }\n &[x-placement^="right"] {\n @extend .bs-popover-right;\n }\n &[x-placement^="bottom"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^="left"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n',"// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n padding: 0;\n color: $carousel-control-color;\n text-align: center;\n background: none;\n border: 0;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n @include hover-focus() {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: 50% / 100% 100% no-repeat;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: .5;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: 1;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) * .5;\n bottom: 20px;\n left: (100% - $carousel-caption-width) * .5;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n",'@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: "";\n }\n}\n',"//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: $spinner-vertical-align;\n border: $spinner-border-width solid currentcolor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n animation: .75s linear infinite spinner-border;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: $spinner-vertical-align;\n background-color: currentcolor;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n opacity: 0;\n animation: .75s linear infinite spinner-grow;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n\n@if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n animation-duration: 1.5s;\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n.align-baseline { vertical-align: baseline !important; } // Browser default\n.align-top { vertical-align: top !important; }\n.align-middle { vertical-align: middle !important; }\n.align-bottom { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top { vertical-align: text-top !important; }\n",'// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n background-color: $color !important;\n }\n a#{$parent},\n button#{$parent} {\n @include hover-focus() {\n background-color: darken($color, 10%) !important;\n }\n }\n @include deprecate("The `bg-variant` mixin", "v4.4.0", "v5", $ignore-warning);\n}\n\n@mixin bg-gradient-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n }\n @include deprecate("The `bg-gradient-variant` mixin", "v4.5.0", "v5", $ignore-warning);\n}\n','// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n @include bg-variant(".bg-#{$color}", $value, true);\n}\n\n@if $enable-gradients {\n @each $color, $value in $theme-colors {\n @include bg-gradient-variant(".bg-gradient-#{$color}", $value, true);\n }\n}\n\n.bg-white {\n background-color: $white !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n',"// stylelint-disable property-disallowed-list, declaration-no-important\n\n//\n// Border\n//\n\n.border { border: $border-width solid $border-color !important; }\n.border-top { border-top: $border-width solid $border-color !important; }\n.border-right { border-right: $border-width solid $border-color !important; }\n.border-bottom { border-bottom: $border-width solid $border-color !important; }\n.border-left { border-left: $border-width solid $border-color !important; }\n\n.border-0 { border: 0 !important; }\n.border-top-0 { border-top: 0 !important; }\n.border-right-0 { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0 { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n .border-#{$color} {\n border-color: $value !important;\n }\n}\n\n.border-white {\n border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded-sm {\n border-radius: $border-radius-sm !important;\n}\n\n.rounded {\n border-radius: $border-radius !important;\n}\n\n.rounded-top {\n border-top-left-radius: $border-radius !important;\n border-top-right-radius: $border-radius !important;\n}\n\n.rounded-right {\n border-top-right-radius: $border-radius !important;\n border-bottom-right-radius: $border-radius !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-left {\n border-top-left-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-lg {\n border-radius: $border-radius-lg !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: $rounded-pill !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n",'// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n\n &::before {\n display: block;\n content: "";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n@each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios {\n $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1);\n $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2);\n\n .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} {\n &::before {\n padding-top: percentage(divide($embed-responsive-aspect-ratio-y, $embed-responsive-aspect-ratio-x));\n }\n }\n}\n',"// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .float#{$infix}-left { float: left !important; }\n .float#{$infix}-right { float: right !important; }\n .float#{$infix}-none { float: none !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $value in $user-selects {\n .user-select-#{$value} { user-select: $value !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Common values\n@each $position in $positions {\n .position-#{$position} { position: $position !important; }\n}\n\n// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.sticky-top {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only {\n @include sr-only();\n}\n\n.sr-only-focusable {\n @include sr-only-focusable();\n}\n",'// Only display content to screen readers\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only() {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it\'s focused.\n//\n// Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable() {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n }\n}\n',"// stylelint-disable declaration-no-important\n\n.shadow-sm { box-shadow: $box-shadow-sm !important; }\n.shadow { box-shadow: $box-shadow !important; }\n.shadow-lg { box-shadow: $box-shadow-lg !important; }\n.shadow-none { box-shadow: none !important; }\n","// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n @each $size, $length in $sizes {\n .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n\n// Viewport additional helpers\n\n.min-vw-100 { min-width: 100vw !important; }\n.min-vh-100 { min-height: 100vh !important; }\n\n.vw-100 { width: 100vw !important; }\n.vh-100 { height: 100vh !important; }\n",'// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if "#{$size}" != "0" {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n','//\n// Stretched link\n//\n\n.stretched-link {\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n // Just in case `pointer-events: none` is set on a parent\n pointer-events: auto;\n content: "";\n // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color\n background-color: rgba(0, 0, 0, 0);\n }\n}\n','// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n.text-monospace { font-family: $font-family-monospace !important; }\n\n// Alignment\n\n.text-justify { text-align: justify !important; }\n.text-wrap { white-space: normal !important; }\n.text-nowrap { white-space: nowrap !important; }\n.text-truncate { @include text-truncate(); }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .text#{$infix}-left { text-align: left !important; }\n .text#{$infix}-right { text-align: right !important; }\n .text#{$infix}-center { text-align: center !important; }\n }\n}\n\n// Transformation\n\n.text-lowercase { text-transform: lowercase !important; }\n.text-uppercase { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light { font-weight: $font-weight-light !important; }\n.font-weight-lighter { font-weight: $font-weight-lighter !important; }\n.font-weight-normal { font-weight: $font-weight-normal !important; }\n.font-weight-bold { font-weight: $font-weight-bold !important; }\n.font-weight-bolder { font-weight: $font-weight-bolder !important; }\n.font-italic { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: $white !important; }\n\n@each $color, $value in $theme-colors {\n @include text-emphasis-variant(".text-#{$color}", $value, true);\n}\n\n.text-body { color: $body-color !important; }\n.text-muted { color: $text-muted !important; }\n\n.text-black-50 { color: rgba($black, .5) !important; }\n.text-white-50 { color: rgba($white, .5) !important; }\n\n// Misc\n\n.text-hide {\n @include text-hide($ignore-warning: true);\n}\n\n.text-decoration-none { text-decoration: none !important; }\n\n.text-break {\n word-break: break-word !important; // Deprecated, but avoids issues with flex containers\n word-wrap: break-word !important; // Used instead of `overflow-wrap` for IE & Edge Legacy\n}\n\n// Reset\n\n.text-reset { color: inherit !important; }\n',"// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n",'// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n color: $color !important;\n }\n @if $emphasized-link-hover-darken-percentage != 0 {\n a#{$parent} {\n @include hover-focus() {\n color: darken($color, $emphasized-link-hover-darken-percentage) !important;\n }\n }\n }\n @include deprecate("`text-emphasis-variant()`", "v4.4.0", "v5", $ignore-warning);\n}\n','// CSS image replacement\n@mixin text-hide($ignore-warning: false) {\n // stylelint-disable-next-line font-family-no-missing-generic-family-keyword\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n\n @include deprecate("`text-hide()`", "v4.1.0", "v5", $ignore-warning);\n}\n',"// stylelint-disable declaration-no-important\n\n//\n// Visibility utilities\n//\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n",'// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/main.css/blob/master/src/_print.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// https://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n @media print {\n *,\n *::before,\n *::after {\n // Bootstrap specific; comment out `color` and `background`\n //color: $black !important; // Black prints faster\n text-shadow: none !important;\n //background: transparent !important;\n box-shadow: none !important;\n }\n\n a {\n &:not(.btn) {\n text-decoration: underline;\n }\n }\n\n // Bootstrap specific; comment the following selector out\n //a[href]::after {\n // content: " (" attr(href) ")";\n //}\n\n abbr[title]::after {\n content: " (" attr(title) ")";\n }\n\n // Bootstrap specific; comment the following selector out\n //\n // Don\'t show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n //\n\n //a[href^="#"]::after,\n //a[href^="javascript:"]::after {\n // content: "";\n //}\n\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px\n page-break-inside: avoid;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Specify a size and min-width to make printing closer across browsers.\n // We don\'t set margin here because it breaks `size` in Chrome. We also\n // don\'t use `!important` on `size` as it breaks in Chrome.\n @page {\n size: $print-page-size;\n }\n body {\n min-width: $print-body-min-width !important;\n }\n .container {\n min-width: $print-body-min-width !important;\n }\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .badge {\n border: $border-width solid $black;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: $white !important;\n }\n }\n\n .table-bordered {\n th,\n td {\n border: 1px solid $gray-300 !important;\n }\n }\n\n .table-dark {\n color: inherit;\n\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $table-border-color;\n }\n }\n\n .table .thead-dark th {\n color: inherit;\n border-color: $table-border-color;\n }\n\n // Bootstrap specific changes end\n }\n}\n',"body {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n.font-xs {\n font-size: 0.75rem !important;\n}\n\n.font-sm {\n font-size: 0.85rem !important;\n}\n\n.font-lg {\n font-size: 1rem !important;\n}\n\n.font-xl {\n font-size: 1.25rem !important;\n}\n\n.font-2xl {\n font-size: 1.5rem !important;\n}\n\n.font-3xl {\n font-size: 1.75rem !important;\n}\n\n.font-4xl {\n font-size: 2rem !important;\n}\n\n.font-5xl {\n font-size: 2.5rem !important;\n}\n","// scss-lint:disable all\n.animated {\n animation-duration: 1s;\n // animation-fill-mode: both;\n}\n\n.animated.infinite {\n animation-iteration-count: infinite;\n}\n\n.animated.hinge {\n animation-duration: 2s;\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n.fadeIn {\n animation-name: fadeIn;\n}\n",".aside-menu {\n z-index: $zindex-sticky - 1;\n width: $aside-menu-width;\n color: $aside-menu-color;\n background: $aside-menu-bg;\n @include borders($aside-menu-borders);\n\n .nav-tabs {\n border-color: $border-color;\n .nav-link {\n padding: $aside-menu-nav-padding-y $aside-menu-nav-padding-x;\n color: $body-color;\n border-top: 0;\n &.active {\n color: theme-color('primary');\n border-right-color: $border-color;\n border-left-color: $border-color;\n }\n }\n .nav-item:first-child {\n .nav-link {\n border-left: 0;\n }\n }\n }\n\n .tab-content {\n position: relative;\n overflow-x: hidden;\n overflow-y: auto;\n border: 0;\n border-top: 1px solid $border-color;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n\n &::-webkit-scrollbar {\n width: 10px;\n margin-left: -10px;\n -webkit-appearance: none;\n }\n\n // &::-webkit-scrollbar-button { }\n\n &::-webkit-scrollbar-track {\n background-color: lighten($aside-menu-bg, 5%);\n border-right: 1px solid darken($aside-menu-bg, 5%);\n border-left: 1px solid darken($aside-menu-bg, 5%);\n }\n\n // &::-webkit-scrollbar-track-piece { }\n\n &::-webkit-scrollbar-thumb {\n height: 50px;\n background-color: darken($aside-menu-bg, 10%);\n background-clip: content-box;\n border-color: transparent;\n border-style: solid;\n border-width: 1px 2px;\n }\n\n .tab-pane {\n padding: 0;\n }\n }\n}\n","// scss-lint:disable all\n// Core Admin Variables\n\n$enable-sidebar-nav-rounded: false !default;\n\n$border-color: $gray-200 !default;\n$layout-transition-speed: 0.25s !default;\n\n// Social Colors\n\n$facebook: #3b5998 !default;\n$twitter: #00aced !default;\n$linkedin: #4875b4 !default;\n$google-plus: #d34836 !default;\n$flickr: #ff0084 !default;\n$tumblr: #32506d !default;\n$xing: #026466 !default;\n$github: #4183c4 !default;\n$html5: #e34f26 !default;\n$openid: #f78c40 !default;\n$stack-overflow: #fe7a15 !default;\n$youtube: #b00 !default;\n$css3: #0170ba !default;\n$dribbble: #ea4c89 !default;\n$google-plus: #bb4b39 !default;\n$instagram: #517fa4 !default;\n$pinterest: #cb2027 !default;\n$vk: #45668e !default;\n$yahoo: #400191 !default;\n$behance: #1769ff !default;\n$dropbox: #007ee5 !default;\n$reddit: #ff4500 !default;\n$spotify: #7ab800 !default;\n$vine: #00bf8f !default;\n$foursquare: #1073af !default;\n$vimeo: #aad450 !default;\n\n// Navbar\n\n$navbar-height: 55px !default;\n$navbar-bg: #fff !default;\n$navbar-border: (\n bottom: (\n size: 1px,\n style: solid,\n color: $border-color\n )\n) !default;\n$navbar-brand-width: 130px !default;\n$navbar-brand-bg: #fff !default;\n$navbar-brand-logo: url('../public_src/img/signal-k-logo-image-text.svg') !default;\n$navbar-brand-logo-size: 110px auto !default;\n$navbar-brand-border: (\n bottom: (\n size: 1px,\n style: solid,\n color: $border-color\n )\n) !default;\n\n$navbar-brand-minimized-width: 50px !default;\n$navbar-brand-minimized-bg: $navbar-brand-bg !default;\n$navbar-brand-minimized-logo: url('../public_src/img/signal-k-logo-image.svg') !default;\n$navbar-brand-minimized-logo-size: 30px !default;\n$navbar-brand-minimized-border: $navbar-brand-border !default;\n\n$navbar-color: $gray-600 !default;\n$navbar-hover-color: $gray-800 !default;\n$navbar-active-color: $gray-800 !default;\n$navbar-disabled-color: $gray-300 !default;\n\n$navbar-toggler-icon: str-replace(\n url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-color}' stroke-width='2.25' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"),\n '#',\n '%23'\n) !default;\n$navbar-toggler-icon-hover: str-replace(\n url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-hover-color}' stroke-width='2.25' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"),\n '#',\n '%23'\n) !default;\n\n// Sidebar\n\n$sidebar-width: 200px !default;\n$sidebar-padding: 0 !default;\n$sidebar-minimized-width: 50px !default;\n$sidebar-minimized-height: $sidebar-minimized-width !default;\n$sidebar-compact-width: 150px !default;\n$sidebar-compact-height: $sidebar-compact-width !default;\n$sidebar-color: #fff !default;\n$sidebar-bg: $gray-800 !default;\n$sidebar-borders: none !default;\n$mobile-sidebar-width: 220px !default;\n\n// Sidebar Header\n\n$sidebar-header-height: auto !default;\n$sidebar-header-bg: rgba(0, 0, 0, 0.2) !default;\n$sidebar-header-padding-y: 0.75rem !default;\n$sidebar-header-padding-x: 1rem !default;\n\n// Sidebar Form\n\n$sidebar-form-border: 0 !default;\n$sidebar-form-bg: darken($sidebar-bg, 10%) !default;\n$sidebar-form-color: #fff !default;\n$sidebar-form-placeholder-color: rgba(255, 255, 255, 0.7) !default;\n\n// Sidebar Navigation\n\n$sidebar-nav-color: #fff !default;\n$sidebar-nav-title-padding-y: 0.75rem !default;\n$sidebar-nav-title-padding-x: 1rem !default;\n$sidebar-nav-title-color: $gray-200 !default;\n$sidebar-nav-link-padding-y: 0.75rem !default;\n$sidebar-nav-link-padding-x: 1rem !default;\n$sidebar-nav-link-color: #fff !default;\n$sidebar-nav-link-bg: transparent !default;\n$sidebar-nav-link-icon-color: $gray-600 !default;\n$sidebar-nav-link-borders: 0 !default;\n\n$sidebar-nav-link-hover-color: #fff !default;\n$sidebar-nav-link-hover-bg: theme-color('primary') !default;\n$sidebar-nav-link-hover-icon-color: #fff !default;\n$sidebar-nav-link-hover-borders: 0 !default;\n\n$sidebar-nav-link-active-color: #fff !default;\n$sidebar-nav-link-active-bg: lighten($sidebar-bg, 5%) !default;\n$sidebar-nav-link-active-icon-color: theme-color('primary') !default;\n$sidebar-nav-link-active-borders: 0 !default;\n\n$sidebar-nav-dropdown-color: #fff !default;\n$sidebar-nav-dropdown-bg: rgba(0, 0, 0, 0.2) !default;\n$sidebar-nav-dropdown-borders: 0 !default;\n$sidebar-nav-dropdown-indicator-color: $gray-600 !default;\n$sidebar-nav-dropdown-indicator: str-replace(\n url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='#{$sidebar-nav-dropdown-indicator-color}' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\"),\n '#',\n '%23'\n) !default;\n$sidebar-nav-dropdown-indicator-hover-color: $sidebar-nav-link-hover-color;\n$sidebar-nav-dropdown-indicator-hover: str-replace(\n url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='#{$sidebar-nav-dropdown-indicator-hover-color}' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\"),\n '#',\n '%23'\n) !default;\n\n// Sidebar Footer\n\n$sidebar-footer-height: auto !default;\n$sidebar-footer-bg: rgba(0, 0, 0, 0.2) !default;\n$sidebar-footer-padding-y: 0.75rem !default;\n$sidebar-footer-padding-x: 1rem !default;\n$sidebar-footer-borders: 0 !default;\n\n// Sidebar Minimizer\n\n$sidebar-minimizer-height: 50px !default;\n$sidebar-minimizer-bg: rgba(0, 0, 0, 0.2) !default;\n$sidebar-minimizer-borders: 0 !default;\n$sidebar-minimizer-indicator-color: $gray-600 !default;\n$sidebar-minimizer-indicator: str-replace(\n url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='#{$sidebar-minimizer-indicator-color}' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\"),\n '#',\n '%23'\n) !default;\n$sidebar-minimizer-hover-bg: rgba(0, 0, 0, 0.3) !default;\n$sidebar-minimizer-hover-indicator-color: $sidebar-nav-link-hover-color !default;\n$sidebar-minimizer-hover-indicator: str-replace(\n url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='#{$sidebar-minimizer-hover-indicator-color}' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\"),\n '#',\n '%23'\n) !default;\n\n// Top Navigation\n\n$top-nav-bg: #fff !default;\n$top-nav-color: $body-color !default;\n$top-nav-borders: (\n bottom: (\n size: 1px,\n style: solid,\n color: $border-color\n )\n) !default;\n$top-nav-ul-borders: (\n all: (\n size: 1px,\n style: solid,\n color: $border-color\n )\n) !default;\n\n$top-nav-hover-color: #fff !default;\n$top-nav-hover-bg: theme-color('primary') !default;\n$top-nav-active-color: #fff !default;\n$top-nav-active-bg: theme-color('primary') !default;\n$top-nav-height: $navbar-height - 15px !default;\n\n// Breadcrumb\n$breadcrumb-borders: (\n bottom: (\n size: 1px,\n style: solid,\n color: $border-color\n )\n) !default;\n\n// Aside\n\n$aside-menu-width: 250px !default;\n$aside-menu-color: $gray-800 !default;\n$aside-menu-bg: #fff !default;\n$aside-menu-borders: (\n left: (\n size: 1px,\n style: solid,\n color: $border-color\n )\n) !default;\n\n$aside-menu-nav-padding-y: 0.75rem !default;\n$aside-menu-nav-padding-x: 1rem !default;\n\n// Footer\n\n$footer-height: 50px !default;\n$footer-bg: $gray-100 !default;\n$footer-color: $body-color !default;\n$footer-borders: (\n top: (\n size: 1px,\n style: solid,\n color: $border-color\n )\n) !default;\n\n// Cards\n\n$card-icon-bg: transparent !default;\n$card-icon-color: $body-color !default;\n","@mixin button-social-size(\n $padding-y,\n $padding-x,\n $font-size,\n $line-height,\n $border-radius\n) {\n padding: $padding-y $padding-x;\n font-size: $font-size;\n line-height: $line-height;\n border: 0;\n @include border-radius($border-radius);\n\n &::before {\n width: ($padding-y * 2) + ($font-size * $line-height);\n height: ($padding-y * 2) + ($font-size * $line-height);\n padding: $padding-y 0;\n font-size: $font-size;\n line-height: $line-height;\n @include border-radius($border-radius);\n }\n\n span {\n margin-left: ($padding-y * 2) + ($font-size * $line-height);\n }\n\n &.icon {\n width: ($padding-y * 2) + ($font-size * $line-height);\n height: ($padding-y * 2) + ($font-size * $line-height);\n }\n}\n\n@mixin avatar($width, $status-width) {\n position: relative;\n display: inline-block;\n width: $width;\n\n .img-avatar {\n width: $width;\n height: $width;\n }\n\n .avatar-status {\n position: absolute;\n right: 0;\n bottom: 0;\n display: block;\n width: $status-width;\n height: $status-width;\n border: 1px solid #fff;\n border-radius: 50em;\n }\n}\n\n@mixin borders($borders) {\n @each $border in $borders {\n $direction: nth($border, 1);\n @if $direction == 'all' {\n $size: map-get(map-get($borders, $direction), size);\n $style: map-get(map-get($borders, $direction), style);\n $color: map-get(map-get($borders, $direction), color);\n border: $size $style $color;\n } @else if $direction == 'top' {\n $size: map-get(map-get($borders, $direction), size);\n $style: map-get(map-get($borders, $direction), style);\n $color: map-get(map-get($borders, $direction), color);\n border-top: $size $style $color;\n } @else if $direction == 'right' {\n $size: map-get(map-get($borders, $direction), size);\n $style: map-get(map-get($borders, $direction), style);\n $color: map-get(map-get($borders, $direction), color);\n border-right: $size $style $color;\n } @else if $direction == 'bottom' {\n $size: map-get(map-get($borders, $direction), size);\n $style: map-get(map-get($borders, $direction), style);\n $color: map-get(map-get($borders, $direction), color);\n border-bottom: $size $style $color;\n } @else if $direction == 'left' {\n $size: map-get(map-get($borders, $direction), size);\n $style: map-get(map-get($borders, $direction), style);\n $color: map-get(map-get($borders, $direction), color);\n border-left: $size $style $color;\n }\n }\n}\n\n@mixin sidebar-width($borders, $width) {\n $sidebar-width: $width;\n\n @each $border in $borders {\n $direction: nth($border, 1);\n @if $direction == 'all' {\n $size: map-get(map-get($borders, $direction), size);\n $sidebar-width: ($sidebar-width - (2 * $size));\n } @else if $direction == 'right' {\n $size: map-get(map-get($borders, $direction), size);\n $sidebar-width: $sidebar-width - $size;\n } @else if $direction == 'left' {\n $size: map-get(map-get($borders, $direction), size);\n $sidebar-width: $sidebar-width - $size;\n }\n width: $sidebar-width;\n }\n}\n\n@mixin bg-variant($parent, $color) {\n #{$parent} {\n @include border-radius(\n $card-border-radius-inner $card-border-radius-inner\n $card-border-radius-inner $card-border-radius-inner\n );\n color: #fff !important;\n background-color: $color !important;\n }\n a#{$parent} {\n @include hover-focus {\n background-color: darken($color, 10%);\n }\n }\n}\n\n@mixin card-accent-variant($color) {\n border-top-width: 2px;\n border-top-color: $color;\n}\n",".img-avatar {\n border-radius: 50em;\n}\n\n.avatar {\n $width: 36px;\n $status-width: 10px;\n @include avatar($width, $status-width);\n}\n\n.avatar.avatar-xs {\n $width: 20px;\n $status-width: 8px;\n @include avatar($width, $status-width);\n}\n\n.avatar.avatar-sm {\n $width: 24px;\n $status-width: 8px;\n @include avatar($width, $status-width);\n}\n\n.avatar.avatar-lg {\n $width: 72px;\n $status-width: 12px;\n @include avatar($width, $status-width);\n}\n\n.avatars-stack {\n .avatar.avatar-xs {\n margin-right: -10px;\n }\n\n // .avatar.avatar-sm {\n //\n // }\n\n .avatar {\n margin-right: -15px;\n transition:\n margin-left $layout-transition-speed,\n margin-right $layout-transition-speed;\n\n &:hover {\n margin-right: 0 !important;\n }\n }\n\n // .avatar.avatar-lg {\n //\n // }\n}\n",".badge-pill {\n border-radius: $badge-pill-border-radius;\n}\n",".breadcrumb-menu {\n margin-left: auto;\n\n &::before {\n display: none;\n }\n\n .btn-group {\n vertical-align: top;\n }\n\n .btn {\n padding: 0 $input-btn-padding-x;\n color: $text-muted;\n vertical-align: top;\n border: 0;\n\n &:hover,\n &.active {\n color: $body-color;\n background: transparent;\n }\n }\n\n .open {\n .btn {\n color: $body-color;\n background: transparent;\n }\n }\n\n .dropdown-menu {\n min-width: 180px;\n line-height: $line-height-base;\n }\n}\n",".breadcrumb {\n position: relative;\n @include borders($breadcrumb-borders);\n}\n","button {\n cursor: pointer;\n}\n\n.btn {\n .badge {\n position: absolute;\n top: 2px;\n right: 6px;\n font-size: 9px;\n }\n}\n\n.btn-transparent {\n color: #fff;\n background-color: transparent;\n border-color: transparent;\n}\n\n.btn {\n [class^='icon-'],\n [class*=' icon-'] {\n display: inline-block;\n margin-top: -2px;\n vertical-align: middle;\n }\n}\n\n.btn-facebook,\n.btn-twitter,\n.btn-linkedin,\n.btn-flickr,\n.btn-tumblr,\n.btn-xing,\n.btn-github,\n.btn-html5,\n.btn-openid,\n.btn-stack-overflow,\n.btn-youtube,\n.btn-css3,\n.btn-dribbble,\n.btn-google-plus,\n.btn-instagram,\n.btn-pinterest,\n.btn-vk,\n.btn-yahoo,\n.btn-behance,\n.btn-dropbox,\n.btn-reddit,\n.btn-spotify,\n.btn-vine,\n.btn-foursquare,\n.btn-vimeo {\n position: relative;\n overflow: hidden;\n color: #fff !important;\n text-align: center;\n\n &::before {\n position: absolute;\n top: 0;\n left: 0;\n display: block;\n font-family: 'FontAwesome';\n font-style: normal;\n font-weight: normal;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n }\n\n &:hover {\n color: #fff;\n }\n\n &.icon {\n span {\n display: none;\n }\n }\n\n &.text {\n &::before {\n display: none;\n }\n\n span {\n margin-left: 0 !important;\n }\n }\n @include button-social-size(\n $input-btn-padding-y,\n $input-btn-padding-x,\n $font-size-base,\n $line-height-base,\n $btn-border-radius\n );\n\n &.btn-lg {\n @include button-social-size(\n $input-btn-padding-y-lg,\n $input-btn-padding-x-lg,\n $font-size-lg,\n $line-height-lg,\n $btn-border-radius-lg\n );\n }\n\n &.btn-sm {\n @include button-social-size(\n $input-btn-padding-y-sm,\n $input-btn-padding-x-sm,\n $font-size-sm,\n $line-height-sm,\n $btn-border-radius-sm\n );\n }\n}\n\n.btn-facebook {\n $color: $facebook;\n\n background: $color;\n &::before {\n content: '\\f09a';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-twitter {\n $color: $twitter;\n\n background: $color;\n &::before {\n content: '\\f099';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-linkedin {\n $color: $linkedin;\n\n background: $color;\n &::before {\n content: '\\f0e1';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-flickr {\n $color: $flickr;\n\n background: $color;\n &::before {\n content: '\\f16e';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-tumblr {\n $color: $tumblr;\n\n background: $color;\n &::before {\n content: '\\f173';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-xing {\n $color: $xing;\n\n background: $color;\n &::before {\n content: '\\f168';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-github {\n $color: $github;\n\n background: $color;\n &::before {\n content: '\\f09b';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-html5 {\n $color: $html5;\n\n background: $color;\n &::before {\n content: '\\f13b';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-openid {\n $color: $openid;\n\n background: $color;\n &::before {\n content: '\\f19b';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-stack-overflow {\n $color: $stack-overflow;\n\n background: $color;\n &::before {\n content: '\\f16c';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-css3 {\n $color: $css3;\n\n background: $color;\n &::before {\n content: '\\f13c';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-youtube {\n $color: $youtube;\n\n background: $color;\n &::before {\n content: '\\f167';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-dribbble {\n $color: $dribbble;\n\n background: $color;\n &::before {\n content: '\\f17d';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-google-plus {\n $color: $google-plus;\n\n background: $color;\n &::before {\n content: '\\f0d5';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-instagram {\n $color: $instagram;\n\n background: $color;\n &::before {\n content: '\\f16d';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-pinterest {\n $color: $pinterest;\n\n background: $color;\n &::before {\n content: '\\f0d2';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-vk {\n $color: $vk;\n\n background: $color;\n &::before {\n content: '\\f189';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-yahoo {\n $color: $yahoo;\n\n background: $color;\n &::before {\n content: '\\f19e';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-behance {\n $color: $behance;\n\n background: $color;\n &::before {\n content: '\\f1b4';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-dropbox {\n $color: $dropbox;\n\n background: $color;\n &::before {\n content: '\\f16b';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-reddit {\n $color: $reddit;\n\n background: $color;\n &::before {\n content: '\\f1a1';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-spotify {\n $color: $spotify;\n\n background: $color;\n &::before {\n content: '\\f1bc';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-vine {\n $color: $vine;\n\n background: $color;\n &::before {\n content: '\\f1ca';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-foursquare {\n $color: $foursquare;\n\n background: $color;\n &::before {\n content: '\\f180';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-vimeo {\n $color: $vimeo;\n\n background: $color;\n &::before {\n content: '\\f194';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n",".callout {\n position: relative;\n padding: 0 $spacer;\n margin: $spacer 0;\n border: 0 solid $border-color;\n border-left-width: 0.25rem;\n\n @if $enable-rounded {\n border-radius: 0.25rem;\n }\n\n .chart-wrapper {\n position: absolute;\n top: 10px;\n left: 50%;\n float: right;\n width: 50%;\n }\n}\n\n.callout-bordered {\n border: 1px solid $border-color;\n border-left-width: 0.25rem;\n}\n.callout code {\n border-radius: 0.25rem;\n}\n.callout h4 {\n margin-top: 0;\n margin-bottom: 0.25rem;\n}\n.callout p:last-child {\n margin-bottom: 0;\n}\n.callout + .callout {\n margin-top: -0.25rem;\n}\n\n.callout-default {\n border-left-color: $text-muted;\n\n h4 {\n color: $text-muted;\n }\n}\n\n@each $color, $value in $theme-colors {\n .callout-#{$color} {\n border-left-color: $value;\n\n h4 {\n color: $value;\n }\n }\n}\n",".card {\n margin-bottom: 1.5 * $spacer;\n\n // Cards with color accent\n @each $color, $value in $theme-colors {\n &.bg-#{$color} {\n border-color: darken($value, 12.5%);\n .card-header {\n background-color: darken($value, 3%);\n border-color: darken($value, 12.5%);\n }\n }\n }\n}\n\n.text-white .text-muted {\n color: rgba(255, 255, 255, 0.6) !important;\n}\n\n.card-header {\n .icon-bg {\n display: inline-body;\n padding: $card-spacer-y $card-spacer-x !important;\n margin-top: -$card-spacer-y;\n margin-right: $card-spacer-x;\n margin-bottom: -$card-spacer-y;\n margin-left: -$card-spacer-x;\n line-height: inherit;\n color: $card-icon-color;\n vertical-align: bottom;\n background: $card-icon-bg;\n border-right: $card-border-width solid $card-border-color;\n }\n\n .nav.nav-tabs {\n margin-top: -$card-spacer-y;\n margin-bottom: -$card-spacer-y;\n border-bottom: 0;\n\n .nav-item {\n border-top: 0;\n }\n\n .nav-link {\n padding: $card-spacer-y $card-spacer-x / 2;\n color: $text-muted;\n border-top: 0;\n\n &.active {\n color: $body-color;\n background: #fff;\n }\n }\n }\n\n &.card-header-inverse {\n color: #fff;\n }\n\n .btn {\n margin-top: -$input-btn-padding-y;\n }\n .btn-sm {\n margin-top: -$input-btn-padding-y-sm;\n }\n .btn-lg {\n margin-top: -$input-btn-padding-y-lg;\n }\n}\n//\n.card-footer {\n ul {\n display: table;\n width: 100%;\n padding: 0;\n margin: 0;\n table-layout: fixed;\n\n li {\n display: table-cell;\n padding: 0 $card-spacer-x;\n text-align: center;\n }\n }\n}\n\n[class*='card-outline-'] {\n .card-body {\n background: #fff !important;\n }\n\n &.card-outline-top {\n border-top-width: 2px;\n border-right-color: $border-color;\n border-bottom-color: $border-color;\n border-left-color: $border-color;\n }\n}\n\n// Cards with color accent\n@each $color, $value in $theme-colors {\n .card-accent-#{$color} {\n @include card-accent-variant($value);\n }\n}\n\n// Card Actions\n.card-header {\n > i {\n margin-right: $spacer / 2;\n }\n .card-actions {\n position: absolute;\n top: 0;\n right: 0;\n //height: inherit;\n\n a,\n button {\n display: block;\n float: left;\n width: 50px;\n padding: $card-spacer-y 0;\n margin: 0 !important;\n color: $body-color;\n text-align: center;\n background: transparent;\n border: 0;\n border-left: 1px solid $border-color;\n box-shadow: 0;\n\n &:hover {\n text-decoration: none;\n }\n\n [class^='icon-'],\n [class*=' icon-'] {\n display: inline-body;\n vertical-align: middle;\n }\n\n i {\n display: inline-body;\n transition: 0.4s;\n }\n\n .r180 {\n transform: rotate(180deg);\n }\n }\n\n .input-group {\n width: 230px;\n margin: 6px;\n\n .input-group-addon {\n background: #fff;\n }\n\n input {\n border-left: 0;\n }\n }\n }\n}\n\n.card-full {\n margin-top: -$spacer;\n margin-right: -$grid-gutter-width / 2;\n margin-left: -$grid-gutter-width / 2;\n border: 0;\n border-bottom: $card-border-width solid $border-color;\n}\n\n@include media-breakpoint-up(sm) {\n .card-columns {\n &.cols-2 {\n column-count: 2;\n }\n }\n}\n\n.card {\n &.drag,\n .drag {\n cursor: move;\n }\n}\n\n.card-placeholder {\n background: rgba(0, 0, 0, 0.025);\n border: 1px dashed $gray-300;\n}\n",".chart-wrapper {\n canvas {\n width: 100% !important;\n }\n}\n// scss-lint:disable QualifyingElement\nbase-chart.chart {\n display: block !important;\n}\n","// Links, buttons, and more within the dropdown menu\n.dropdown-item {\n position: relative;\n padding: 0.375rem 0.75rem;\n border-bottom: 1px solid $dropdown-border-color;\n\n &:last-child {\n border-bottom: 0;\n }\n\n i {\n display: inline-block;\n width: 20px;\n margin-right: 10px;\n margin-left: -10px;\n color: $dropdown-border-color;\n text-align: center;\n }\n\n .badge {\n position: absolute;\n right: 10px;\n margin-top: 2px;\n }\n}\n\n// Dropdown section headers\n.dropdown-header {\n padding: 8px 20px;\n background: $dropdown-divider-bg;\n border-bottom: 1px solid $dropdown-border-color;\n\n .btn {\n margin-top: -7px;\n color: $dropdown-header-color;\n\n &:hover {\n color: $body-color;\n }\n\n &.pull-right {\n margin-right: -20px;\n }\n }\n}\n\n.dropdown-menu-lg {\n width: 250px;\n}\n.app-header {\n .navbar-nav {\n .dropdown-menu {\n position: absolute;\n }\n // Menu positioning\n //\n // Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n // menu with the parent.\n .dropdown-menu-right {\n right: 0;\n left: auto; // Reset the default from `.dropdown-menu`\n }\n\n .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n }\n}\n",".app-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n padding: 0 $spacer;\n color: $footer-color;\n background: $footer-bg;\n @include borders($footer-borders);\n}\n",".row.row-equal {\n padding-right: ($grid-gutter-width / 4);\n padding-left: ($grid-gutter-width / 4);\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n\n [class*='col-'] {\n padding-right: ($grid-gutter-width / 4);\n padding-left: ($grid-gutter-width / 4);\n }\n}\n\n.main .container-fluid {\n padding: 30px;\n height: 100%;\n}\n",".input-group-addon,\n.input-group-btn {\n min-width: 40px;\n white-space: nowrap;\n vertical-align: middle; // Match the inputs\n}\n","// Angular Version\n// Make clicks pass-through\n// scss-lint:disable all\n#loading-bar,\n#loading-bar-spinner {\n -webkit-pointer-events: none;\n pointer-events: none;\n -moz-transition: 350ms linear all;\n -o-transition: 350ms linear all;\n -webkit-transition: 350ms linear all;\n transition: 350ms linear all;\n}\n\n#loading-bar.ng-enter,\n#loading-bar.ng-leave.ng-leave-active,\n#loading-bar-spinner.ng-enter,\n#loading-bar-spinner.ng-leave.ng-leave-active {\n opacity: 0;\n}\n\n#loading-bar.ng-enter.ng-enter-active,\n#loading-bar.ng-leave,\n#loading-bar-spinner.ng-enter.ng-enter-active,\n#loading-bar-spinner.ng-leave {\n opacity: 1;\n}\n\n#loading-bar .bar {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 20002;\n width: 100%;\n height: 2px;\n background: theme-color('primary');\n border-top-right-radius: 1px;\n border-bottom-right-radius: 1px;\n -moz-transition: width 350ms;\n -o-transition: width 350ms;\n -webkit-transition: width 350ms;\n transition: width 350ms;\n}\n\n// Fancy blur effect\n#loading-bar .peg {\n position: absolute;\n top: 0;\n right: 0;\n width: 70px;\n height: 2px;\n -moz-border-radius: 100%;\n -webkit-border-radius: 100%;\n border-radius: 100%;\n -moz-box-shadow: #29d 1px 0 6px 1px;\n -ms-box-shadow: #29d 1px 0 6px 1px;\n -webkit-box-shadow: #29d 1px 0 6px 1px;\n box-shadow: #29d 1px 0 6px 1px;\n opacity: 0.45;\n}\n\n#loading-bar-spinner {\n position: fixed;\n top: 10px;\n left: 10px;\n z-index: 10002;\n display: block;\n}\n\n#loading-bar-spinner .spinner-icon {\n width: 14px;\n height: 14px;\n\n border: solid 2px transparent;\n border-top-color: #29d;\n border-left-color: #29d;\n border-radius: 50%;\n\n -moz-animation: loading-bar-spinner 400ms linear infinite;\n -ms-animation: loading-bar-spinner 400ms linear infinite;\n -o-animation: loading-bar-spinner 400ms linear infinite;\n -webkit-animation: loading-bar-spinner 400ms linear infinite;\n animation: loading-bar-spinner 400ms linear infinite;\n}\n\n@-webkit-keyframes loading-bar-spinner {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@-moz-keyframes loading-bar-spinner {\n 0% {\n -moz-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -moz-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@-o-keyframes loading-bar-spinner {\n 0% {\n -o-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -o-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@-ms-keyframes loading-bar-spinner {\n 0% {\n -ms-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -ms-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@keyframes loading-bar-spinner {\n 0% {\n transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n//Ajax & Static Version\n.pace {\n -webkit-pointer-events: none;\n pointer-events: none;\n\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n}\n\n.pace-inactive {\n display: none;\n}\n\n.pace .pace-progress {\n position: fixed;\n top: 0;\n right: 100%;\n z-index: 2000;\n width: 100%;\n height: 2px;\n background: theme-color('primary');\n}\n","@each $color, $value in $theme-colors {\n .modal-#{$color} {\n .modal-content {\n border-color: $value;\n }\n\n .modal-header {\n color: #fff;\n background-color: $value;\n }\n }\n}\n",".nav-tabs {\n .nav-link {\n color: $gray-600;\n &.active {\n color: $gray-800;\n background: #fff;\n border-color: $border-color;\n border-bottom-color: #fff;\n &:focus {\n background: #fff;\n border-color: $border-color;\n border-bottom-color: #fff;\n }\n }\n }\n}\n\n.tab-content {\n margin-top: -1px;\n background: #fff;\n border: 1px solid $border-color;\n .tab-pane {\n padding: $spacer;\n }\n}\n\n.card-block {\n .tab-content {\n margin-top: 0;\n border: 0;\n }\n}\n",".app-header.navbar {\n position: relative;\n flex-direction: row;\n height: $navbar-height;\n padding: 0;\n margin: 0;\n background-color: $navbar-bg;\n @include borders($navbar-border);\n\n .navbar-brand {\n display: inline-block;\n width: $navbar-brand-width;\n height: $navbar-height;\n padding: $navbar-padding-y $navbar-padding-x;\n margin-right: 0;\n background-color: $navbar-brand-bg;\n background-image: $navbar-brand-logo;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: $navbar-brand-logo-size;\n @include borders($navbar-brand-border);\n }\n\n .navbar-toggler {\n min-width: 50px;\n padding: $navbar-toggler-padding-y 0;\n\n &:hover .navbar-toggler-icon {\n background-image: $navbar-toggler-icon-hover;\n }\n }\n\n .navbar-toggler-icon {\n height: 23px;\n background-image: $navbar-toggler-icon;\n }\n\n .navbar-nav {\n flex-direction: row;\n align-items: center;\n }\n\n .nav-item {\n position: relative;\n min-width: 50px;\n margin: 0 !important;\n text-align: center;\n\n button {\n margin: 0 auto;\n }\n\n .nav-link {\n padding-top: 0;\n padding-bottom: 0;\n background: 0;\n border: 0;\n\n .badge {\n position: absolute;\n top: 50%;\n left: 50%;\n margin-top: -16px;\n margin-left: 0;\n }\n\n > .img-avatar {\n height: $navbar-height - 20px;\n margin: 0 10px;\n }\n }\n }\n\n .dropdown-menu {\n padding-bottom: 0;\n line-height: $line-height-base;\n }\n\n .dropdown-item {\n min-width: 180px;\n }\n}\n\n.navbar-brand {\n color: $navbar-active-color;\n\n @include hover-focus {\n color: $navbar-active-color;\n }\n}\n\n.navbar-nav {\n .nav-link {\n color: $navbar-color;\n\n @include hover-focus {\n color: $navbar-hover-color;\n }\n }\n\n .open > .nav-link,\n .active > .nav-link,\n .nav-link.open,\n .nav-link.active {\n @include plain-hover-focus {\n color: $navbar-active-color;\n }\n }\n}\n\n.navbar-divider {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n@include media-breakpoint-up(lg) {\n .brand-minimized {\n .app-header.navbar {\n .navbar-brand {\n width: $navbar-brand-minimized-width;\n background-color: $navbar-brand-minimized-bg;\n background-image: $navbar-brand-minimized-logo;\n background-size: $navbar-brand-minimized-logo-size;\n @include borders($navbar-brand-minimized-border);\n }\n }\n }\n}\n",".progress-xs {\n height: 4px;\n}\n\n.progress-sm {\n height: 8px;\n}\n\n// White progress bar\n.progress-white {\n background-color: rgba(255, 255, 255, 0.2) !important;\n .progress-bar {\n background-color: #fff;\n }\n}\n",'// scss-lint:disable NestingDepth, SelectorDepth\n.sidebar {\n display: flex;\n flex-direction: column;\n padding: $sidebar-padding;\n color: $sidebar-color;\n background: $sidebar-bg;\n @include borders($sidebar-borders);\n\n .sidebar-close {\n position: absolute;\n right: 0;\n display: none;\n padding: 0 $spacer;\n font-size: 24px;\n font-weight: 800;\n line-height: $navbar-height;\n color: $sidebar-color;\n background: 0;\n border: 0;\n opacity: 0.8;\n\n &:hover {\n opacity: 1;\n }\n }\n\n // Will be added soon\n // .sidebar-brand { }\n\n .sidebar-header {\n flex: 0 0 $sidebar-header-height;\n padding: $sidebar-header-padding-y $sidebar-header-padding-x;\n text-align: center;\n background: $sidebar-header-bg;\n }\n\n .sidebar-form .form-control {\n color: $sidebar-form-color;\n background: $sidebar-form-bg;\n border: $sidebar-form-border;\n\n &::placeholder {\n color: $sidebar-form-placeholder-color;\n }\n }\n\n .sidebar-nav {\n position: relative;\n flex: 1;\n overflow-x: hidden;\n overflow-y: auto;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n @include sidebar-width($sidebar-borders, $sidebar-width);\n\n &::-webkit-scrollbar {\n position: absolute;\n width: 10px;\n margin-left: -10px;\n -webkit-appearance: none;\n }\n\n &::-webkit-scrollbar-track {\n background-color: lighten($sidebar-bg, 5%);\n border-right: 1px solid darken($sidebar-bg, 5%);\n border-left: 1px solid darken($sidebar-bg, 5%);\n }\n\n &::-webkit-scrollbar-thumb {\n height: 50px;\n background-color: darken($sidebar-bg, 10%);\n background-clip: content-box;\n border-color: transparent;\n border-style: solid;\n border-width: 1px 2px;\n }\n }\n\n .nav {\n @include sidebar-width($sidebar-borders, $sidebar-width);\n flex-direction: column;\n min-height: 100%;\n }\n\n .nav-title {\n padding: $sidebar-nav-title-padding-y $sidebar-nav-title-padding-x;\n font-size: 11px;\n font-weight: 600;\n color: $sidebar-nav-title-color;\n text-transform: uppercase;\n }\n\n .nav-divider,\n .divider {\n height: 10px;\n }\n\n .nav-item {\n position: relative;\n margin: 0;\n transition: background 0.3s ease-in-out;\n }\n\n .nav-dropdown-items {\n max-height: 0;\n padding: 0;\n margin: 0;\n overflow-y: hidden;\n transition: max-height 0.3s ease-in-out;\n\n .nav-item {\n padding: 0;\n list-style: none;\n }\n }\n\n .nav-link {\n display: block;\n padding: $sidebar-nav-link-padding-y $sidebar-nav-link-padding-x;\n color: $sidebar-nav-link-color;\n text-decoration: none;\n background: $sidebar-nav-link-bg;\n @include borders($sidebar-nav-link-borders);\n @if $enable-sidebar-nav-rounded {\n border-radius: $border-radius;\n }\n\n i {\n display: inline-block;\n width: 20px;\n margin: 0 ($sidebar-nav-link-padding-x / 2) 0 0;\n font-size: 14px;\n color: $sidebar-nav-link-icon-color;\n text-align: center;\n }\n\n .badge {\n float: right;\n margin-top: 2px;\n }\n\n &.active {\n color: $sidebar-nav-link-active-color;\n background: $sidebar-nav-link-active-bg;\n @include borders($sidebar-nav-link-active-borders);\n\n i {\n color: $sidebar-nav-link-active-icon-color;\n }\n }\n\n &:hover {\n color: $sidebar-nav-link-hover-color;\n background: $sidebar-nav-link-hover-bg;\n @include borders($sidebar-nav-link-hover-borders);\n\n i {\n color: $sidebar-nav-link-hover-icon-color;\n }\n\n &.nav-dropdown-toggle::before {\n background-image: $sidebar-nav-dropdown-indicator-hover;\n }\n }\n\n @each $color, $value in $theme-colors {\n &.nav-link-#{$color} {\n background: $value;\n i {\n color: rgba(255, 255, 255, 0.7);\n }\n &:hover {\n background: darken($value, 5%) !important;\n i {\n color: #fff;\n }\n }\n }\n }\n }\n\n // ex. <a class="nav-link nav-dropdown-toggle" href="#">Components</a>\n .nav-dropdown-toggle {\n position: relative;\n\n &::before {\n position: absolute;\n top: 50%;\n right: $sidebar-nav-link-padding-x;\n display: block;\n width: 8px;\n height: 8px;\n padding: 0;\n margin-top: -4px;\n content: \'\';\n background-image: $sidebar-nav-dropdown-indicator;\n background-repeat: no-repeat;\n background-position: center;\n transition: transform 0.3s;\n }\n }\n\n // ex. <li class="nav-item nav-dropdown">\n .nav-dropdown.open {\n background: $sidebar-nav-dropdown-bg;\n @include borders($sidebar-nav-dropdown-borders);\n @if $enable-sidebar-nav-rounded {\n border-radius: $border-radius;\n }\n > .nav-dropdown-items {\n max-height: 1000px;\n }\n\n .nav-link {\n color: $sidebar-nav-dropdown-color;\n border-left: 0 !important;\n }\n\n > .nav-link.nav-dropdown-toggle::before {\n transform: rotate(-90deg);\n }\n\n .nav-dropdown.open {\n border-left: 0;\n }\n }\n\n .nav-label {\n display: block;\n padding: ($sidebar-nav-link-padding-y / 8) $sidebar-nav-link-padding-x;\n color: $sidebar-nav-title-color;\n\n &:hover {\n color: $sidebar-color;\n text-decoration: none;\n }\n\n i {\n width: 20px;\n margin: -3px ($sidebar-nav-link-padding-x / 2) 0 0;\n font-size: 10px;\n color: $sidebar-nav-link-icon-color;\n text-align: center;\n vertical-align: middle;\n }\n }\n\n @if (lightness($sidebar-bg) < 40) {\n .progress {\n background-color: lighten($sidebar-bg, 15%) !important;\n }\n }\n\n .sidebar-footer {\n flex: 0 0 $sidebar-footer-height;\n padding: $sidebar-footer-padding-y $sidebar-footer-padding-x;\n background: $sidebar-footer-bg;\n @include borders($sidebar-footer-borders);\n }\n\n .sidebar-minimizer {\n position: relative;\n flex: 0 0 $sidebar-minimizer-height;\n background-color: $sidebar-minimizer-bg;\n border: 0;\n @include borders($sidebar-minimizer-borders);\n\n &::before {\n position: absolute;\n top: 0;\n right: 0;\n width: $sidebar-minimizer-height;\n height: $sidebar-minimizer-height;\n content: \'\';\n background-image: $sidebar-minimizer-indicator;\n background-repeat: no-repeat;\n background-position: center;\n background-size: $sidebar-minimizer-height / 4;\n transition: 0.3s;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n }\n\n &:hover {\n background-color: $sidebar-minimizer-hover-bg;\n &::before {\n background-image: $sidebar-minimizer-hover-indicator;\n }\n }\n }\n}\n\n@include media-breakpoint-up(lg) {\n .sidebar-compact {\n .sidebar {\n .sidebar-nav {\n @include sidebar-width($sidebar-borders, $sidebar-compact-width);\n }\n\n .nav {\n @include sidebar-width($sidebar-borders, $sidebar-compact-width);\n\n .nav-title {\n text-align: center;\n }\n\n .nav-item {\n width: $sidebar-compact-width;\n border-left: 0 !important;\n\n .nav-link {\n text-align: center;\n\n i {\n display: block;\n width: 100%;\n margin: $spacer / 4 0;\n font-size: 24px;\n }\n\n .badge {\n position: absolute;\n top: 18px;\n right: 10px;\n }\n\n &.nav-dropdown-toggle {\n &::before {\n top: 30px;\n }\n }\n }\n }\n }\n }\n }\n\n // Minimized Sidebar\n .sidebar-minimized {\n .hidden-cn {\n display: none;\n }\n .sidebar {\n z-index: $zindex-sticky - 1;\n\n .sidebar-nav {\n overflow: visible;\n @include sidebar-width($sidebar-borders, $sidebar-minimized-width);\n }\n\n .nav {\n @include sidebar-width($sidebar-borders, $sidebar-minimized-width);\n }\n\n .nav-divider,\n .divider,\n .nav-title,\n .sidebar-footer,\n .sidebar-form,\n .sidebar-header {\n display: none;\n }\n\n .sidebar-minimizer::before {\n width: 100%;\n transform: rotate(-180deg);\n }\n\n .nav-item {\n width: $sidebar-minimized-width;\n overflow: hidden;\n border-left: 0 !important;\n\n &:hover {\n width: $sidebar-width + $sidebar-minimized-width;\n overflow: visible;\n\n > .nav-link {\n background: $sidebar-nav-link-hover-bg;\n\n i {\n color: $sidebar-nav-link-hover-color;\n }\n }\n }\n }\n\n .nav-link {\n position: relative;\n padding-left: 0;\n margin: 0;\n white-space: nowrap;\n border-left: 0 !important;\n\n i {\n display: block;\n float: left;\n width: $sidebar-minimized-height;\n // padding: 0;\n // margin: 0 !important;\n font-size: 18px;\n }\n\n .badge {\n position: absolute;\n right: 15px;\n display: none;\n }\n\n &:hover {\n width: $sidebar-width + $sidebar-minimized-width;\n background: $sidebar-nav-link-hover-bg;\n\n .badge {\n display: inline;\n }\n }\n\n &.nav-dropdown-toggle::before {\n display: none;\n }\n }\n\n .nav-dropdown-items {\n .nav-item {\n width: $sidebar-width;\n\n .nav-link {\n width: $sidebar-width;\n }\n }\n }\n\n .nav > .nav-dropdown {\n > .nav-dropdown-items {\n display: none;\n max-height: 1000px;\n background: $sidebar-bg;\n }\n\n &:hover {\n background: $sidebar-nav-link-hover-bg;\n > .nav-dropdown-items {\n position: absolute;\n left: $sidebar-minimized-width;\n display: inline;\n }\n }\n }\n }\n }\n}\n',"@mixin switch-size($width, $height, $font-size, $handle-margin) {\n width: $width;\n height: $height;\n\n .switch-label {\n font-size: $font-size;\n }\n\n .switch-handle {\n width: $height - $handle-margin * 2;\n height: $height - $handle-margin * 2;\n }\n\n .switch-input:checked ~ .switch-handle {\n left: $width - $height + $handle-margin;\n }\n}\n\n@mixin switch($type, $width, $height, $font-size, $handle-margin) {\n position: relative;\n display: inline-block;\n vertical-align: top;\n width: $width;\n height: $height;\n background-color: transparent;\n cursor: pointer;\n\n .switch-input {\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0;\n }\n\n .switch-label {\n position: relative;\n display: block;\n height: inherit;\n @if $type == icon {\n font-family: FontAwesome;\n }\n font-size: $font-size;\n font-weight: 600;\n text-transform: uppercase;\n @if $type == ddd {\n background-color: $gray-100;\n } @else {\n background-color: #fff;\n }\n border: 1px solid $border-color;\n border-radius: 2px;\n transition: opacity background 0.15s ease-out;\n }\n @if $type == text or $type == icon {\n .switch-label::before,\n .switch-label::after {\n position: absolute;\n top: 50%;\n width: 50%;\n margin-top: -0.5em;\n line-height: 1;\n text-align: center;\n transition: inherit;\n }\n .switch-label::before {\n right: 1px;\n color: $gray-200;\n content: attr(data-off);\n }\n .switch-label::after {\n left: 1px;\n color: #fff;\n content: attr(data-on);\n opacity: 0;\n }\n }\n .switch-input:checked ~ .switch-label {\n //background: $gray-lightest;\n }\n .switch-input:checked ~ .switch-label::before {\n opacity: 0;\n }\n .switch-input:checked ~ .switch-label::after {\n opacity: 1;\n }\n\n .switch-handle {\n position: absolute;\n top: $handle-margin;\n left: $handle-margin;\n width: $height - $handle-margin * 2;\n height: $height - $handle-margin * 2;\n background: #fff;\n border: 1px solid $border-color;\n border-radius: 1px;\n transition: left 0.15s ease-out;\n @if $type == ddd {\n border: 0;\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);\n }\n }\n\n .switch-input:checked ~ .switch-handle {\n left: $width - $height + $handle-margin;\n }\n\n @if $type == ddd {\n @extend .switch-pill;\n }\n\n //size variations\n @if $type == default {\n &.switch-lg {\n @include switch-size(\n $switch-lg-width,\n $switch-lg-height,\n $switch-lg-font-size,\n $handle-margin\n );\n }\n &.switch-sm {\n @include switch-size(\n $switch-sm-width,\n $switch-sm-height,\n $switch-sm-font-size,\n $handle-margin\n );\n }\n &.switch-xs {\n @include switch-size(\n $switch-xs-width,\n $switch-xs-height,\n $switch-xs-font-size,\n $handle-margin\n );\n }\n } @else if $type == text {\n &.switch-lg {\n @include switch-size(\n $switch-text-lg-width,\n $switch-text-lg-height,\n $switch-text-lg-font-size,\n $handle-margin\n );\n }\n &.switch-sm {\n @include switch-size(\n $switch-text-sm-width,\n $switch-text-sm-height,\n $switch-text-sm-font-size,\n $handle-margin\n );\n }\n &.switch-xs {\n @include switch-size(\n $switch-text-xs-width,\n $switch-text-xs-height,\n $switch-text-xs-font-size,\n $handle-margin\n );\n }\n } @else if $type == icon {\n &.switch-lg {\n @include switch-size(\n $switch-icon-lg-width,\n $switch-icon-lg-height,\n $switch-icon-lg-font-size,\n $handle-margin\n );\n }\n &.switch-sm {\n @include switch-size(\n $switch-icon-sm-width,\n $switch-icon-sm-height,\n $switch-icon-sm-font-size,\n $handle-margin\n );\n }\n &.switch-xs {\n @include switch-size(\n $switch-icon-xs-width,\n $switch-icon-xs-height,\n $switch-icon-xs-font-size,\n $handle-margin\n );\n }\n } @else if $type == ddd {\n &.switch-lg {\n @include switch-size(\n $switch-lg-width,\n $switch-lg-height,\n $switch-lg-font-size,\n 0\n );\n }\n &.switch-sm {\n @include switch-size(\n $switch-sm-width,\n $switch-sm-height,\n $switch-sm-font-size,\n 0\n );\n }\n &.switch-xs {\n @include switch-size(\n $switch-xs-width,\n $switch-xs-height,\n $switch-xs-font-size,\n 0\n );\n }\n }\n}\n\n@mixin switch-variant($color) {\n > .switch-input:checked ~ .switch-label {\n background: $color !important;\n border-color: darken($color, 10%);\n }\n\n > .switch-input:checked ~ .switch-handle {\n border-color: darken($color, 10%);\n }\n}\n\n@mixin switch-outline-variant($color) {\n > .switch-input:checked ~ .switch-label {\n background: #fff !important;\n border-color: $color;\n\n &::after {\n color: $color;\n }\n }\n\n > .switch-input:checked ~ .switch-handle {\n border-color: $color;\n }\n}\n\n@mixin switch-outline-alt-variant($color) {\n > .switch-input:checked ~ .switch-label {\n background: #fff !important;\n border-color: $color;\n\n &::after {\n color: $color;\n }\n }\n\n > .switch-input:checked ~ .switch-handle {\n background: $color !important;\n border-color: $color;\n }\n}\n\n$switch-lg-width: 48px;\n$switch-lg-height: 28px;\n$switch-lg-font-size: 12px;\n\n$switch-width: 40px;\n$switch-height: 24px;\n$switch-font-size: 10px;\n\n$handle-margin: 2px;\n\n$switch-sm-width: 32px;\n$switch-sm-height: 20px;\n$switch-sm-font-size: 8px;\n\n$switch-xs-width: 24px;\n$switch-xs-height: 16px;\n$switch-xs-font-size: 7px;\n\n$switch-text-lg-width: 56px;\n$switch-text-lg-height: 28px;\n$switch-text-lg-font-size: 12px;\n\n$switch-text-width: 48px;\n$switch-text-height: 24px;\n$switch-text-font-size: 10px;\n\n$switch-text-sm-width: 40px;\n$switch-text-sm-height: 20px;\n$switch-text-sm-font-size: 8px;\n\n$switch-text-xs-width: 32px;\n$switch-text-xs-height: 16px;\n$switch-text-xs-font-size: 7px;\n\n$switch-icon-lg-width: 56px;\n$switch-icon-lg-height: 28px;\n$switch-icon-lg-font-size: 12px;\n\n$switch-icon-width: 48px;\n$switch-icon-height: 24px;\n$switch-icon-font-size: 10px;\n\n$switch-icon-sm-width: 40px;\n$switch-icon-sm-height: 20px;\n$switch-icon-sm-font-size: 8px;\n\n$switch-icon-xs-width: 32px;\n$switch-icon-xs-height: 16px;\n$switch-icon-xs-font-size: 7px;\n\n.switch.switch-default {\n @include switch(\n 'default',\n $switch-width,\n $switch-height,\n $switch-font-size,\n $handle-margin\n );\n}\n\n.switch.switch-text {\n @include switch(\n 'text',\n $switch-text-width,\n $switch-text-height,\n $switch-text-font-size,\n $handle-margin\n );\n}\n\n.switch.switch-icon {\n @include switch(\n 'icon',\n $switch-icon-width,\n $switch-icon-height,\n $switch-icon-font-size,\n $handle-margin\n );\n}\n\n.switch.switch-3d {\n @include switch('ddd', $switch-width, $switch-height, $switch-font-size, 0);\n}\n\n//pills style\n.switch-pill {\n .switch-label,\n .switch-handle {\n border-radius: 50em !important;\n }\n\n .switch-label::before {\n right: 2px !important;\n }\n .switch-label::after {\n left: 2px !important;\n }\n}\n\n@each $color, $value in $theme-colors {\n //normal style\n .switch-#{$color} {\n @include switch-variant($value);\n }\n //outline style\n .switch-#{$color}-outline {\n @include switch-outline-variant($value);\n }\n //outline alternative style\n .switch-#{$color}-outline-alt {\n @include switch-outline-alt-variant($value);\n }\n}\n",".table-outline {\n border: 1px solid $table-border-color;\n\n td {\n vertical-align: middle;\n }\n}\n\n.table-align-middle {\n td {\n vertical-align: middle;\n }\n}\n\n.table-clear {\n td {\n border: 0;\n }\n}\n","// .social-box\n.social-box {\n min-height: 160px;\n margin-bottom: 2 * $card-spacer-y;\n text-align: center;\n background: #fff;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n i {\n display: block;\n margin: -1px -1px 0;\n font-size: 40px;\n line-height: 90px;\n background: $gray-200;\n\n @include border-radius($card-border-radius $card-border-radius 0 0);\n }\n\n .chart-wrapper {\n height: 90px;\n margin: -90px 0 0;\n\n canvas {\n width: 100% !important;\n height: 90px !important;\n }\n }\n\n ul {\n padding: 10px 0;\n list-style: none;\n\n li {\n display: block;\n float: left;\n width: 50%;\n\n &:first-child {\n border-right: 1px solid $border-color;\n }\n\n strong {\n display: block;\n font-size: 20px;\n }\n\n span {\n font-size: 10px;\n font-weight: 500;\n color: $border-color;\n text-transform: uppercase;\n }\n }\n }\n\n &.facebook {\n i {\n color: #fff;\n background: $facebook;\n }\n }\n\n &.twitter {\n i {\n color: #fff;\n background: $twitter;\n }\n }\n\n &.linkedin {\n i {\n color: #fff;\n background: $linkedin;\n }\n }\n\n &.google-plus {\n i {\n color: #fff;\n background: $google-plus;\n }\n }\n}\n\n.horizontal-bars {\n padding: 0;\n margin: 0;\n list-style: none;\n\n li {\n position: relative;\n height: 40px;\n line-height: 40px;\n vertical-align: middle;\n\n .title {\n width: 100px;\n font-size: 12px;\n font-weight: 600;\n color: $text-muted;\n vertical-align: middle;\n }\n\n .bars {\n position: absolute;\n top: 15px;\n width: 100%;\n padding-left: 100px;\n\n .progress:first-child {\n margin-bottom: 2px;\n }\n }\n\n &.legend {\n text-align: center;\n\n .badge {\n display: inline-block;\n width: 8px;\n height: 8px;\n padding: 0;\n }\n }\n\n &.divider {\n height: 40px;\n\n i {\n margin: 0 !important;\n }\n }\n }\n\n &.type-2 {\n li {\n overflow: hidden;\n\n i {\n display: inline-block;\n margin-right: $spacer;\n margin-left: 5px;\n font-size: 18px;\n line-height: 40px;\n }\n\n .title {\n display: inline-block;\n width: auto;\n margin-top: -9px;\n font-size: $font-size-base;\n font-weight: normal;\n line-height: 40px;\n color: $body-color;\n }\n\n .value {\n float: right;\n font-weight: 600;\n }\n\n .bars {\n position: absolute;\n top: auto;\n bottom: 0;\n padding: 0;\n }\n }\n }\n}\n\n.icons-list {\n padding: 0;\n margin: 0;\n list-style: none;\n\n li {\n position: relative;\n height: 40px;\n vertical-align: middle;\n\n i {\n display: block;\n float: left;\n width: 35px !important;\n height: 35px !important;\n margin: 2px;\n line-height: 35px !important;\n text-align: center;\n }\n\n .desc {\n height: 40px;\n margin-left: 50px;\n border-bottom: 1px solid $border-color;\n\n .title {\n padding: 2px 0 0;\n margin: 0;\n }\n small {\n display: block;\n margin-top: -4px;\n color: $text-muted;\n }\n }\n\n .value {\n position: absolute;\n top: 2px;\n right: 45px;\n text-align: right;\n\n strong {\n display: block;\n margin-top: -3px;\n }\n }\n\n .actions {\n position: absolute;\n top: -4px;\n right: 10px;\n width: 40px;\n height: 40px;\n line-height: 40px;\n text-align: center;\n\n i {\n float: none;\n width: auto;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: normal;\n }\n }\n\n &.divider {\n height: 40px;\n\n i {\n width: auto;\n height: auto;\n margin: 2px 0 0;\n font-size: 18px;\n }\n }\n }\n}\n","// IE10&11 Flexbox fix\n@media all and (-ms-high-contrast: none) {\n html {\n display: flex;\n flex-direction: column;\n }\n}\n\n// app-dashboard and app-root are Angular2+ selectors. You can add here your own selectors if you need.\n.app,\napp-dashboard,\napp-root {\n display: flex;\n flex-direction: column;\n min-height: 100vh;\n}\n\n.app-header {\n flex: 0 0 $navbar-height;\n}\n\n.app-footer {\n flex: 0 0 $footer-height;\n}\n\n.app-body {\n display: flex;\n flex-direction: row;\n flex-grow: 1;\n overflow-x: hidden;\n\n .main {\n flex: 1;\n min-width: 0;\n }\n\n .sidebar {\n // $sidebar-width is the width of the columns\n flex: 0 0 $sidebar-width;\n // put the nav on the left\n order: -1;\n }\n\n .aside-menu {\n // $aside-menu-width is the width of the columns\n flex: 0 0 $aside-menu-width;\n }\n}\n\n//\n// header\n//\n.header-fixed {\n .app-header {\n position: fixed;\n z-index: $zindex-sticky;\n width: 100%;\n }\n .app-body {\n margin-top: $navbar-height;\n }\n}\n\n//\n// Sidebar\n//\n.sidebar-hidden {\n .sidebar {\n margin-left: -$sidebar-width;\n }\n}\n\n.sidebar-fixed {\n .sidebar {\n position: fixed;\n z-index: $zindex-sticky - 1;\n width: $sidebar-width;\n height: calc(100vh - #{$navbar-height});\n // margin-top: - $navbar-height;\n\n // .sidebar-nav {\n // height: calc(100vh - #{$navbar-height});\n // }\n }\n\n .main,\n .app-footer {\n margin-left: $sidebar-width;\n }\n\n &.sidebar-hidden {\n .main,\n .app-footer {\n margin-left: 0;\n }\n }\n}\n\n.sidebar-off-canvas {\n .sidebar {\n position: fixed;\n z-index: $zindex-sticky - 1;\n height: calc(100vh - #{$navbar-height});\n }\n}\n\n@include media-breakpoint-up(lg) {\n .sidebar-compact {\n .sidebar {\n flex: 0 0 $sidebar-compact-width;\n }\n\n &.sidebar-hidden {\n .sidebar {\n margin-left: -$sidebar-compact-width;\n }\n }\n\n &.sidebar-fixed {\n .main,\n .app-footer {\n margin-left: $sidebar-compact-width;\n }\n\n .sidebar {\n width: $sidebar-compact-width;\n }\n\n &.sidebar-hidden {\n .main,\n .app-footer {\n margin-left: 0;\n }\n }\n }\n }\n\n .sidebar-minimized {\n .sidebar {\n flex: 0 0 $sidebar-minimized-width;\n }\n\n &.sidebar-hidden {\n .sidebar {\n margin-left: -$sidebar-minimized-width;\n }\n }\n\n &.sidebar-fixed {\n .main,\n .app-footer {\n margin-left: $sidebar-minimized-width;\n }\n\n .sidebar {\n width: $sidebar-minimized-width;\n }\n\n &.sidebar-hidden {\n .main,\n .app-footer {\n margin-left: 0;\n }\n }\n }\n }\n}\n\n//\n// Aside Menu\n//\n.aside-menu-hidden {\n .aside-menu {\n margin-right: -$aside-menu-width;\n }\n}\n\n.aside-menu-fixed {\n .aside-menu {\n position: fixed;\n right: 0;\n height: 100%;\n\n .tab-content {\n height: calc(\n 100vh - #{$aside-menu-nav-padding-y * 2 + $font-size-base} -\n #{$navbar-height}\n );\n }\n }\n\n .main,\n .app-footer {\n margin-right: $aside-menu-width;\n }\n\n &.aside-menu-hidden {\n .main,\n .app-footer {\n margin-right: 0;\n }\n }\n}\n\n.aside-menu-off-canvas {\n .aside-menu {\n position: fixed;\n right: 0;\n z-index: $zindex-sticky - 1;\n height: 100%;\n\n .tab-content {\n height: calc(\n 100vh - #{$aside-menu-nav-padding-y * 2 + $font-size-base} -\n #{$navbar-height}\n );\n }\n }\n}\n\n//\n// Breadcrumb\n//\n.breadcrumb-fixed {\n .main {\n $breadcrumb-height: 2 * $breadcrumb-padding-y + $font-size-base + 1.5 *\n $spacer;\n padding-top: $breadcrumb-height;\n }\n\n .breadcrumb {\n position: fixed;\n top: $navbar-height;\n right: 0;\n left: 0;\n z-index: $zindex-sticky - 2;\n }\n\n // if sidebar + main + aside\n .main:nth-child(2) {\n .breadcrumb {\n right: $aside-menu-width;\n left: $sidebar-width;\n }\n }\n\n // if sidebar + main\n .main:first-child {\n .breadcrumb {\n right: $aside-menu-width;\n left: 0;\n }\n }\n\n // if main + aside\n .main:last-child {\n .breadcrumb {\n right: 0;\n }\n }\n\n &.sidebar-minimized {\n .main .breadcrumb {\n left: $sidebar-minimized-width;\n }\n }\n\n &.sidebar-hidden,\n &.sidebar-off-canvas {\n .main .breadcrumb {\n left: 0;\n }\n }\n\n &.aside-menu-hidden,\n &.aside-menu-off-canvas {\n .main .breadcrumb {\n right: 0;\n }\n }\n}\n\n//\n// Footer\n//\n.footer-fixed {\n .app-footer {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-sticky;\n height: $footer-height;\n }\n\n .app-body {\n margin-bottom: $footer-height;\n }\n}\n\n//\n// Animations\n//\n.app-header,\n.app-footer,\n.sidebar,\n.main,\n.aside-menu {\n transition:\n margin-left $layout-transition-speed,\n margin-right $layout-transition-speed,\n width $layout-transition-speed,\n flex $layout-transition-speed;\n}\n.sidebar-nav {\n transition: width $layout-transition-speed;\n}\n.breadcrumb {\n transition:\n left $layout-transition-speed,\n right $layout-transition-speed,\n width $layout-transition-speed;\n}\n\n//\n// Mobile layout\n//\n\n@include media-breakpoint-down(md) {\n .app-header.navbar {\n position: fixed !important;\n z-index: $zindex-sticky;\n width: 100%;\n text-align: center;\n background-color: $navbar-brand-bg;\n @include borders($navbar-brand-border);\n\n .navbar-toggler {\n @if (lightness($navbar-brand-bg) > 40) {\n color: $navbar-color;\n } @else {\n color: #fff;\n }\n }\n\n .navbar-brand {\n position: absolute;\n left: 50%;\n margin-left: -($navbar-brand-width / 2);\n }\n }\n\n .app-body {\n margin-top: $navbar-height;\n }\n\n .breadcrumb-fixed {\n .main:nth-child(2) .breadcrumb {\n right: auto;\n left: auto;\n width: 100%;\n }\n }\n\n .sidebar {\n position: fixed;\n z-index: $zindex-sticky - 1;\n width: $mobile-sidebar-width;\n height: calc(100vh - #{$navbar-height});\n margin-left: -$mobile-sidebar-width;\n\n .sidebar-nav,\n .nav {\n width: $mobile-sidebar-width;\n min-height: calc(100vh - #{$navbar-height});\n }\n\n .sidebar-minimizer {\n display: none;\n }\n }\n\n .main,\n .app-footer {\n margin-left: 0 !important;\n }\n\n // .aside-menu {\n // margin-right: - $aside-menu-width;\n // }\n\n .sidebar-hidden {\n .sidebar {\n margin-left: -$mobile-sidebar-width;\n }\n }\n\n .sidebar-mobile-show {\n .sidebar {\n width: $mobile-sidebar-width;\n margin-left: 0;\n }\n\n .main {\n margin-right: -$mobile-sidebar-width !important;\n margin-left: $mobile-sidebar-width !important;\n }\n }\n}\n","// scss-lint:disable QualifyingElement\nhr.transparent {\n border-top: 1px solid transparent;\n}\n",".bg-primary,\n.bg-success,\n.bg-info,\n.bg-warning,\n.bg-danger,\n.bg-inverse {\n color: #fff;\n}\n","//border\n@each $prop, $abbrev in (border: b) {\n @each $size in (0, 1, 2) {\n @if $size == 0 {\n .#{$abbrev}-a-#{$size} {\n #{$prop}: 0 !important;\n } // a = All sides\n .#{$abbrev}-t-#{$size} {\n #{$prop}-top: 0 !important;\n }\n .#{$abbrev}-r-#{$size} {\n #{$prop}-right: 0 !important;\n }\n .#{$abbrev}-b-#{$size} {\n #{$prop}-bottom: 0 !important;\n }\n .#{$abbrev}-l-#{$size} {\n #{$prop}-left: 0 !important;\n }\n } @else {\n .#{$abbrev}-a-#{$size} {\n #{$prop}: $size * $border-width solid $border-color !important;\n } // a = All sides\n .#{$abbrev}-t-#{$size} {\n #{$prop}-top: $size * $border-width solid $border-color !important;\n }\n .#{$abbrev}-r-#{$size} {\n #{$prop}-right: $size * $border-width solid $border-color !important;\n }\n .#{$abbrev}-b-#{$size} {\n #{$prop}-bottom: $size * $border-width solid $border-color !important;\n }\n .#{$abbrev}-l-#{$size} {\n #{$prop}-left: $size * $border-width solid $border-color !important;\n }\n }\n }\n}\n","//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-down($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .d#{$infix}-down-none {\n display: none !important;\n }\n // .d#{$infix}-inline { display: inline !important; }\n // .d#{$infix}-inline-block { display: inline-block !important; }\n // .d#{$infix}-block { display: block !important; }\n // .d#{$infix}-table { display: table !important; }\n // .d#{$infix}-table-cell { display: table-cell !important; }\n // .d#{$infix}-flex { display: flex !important; }\n // .d#{$infix}-inline-flex { display: inline-flex !important; }\n }\n}\n",".pagination-datatables,\n.pagination {\n li {\n @extend .page-item;\n\n a {\n @extend .page-link;\n }\n }\n}\n\n.label-pill {\n border-radius: 1rem !important;\n}\n\n// temp fix for Vue & React\n\n// Open state for the dropdown\n.open,\n.show {\n // Remove the outline when :focus is triggered\n > a {\n outline: 0;\n }\n}\n\n// navbar dropdown fix\n.navbar .dropdown-toggle {\n @extend .nav-link;\n\n .img-avatar {\n height: $navbar-height - 20px;\n margin: 0 10px;\n }\n}\n\n.card-block {\n @extend .card-body;\n}\n","//\n// RTL Support\n//\n// scss-lint:disable NestingDepth, SelectorDepth\n*[dir='rtl'] {\n direction: rtl;\n unicode-bidi: embed;\n\n ul {\n -webkit-padding-start: 0;\n }\n\n table tr th {\n text-align: right;\n }\n\n // Breadcrumb\n\n .breadcrumb-item {\n float: right;\n }\n\n .breadcrumb-menu {\n right: auto;\n left: $breadcrumb-padding-x;\n }\n\n // Dropdown\n .dropdown-item {\n text-align: right;\n\n i {\n margin-right: -10px;\n margin-left: 10px;\n }\n\n .badge {\n right: auto;\n left: 10px;\n }\n }\n\n //\n // Sidebar\n //\n .sidebar-hidden {\n .sidebar {\n margin-right: -$sidebar-width;\n }\n }\n\n .sidebar-fixed {\n .main,\n .app-footer {\n margin-right: $sidebar-width;\n }\n\n &.sidebar-hidden {\n .main,\n .app-footer {\n margin-right: 0;\n }\n }\n }\n\n .sidebar-minimized {\n .sidebar {\n flex: 0 0 $sidebar-minimized-width;\n }\n\n &.sidebar-hidden {\n .sidebar {\n margin-right: -$sidebar-minimized-width;\n margin-left: 0;\n }\n }\n\n &.sidebar-fixed {\n .main,\n .app-footer {\n margin-right: $sidebar-minimized-width;\n }\n\n &.sidebar-hidden {\n .main,\n .app-footer {\n margin-left: 0;\n }\n }\n }\n }\n\n //\n // Aside Menu\n //\n .aside-menu-hidden {\n .aside-menu {\n margin-right: 0;\n margin-left: -$aside-menu-width;\n }\n }\n\n .aside-menu-fixed {\n .aside-menu {\n right: auto;\n left: 0;\n }\n\n .main,\n .app-footer {\n //margin-right: 0;\n margin-left: $aside-menu-width;\n }\n\n &.aside-menu-hidden {\n .main,\n .app-footer {\n margin-left: 0;\n }\n }\n }\n\n .aside-menu-off-canvas {\n .aside-menu {\n position: fixed;\n right: 0;\n z-index: $zindex-sticky - 1;\n height: 100%;\n\n .tab-content {\n height: calc(\n 100vh - #{$aside-menu-nav-padding-y * 2 + $font-size-base} -\n #{$navbar-height}\n );\n }\n }\n }\n\n // Sidebar Menu\n .sidebar {\n .sidebar-nav {\n .nav {\n .nav-item {\n .nav-link {\n direction: rtl;\n i {\n margin: 0 0 0 ($sidebar-nav-link-padding-x / 2);\n }\n .badge {\n float: left;\n margin-top: 2px;\n // margin-left: 10px;\n }\n &.nav-dropdown-toggle {\n &::before {\n position: absolute;\n right: auto !important;\n left: $sidebar-nav-link-padding-x;\n transform: rotate(180deg);\n }\n }\n }\n &.nav-dropdown {\n &.open {\n > .nav-link.nav-dropdown-toggle::before {\n transform: rotate(270deg);\n }\n }\n }\n }\n }\n }\n }\n\n .sidebar-minimized .sidebar {\n .nav-link {\n padding-right: 0;\n i {\n float: right;\n padding: 0;\n margin: 0;\n }\n .badge {\n right: auto;\n left: 15px;\n }\n }\n .nav > .nav-dropdown {\n &:hover {\n > .nav-dropdown-items {\n right: $sidebar-minimized-width;\n left: 0;\n }\n }\n }\n }\n\n // Horizontal bars\n .horizontal-bars {\n li {\n .bars {\n padding-right: 100px;\n padding-left: 0;\n\n .progress:first-child {\n margin-bottom: 2px;\n }\n }\n }\n\n &.type-2 {\n li {\n i {\n margin-right: 5px;\n margin-left: $spacer;\n }\n\n .value {\n float: left;\n font-weight: 600;\n }\n\n .bars {\n padding: 0;\n }\n }\n }\n }\n\n // Icon list\n .icons-list {\n li {\n position: relative;\n height: 40px;\n vertical-align: middle;\n\n i {\n float: right;\n }\n\n .desc {\n margin-right: 50px;\n margin-left: 0;\n }\n\n .value {\n right: auto;\n left: 45px;\n text-align: left;\n\n strong {\n display: block;\n margin-top: -3px;\n }\n }\n\n .actions {\n right: auto;\n left: 10px;\n }\n }\n }\n\n // Callouts\n .callout {\n border: 0 solid $border-color;\n border-right-width: 0.25rem;\n\n @each $color, $value in $theme-colors {\n &.callout-#{$color} {\n border-right-color: $value;\n }\n }\n\n .chart-wrapper {\n left: 0;\n float: left;\n }\n }\n\n .callout-default {\n border-right-color: $text-muted;\n }\n}\n","// Here you can add other styles\n\nform.rjsf label {\n margin-bottom: 0;\n}\n\nform.rjsf div > p.field-description {\n font-size: 0.7rem;\n font-style: italic;\n margin-bottom: 0px;\n}\n\nform.rjsf input {\n width: auto;\n}\n\nform.rjsf div.row.array-item {\n background-color: aliceblue;\n margin-bottom: 3px;\n}\n\n@media (max-width: 767px) {\n .container-fluid,\n .row {\n padding: 0 2px !important;\n }\n .navbar-header {\n margin: 0px;\n }\n}\n\n/** Utility class to attempt to wrap text in a more balanced way. **/\n.text-pretty {\n text-wrap: balance; /* Fallback for older browsers */\n text-wrap: pretty; /* Future spec */\n}\n"],sourceRoot:""}]);const b=c},72678:(e,n,t)=>{"use strict";t.d(n,{A:()=>l});var o=t(9372),r=t.n(o),a=t(40935),i=t.n(a)()(r());i.push([e.id,".appstore__warning{margin-bottom:20px}.appstore__warning .message__container{padding:10px;color:#9d8641;border:1px solid #9d8641;background-color:#fff2cd}.appstore__warning .message__container p{margin:0}.appstore__warning .message__container p span{margin-right:5px}.appstore__warning .message__container i{margin-right:5px}.appstore__header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}@media(max-width: 1080px){.appstore__header{flex-direction:column}.appstore__header .title__container{width:100%;justify-content:space-between;margin-bottom:10px}.appstore__header .action__container{width:100%;flex-direction:row-reverse}.appstore__header .action__container .search{min-width:none;justify-self:flex-start}}.appstore__header .title__container{display:flex;align-items:center}.appstore__header .title__container .card-title{margin:0 10px 0 0}.appstore__header .title__container .button-wrapper .badge__update{color:#fff;font-size:10px;border-radius:3px;background-color:#00cd79;margin-left:5px;padding:3px;vertical-align:middle}.appstore__header .title__container .button-wrapper button{margin:0 2px}.appstore__header .action__container{display:flex;align-items:center}.appstore__header .action__container button{margin:0 5px}.appstore__header .action__container .search{height:100%;position:relative;margin:0 5px}.appstore__header .action__container .search__icon{position:absolute;margin-left:5px;padding:10px;color:gray}.appstore__header .action__container .search__input{padding:10px;width:100%;text-indent:30px}.appstore__tags{margin-bottom:20px}.appstore__tags button{margin:5px 5px;border-radius:30px}.appstore__grid{flex:1 1 auto;background-color:#fff;max-height:80%;font-size:14px}.appstore__grid .grid__action{display:flex;justify-content:flex-end}.appstore__grid .cell-action{width:160px}.appstore__grid .cell-action .proress__wrapper{display:flex;flex-direction:column}.appstore__grid .cell-action .progress__status{text-align:center;width:100%}.appstore__grid .cell-action .progress__bar{width:100%}","",{version:3,sources:["webpack://./src/views/appstore/appStore.scss"],names:[],mappings:"AACE,mBACE,kBAAA,CAEA,uCACE,YAAA,CACA,aAAA,CACA,wBAAA,CACA,wBAAA,CACA,yCAIE,QAAA,CAHA,8CACE,gBAAA,CAIJ,yCACE,gBAAA,CAKN,kBACE,YAAA,CACA,6BAAA,CACA,kBAAA,CACA,cAAA,CAEA,0BANF,kBAOI,qBAAA,CAEA,oCACE,UAAA,CACA,6BAAA,CACA,kBAAA,CAGF,qCACE,UAAA,CACA,0BAAA,CAEA,6CACE,cAAA,CACA,uBAAA,CAAA,CAKN,oCACE,YAAA,CACA,kBAAA,CAEA,gDACE,iBAAA,CAIA,mEACE,UAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,eAAA,CACA,WAAA,CACA,qBAAA,CAGF,2DACE,YAAA,CAKN,qCACE,YAAA,CACA,kBAAA,CAEA,4CACE,YAAA,CAGF,6CACE,WAAA,CACA,iBAAA,CACA,YAAA,CAEA,mDACE,iBAAA,CACA,eAAA,CACA,YAAA,CACA,UAAA,CAEF,oDACE,YAAA,CACA,UAAA,CACA,gBAAA,CAMR,gBAKE,kBAAA,CAJA,uBACE,cAAA,CACA,kBAAA,CAKJ,gBACE,aAAA,CACA,qBAAA,CACA,cAAA,CACA,cAAA,CAEA,8BACE,YAAA,CACA,wBAAA,CAGF,6BACE,WAAA,CAEA,+CACE,YAAA,CACA,qBAAA,CAGF,+CACE,iBAAA,CACA,UAAA,CAGF,4CACE,UAAA",sourcesContent:[".appstore {\n &__warning {\n margin-bottom: 20px;\n\n .message__container {\n padding: 10px;\n color: #9d8641;\n border: 1px solid #9d8641;\n background-color: #fff2cd;\n p {\n span {\n margin-right: 5px;\n }\n margin: 0;\n }\n i {\n margin-right: 5px;\n }\n }\n }\n\n &__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n\n @media (max-width: 1080px) {\n flex-direction: column;\n\n .title__container {\n width: 100%;\n justify-content: space-between;\n margin-bottom: 10px;\n }\n\n .action__container {\n width: 100%;\n flex-direction: row-reverse;\n\n .search {\n min-width: none;\n justify-self: flex-start;\n }\n }\n }\n\n .title__container {\n display: flex;\n align-items: center;\n\n .card-title {\n margin: 0 10px 0 0;\n }\n\n .button-wrapper {\n .badge__update {\n color: white;\n font-size: 10px;\n border-radius: 3px;\n background-color: #00cd79;\n margin-left: 5px;\n padding: 3px;\n vertical-align: middle;\n }\n\n button {\n margin: 0 2px;\n }\n }\n }\n\n .action__container {\n display: flex;\n align-items: center;\n\n button {\n margin: 0 5px;\n }\n\n .search {\n height: 100%;\n position: relative;\n margin: 0 5px;\n\n &__icon {\n position: absolute;\n margin-left: 5px;\n padding: 10px;\n color: grey;\n }\n &__input {\n padding: 10px;\n width: 100%;\n text-indent: 30px;\n }\n }\n }\n }\n\n &__tags {\n button {\n margin: 5px 5px;\n border-radius: 30px;\n }\n margin-bottom: 20px;\n }\n\n &__grid {\n flex: 1 1 auto;\n background-color: white;\n max-height: 80%;\n font-size: 14px;\n\n .grid__action {\n display: flex;\n justify-content: flex-end;\n }\n\n .cell-action {\n width: 160px;\n\n .proress__wrapper {\n display: flex;\n flex-direction: column;\n }\n\n .progress__status {\n text-align: center;\n width: 100%;\n }\n\n .progress__bar {\n width: 100%;\n }\n }\n }\n}\n"],sourceRoot:""}]);const l=i},81087:(e,n,t)=>{"use strict";t.d(n,{A:()=>l});var o=t(9372),r=t.n(o),a=t(40935),i=t.n(a)()(r());i.push([e.id,".fa-pulse {\n display: inline-block;\n -moz-animation: pulse 2s infinite linear;\n -o-animation: pulse 2s infinite linear;\n -webkit-animation: pulse 2s infinite linear;\n animation: pulse 2s infinite linear;\n}\n\n.fa-pulse-fast {\n display: inline-block;\n -moz-animation: pulse 1s infinite linear;\n -o-animation: pulse 1s infinite linear;\n -webkit-animation: pulse 1s infinite linear;\n animation: pulse 1s infinite linear;\n}\n\n@-webkit-keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@-moz-keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@-o-keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@-ms-keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n","",{version:3,sources:["webpack://./src/fa-pulse.css"],names:[],mappings:"AAAA;EACE,qBAAqB;EACrB,wCAAwC;EACxC,sCAAsC;EACtC,2CAA2C;EAC3C,mCAAmC;AACrC;;AAEA;EACE,qBAAqB;EACrB,wCAAwC;EACxC,sCAAsC;EACtC,2CAA2C;EAC3C,mCAAmC;AACrC;;AAEA;EACE;IACE,UAAU;EACZ;EACA;IACE,UAAU;EACZ;EACA;IACE,UAAU;EACZ;AACF;AACA;EACE;IACE,UAAU;EACZ;EACA;IACE,UAAU;EACZ;EACA;IACE,UAAU;EACZ;AACF;AACA;EACE;IACE,UAAU;EACZ;EACA;IACE,UAAU;EACZ;EACA;IACE,UAAU;EACZ;AACF;AACA;EACE;IACE,UAAU;EACZ;EACA;IACE,UAAU;EACZ;EACA;IACE,UAAU;EACZ;AACF;AACA;EACE;IACE,UAAU;EACZ;EACA;IACE,UAAU;EACZ;EACA;IACE,UAAU;EACZ;AACF",sourcesContent:[".fa-pulse {\n display: inline-block;\n -moz-animation: pulse 2s infinite linear;\n -o-animation: pulse 2s infinite linear;\n -webkit-animation: pulse 2s infinite linear;\n animation: pulse 2s infinite linear;\n}\n\n.fa-pulse-fast {\n display: inline-block;\n -moz-animation: pulse 1s infinite linear;\n -o-animation: pulse 1s infinite linear;\n -webkit-animation: pulse 1s infinite linear;\n animation: pulse 1s infinite linear;\n}\n\n@-webkit-keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@-moz-keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@-o-keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@-ms-keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n"],sourceRoot:""}]);const l=i}}]);
|
|
1
|
+
(self.webpackChunk_signalk_server_admin_ui=self.webpackChunk_signalk_server_admin_ui||[]).push([[309],{7653:(e,n,t)=>{"use strict";t.d(n,{A:()=>o});const o=t.p+"./fonts/signal-k-logo-image-text.d132ec2c4f0269c103c868aaa6868f01.svg"},31305:(e,n,t)=>{"use strict";t.d(n,{A:()=>l});var o=t(9372),r=t.n(o),a=t(40935),i=t.n(a)()(r());i.push([e.id,".app-header .navbar-nav .dropdown-menu-right{right:auto}","",{version:3,sources:["webpack://./scss/core/_dropdown-menu-right.scss"],names:[],mappings:"AAGI,6CACE,UAAA",sourcesContent:["// Temp fix for reactstrap\n.app-header {\n .navbar-nav {\n .dropdown-menu-right {\n right: auto;\n }\n }\n}\n"],sourceRoot:""}]);const l=i},43385:(e,n,t)=>{"use strict";var o=t(80322),r=t.n(o),a=t(8522),i=t.n(a),l=t(77377),s=t(22183),A=t(39056),d=t(95898),c=t(23642),m=t(96074),p=(t(57100),t(21437),t(16542),t(72591)),b=t.n(p),g=t(71087);b()(g.A,{insert:"head",singleton:!1}),g.A.locals;var u=t(31305);b()(u.A,{insert:"head",singleton:!1}),u.A.locals;var h=t(41476),C=t(47674),f=t(84761),v=t(45250);const w=(e,n)=>fetch(e,{...n,credentials:"include"});async function E(e,n,t,o,r){const a={username:n,password:t,rememberMe:o},i=await w("/signalk/v1/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),l=await i.json();200!==i.status?(e({type:"LOGIN_FAILURE",data:l.message}),r(l.message)):l&&(N(e),e({type:"LOGIN_SUCCESS"}),r(null))}function B(){return e=>{confirm("Are you sure you want to restart?")&&fetch(`${window.serverRoutesPrefix}/restart`,{credentials:"include",method:"PUT"}).then((()=>{e({type:"SERVER_RESTART"})}))}}const x=(e,n,t)=>async o=>{const r=await w(`${(0,v.isUndefined)(t)?window.serverRoutesPrefix:t}${e}`);if(200===r.status){const e=await r.json();o({type:n,data:e})}},k=x("/loginStatus","RECEIVE_LOGIN_STATUS"),$=x("/plugins","RECEIVE_PLUGIN_LIST"),y=x("/webapps","RECEIVE_WEBAPPS_LIST"),F=x("/addons","RECEIVE_ADDONS_LIST"),S=x("/appstore/available","RECEIVE_APPSTORE_LIST"),z=x("/security/access/requests","ACCESS_REQUEST"),D=x("/signalk","RECEIVE_SERVER_SPEC","");function N(e){$(e),y(e),F(e),S(e),k(e),D(e),z(e)}function I(e,n){const t="https:"==window.location.protocol?"wss":"ws",o=new WebSocket(t+"://"+window.location.host+"/signalk/v1/stream?serverevents=all&subscribe=none&sendMeta=all");o.onmessage=function(n){const t=JSON.parse(n.data);t.type?e(t):t.name?o.skSelf=t.self:o.messageHandler&&o.messageHandler(t)},o.onclose=()=>{console.log("closed"),e({type:"WEBSOCKET_CLOSE"})},o.onerror=()=>{e({type:"WEBSOCKET_ERROR"})},o.onopen=()=>{console.log("connected"),e({type:"WEBSOCKET_OPEN",data:o}),n&&window.location.reload()}}class U extends o.Component{constructor(e){super(e),this.toggleDropdown=this.toggleDropdown.bind(this),this.state={dropdownOpen:!1}}componentDidMount(){window.addEventListener("sidebar:hide",(()=>{document.body.classList.toggle("sidebar-hidden",!0),document.body.classList.toggle("sidebar-mobile-show",!1)})),window.addEventListener("popstate",(()=>{document.body.classList.toggle("sidebar-mobile-show",!1)}))}toggleDropdown(){this.setState({dropdownOpen:!this.state.dropdownOpen})}sidebarToggle(e){e.preventDefault(),document.body.classList.toggle("sidebar-hidden")}sidebarMinimize(e){e.preventDefault(),document.body.classList.toggle("sidebar-minimized")}mobileSidebarToggle(e){e.preventDefault(),document.body.classList.toggle("sidebar-mobile-show")}asideToggle(e){e.preventDefault(),document.body.classList.toggle("aside-menu-hidden")}render(){return r().createElement("header",{className:"app-header navbar"},r().createElement(f.r6,{className:"d-lg-none",onClick:this.mobileSidebarToggle},r().createElement("span",{className:"navbar-toggler-icon"})),r().createElement(f.gH,{href:"#"}),r().createElement(f.r6,{className:"d-md-down-none mr-auto",onClick:this.sidebarToggle},r().createElement("span",{className:"navbar-toggler-icon"})),r().createElement(f.so,{className:"ml-auto",navbar:!0},r().createElement(f.CI,{className:"d-md-down-none px-3"},"loggedIn"===this.props.loginStatus.status&&"admin"==this.props.loginStatus.userLevel&&r().createElement(f.k2,{href:"#/",onClick:this.props.restart},this.props.restarting?r().createElement("i",{className:"fa fa-circle-o-notch text-danger fa-spin"}):r().createElement("i",{className:"fa fa-circle-o-notch"})," ","Restart")),"loggedIn"===this.props.loginStatus.status&&r().createElement(f.CI,{className:"d-md-down-none px-3"},r().createElement(f.k2,{href:"#/",onClick:this.props.logout},r().createElement("i",{className:"fa fa-lock"})," Logout")),"loggedIn"!==this.props.loginStatus.status&&this.props.loginStatus.authenticationRequired&&r().createElement(f.CI,{className:"d-md-down-none px-3"},r().createElement(f.k2,{href:"#/login"},r().createElement("i",{className:"fa fa-lock"})," Login")),r().createElement("div",{className:"d-lg-none"},r().createElement(f.ms,{nav:!0,isOpen:this.state.dropdownOpen,toggle:this.toggleDropdown},r().createElement(f.C,{nav:!0},r().createElement("i",{className:"icon-menu"})),r().createElement(f.rI,{right:!0},"loggedIn"===this.props.loginStatus.status&&"admin"==this.props.loginStatus.userLevel&&r().createElement(f.tJ,{onClick:this.props.restart},this.props.restarting?r().createElement("i",{className:"fa fa-circle-o-notch text-danger fa-spin"}):r().createElement("i",{className:"fa fa-circle-o-notch"})," ","Restart"),"loggedIn"===this.props.loginStatus.status&&r().createElement(f.tJ,{onClick:this.props.logout},r().createElement("i",{className:"fa fa-lock"})," Logout"),"loggedIn"!==this.props.loginStatus.status&&this.props.loginStatus.authenticationRequired&&r().createElement(f.tJ,{href:"#/login"},r().createElement("i",{className:"fa fa-lock"})," Login"))))))}}const q=(0,d.Ng)((({loginStatus:e,restarting:n})=>({loginStatus:e,restarting:n})),{logout:function(){return e=>{e({type:"LOGOUT_REQUESTED"}),w("/signalk/v1/auth/logout",{method:"PUT"}).then((e=>{if(!e.ok)throw new Error(e.statusText);return e})).then((()=>{e({type:"LOGOUT_SUCCESS"})})).catch((n=>{e({type:"LOGOUT_FAILED",data:n})})).then((()=>{k(e)}))}},restart:B,login:E})(U);var G=t(45172),J=t(53373),R=t.n(J);class O extends o.Component{render(){return null}}const M=O;class W extends o.Component{render(){return null}}const P=W;class j extends o.Component{render(){return null}}const K=j;class Y extends o.Component{sidebarMinimize(){document.body.classList.toggle("sidebar-minimized")}brandMinimize(){document.body.classList.toggle("brand-minimized")}render(){return r().createElement("button",{className:"sidebar-minimizer",type:"button",onClick:()=>{this.sidebarMinimize(),this.brandMinimize()}})}}const T=Y;function _(){return _=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)({}).hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},_.apply(null,arguments)}class Q extends o.Component{handleClick(e){e.preventDefault(),e.target.parentElement.classList.toggle("open")}activeRoute(e,n){return n.location.pathname.indexOf(e)>-1?"nav-item nav-dropdown open":"nav-item nav-dropdown"}render(){const e=this.props,n=this.activeRoute,t=this.handleClick,o=e=>{if(e){const n=R()(e.class);return r().createElement(f.Ex,{className:n,color:e.variant},e.text)}},a=(a,i)=>r().createElement("li",{key:i,className:n(a.url,e)},r().createElement("a",{className:"nav-link nav-dropdown-toggle",href:"#",onClick:t.bind(this)},r().createElement("i",{className:a.icon}),a.name,o(a.badge)),r().createElement("ul",{className:"nav-dropdown-items"},l(a.children))),i=(e,n)=>e.title?((e,n)=>{const t=R()("nav-title",e.class);return r().createElement("li",{key:n,className:t},(o=e).wrapper&&o.wrapper.element?r().createElement(o.wrapper.element,o.wrapper.attributes,o.name):o.name," ");var o})(e,n):e.divider?((e,n)=>{const t=R()("divider",e.class);return r().createElement("li",{key:n,className:t})})(e,n):e.children?a(e,n):((e,n)=>((e,n,t)=>{const a=e.url?e.url:"";return r().createElement(f.CI,{key:n,className:t.item},s(a)?r().createElement(f.k2,_({href:a,className:t.link},e.props||{}),r().createElement("i",{className:t.icon}),e.name,o(e.badge)):r().createElement(G.A,_({to:a,className:t.link,activeClassName:"active"},e.props||{}),r().createElement("i",{className:t.icon}),e.name,o(e.badge)))})(e,n,{item:R()(e.class),link:R()("nav-link",e.variant?`nav-link-${e.variant}`:""),icon:R()(e.icon)}))(e,n),l=e=>e.map(((e,n)=>i(e,n))),s=e=>"http"===(e?e.substring(0,4):"");return r().createElement("div",{className:"sidebar"},r().createElement(K,null),r().createElement(P,null),r().createElement("nav",{className:"sidebar-nav"},r().createElement(f.so,null,l(e.items))),r().createElement(M,null),r().createElement(T,null))}}const L=(0,d.Ng)((e=>{var n=e.appStore.updates.length,t=null,o=null,r=null;n>0&&(t={variant:"success",text:`${n}`,color:"success"}),e.accessRequests.length>0&&(r={variant:"danger",text:`${e.accessRequests.length}`,color:"danger"}),!1===e.appStore.storeAvailable&&(t={variant:"danger",text:"OFFLINE"}),e.appStore.serverUpdate&&(o={variant:"danger",text:e.appStore.serverUpdate,color:"danger"});var a={items:[{name:"Dashboard",url:"/dashboard",icon:"icon-speedometer"},{name:"Webapps",url:"/webapps",icon:"icon-grid"},{name:"Data Browser",url:"/databrowser",icon:"icon-folder"}]};if(!e.loginStatus.authenticationRequired||"admin"==e.loginStatus.userLevel){const e=localStorage.getItem("admin.v1.plugins.openPlugin");a.items.push.apply(a.items,[{name:"Appstore",url:"/appstore",icon:"icon-basket",badge:t},{name:"Server",url:"/serverConfiguration",icon:"icon-settings",children:[{name:"Settings",url:"/serverConfiguration/settings"},{name:"Data Connections",url:"/serverConfiguration/connections/-"},{name:"Plugin Config",url:"/serverConfiguration/plugins/"+(e||"-")},{name:"Server Logs",url:"/serverConfiguration/log"},{name:"Update",url:"/serverConfiguration/update",badge:o},{name:"Data Fiddler",url:"/serverConfiguration/datafiddler"},{name:"Backup/Restore",url:"/serverConfiguration/backuprestore"}]}])}if(!1===e.loginStatus.authenticationRequired||"admin"==e.loginStatus.userLevel){var i={name:"Security",url:"/security",icon:"icon-shield",badge:r,children:[{name:"Settings",url:"/security/settings"},{name:"Users",url:"/security/users"}]};e.loginStatus.allowDeviceAccessRequests&&i.children.push({name:"Devices",url:"/security/devices"}),(e.loginStatus.allowNewUserRegistration||e.loginStatus.allowDeviceAccessRequests)&&i.children.push({name:"Access Requests",url:"/security/access/requests",badge:r}),a.items.push(i)}return a.items.push({name:"Documentation",url:`${window.location.protocol}//${window.location.host}/documentation`,icon:"icon-book-open",props:{target:"_blank",rel:"noopener noreferrer"}}),a.items.push({name:"OpenApi",url:`${window.location.protocol}//${window.location.host}/doc/openapi`,icon:"icon-energy",props:{target:"_blank",rel:"noopener noreferrer"}}),a}))(Q);class H extends o.Component{render(){return r().createElement("aside",{className:"aside-menu"})}}const V=H;var X=t(6621);class Z extends o.Component{constructor(e){super(e)}render(){const{name:e,mmsi:n,uuid:t}=this.props.vesselInfo;return r().createElement("footer",{className:"app-footer"},r().createElement("span",null,r().createElement("a",{href:"https://github.com/SignalK/signalk-server-node/"},"Signal K Server")),void 0!==this.props.serverSpecification.server&&r().createElement("span",null," version ",this.props.serverSpecification.server.version),r().createElement("span",null," "," ",r().createElement("a",{href:"https://opencollective.com/signalk"},"Sponsor Signal K")),void 0!==this.props.appStore.serverUpdate&&r().createElement("span",null,r().createElement(X.A,{to:"/serverConfiguration/update"}," (version ",this.props.appStore.serverUpdate," is available)")),"loggedIn"===this.props.loginStatus.status&&r().createElement("span",{className:"ml-auto"},"Logged in as ",this.props.loginStatus.username)," - ",e||n||t)}}const ee=(0,d.Ng)((({loginStatus:e,serverSpecification:n,appStore:t,vesselInfo:o})=>({loginStatus:e,serverSpecification:n,appStore:t,vesselInfo:o})))(Z);var ne=t(81087);function te(e){return r().createElement("a",{href:"#/serverConfiguration/plugins/"+e},e)}function oe(e){return"defaults"===e?r().createElement("a",{href:"#/serverConfiguration/settings"},e):e.startsWith("ws.")?r().createElement("a",{href:"#/security/devices"},e):r().createElement("a",{href:"#/serverConfiguration/connections/"+e},e)}b()(ne.A,{insert:"head",singleton:!1}),ne.A.locals;const re=(0,d.Ng)((({serverStatistics:e,websocketStatus:n,providerStatus:t})=>({serverStatistics:e,websocketStatus:n,providerStatus:t})))((e=>{const{deltaRate:n,numberOfAvailablePaths:t,wsClients:o,providerStatistics:a,uptime:i}=e.serverStatistics||{deltaRate:0,numberOfAvailablePaths:0,wsClients:0,providerStatistics:{},uptime:""},l=e.providerStatus||[],s=l.filter((e=>"error"===e.type)).length,A=Math.floor(i/86400),d=Math.floor(i%86400/3600),c=Math.floor(i%3600/60);let m="";s>0&&(m=`(${s} errors)`);const p=e=>{try{return l.find((n=>n.id===e)).statusType}catch(e){return"provider"}},b=e=>"icon-login"+(e.deltaRate>50?" text-primary fa-pulse-fast":e.deltaRate>0?" text-primary fa-pulse":""),g=e=>"icon-logout"+(e.writeRate>50?" text-primary fa-pulse-fast":e.writeRate>0?" text-primary fa-pulse":""),u=(t,o,a)=>r().createElement("li",{key:t,onClick:()=>e.history.push("/dashboard")},r().createElement("i",{className:b(o),style:{color:o.deltaCount?"#039":"lightblue"}}),r().createElement("i",{className:g(o),style:{transform:"scaleX(-1)",color:o.writeCount?"#039":"lightblue"}}),r().createElement("span",{className:"title"},"plugin"===a?te(t):oe(t)),o.writeRate>0&&r().createElement("span",{className:"value"}," ",o.writeRate," ",r().createElement("span",{className:"text-muted small"},"msg/s")," "),o.deltaRate>0&&o.writeRate>0&&r().createElement("span",{className:"value"},r().createElement("span",{className:"text-muted small"},",")," "),o.deltaRate>0&&r().createElement("span",{className:"value"}," ",o.deltaRate," ",r().createElement("span",{className:"text-muted small"},"(",(o.deltaRate/n*100).toFixed(0),"%)")," ",r().createElement("span",{className:"text-muted small"},"deltas/s")," "),r().createElement("div",{className:"bars"},r().createElement(f.ke,{className:"progress-xs",color:"warning",value:o.deltaRate/n*100})));return r().createElement("div",{className:"animated fadeIn"},"open"===e.websocketStatus&&r().createElement("div",null,r().createElement(f.Zp,null,r().createElement(f.aR,null,"Stats"),r().createElement(f.bw,null,r().createElement(f.fI,null,r().createElement(f.fv,{xs:"12",md:"6"},r().createElement("div",{className:"callout callout-primary"},r().createElement("small",{className:"text-muted"},"Total server Signal K throughput (deltas/second)"),r().createElement("br",null),r().createElement("strong",{className:"h4"},n.toFixed(1))),r().createElement("div",{className:"callout callout-primary"},r().createElement("small",{className:"text-muted"},"Number of Signal K Paths"),r().createElement("br",null),r().createElement("strong",{className:"h4"},t)),r().createElement("div",{className:"callout callout-primary"},r().createElement("small",{className:"text-muted"},"Number of WebSocket Clients"),r().createElement("br",null),r().createElement("strong",{className:"h4"},o)),r().createElement("div",{className:"callout callout-primary"},r().createElement("small",{className:"text-muted"},"Uptime"),r().createElement("br",null),r().createElement("strong",{className:"h5"},A," days, ",d," hours, ",c," minutes"))),r().createElement(f.fv,{xs:"12",md:"6"},r().createElement("div",{className:"text-muted",style:{fontSize:"1rem"}},"Connections activity"),r().createElement("ul",{className:"horizontal-bars type-2"},Object.keys(a||{}).sort().map((e=>{if("provider"===p(e))return u(e,a[e],"provider")}))),r().createElement("br",null),r().createElement("div",{className:"text-muted",style:{fontSize:"1rem"}},Object.keys(a||{}).some((e=>"plugin"===p(e)))?"Plugins activity":null),r().createElement("ul",{className:"horizontal-bars type-2"},Object.keys(a||{}).sort().map((e=>{if("plugin"===p(e))return u(e,a[e],"plugin")}))))))),r().createElement(f.Zp,null,r().createElement(f.aR,null,"Connection & Plugin Status ",r().createElement("p",{className:"text-danger"},m)),r().createElement(f.bw,null,r().createElement(f.fI,null,r().createElement(f.fv,{xs:"12",md:"12"},r().createElement(f.XI,{hover:!0,responsive:!0,bordered:!0,striped:!0,size:"sm"},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",null,"Id"),r().createElement("th",null,"Last Error"),r().createElement("th",null,"Status"))),r().createElement("tbody",null,l.map((n=>((n,t,o)=>r().createElement("tr",{key:n.id,onClick:()=>{e.history.push("/serverConfiguration/"+("plugin"===n.statusType?"plugins/":"connections/")+n.id)}},r().createElement("td",null,"plugin"===n.statusType?te(n.id):oe(n.id)),r().createElement("td",null,r().createElement("p",{className:"text-danger"},o)),r().createElement("td",null,r().createElement("p",{className:t},(n.message||"").substring(0,80),n.message.length>80?"...":""))))(n,{status:"text-success",warning:"text-warning",error:"text-danger"}[n.type],n.lastError&&n.lastError!=n.message?n.lastErrorTimeStamp+": "+n.lastError:"")))))))))),"closed"===e.websocketStatus&&r().createElement(f.Zp,{className:"border-warning"},r().createElement(f.aR,null,"Not connected to the server")))})),ae=(e,n)=>r().lazy((()=>new Promise(((o,r)=>{const a=window[ie(e)];if(void 0===a)return console.error(`Could not load module ${e}`),void o(t.e(188).then(t.bind(t,89188)));a.init(t.S.default);try{a.get(n).then((e=>{o(e())}))}catch(n){console.error(e),r(n)}})))),ie=e=>e.replace(/[-@/]/g,"_");class le extends o.Component{constructor(e){super(e),this.state={enabling:!1,errorMessage:null},this.handleInputChange=this.handleInputChange.bind(this),this.handleInputKeyUp=this.handleInputKeyUp.bind(this),this.handleClick=this.handleClick.bind(this)}handleClick(){const{dispatch:e}=this.props;var n,t,o,r;this.setState({enabling:!0}),n=this.state.username,t=this.state.password,o=n=>{k(e),this.setState({enabling:!1,errorMessage:n})},r={userId:n,password:t,type:"admin"},fetch(`${window.serverRoutesPrefix}/enableSecurity`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)}).then((e=>{200!=e.status?e.text().then((e=>{o(e)})):o(null)}))}handleInputChange(e){this.setState({[e.target.name]:e.target.value})}handleInputKeyUp(e){"Enter"===e.key&&this.handleClick()}render(){return r().createElement("div",null,this.props.loginStatus.authenticationRequired&&!this.props.loginStatus.noUsers&&r().createElement(de,null),(!1===this.props.loginStatus.authenticationRequired||!0===this.props.loginStatus.noUsers)&&r().createElement(f.mc,null,r().createElement(f.fI,{className:"justify-content-center"},r().createElement(f.fv,{md:"8"},r().createElement(f.AC,null,r().createElement(f.Zp,{className:"p-4"},r().createElement(f.bw,null,this.props.loginStatus.securityWasEnabled&&0==this.props.loginStatus.authenticationRequired&&r().createElement("p",{className:"text-danger"},"Security has been enabled, please restart the server"),!this.props.loginStatus.securityWasEnabled&&r().createElement(f.lV,null,r().createElement("h1",null,"Enable Security"),r().createElement("p",{className:"text-muted"},"Create an admin account"),r().createElement(f.MG,{className:"mb-3"},r().createElement(f.Sq,{addonType:"prepend"},r().createElement(f.zB,null,r().createElement("i",{className:"icon-user"}))),r().createElement(f.pd,{type:"text",name:"username",placeholder:"Username",onChange:this.handleInputChange,onKeyUp:this.handleInputKeyUp})),r().createElement(f.MG,{className:"mb-4"},r().createElement(f.Sq,{addonType:"prepend"},r().createElement(f.zB,null,r().createElement("i",{className:"icon-lock"}))),r().createElement(f.pd,{type:"password",name:"password",placeholder:"Password",onChange:this.handleInputChange,onKeyUp:this.handleInputKeyUp})),r().createElement(f.fI,null,r().createElement(f.fv,{xs:"6"},r().createElement(f.$n,{onClick:this.handleClick,color:"primary",className:"px-4"},r().createElement("i",{className:this.state.enabling?"fa fa-spinner fa-spin":"fa fa-lock"})," ","Enable")),r().createElement(f.fv,{xs:"6",className:"text-right"},r().createElement("p",{className:"text-danger"},this.state.errorMessage)))))))))))}}const se=(0,d.Ng)((({loginStatus:e})=>({loginStatus:e})))(le);class Ae extends o.Component{constructor(e){super(e),this.state={loggingIn:!1,loginErrorMessage:null},this.handleInputChange=this.handleInputChange.bind(this),this.handleInputKeyUp=this.handleInputKeyUp.bind(this),this.handleClick=this.handleClick.bind(this)}handleClick(){this.setState({loggingIn:!0});const{dispatch:e}=this.props;E(e,this.state.username,this.state.password,this.state.rememberMe,(e=>{this.setState({loggingIn:!1,loginErrorMessage:e})}))}handleInputChange(e){var n="checkbox"===e.target.type?e.target.checked:e.target.value;this.setState({[e.target.name]:n})}handleInputKeyUp(e){"Enter"===e.key&&this.handleClick()}render(){return"notLoggedIn"===this.props.loginStatus.status&&!0===this.props.loginStatus.noUsers?r().createElement(se,null):r().createElement("div",null,"notLoggedIn"===this.props.loginStatus.status&&r().createElement(f.mc,null,r().createElement(f.fI,{className:"justify-content-center"},r().createElement(f.fv,{md:"8"},r().createElement(f.AC,null,r().createElement(f.Zp,{className:"p-4"},r().createElement(f.bw,null,r().createElement("h1",null,"Login"),r().createElement("p",{className:"text-muted"},"Sign In to your account"),r().createElement(f.MG,{className:"mb-3"},r().createElement(f.Sq,{addonType:"prepend"},r().createElement(f.zB,null,r().createElement("i",{className:"icon-user"}))),r().createElement(f.pd,{type:"text",name:"username",placeholder:"Username",onChange:this.handleInputChange,onKeyUp:this.handleInputKeyUp})),r().createElement(f.MG,{className:"mb-4"},r().createElement(f.Sq,{addonType:"prepend"},r().createElement(f.zB,null,r().createElement("i",{className:"icon-lock"}))),r().createElement(f.pd,{type:"password",name:"password",placeholder:"Password",onChange:this.handleInputChange,onKeyUp:this.handleInputKeyUp})),r().createElement(f.fI,null,r().createElement(f.fv,{xs:"8"},r().createElement(f.MG,{className:"mb-4"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"rememberMe",className:"switch-input",onChange:this.handleInputChange}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))," Remember Me"))),r().createElement(f.fI,null,r().createElement(f.fv,{xs:"6"},r().createElement(f.$n,{onClick:this.handleClick,color:"primary",className:"px-4"},r().createElement("i",{className:this.state.loggingIn?"fa fa-spinner fa-spin":"fa fa-lock"})," ","Login")),r().createElement(f.fv,{xs:"6",className:"text-right"},this.state.loginErrorMessage&&r().createElement("p",{className:"text-danger"},this.state.loginErrorMessage),!this.state.loginErrorMessage&&this.props.loginStatus.allowNewUserRegistration&&r().createElement("div",null,r().createElement(X.A,{to:"/register"},r().createElement(f.$n,{color:"link",className:"px-0"},"Sign up"))))))))))),"loggedIn"==this.props.loginStatus.status&&r().createElement(re,null))}}const de=(0,d.Ng)((({loginStatus:e})=>({loginStatus:e})))(Ae);var ce=t(47026);const me="https:"==window.location.protocol?"wss":"ws";class pe extends o.Component{constructor(e){super(e),this.state={component:ae(this.props.match.params.moduleId,"./AppPanel")},this.websockets=[],this.adminUI={hideSideBar:()=>{window.dispatchEvent(new Event("sidebar:hide"))},getApplicationUserData:(e,n="")=>fetch(`/signalk/v1/applicationData/user/${this.props.match.params.moduleId}/${e}${n}`,{credentials:"include"}).then((e=>{if(200!=e.status)throw new Error(e);return e})).then((e=>e.json())),setApplicationUserData:(e,n={},t="")=>fetch(`/signalk/v1/applicationData/user/${this.props.match.params.moduleId}/${e}${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n),credentials:"include"}).then((e=>{if(200!=e.status)throw new Error(e);return e})),openWebsocket:e=>{const n=["subscribe","sendCachedValues","events"],t=n.map(((n,t)=>[t,e[n]])).filter((e=>void 0!==e[1])).map((([e,t])=>`${n[e]}=${t}`)).join("&"),o=new ce.A(`${me}://${window.location.host}/signalk/v1/stream?${t}`);return this.websockets.push(o),o},get:({context:e,path:n})=>{const t=e.split(".");return fetch(`/signalk/v1/api/${t[0]}/${t.slice(1).join(".")}/${n}`,{credentials:"include"})},Login:de}}componentWillUnmount(){this.websockets.forEach((e=>{try{e.close()}catch(e){console.error(e)}}))}render(){return r().createElement("div",{style:{backgroundColor:"aliceblue",height:"calc(100vh - 105px)"}},r().createElement(o.Suspense,{fallback:"Loading..."},r().createElement(this.state.component,{...this.props,adminUI:this.adminUI})))}}const be=(0,d.Ng)((({loginStatus:e})=>({loginStatus:e})))(pe);var ge=t(39067),ue=t.n(ge);function he(){return he=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)({}).hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},he.apply(null,arguments)}const Ce={webAppInfo:ue().shape({name:ue().string.isRequired,description:ue().string,signalk:ue().shape({displayName:ue().string,appIcon:ue().string})}).isRequired,children:ue().node};function fe(e){return e.keywords.includes("signalk-embeddable-webapp")?`/admin/#/e/${ie(e.name)}`:`/${e.name}`}class ve extends o.Component{render(){const{webAppInfo:e,...n}=this.props,t={style:"clearfix",color:"primary",icon:"fa "+(e?.signalk?.displayName?"":"icon-grid")},o={style:"h5 mb-0",color:t.color,classes:""};o.classes=R()(o.style,"text-"+t.color,"mt-2","text-capitalize");const a=e?.signalk?.displayName||e.name,i=fe(e);return r().createElement("a",{href:i},r().createElement(f.Zp,null,r().createElement(f.bw,he({className:t.classes},n),function(n,t=null){const o=R()(n,"bg-primary","p-3","font-2xl mr-3 float-left"),a={backgroundSize:"cover",backgroundImage:t?`url(/${e.name}/${t})`:"unset"};return t&&(a.width=a.height="72px"),r().createElement("i",{className:o,style:a})}(t.icon,e?.signalk?.appIcon),r().createElement("div",{className:o.classes},a),r().createElement("div",{className:"text-muted font-xs"},e.description))))}}ve.propTypes=Ce;const we=ve;class Ee extends o.Component{constructor(e){super(e),this.state={addonComponents:[]}}setAddonComponents(){this.setState({addonComponents:this.props.addons.map((e=>ae(e.name,"./AddonPanel")))})}componentDidMount(){this.setAddonComponents()}componentDidUpdate(e){this.props.addons!=e.addons&&this.setAddonComponents()}render(){return r().createElement("div",{className:"animated fadeIn"},r().createElement(f.Zp,null,r().createElement(f.aR,null,"Webapps"),r().createElement(f.bw,null,r().createElement("div",{className:"row"},this.props.webapps.filter((e=>"@signalk/server-admin-ui"!==e.name)).map((e=>r().createElement(f.fv,{xs:"12",md:"12",lg:"6",xl:"4",key:e.name},r().createElement(we,{key:e.name,webAppInfo:e}))))))),r().createElement(f.Zp,null,r().createElement(f.aR,null,"Addons"),r().createElement(f.bw,null,this.state.addonComponents.map(((e,n)=>r().createElement(o.Suspense,{key:n,fallback:"Loading..."},r().createElement(e,{...this.props})))))))}}const Be=(0,d.Ng)((({webapps:e,addons:n})=>({webapps:e,addons:n})))(Ee);var xe=t(88972),ke=t(34468),$e=t(99420),ye=t.n($e),Fe=t(5750),Se=t(49475),ze=t(34453);function De(){return De=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)({}).hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},De.apply(null,arguments)}const Ne=({disabled:e,value:n,setValue:t})=>r().createElement(f.pd,{disabled:e,type:"select",value:n,onChange:e=>t(e.target.value)},Object.entries(Me).map((([e,n])=>r().createElement("option",{key:e,value:e},e,":",n)))),Ie=({disabled:e,setValue:n,value:t})=>r().createElement(f.pd,{disabled:e,type:"text",onChange:e=>n(e.target.value),value:t}),Ue=({disabled:e,setValue:n,value:t})=>r().createElement(f.pd,{disabled:e,type:"number",onChange:e=>{try{n(Number(e.target.value))}catch(e){n("")}},value:t}),qe=({setValue:e,value:n})=>Array.isArray(n)?r().createElement(r().Fragment,null,["sound","visual"].map((t=>r().createElement(f.JU,{key:t,className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",className:"switch-input",onChange:()=>{n.indexOf(t)<0?(n.push(t),e(n)):(n.splice(n.indexOf(t,1)),e(n))},checked:n.indexOf(t)>=0}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}),t)))):(e([]),null),Ge=["linear","logarithmic","squareroot","power"],Je=({disabled:e,setValue:n,value:t})=>{const{lower:o,upper:a,type:i,power:l}=t;return r().createElement(r().Fragment,null,r().createElement(f.pd,{disabled:e,type:"select",value:i,onChange:e=>n({...t,type:e.target.value})},Ge.map((e=>r().createElement("option",{key:e,value:e},e)))),r().createElement(f.pd,{disabled:e,type:"number",onChange:e=>{try{n({...t,lower:Number(e.target.value)})}catch(e){n({...t,lower:null})}},value:o}),r().createElement(f.pd,{disabled:e,type:"number",onChange:e=>{try{n({...t,upper:Number(e.target.value)})}catch(e){n({...t,upper:null})}},value:a}),r().createElement(f.pd,{disabled:e||"power"!==i,type:"number",onChange:e=>{try{n({...t,power:Number(e.target.value)})}catch(e){n({...t,upper:null})}},value:l}))},Re={units:e=>r().createElement(We,De({},e,{renderValue:Ne})),description:e=>r().createElement(We,De({},e,{renderValue:Ie})),displayName:e=>r().createElement(We,De({},e,{renderValue:Ie})),longName:e=>r().createElement(We,De({},e,{renderValue:Ie})),shortName:e=>r().createElement(We,De({},e,{renderValue:Ie})),timeout:e=>r().createElement(We,De({},e,{renderValue:Ue})),displayScale:e=>r().createElement(We,De({},e,{renderValue:Je})),zones:()=>r().createElement(r().Fragment,null),normalMethod:e=>r().createElement(We,De({},e,{renderValue:qe})),nominalMethod:e=>r().createElement(We,De({},e,{renderValue:qe})),alertMethod:e=>r().createElement(We,De({},e,{renderValue:qe})),warnMethod:e=>r().createElement(We,De({},e,{renderValue:qe})),alarmMethod:e=>r().createElement(We,De({},e,{renderValue:qe})),emergencyMethod:e=>r().createElement(We,De({},e,{renderValue:qe}))},Oe=["units","description","displayName","longName","shortName","timeout","displayScale","zones","normalMethod","nominalMethod","alertMethod","warnMethod","alarmMethod","emergencyMethod"],Me={A:"Ampere",C:"Coulomb",Hz:"Hertz","ISO-8601 (UTC)":"Timestamp",J:"Joule",K:"Kelvin",Pa:"Pascal",V:"Volt",W:"Watt",deg:"Degree",kg:"Kilogram",m:"Meter","m/s":"Meters per second",m2:"Square meter",m3:"Cubic meter","m3/s":"Cubic meters per second",rad:"Radian","rad/s":"Radians per second",ratio:"Ratio",s:"Second",bool:"Boolean"},We=e=>{const{_key:n,renderValue:t,disabled:o,setKey:a,deleteKey:i}=e,l=t;return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"2",className:"col-form-label"},r().createElement(f.pd,{disabled:o,type:"select",value:n,onChange:e=>a(e.target.value)},Oe.filter((e=>"zones"!==e)).map(((e,n)=>r().createElement("option",{key:n,value:e},e))))),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(l,e)),r().createElement(f.fv,null,!o&&r().createElement(ze.g,{icon:Se.sjs,onClick:i})))},Pe=({metaKey:e,value:n})=>r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"2",className:"col-form-label"},e),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement("pre",null,JSON.stringify(n,null,2)))),je=["nominal","alert","warn","alarm","emergency"],Ke=({zone:e,isEditing:n,showHint:t,setZone:o,deleteZone:a})=>{const{state:i,lower:l,upper:s,message:A}=e;return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"2",md:"2"},t&&r().createElement(f.ay,{color:"muted"},"Lower"),r().createElement(f.pd,{disabled:!n,type:"number",onChange:n=>o({...e,lower:Number(n.target.value)}),value:l})),r().createElement(f.fv,{xs:"2",md:"2"},t&&r().createElement(f.ay,{color:"muted"},"Upper"),r().createElement(f.pd,{disabled:!n,type:"number",name:"search",onChange:n=>o({...e,upper:Number(n.target.value)}),value:s})),r().createElement(f.fv,{xs:"12",md:"2"},t&&r().createElement(f.ay,{color:"muted"},"State"),r().createElement(f.pd,{disabled:!n,type:"select",value:i,name:"options.type",onChange:n=>o({...e,state:n.target.value})},je.map(((e,n)=>r().createElement("option",{key:n,value:e},e))))),r().createElement(f.fv,{xs:"3",md:"3"},t&&r().createElement(f.ay,{color:"muted"},"Message"),r().createElement(f.pd,{disabled:!n,type:"text",name:"search",onChange:n=>o({...e,message:n.target.value}),value:A})),r().createElement(f.fv,{xs:"2",md:"2"},n&&r().createElement(r().Fragment,null,t&&r().createElement(f.ay,{color:"muted"},"Remove"),r().createElement(ze.g,{icon:Se.sjs,onClick:a}))))},Ye=({zones:e,isEditing:n,setZones:t})=>r().createElement(f.fI,null,r().createElement(f.fv,{md:"2"},"Zones"),r().createElement(f.fv,{md:"10"},r().createElement(f.lV,{action:"",method:"post",encType:"multipart/form-data",className:"form-horizontal",onSubmit:e=>{e.preventDefault()}},(void 0===e||0===e.length)&&!n&&"No zones defined",e.map(((o,a)=>r().createElement(Ke,{key:a,zone:o,isEditing:n,showHint:0===a,setZone:n=>{e[a]=n,t([...e])},deleteZone:()=>{e.splice(a,1),t(e)}})))),n&&r().createElement(ze.g,{icon:Se.CHJ,onClick:()=>t([...e,{upper:1,lower:0,state:je[0],message:""}])}))),Te=(0,d.Ng)((({loginStatus:e})=>({loginStatus:e})))((function({meta:e,path:n,loginStatus:t}){const[a,i]=(0,o.useState)(!1),[l,s]=(0,o.useState)(e),A=!t.authenticationRequired||"loggedIn"===t.status&&"admin"===t.userLevel;let d=Oe.reduce(((e,n)=>(void 0!==l[n]&&e.push({key:n,value:l[n]}),e)),[]);Object.keys(l).reduce(((e,n)=>(Oe.indexOf(n)<0&&e.push({key:n,value:l[n]}),e)),d);const c=(m=l,JSON.parse(JSON.stringify(m)));var m;for(const e in c)Oe.indexOf(e)<0&&delete c[e];const p=d.find((({key:e})=>"zones"===e)),b=p?p.value:[];return r().createElement(r().Fragment,null,!a&&A&&r().createElement(ze.g,{icon:Se.zLW,onClick:()=>i(!0)}),a&&r().createElement(ze.g,{icon:Se.hSh,onClick:()=>{((e,n)=>{fetch(`/signalk/v1/api/vessels/self/${e.replaceAll(".","/")}/meta`,{method:"PUT",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})})})(n,l),i(!1)}})," ",r().createElement(f.lV,{action:"",method:"post",encType:"multipart/form-data",className:"form-horizontal",onSubmit:e=>{e.preventDefault()}},d.filter((({key:e})=>"zones"!==e)).map((({key:e,value:n})=>{const t=Re[e];return t?t({_key:e,value:n,disabled:!a,setValue:n=>s({...l,[e]:n}),setKey:n=>{const t={...l};t[n]=l[e],delete t[e],s(t)},deleteKey:()=>{const n={...l};delete n[e],s(n)}}):r().createElement(Pe,{key:e,metaKey:e,value:n})})),a&&r().createElement(ze.g,{icon:Se.Vdo,onClick:()=>{const e={...l};e[Oe.find((e=>void 0===l[e]))]="",s(e)}}),r().createElement(Ye,{zones:null!=b?b:[],isEditing:a,setZones:e=>s({...l,zones:e})})))})),_e={"navigation.position":({value:e})=>{if(!e||"object"!=typeof e)return r().createElement("span",{className:"text-primary"},JSON.stringify(e));const{longitude:n,latitude:t}=e;return"number"!=typeof n||"number"!=typeof t?r().createElement("span",{className:"text-primary"},JSON.stringify(e)):r().createElement("span",{className:"text-primary"},"longitude: ",n,", latitude: ",t)},"navigation.gnss.satellitesInView":({value:e})=>{if(!e||"object"!=typeof e||!Array.isArray(e.satellites))return r().createElement("span",{className:"text-primary"},JSON.stringify(e));const{count:n,satellites:t}=e,o=100;return r().createElement("div",{className:"text-primary"},r().createElement("div",{style:{display:"flex",alignItems:"flex-start",gap:"16px"}},r().createElement("svg",{width:200,height:200,style:{border:"1px solid #ccc"}},r().createElement("circle",{cx:o,cy:o,r:80,fill:"none",stroke:"#e0e0e0",strokeWidth:"1"}),r().createElement("circle",{cx:o,cy:o,r:160/3,fill:"none",stroke:"#e0e0e0",strokeWidth:"1"}),r().createElement("circle",{cx:o,cy:o,r:80/3,fill:"none",stroke:"#e0e0e0",strokeWidth:"1"}),r().createElement("line",{x1:o,y1:20,x2:o,y2:180,stroke:"#e0e0e0",strokeWidth:"1"}),r().createElement("line",{x1:20,y1:o,x2:180,y2:o,stroke:"#e0e0e0",strokeWidth:"1"}),r().createElement("text",{x:o,y:15,textAnchor:"middle",fontSize:"12",fill:"#666"},"N"),r().createElement("text",{x:o,y:195,textAnchor:"middle",fontSize:"12",fill:"#666"},"S"),r().createElement("text",{x:10,y:104,textAnchor:"middle",fontSize:"12",fill:"#666"},"W"),r().createElement("text",{x:190,y:104,textAnchor:"middle",fontSize:"12",fill:"#666"},"E"),r().createElement("text",{x:185,y:104,fontSize:"10",fill:"#999"},"0°"),r().createElement("text",{x:o+160/3+5,y:104,fontSize:"10",fill:"#999"},"30°"),r().createElement("text",{x:o+80/3+5,y:104,fontSize:"10",fill:"#999"},"60°"),r().createElement("text",{x:105,y:104,fontSize:"10",fill:"#999"},"90°"),t.map((e=>{const{x:n,y:t}=((e,n)=>{const t=80*(1-e/(Math.PI/2));return{x:o+t*Math.sin(n),y:o-t*Math.cos(n)}})(e.elevation,e.azimuth),a=!(i=e.SNR)||i<=0?"#000":i>=40?"#28a745":i>=30?"#004085":"#8b0000";var i;const l=e.SNR&&e.SNR>0,s=e.SNR?`${e.SNR} dB`:"No signal";return r().createElement("g",{key:e.id},r().createElement("title",null,"Satellite ",e.id,": ",s),r().createElement("circle",{cx:n,cy:t,r:"8",fill:a,stroke:l?"none":"#000",strokeWidth:l?0:2}),r().createElement("text",{x:n,y:t+4,textAnchor:"middle",fontSize:"10",fill:"white",fontWeight:"bold"},e.id))}))),r().createElement("div",{style:{fontSize:"12px",minWidth:"80px"}},r().createElement("div",{style:{marginBottom:"12px"}},r().createElement("strong",null,"Satellites in view: ",n)),r().createElement("div",{style:{display:"flex",flexDirection:"column",gap:"8px"}},r().createElement("div",{style:{display:"flex",alignItems:"center",gap:"6px"}},r().createElement("div",{style:{width:"12px",height:"12px",backgroundColor:"#28a745",borderRadius:"50%"}}),r().createElement("span",null,"≥40 dB")),r().createElement("div",{style:{display:"flex",alignItems:"center",gap:"6px"}},r().createElement("div",{style:{width:"12px",height:"12px",backgroundColor:"#004085",borderRadius:"50%"}}),r().createElement("span",null,"30-40 dB")),r().createElement("div",{style:{display:"flex",alignItems:"center",gap:"6px"}},r().createElement("div",{style:{width:"12px",height:"12px",backgroundColor:"#8b0000",borderRadius:"50%"}}),r().createElement("span",null,"0-30 dB")),r().createElement("div",{style:{display:"flex",alignItems:"center",gap:"6px"}},r().createElement("div",{style:{width:"12px",height:"12px",backgroundColor:"#000",border:"2px solid #000",borderRadius:"50%"}}),r().createElement("span",null,"No signal"))))))}},Qe=({value:e,units:n})=>{let t=JSON.stringify(e,null,"object"==typeof e&&Object.keys(e||{}).length>1?2:0);return"number"==typeof e&&n&&(t=`${e} `),r().createElement(r().Fragment,null,"object"==typeof e?r().createElement("pre",{className:"text-primary"},t):r().createElement("span",{className:"text-primary"},t,"number"==typeof e&&n&&r().createElement("strong",null,n)))},Le="admin.v1.dataBrowser.meta",He="admin.v1.dataBrowser.v1.pause",Ve="admin.v1.dataBrowser.context",Xe="admin.v1.dataBrowser.search",Ze="admin.v1.dataBrowser.selectedSources",en="admin.v1.dataBrowser.sourceFilterActive";function nn(){fetch("/signalk/v1/api/sources",{credentials:"include"}).then((e=>e.json())).then((e=>{Object.values(e).forEach((e=>{"NMEA2000"===e.type&&Object.keys(e).forEach((n=>{let t=e[n];t.n2k&&t.n2k.modelId&&(e[`${t.n2k.manufacturerCode||""} ${t.n2k.modelId} (${n})`]=t,delete e[n])}))})),this.setState({...this.state,sources:e})}))}class tn extends o.Component{constructor(e){super(e),this.state={hasData:!1,webSocket:null,didSubscribe:!1,pause:"true"===localStorage.getItem(He),includeMeta:"true"===localStorage.getItem(Le),data:{},meta:{},context:localStorage.getItem(Ve)||"self",search:localStorage.getItem(Xe)||"",selectedSources:new Set(JSON.parse(localStorage.getItem(Ze)||"[]")),sourceFilterActive:"true"===localStorage.getItem(en)},this.fetchSources=nn.bind(this),this.handlePause=this.handlePause.bind(this),this.handleMessage=this.handleMessage.bind(this),this.handleContextChange=this.handleContextChange.bind(this),this.handleSearch=this.handleSearch.bind(this),this.toggleMeta=this.toggleMeta.bind(this),this.toggleSourceSelection=this.toggleSourceSelection.bind(this),this.toggleSourceFilter=this.toggleSourceFilter.bind(this)}handleMessage(e){if(!this.state.pause&&e.context&&e.updates){const n=e.context===this.state.webSocket.skSelf?"self":e.context;let t=!1;this.state.data[n]||(this.state.data[n]={},t=!0),this.state.meta[n]||(this.state.meta[n]={},t=!0);let o=this.state.data[n],r=this.state.meta[n];e.updates.forEach((e=>{if(e.values){let n=e.source&&e.source.pgn&&`(${e.source.pgn})`,t=e.source&&e.source.sentence&&`(${e.source.sentence})`;e.values.forEach((r=>{const a=ye()(e.timestamp),i=a.isSame(ye()(),"day")?a.format("HH:mm:ss"):a.format("MM/DD HH:mm:ss");""===r.path?Object.keys(r.value).forEach((a=>{o[a]={path:a,value:r.value[a],$source:e.$source,pgn:n,sentence:t,timestamp:i}})):o[r.path+"$"+e.$source]={path:r.path,$source:e.$source,value:r.value,pgn:n,sentence:t,timestamp:i}}))}e.meta&&e.meta.forEach((e=>{r[e.path]={...r[e.path],...e.value}}))})),(t||this.state.context&&this.state.context===n)&&this.setState({...this.state,hasData:!0,data:this.state.data,meta:this.state.meta})}}subscribeToDataIfNeeded(){if(!this.state.pause&&this.props.webSocket&&(this.props.webSocket!=this.state.webSocket||!1===this.state.didSubscribe)){const e={context:"*",subscribe:[{path:"*",period:2e3}]};this.props.webSocket.send(JSON.stringify(e)),this.state.webSocket=this.props.webSocket,this.state.didSubscribe=!0,this.state.webSocket.messageHandler=this.handleMessage}}unsubscribeToData(){if(this.props.webSocket){const e={context:"*",unsubscribe:[{path:"*"}]};this.props.webSocket.send(JSON.stringify(e)),this.state.didSubscribe=!1,this.props.webSocket.messageHandler=null}}componentDidMount(){this.fetchSources(),this.subscribeToDataIfNeeded()}componentDidUpdate(){this.subscribeToDataIfNeeded()}componentWillUnmount(){this.unsubscribeToData()}handleContextChange(e){const n=e?e.value:"none";localStorage.setItem(Ze,JSON.stringify([])),localStorage.setItem(en,!1),this.setState({...this.state,context:n,selectedSources:new Set,sourceFilterActive:!1}),localStorage.setItem(Ve,n)}getContextLabel(e){const n=this.state.data[e],t=n?.name?.value;return`${t||""} ${e}`}getContextOptions(){const e=Object.keys(this.state.data||{}).sort(),n=[];if(e.includes("self")){const e=this.getContextLabel("self");n.push({value:"self",label:e})}return e.forEach((e=>{if("self"!==e){const t=this.getContextLabel(e);n.push({value:e,label:t})}})),n}getCurrentContextValue(){return this.getContextOptions().find((e=>e.value===this.state.context))||null}handleSearch(e){this.setState({...this.state,search:e.target.value}),localStorage.setItem(Xe,e.target.value)}toggleMeta(e){this.setState({...this.state,includeMeta:e.target.checked}),localStorage.setItem(Le,e.target.checked)}resetAllTimestampAnimations(){document.querySelectorAll(".timestamp-updated").forEach((e=>{e.classList.remove("timestamp-updated")}))}handlePause(e){this.state.pause=e.target.checked,this.setState(this.state),localStorage.setItem(He,this.state.pause),this.state.pause?(this.unsubscribeToData(),this.resetAllTimestampAnimations()):(this.fetchSources(),this.subscribeToDataIfNeeded())}toggleSourceSelection(e){const n=new Set(this.state.selectedSources),t=0===n.size;n.has(e)?n.delete(e):n.add(e);const o=t&&1===n.size,r=0===n.size,a=!!o||!r&&this.state.sourceFilterActive;localStorage.setItem(Ze,JSON.stringify([...n])),localStorage.setItem(en,a),this.setState({...this.state,selectedSources:n,sourceFilterActive:a})}toggleSourceFilter(e){const n=e.target.checked;localStorage.setItem(en,n),this.setState({...this.state,sourceFilterActive:n})}render(){const e=this.getContextOptions(),n=this.getCurrentContextValue();return r().createElement("div",{className:"animated fadeIn"},r().createElement("style",null,"\n .timestamp-updated {\n position: relative;\n }\n\n .timestamp-updated::before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 3px;\n background-color: #28a745;\n animation: highlightFade 15s ease-out;\n }\n\n @keyframes highlightFade {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n }\n\n .responsive-table {\n font-size: 0.875rem;\n }\n\n .responsive-table td {\n padding: 0.5rem 0.25rem;\n vertical-align: top;\n word-wrap: break-word;\n word-break: break-word;\n }\n\n .responsive-table th {\n padding: 0.5rem 0.25rem;\n font-size: 0.8rem;\n font-weight: 600;\n }\n\n .responsive-table .path-cell {\n min-width: 150px;\n max-width: 200px;\n }\n\n .responsive-table .value-cell {\n min-width: 120px;\n max-width: 300px;\n }\n\n .responsive-table .timestamp-cell {\n min-width: 80px;\n max-width: 100px;\n white-space: nowrap;\n }\n\n .responsive-table .source-cell {\n min-width: 120px;\n max-width: 170px;\n }\n\n .responsive-table pre {\n margin: 0;\n padding: 0;\n font-size: 0.8rem;\n white-space: pre-wrap;\n word-wrap: break-word;\n word-break: break-word;\n }\n\n @media (max-width: 1200px) {\n .responsive-table {\n font-size: 0.8rem;\n }\n \n .responsive-table td {\n padding: 0.4rem 0.2rem;\n }\n \n .responsive-table th {\n padding: 0.4rem 0.2rem;\n font-size: 0.75rem;\n }\n }\n\n @media (max-width: 992px) {\n .responsive-table .path-cell {\n max-width: 150px;\n }\n \n .responsive-table .value-cell {\n max-width: 200px;\n }\n \n .responsive-table .source-cell {\n max-width: 140px;\n }\n }\n\n @media (max-width: 768px) {\n .responsive-table {\n font-size: 0.75rem;\n }\n \n .responsive-table td {\n padding: 0.3rem 0.15rem;\n }\n \n .responsive-table th {\n padding: 0.3rem 0.15rem;\n font-size: 0.7rem;\n }\n \n .responsive-table .path-cell {\n max-width: 120px;\n }\n \n .responsive-table .value-cell {\n max-width: 150px;\n }\n \n .responsive-table .source-cell {\n max-width: 120px;\n }\n \n .responsive-table pre {\n font-size: 0.7rem;\n }\n }\n\n @media (max-width: 576px) {\n .responsive-table {\n font-size: 0.7rem;\n }\n \n .responsive-table td {\n padding: 0.25rem 0.1rem;\n }\n \n .responsive-table th {\n padding: 0.25rem 0.1rem;\n font-size: 0.65rem;\n }\n \n .responsive-table .timestamp-cell {\n min-width: 70px;\n max-width: 80px;\n }\n }\n "),r().createElement(f.Zp,null,r().createElement(f.bw,null,r().createElement(f.lV,{action:"",method:"post",encType:"multipart/form-data",className:"form-horizontal",onSubmit:e=>{e.preventDefault()}},r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(ke.Ay,{value:n,onChange:this.handleContextChange,options:e,placeholder:"Select a context",isSearchable:!0,isClearable:!0,noOptionsMessage:()=>"No contexts available"})),r().createElement(f.fv,{xs:"6",md:"2"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",id:"Meta",name:"meta",className:"switch-input",onChange:this.toggleMeta,checked:this.state.includeMeta}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))," ",r().createElement("span",{style:{whiteSpace:"nowrap"}},"Meta data")),r().createElement(f.fv,{xs:"6",md:"2"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",id:"Pause",name:"pause",className:"switch-input",onChange:this.handlePause,checked:this.state.pause}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))," ","Pause")),this.state.context&&"none"!==this.state.context&&r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"2"},r().createElement(f.JU,{htmlFor:"select"},"Search")),r().createElement(f.fv,{xs:"12",md:"12"},r().createElement(f.pd,{type:"text",name:"search",onChange:this.handleSearch,value:this.state.search}))),!this.state.includeMeta&&this.state.context&&"none"!==this.state.context&&r().createElement(f.XI,{responsive:!0,bordered:!0,striped:!0,size:"sm",className:"responsive-table"},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",{className:"path-cell"},"Path"),r().createElement("th",{className:"value-cell"},"Value"),r().createElement("th",{className:"timestamp-cell"},"Timestamp"),r().createElement("th",{className:"source-cell"},r().createElement("input",{type:"checkbox",onChange:this.toggleSourceFilter,checked:this.state.sourceFilterActive,disabled:0===this.state.selectedSources.size,title:0===this.state.selectedSources.size?"Check a source in the list to filter by source":this.state.sourceFilterActive?"Uncheck to deactivate source filtering":"Check to activate source filtering",style:{marginRight:"5px",verticalAlign:"middle"}}),"Source"))),r().createElement("tbody",null,Object.keys(this.state.data[this.state.context]||{}).filter((e=>{const n=this.state.data[this.state.context][e];return!(this.state.search&&0!==this.state.search.length&&-1===e.toLowerCase().indexOf(this.state.search.toLowerCase()))&&(!(this.state.sourceFilterActive&&this.state.selectedSources.size>0)||this.state.selectedSources.has(n.$source))})).sort().map((e=>{const n=this.state.data[this.state.context][e],t=this.state.meta[this.state.context][n.path],o=t&&t.units?t.units:"";return r().createElement("tr",{key:e},r().createElement("td",{className:"path-cell"},r().createElement(rn,{text:n.path},r().createElement("span",null,n.path," ",r().createElement("i",{className:"far fa-copy"})))),r().createElement("td",{className:"value-cell"},(()=>{const e=(t=n.path,_e[t]?_e[t]:null);var t;return e?r().createElement(e,{value:n.value,units:o}):r().createElement(Qe,{value:n.value,units:o})})()),r().createElement(on,{timestamp:n.timestamp,isPaused:this.state.pause,className:"timestamp-cell"}),r().createElement("td",{className:"source-cell"},r().createElement("input",{type:"checkbox",onChange:()=>this.toggleSourceSelection(n.$source),checked:this.state.selectedSources.has(n.$source),style:{marginRight:"5px",verticalAlign:"middle"}}),r().createElement(rn,{text:n.$source},n.$source," ",r().createElement("i",{className:"far fa-copy"}))," ",n.pgn||"",n.sentence||""))})))),this.state.includeMeta&&this.state.context&&"none"!==this.state.context&&r().createElement(f.XI,{responsive:!0,bordered:!0,striped:!0,size:"sm"},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",null,"Path"),r().createElement("th",null,"Meta"))),r().createElement("tbody",null,Object.keys(this.state.data[this.state.context]||{}).filter((e=>!this.state.search||0===this.state.search.length||-1!==e.toLowerCase().indexOf(this.state.search.toLowerCase()))).map((e=>this.state.data[this.state.context][e].path)).filter(((e,n,t)=>t.indexOf(e)===n)).sort().map((e=>{const n=this.state.meta[this.state.context][e];return r().createElement("tr",{key:e},r().createElement("td",null,e),r().createElement("td",null,!e.startsWith("notifications")&&r().createElement(Te,{meta:n||{},path:e})))}))))))),this.state.sources&&r().createElement(f.Zp,null,r().createElement(f.aR,null,"Sources"),r().createElement(f.bw,null,r().createElement(xe.d,{data:this.state.sources,theme:"default",invertTheme:!0,sortObjectKeys:!0,hideRoot:!0}))))}}class on extends o.Component{constructor(e){super(e),this.state={isUpdated:!1,animationKey:0},this.timeoutId=null}componentDidUpdate(e){e.timestamp!==this.props.timestamp&&(this.timeoutId&&clearTimeout(this.timeoutId),this.setState((e=>({isUpdated:!0,animationKey:e.animationKey+1}))),this.timeoutId=setTimeout((()=>{this.props.isPaused||this.setState({isUpdated:!1})}),15e3))}componentDidMount(){this.props.isPaused&&this.setState({isUpdated:!1})}componentWillUnmount(){this.timeoutId&&clearTimeout(this.timeoutId)}render(){return r().createElement("td",{className:`${this.props.className||""} ${this.state.isUpdated&&!this.props.isPaused?"timestamp-updated":""}`,key:this.state.animationKey},this.props.timestamp)}}class rn extends o.Component{constructor(){super(),this.state={opacity:1}}render(){const{opacity:e}=this.state,n=function(){this.setState({opacity:.5}),setTimeout((()=>{this.setState({opacity:1})}),500)}.bind(this);return r().createElement(Fe.CopyToClipboard,{text:this.props.text,onCopy:n},r().createElement("span",{style:{opacity:e}}," ",this.props.children))}}const an=(0,d.Ng)((({webSocket:e})=>({webSocket:e})))(tn);var ln=t(75342),sn=t.n(ln);const An="MM/DD HH:mm:ss",dn="admin.v1.playground.input",cn="deltas",mn="paths",pn="n2kjson",bn="putresults",gn="lintErrors";class un extends o.Component{constructor(e){super(e);const n=localStorage.getItem(dn)||"";this.state={hasData:!0,data:[],deltas:[],n2kJson:[],n2kOutAvailable:!1,input:n,inputIsJson:hn(n),sending:!1,sendingN2K:!1,activeTab:cn},this.handleExecute=this.handleExecute.bind(this),this.handleSendN2K=this.handleSendN2K.bind(this),this.handleInput=this.handleInput.bind(this),this.send=this.send.bind(this),this.beautify=this.beautify.bind(this)}handleInput(e){this.setState({...this.state,input:e.target.value,inputIsJson:hn(e.target.value)}),localStorage.setItem(dn,e.target.value),this.inputWaitTimeout&&clearTimeout(this.inputWaitTimeout),this.inputWaitTimeout=setTimeout((()=>{this.state.input.length>0&&this.send(!1)}),500)}handleExecute(){this.send(!0)}handleSendN2K(){this.send(!1,!0)}componentDidMount(){this.state.input&&this.state.input.length>0&&this.send(!1)}beautify(){try{sn().parse(this.state.input);const e=JSON.stringify(JSON.parse(this.state.input),null,2);this.setState({...this.state,input:e,jsonError:null})}catch(e){this.setState({...this.state,data:[],deltas:[],putResults:[],n2kJson:[],n2kOutAvailable:!1,error:"invalid json",jsonError:e.message,activeTab:gn})}}send(e,n){let t=this.state.input.trim().charAt(0);if("{"===t||"["===t)try{sn().parse(this.state.input),this.state.activeTab===gn&&this.setState({...this.state,activeTab:cn})}catch(e){return void this.setState({...this.state,data:[],deltas:[],putResults:[],n2kJson:[],n2kOutAvailable:!1,error:"invalid json",jsonError:e.message,activeTab:gn})}const o={value:this.state.input,sendToServer:e,sendToN2K:n};localStorage.setItem(dn,this.state.input),e&&this.setState({...this.state,sending:!0}),n&&this.setState({...this.state,sendingN2K:!0}),fetch(`${window.serverRoutesPrefix}/inputTest`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)}).then((e=>e.json())).then((t=>{if((e||n)&&setTimeout((()=>{this.setState({...this.state,sending:!1,sendingN2K:!1})}),1e3),t.error)this.setState({...this.state,data:[],deltas:[],putResults:[],n2kJson:[],n2kOutAvailable:!1,jsonError:null,error:t.error});else{this.state.error=null,this.setState(this.state);const e=[];t.deltas.forEach((n=>{n.context||(n.context="vessels.self"),n.updates&&n.updates.forEach((t=>{t.values&&t.values.forEach((o=>{""===o.path?Object.keys(o.value).forEach((r=>{e.push({path:r,value:o.value[r],context:n.context,timestamp:ye()(t.timestamp).format(An)})})):e.push({path:o.path,value:o.value,context:n.context,timestamp:ye()(t.timestamp).format(An)})}))}))})),this.setState({...this.state,data:e,deltas:t.deltas,n2kJson:t.n2kJson,n2kOutAvailable:t.n2kOutAvailable,putResults:t.putResults,jsonError:null})}})).catch((t=>{console.error(t),this.setState({...this.state,data:[],deltas:[],putResults:[],n2kJson:[],n2kOutAvailable:!1,error:t.message,jsonError:null}),(e||n)&&this.setState({...this.state,sending:!1,sendingN2K:!1})}))}render(){const e=e=>{this.setState({...this.state,activeTab:e})};return this.state.hasData&&r().createElement("div",{className:"animated fadeIn"},r().createElement(f.fI,null,r().createElement(f.fv,{xs:"12",md:"6"},r().createElement(f.Zp,null,r().createElement(f.aR,null,"Input"),r().createElement(f.bw,null,r().createElement(f.lV,{action:"",method:"post",encType:"multipart/form-data",className:"form-horizontal",onSubmit:e=>{e.preventDefault()}},r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"12",md:"12"},r().createElement(f.ay,{color:"muted"},"You can enter multi-line raw NMEA 2000, NMEA 0183 or Signal K deltas (one delta or an array). For sending PGNs out over the servers NMEA 2000 connection, use one of the formats"," ",r().createElement("a",{href:"/documentation/develop/plugins/deltas.html?highlight=NMEA%202000%20json#sending-nmea-2000-data-from-a-plugin"},"here")),r().createElement(f.pd,{type:"textarea",name:"input",rows:"15",onChange:this.handleInput,value:this.state.input}))))),r().createElement(f.wL,null,r().createElement(f.fI,{style:{paddingBottom:"0.25rem"}},r().createElement(f.fv,null,r().createElement(f.$n,{size:"sm",color:"primary",className:"float-left",disabled:!this.state.inputIsJson,onClick:this.beautify},r().createElement("i",{className:"fa fa-dot-circle-o"})," Beautify JSON")),r().createElement(f.fv,null,r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.handleExecute,className:"float-right"},r().createElement("i",{className:this.state.sending?"fa fa-spinner fa-spin":"fa fa-dot-circle-o"})," ","Send To Server"))),r().createElement(f.fI,{style:{paddingBottom:"0.25rem"}},r().createElement(f.fv,{className:"text-right"},r().createElement(f.$n,{size:"sm",color:"primary",disabled:!(this.state.n2kJson&&this.state.n2kJson.length>0&&this.state.n2kOutAvailable),onClick:this.handleSendN2K},r().createElement("i",{className:this.state.sendingN2K?"fa fa-spinner fa-spin":"fa fa-dot-circle-o"})," ","Send as PGN to server's NMEA2000 connection"))),r().createElement(f.fI,null,r().createElement(f.fv,null,r().createElement("span",{className:"float-right"},this.state.error&&r().createElement("p",{className:"text-danger"},this.state.error))))))),r().createElement(f.fv,{xs:"12",md:"6"},r().createElement(f.Zp,null,r().createElement(f.aR,null,"Output"),r().createElement(f.bw,null,r().createElement(f.so,{tabs:!0},r().createElement(f.CI,null,r().createElement(f.k2,{className:R()({active:this.state.activeTab===cn}),onClick:()=>{e(cn)}},"Deltas")),this.state.data.length>0&&r().createElement(f.CI,null,r().createElement(f.k2,{className:R()({active:this.state.activeTab===mn}),onClick:()=>{e(mn)}},"Paths")),this.state.n2kJson&&this.state.n2kJson.length>0&&r().createElement(f.CI,null,r().createElement(f.k2,{className:R()({active:this.state.activeTab===pn}),onClick:()=>{e(pn)}},"Decoded NMEA 2000")),this.state.putResults&&this.state.putResults.length>0&&r().createElement(f.CI,null,r().createElement(f.k2,{className:R()({active:this.state.activeTab===bn}),onClick:()=>{e(bn)}},"Put Results")),this.state.jsonError&&r().createElement(f.CI,null,r().createElement(f.k2,{className:R()({active:this.state.activeTab===gn}),onClick:()=>{e(gn)}},"Json Lint Error"))),r().createElement(f.JS,{activeTab:this.state.activeTab},r().createElement(f.mF,{tabId:cn},this.state.deltas.length>0&&r().createElement("div",{style:{overflowY:"scroll",maxHeight:"60vh",border:"1px solid",padding:"5px"}},r().createElement("pre",null,JSON.stringify(this.state.deltas,null,2)))),this.state.data.length>0&&r().createElement(f.mF,{tabId:mn},r().createElement("div",{style:{overflowY:"scroll",maxHeight:"60vh"}},r().createElement(f.XI,{responsive:!0,bordered:!0,striped:!0,size:"sm"},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",null,"Path"),r().createElement("th",null,"Value"),r().createElement("th",null,"Context"))),r().createElement("tbody",null,this.state.data.map((e=>{const n=JSON.stringify(e.value,null,"object"==typeof e.value&&null!==e.value&&Object.keys(e.value).length>1?2:0),t=`${e.path}${e.context}`;return r().createElement("tr",{key:t},r().createElement("td",null,e.path),r().createElement("td",null,r().createElement("pre",{className:"text-primary",style:{whiteSpace:"pre-wrap"}},n)),r().createElement("td",null,e.context))})))))),this.state.n2kJson&&this.state.n2kJson.length>0&&(n=this.state.n2kJson,r().createElement(f.mF,{tabId:pn},r().createElement("div",{style:{overflowY:"scroll",maxHeight:"60vh",border:"1px solid",padding:"5px"}},r().createElement("pre",null,JSON.stringify(n,null,2))))),this.state.putResults&&this.state.putResults.length>0&&r().createElement(f.mF,{tabId:bn},r().createElement("div",{style:{overflowY:"scroll",maxHeight:"60vh",border:"1px solid",padding:"5px"}},r().createElement("pre",null,JSON.stringify(this.state.putResults,null,2)))),this.state.jsonError&&r().createElement(f.mF,{tabId:gn},r().createElement("div",{style:{overflowY:"scroll",maxHeight:"60vh",border:"1px solid",padding:"5px"}},r().createElement("pre",null,this.state.jsonError)))))))));var n}}function hn(e){let n=!1;try{JSON.parse(e),n=!0}catch(e){}return n}const Cn=(0,d.Ng)((({webSocket:e})=>({webSocket:e})))(un);var fn=t(13363),vn=t(2722),wn=t.n(vn);const En=(0,d.Ng)((({appStore:e})=>({appStore:e})))((function(e){const n=e.data,[t,a]=(0,o.useState)(!1),[i,l]=(0,o.useState)([]),[s,A]=(0,o.useState)(!1),d=()=>{fetch(`${window.serverRoutesPrefix}/appstore/install/${n.name}/${n.version}`,{method:"POST",credentials:"include"})};let c,m,p;return n.installing?(n.isInstalling||n.isRemoving||n.isWaiting?(m=n.isRemove?"Removing":n.isWaiting?"Waiting..":"Installing",p=r().createElement(f.ke,{className:"progress-sm progress__bar",animated:!0,color:"success",value:"100"})):m=n.installFailed?"Failed":n.isRemove?"Removed":n.installedVersion?"Updated":"Installed",c=r().createElement("div",{className:"progress__wrapper"},r().createElement("div",{className:"progress__status p-1"},m),p)):c=r().createElement(r().Fragment,null,r().createElement(f.x,{group:!0,className:"w-100"},n.installed?n.newVersion?r().createElement(f.$n,{className:"text-left",color:"success",onClick:d},r().createElement(ze.g,{className:"icon__update mr-2",icon:Se.sAM}),"Update"):n.isPlugin?r().createElement(G.A,{to:`/serverConfiguration/plugins/${n.id}`,role:"button",className:"btn btn-light text-left"},r().createElement(ze.g,{className:"mr-2",icon:Se.BH7}),"Configure"):r().createElement("a",{href:fe(n),role:"button",className:"btn btn-light text-left"},r().createElement(ze.g,{className:"mr-2",icon:Se.CQO}),"Open"):r().createElement(f.$n,{className:"text-left",color:"light",onClick:d},r().createElement(ze.g,{className:"mr-2",icon:Se.sAM}),"Install"),r().createElement(f.C,{caret:!0,color:n.newVersion?"success":"light",className:"flex-grow-0"}),r().createElement(f.rI,{right:!0},n.installed&&n.newVersion&&r().createElement(G.A,{to:`/serverConfiguration/plugins/${n.id}`,className:"dropdown-item"},r().createElement(ze.g,{className:"mr-2",icon:Se.BH7})," Configure"),n.npmUrl&&r().createElement("a",{href:n.npmUrl,target:"_blank",rel:"noreferrer",className:"dropdown-item"},r().createElement(ze.g,{icon:Se.Ju_,className:"mr-2"}),"View on NPM"),r().createElement(f.tJ,{onClick:async()=>{A(!0),a(!0);try{const n=await fetch(`https://registry.npmjs.org/${e.data.name}`),t=await n.json();if(t.versions){const e=wn().rsort(Object.keys(t.versions));l(e)}}catch(e){console.error("Failed to fetch versions:",e),l([])}finally{A(!1)}},className:"text-left"},r().createElement(ze.g,{className:"mr-2",icon:Se.sAM}),"Versions"),n.installed&&r().createElement(f.tJ,{onClick:()=>{confirm(`Are you sure you want to uninstall ${n.name}?`)&&fetch(`${window.serverRoutesPrefix}/appstore/remove/${n.name}`,{method:"POST",credentials:"include"})},className:"text-danger"},r().createElement(ze.g,{className:"mr-2",icon:Se.sjs}),"Remove")))),r().createElement("div",{className:"cell__renderer cell-action"},r().createElement("div",null,c),r().createElement(f.aF,{isOpen:t,toggle:()=>a(!t),size:"md"},r().createElement(f.rQ,{toggle:()=>a(!t)},"Versions - ",e.data.name),r().createElement(f.cw,null,s?r().createElement("div",{className:"text-center"},r().createElement("div",{className:"spinner-border text-primary",role:"status"},r().createElement("span",{className:"sr-only"},"Loading...")),r().createElement("p",{className:"mt-2"},"Loading versions...")):i.length>0?r().createElement("div",{style:{maxHeight:"450px",overflowY:"auto",border:"1px solid #ccc"}},r().createElement(f.yq,null,i.map((n=>r().createElement(f.HU,{key:n,className:"d-flex justify-content-between align-items-center"},r().createElement("span",null,r().createElement("strong",null,n),e.data.installedVersion===n&&r().createElement("span",{className:"badge badge-success ml-2"},"Installed")),e.data.installedVersion!==n&&r().createElement(f.$n,{size:"sm",color:"light",onClick:()=>(n=>{fetch(`${window.serverRoutesPrefix}/appstore/install/${e.data.name}/${n}`,{method:"POST",credentials:"include"}),a(!1)})(n)},r().createElement(ze.g,{className:"icon__update mr-2",icon:Se.sAM}),"Install")))))):r().createElement("p",{className:"text-muted"},"No older versions available or failed to load versions."))))}));function Bn(){return Bn=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)({}).hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},Bn.apply(null,arguments)}function xn(e){return r().createElement(f.HU,{className:"p-3"},r().createElement("div",{className:"d-md-flex align-items-center flex-grow-1"},r().createElement("div",{className:"flex-grow-1 mr-3"},r().createElement("h5",{className:"text-dark mb-0"},e.name),r().createElement("div",{className:"text-muted"},r().createElement("span",{className:"font-weight-bolder"},"v",e.installedVersion||e.version," "),e.newVersion&&r().createElement(r().Fragment,null,r().createElement("span",{className:"text-secondary"}," → "),r().createElement("span",{className:"font-weight-bolder text-success font-italic"},"v",e.newVersion)," "),"released by",r().createElement("span",{className:"text-nowrap font-weight-bolder"}," ",e.author)," ","on",r().createElement("span",{className:"text-nowrap"}," ",e.updated.substring(0,10))),r().createElement("p",{className:"text-pretty mb-0"},e.description)),r().createElement("div",{className:"mt-3 mt-md-0"},r().createElement(En,{data:e}))))}function kn(e){const[n,t]=(0,o.useState)([]);function a(){t(e.apps.slice(0,n.length+20))}return(0,o.useEffect)(a,[e.apps]),r().createElement(f.yq,null,r().createElement(fn.A,{dataLength:n.length,next:a,hasMore:n.length!=e.apps.length},n.map((e=>r().createElement(xn,Bn({key:e.name},e))))))}function $n({children:e}){return r().createElement("div",{className:"message__container"},r().createElement("p",{className:"message"},r().createElement("span",null,r().createElement(ze.g,{icon:Se.JAe})),e))}var yn=t(72678);b()(yn.A,{insert:"head",singleton:!1}),yn.A.locals;const Fn=e=>e.installing.filter((e=>e.isWaiting||e.isInstalling)).length,Sn=(e,n)=>e.installedVersion&&e.version!==e.installedVersion&&n.updates.find((n=>n.name===e.name)),zn=(0,d.Ng)((({appStore:e})=>({appStore:e})))((function(e){const[n,t]=(0,o.useState)("All"),[a,i]=(0,o.useState)("All"),[l,s]=(0,o.useState)((()=>""));let A;!1===e.appStore.storeAvailable?A="You probably don't have Internet connectivity and Appstore can not be reached.":e.appStore.installing.length>0&&(A="Please restart the server after installing, updating or deleting a plugin");const d=((e,n)=>"Installed"===e?e=>e.installedVersion||e.installing:"Updates"===e?e=>Sn(e,n):"Installing"===e?e=>e.installing:()=>!0)(n,e.appStore),c="All"===a?()=>!0:e=>e.categories.includes(a),m=""===l?()=>!0:e=>{const n=l.toLowerCase();return e.name.toLowerCase().indexOf(n)>=0||e.description&&e.description.toLowerCase().indexOf(n)>=0},p=(()=>{const n=e.appStore.available.reduce(((e,n)=>(e[n.name]=n,e)),{});return e.appStore.installed.forEach((t=>n[t.name]={...t,installed:!0,newVersion:Sn(t,e.appStore)?t.version:null})),e.appStore.installing.forEach((e=>(n[e.name]||{}).installing=!0)),Object.values(n).sort(((e,n)=>new Date(n.updated).getTime()-new Date(e.updated).getTime()))})().filter(d).filter(c).filter(m);return r().createElement("div",{className:"appstore animated fadeIn"},A&&r().createElement("section",{className:"appstore__warning section"},r().createElement($n,null,A)),r().createElement(f.Zp,null,r().createElement(f.aR,{className:"appstore__header"},r().createElement("div",{className:"title__container"},r().createElement(f.ZB,null,"Apps & Plugins"),r().createElement("div",{className:"button-wrapper"},r().createElement(f.$n,{color:"All"===n?"secondary":"light",onClick:()=>t("All")},"All"),r().createElement(f.$n,{color:"Installed"===n?"secondary":"light",onClick:()=>t("Installed")},"Installed"),r().createElement(f.$n,{color:"Updates"===n?"secondary":"light",onClick:()=>t("Updates")},"Updates",e.appStore.updates.length>0&&r().createElement("span",{className:"badge__update"},e.appStore.updates.length)),e.appStore.installing.length>0&&r().createElement(r().Fragment,null,r().createElement(f.$n,{color:"Installing"===n?"secondary":"light",onClick:()=>t("Installing")},"Installs & Removes",Fn(e.appStore)>0&&r().createElement("span",{className:"badge__update"},Fn(e.appStore))),e.appStore.installing.length>0&&"(Pending restart)"))),r().createElement("div",{className:"action__container"},"Updates"==n&&e.appStore.updates.length>0?r().createElement(f.$n,{color:"success",onClick:()=>{if(confirm("Are you sure you want to install all updates?"))for(const e of p)e.newVersion&&e.installed&&fetch(`${window.serverRoutesPrefix}/appstore/install/${e.name}/${e.version}`,{method:"POST",credentials:"include"})}},"Update all"):void 0,r().createElement("div",{className:"search"},r().createElement(ze.g,{className:"search__icon",icon:Se.$UM}),r().createElement(f.pd,{id:"search-text-box",className:"search__input",placeholder:"Search ...",onInput:e=>{s(e.target.value)},value:l})))),r().createElement(f.bw,null,r().createElement("section",{className:"appstore__tags section"},e.appStore.categories?.map((e=>r().createElement(f.$n,{key:e,color:"secondary",className:a===e?"active":void 0,outline:!0,onClick:()=>i(e)},e)))),r().createElement("section",{className:"appstore__grid"},r().createElement("div",{style:{height:"100%"}},r().createElement(kn,{apps:p}))))))}));var Dn=t(8531),Nn=t(91209),In=t(94403),Un=t(11848);function qn(){return qn=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)({}).hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},qn.apply(null,arguments)}const Gn=(0,Dn.SL)(Nn.Sx),Jn="btn btn-info",Rn="btn btn-outline-dark",On="field-description",Mn=(e,n,t,o,a,i=0)=>r().createElement("button",{type:"button",className:e,onClick:n,disabled:t,tabIndex:i,style:o},a),Wn={FieldTemplate:e=>{const{id:n,classNames:t,style:o,label:a,help:i,required:l,description:s,errors:A,children:d,displayLabel:c,schema:m}=e,p="boolean"===m.type,b="object"===m.type;return r().createElement("div",{className:t,style:o},c&&a&&!p&&r().createElement("label",{htmlFor:n},a,l&&r().createElement("span",{className:"required"},"*")),s&&!b&&r().createElement("p",{id:`${n}__description`,className:On},s),d,A,i)},ObjectFieldTemplate:e=>{const{title:n,description:t,properties:o,idSchema:a}=e,i=(e=>{if(!e||"string"!=typeof e)return!1;const n=e.split("_");return n.length>2&&/^\d+$/.test(n[n.length-1])})(a.$id);return r().createElement("fieldset",{id:a.$id},n&&!i&&r().createElement("legend",{id:`${a.$id}__title`},n),t&&r().createElement("p",{id:`${a.$id}__description`,className:On},t),o.map((e=>e.content)))},ArrayFieldTemplate:e=>{const{canAdd:n,disabled:t,idSchema:o,uiSchema:a,items:i,onAddClick:l,readonly:s,registry:A,schema:d,title:c}=e,m=(0,Un.$R)(a),p=(0,Un.$F)("ArrayFieldItemTemplate",A,m),{ButtonTemplates:{AddButton:b}}=A.templates;return r().createElement("fieldset",{className:"field field-array field-array-of-object",id:o.$id},(m.title||c)&&r().createElement("legend",{id:`${o.$id}__title`},m.title||c),(m.description||d.description)&&r().createElement("div",{className:On},m.description||d.description),r().createElement("div",{className:"array-item-list"},i?.map((({key:e,...n})=>r().createElement(p,qn({key:e},n))))),n&&r().createElement("div",{className:"row"},r().createElement("p",{className:"col-3 offset-9 text-right array-item-add"},r().createElement(b,{className:"btn-add col-12",onClick:l,disabled:t||s,uiSchema:a,registry:A}))))},ArrayFieldItemTemplate:e=>{const{children:n,disabled:t,hasToolbar:o,hasMoveUp:a,hasMoveDown:i,hasRemove:l,index:s,onDropIndexClick:A,onReorderClick:d,readonly:c,registry:m,uiSchema:p}=e,{MoveUpButton:b,MoveDownButton:g,RemoveButton:u}=m.templates.ButtonTemplates;return r().createElement("div",{className:"row array-item"},r().createElement("div",{className:"col-9"},n),r().createElement("div",{className:"col-3 array-item-toolbox"},o&&r().createElement("div",{className:"btn-group btn-group-flex"},(a||i)&&r().createElement(b,{className:"array-item-move-up array-button-style",disabled:t||c||!a,onClick:d(s,s-1),uiSchema:p,registry:m}),(a||i)&&r().createElement(g,{className:"array-item-move-down array-button-style",disabled:t||c||!i,onClick:d(s,s+1),uiSchema:p,registry:m}),l&&r().createElement(u,{className:"array-item-remove array-button-style",disabled:t||c,onClick:A(s),uiSchema:p,registry:m}))))},ButtonTemplates:{AddButton:e=>Mn(`${Jn} ${e.className||""}`,e.onClick,e.disabled,void 0,r().createElement("i",{className:"fas fa-plus"}),0),MoveUpButton:e=>Mn(`${Rn} ${e.className||""}`,e.onClick,e.disabled,void 0,r().createElement("i",{className:"fas fa-arrow-up"}),-1),MoveDownButton:e=>Mn(`${Rn} ${e.className||""}`,e.onClick,e.disabled,void 0,r().createElement("i",{className:"fas fa-arrow-down"}),-1),RemoveButton:e=>Mn(`btn btn-danger ${e.className||""}`,e.onClick,e.disabled,void 0,r().createElement("i",{className:"fas fa-times"}),-1),SubmitButton:e=>{const{submitText:n}=e.uiSchema?.["ui:submitButtonOptions"]||{};return r().createElement("div",null,r().createElement("button",{type:"submit",className:Jn},n||"Submit"))}}},Pn=({plugin:e,onSubmit:n})=>{const{enabled:t,enableLogging:o,enableDebug:a}=e.data;return r().createElement(Gn,{validator:In.Ay,schema:{type:"object",...e.statusMessage&&{description:`Status: ${e.statusMessage}`},properties:{configuration:{type:"object",title:" ",description:e.schema.description,properties:e.schema.properties}}},uiSchema:e.uiSchema?{configuration:e.uiSchema}:{},formData:e.data||{},templates:Wn,onSubmit:({formData:e})=>{n({...e,enabled:t,enableLogging:o,enableDebug:a})}},r().createElement("button",{type:"submit",className:"btn btn-primary"},r().createElement("i",{className:"fa fa-save",style:{marginRight:"8px"}}),"Save Configuration"))};class jn extends o.Component{constructor(e){super(e),this.state={component:ae(e.plugin.packageName,"./PluginConfigurationPanel"),configuration:this.props.plugin.data.configuration}}render(){return r().createElement("div",null,r().createElement(o.Suspense,{fallback:"Loading..."},r().createElement(this.state.component,{configuration:this.state.configuration,save:e=>{this.props.saveData({...this.props.plugin.data,configuration:e}),this.setState({configuration:e})}})))}}const Kn="admin.v1.plugins.search",Yn="admin.v1.plugins.openPlugin",Tn="admin.v1.plugins.statusFilter";class _n extends o.Component{constructor(e){super(e),this.state={plugins:[],search:localStorage.getItem(Kn)||"",statusFilter:localStorage.getItem(Tn)||"all",searchResults:null,selectedPlugin:null},this.lastOpenedPlugin="--",this.handleSearch=this.handleSearch.bind(this),this.handleStatusFilter=this.handleStatusFilter.bind(this),this.selectPlugin=this.selectPlugin.bind(this),this.handlePluginClick=this.handlePluginClick.bind(this)}searchPlugins(e,n){const t=n.toLowerCase();return e.filter((e=>e.id.toLowerCase().includes(t)||e.packageName.toLowerCase().includes(t)||e.description&&e.description.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)))}filterPluginsByStatus(e,n){return"all"===n?e:e.filter((e=>{const t=e.schema&&e.schema.properties&&0!=Object.keys(e.schema?.properties).length&&null==e.data.configuration;switch(n){case"enabled":return!t&&e.data.enabled;case"disabled":return t||!e.data.enabled;default:return!0}}))}getFilteredPlugins(){let e=this.state.plugins;return e=this.filterPluginsByStatus(e,this.state.statusFilter),this.state.search.length>0&&(e=this.searchPlugins(e,this.state.search)),e}handleSearch(e){const n=e.target.value;this.setState({search:n}),localStorage.setItem(Kn,n)}handleStatusFilter(e){const n=e.target.value;this.setState({statusFilter:n}),localStorage.setItem(Tn,n)}handlePluginClick(e){const n=e.currentTarget.getAttribute("data-plugin-id"),t=this.state.plugins.find((e=>e.id===n));if(t){const e=this.state.selectedPlugin&&this.state.selectedPlugin.id===t.id;this.selectPlugin(e?null:t)}}selectPlugin(e){const n=e?e.id:null;n?(localStorage.setItem(Yn,n),this.setState({selectedPlugin:e})):(localStorage.removeItem(Yn),this.setState({selectedPlugin:null}))}scrollToSelectedPlugin(e){if(!this.tableContainer||!e)return;const n=this.tableContainer.querySelector(`[data-plugin-id="${e}"]`);if(!n)return;const t=this.tableContainer.getBoundingClientRect(),o=n.getBoundingClientRect();if(o.bottom>t.bottom||o.top<t.top){const e=n.offsetTop-this.tableContainer.clientHeight/2+n.clientHeight/2;this.tableContainer.scrollTo({top:Math.max(0,e),behavior:"smooth"})}}componentDidMount(){fetch(`${window.serverRoutesPrefix}/plugins`,{credentials:"same-origin"}).then((e=>{if(200==e.status)return e.json();throw new Error("/plugins request failed:"+e.status)})).then((e=>{const n=this.props.match.params.pluginid;let t=null;n&&"-"!==n&&(t=e.find((e=>e.id===n))),this.setState({plugins:e,selectedPlugin:t}),t&&requestAnimationFrame((()=>{this.scrollToSelectedPlugin(t.id)}))})).catch((e=>{console.error(e),alert("Could not fetch plugins list")}))}render(){const e=this.getFilteredPlugins(),n=this.state.selectedPlugin?this.state.selectedPlugin.id:null;return r().createElement("div",null,r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),r().createElement("strong",null,"Plugin Configuration")),r().createElement(f.bw,null,r().createElement(f.lV,{action:"",method:"post",encType:"multipart/form-data",className:"form-horizontal",onSubmit:e=>{e.preventDefault()}},r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"1",className:"col-form-label"},r().createElement(f.JU,{htmlFor:"search"},"Search")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"text",name:"search",id:"search",onChange:this.handleSearch,value:this.state.search,placeholder:"Search plugins..."})),r().createElement(f.fv,{xs:"3",md:"2",className:"col-form-label"},r().createElement(f.JU,{htmlFor:"statusFilter"},"Filter by Status")),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"select",name:"statusFilter",id:"statusFilter",onChange:this.handleStatusFilter,value:this.state.statusFilter},r().createElement("option",{value:"all"},"All Plugins"),r().createElement("option",{value:"enabled"},"Enabled"),r().createElement("option",{value:"disabled"},"Disabled"))))),r().createElement("div",{ref:e=>{this.tableContainer=e},style:{maxHeight:"400px",overflowY:"auto",border:"1px solid #dee2e6"}},r().createElement(f.XI,{responsive:!0,bordered:!0,striped:!0,size:"sm",hover:!0,className:"mb-0"},r().createElement("thead",{style:{position:"sticky",top:0,backgroundColor:"#f8f9fa",zIndex:1}},r().createElement("tr",null,r().createElement("th",{style:{width:"30%"}},"Plugin Name"),r().createElement("th",{style:{width:"15%"}},"Status"),r().createElement("th",{style:{width:"55%"}},"Description"))),r().createElement("tbody",null,e.map((e=>{const t=n===e.id,o=e.schema&&e.schema.properties&&0!=Object.keys(e.schema?.properties).length&&null==e.data.configuration;return r().createElement("tr",{key:e.id,"data-plugin-id":e.id,onClick:this.handlePluginClick,style:{cursor:"pointer"},className:t?"table-active":""},r().createElement("td",null,r().createElement("strong",null,e.name)),r().createElement("td",null,r().createElement("div",{className:"d-flex align-items-center justify-content-between"},r().createElement("div",{className:"badge "+(e.data.enabled&&!o?"badge-success":"badge-secondary")},e.data.enabled&&!o?"Enabled":"Disabled"),r().createElement("i",{className:"fa fa-cog text-muted",style:{fontSize:"16px"},title:"Click to configure"}))),r().createElement("td",null,r().createElement("small",null,e.description||"No description available")))}))))))),this.state.selectedPlugin&&r().createElement(Ln,{plugin:this.state.selectedPlugin,isConfigurator:Qn(this.state.selectedPlugin),history:this.props.history,onClose:()=>this.selectPlugin(null),saveData:e=>(void 0===this.state.selectedPlugin.data.configuration&&(e.enabled=!0),this.saveData(this.state.selectedPlugin.id,e))}))}saveData(e,n){return fetch(`${window.serverRoutesPrefix}/plugins/${e}/config`,{method:"POST",body:JSON.stringify(n),headers:new Headers({"Content-Type":"application/json"}),credentials:"same-origin"}).then((t=>{if(200!=t.status)throw console.error(t),alert("Saving plugin settings failed"),new Error("Save failed");{const t=[...this.state.plugins],o=t.findIndex((n=>n.id===e));if(-1!==o){t[o].data=n;const r=this.state.selectedPlugin&&this.state.selectedPlugin.id===e?{...this.state.selectedPlugin,data:n}:this.state.selectedPlugin;this.setState({plugins:t,selectedPlugin:r})}return!0}}))}}const Qn=e=>e.keywords.includes("signalk-plugin-configurator");class Ln extends o.Component{constructor(e){super(e),this.state={showSaveSuccess:!1}}showSuccessMessage=()=>{this.setState({showSaveSuccess:!0}),setTimeout((()=>{this.setState({showSaveSuccess:!1})}),3e3)};render(){const e={marginLeft:"10px",marginBottom:"0px"},{schema:n}=this.props.plugin,t=n&&n.properties&&0!=Object.keys(n?.properties).length&&null==this.props.plugin.data.configuration;return r().createElement("div",null,this.state.showSaveSuccess&&r().createElement("div",{style:{position:"fixed",top:"20px",right:"20px",zIndex:9999,maxWidth:"300px"}},r().createElement("div",{className:"alert alert-success mb-0",role:"alert",style:{boxShadow:"0 4px 12px rgba(0,0,0,0.3)"}},r().createElement("i",{className:"fa fa-check"})," Configuration saved successfully!")),r().createElement(f.Zp,{className:"mt-3 plugin-config-card",ref:e=>{this.configCard=e}},r().createElement(f.aR,{id:"plugin-config-header"},r().createElement(f.fI,{className:"mb-2"},r().createElement(f.fv,{className:"align-self-center"},r().createElement("h5",{className:"mb-0"},r().createElement("i",{className:"fa fa-cog",style:{marginRight:"10px"}}),"Configure: ",this.props.plugin.name),r().createElement("small",{className:"text-muted"},this.props.plugin.packageName))),!t&&r().createElement(f.fI,null,r().createElement(f.fv,{lg:4,className:"mt-2 mt-lg-0"},r().createElement(f.JU,{style:e,className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"enabled",className:"switch-input",onChange:()=>{this.props.saveData({...this.props.plugin.data,enabled:!this.props.plugin.data.enabled})},checked:this.props.plugin.data.enabled}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"})),r().createElement("span",{className:"ml-1"},"Enabled")),r().createElement(f.fv,{lg:4,className:"mt-2 mt-lg-0"},r().createElement(f.JU,{style:e,className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"enableLogging",className:"switch-input",onChange:()=>{this.props.saveData({...this.props.plugin.data,enableLogging:!this.props.plugin.data.enableLogging})},checked:this.props.plugin.data.enableLogging}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"})),r().createElement("span",{className:"ml-1"},"Data logging")),r().createElement(f.fv,{lg:4,className:"mt-2 mt-lg-0"},r().createElement(f.JU,{style:e,className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"enableDebug",className:"switch-input ",onChange:()=>{this.props.saveData({...this.props.plugin.data,enableDebug:!this.props.plugin.data.enableDebug})},checked:this.props.plugin.data.enableDebug}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"})),r().createElement("span",{className:"ml-1"},"Enable debug log")))),r().createElement(f.bw,null,!this.props.isConfigurator&&r().createElement("div",null,r().createElement(Pn,{plugin:this.props.plugin,onSubmit:e=>{this.props.saveData(e).then((()=>{this.showSuccessMessage()})).catch((()=>{}))}}),r().createElement("div",{style:{position:"fixed",bottom:"20px",right:"20px",zIndex:1e3,backgroundColor:"#fff",padding:"10px",borderRadius:"5px",boxShadow:"0 4px 12px rgba(0,0,0,0.2)",border:"1px solid #dee2e6"}},r().createElement("button",{type:"button",className:"btn btn-primary",onClick:()=>{const e=document.querySelector('.plugin-config-card form button[type="submit"]');e&&e.click()},style:{minWidth:"140px"}},r().createElement("i",{className:"fa fa-save",style:{marginRight:"8px"}}),"Save Configuration"))),this.props.isConfigurator&&r().createElement(jn,this.props))))}}function Hn(){fetch(`${window.serverRoutesPrefix}/security/config`,{credentials:"include"}).then((e=>e.json())).then((e=>{this.setState({...e,hasData:!0})}))}const Vn=`${window.location.protocol}//${window.location.host}`;class Xn extends o.Component{constructor(e){super(e),this.state={hasData:!1},this.handleChange=this.handleChange.bind(this),this.handleSaveConfig=this.handleSaveConfig.bind(this),this.fetchSecurityConfig=Hn.bind(this)}componentDidMount(){this.props.loginStatus.authenticationRequired&&this.fetchSecurityConfig()}componentDidUpdate(e){this.props.loginStatus.authenticationRequired!=e.loginStatus.authenticationRequired&&this.fetchSecurityConfig()}handleChange(e){const n="checkbox"===e.target.type?e.target.checked:e.target.value;this.setState({[e.target.name]:n})}handleSaveConfig(){var e={allow_readonly:this.state.allow_readonly,expiration:this.state.expiration,allowNewUserRegistration:this.state.allowNewUserRegistration,allowDeviceAccessRequests:this.state.allowDeviceAccessRequests,allowedCorsOrigins:this.state.allowedCorsOrigins,adminUIOrigin:Vn};fetch(`${window.serverRoutesPrefix}/security/config`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),credentials:"include"}).then((e=>e.text())).then((e=>{this.fetchSecurityConfig(),alert(e)}))}render(){return r().createElement("div",{className:"animated fadeIn"},!1===this.props.loginStatus.authenticationRequired&&r().createElement(se,null),this.state.hasData&&this.props.loginStatus.authenticationRequired&&r().createElement("div",null,r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),"Settings"),r().createElement(f.bw,null,r().createElement(f.lV,{action:"",method:"post",encType:"multipart/form-data",className:"form-horizontal"},r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"0",md:"3"},r().createElement(f.JU,null,"Allow Readonly Access")),r().createElement(f.fv,{md:"9"},r().createElement(f.gE,{check:!0},r().createElement("div",null,r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"allow_readonly",className:"switch-input",onChange:this.handleChange,checked:this.state.allow_readonly}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"})))))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"0",md:"3"},r().createElement(f.JU,null,"Allow New User Registration")),r().createElement(f.fv,{md:"9"},r().createElement(f.gE,{check:!0},r().createElement("div",null,r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"allowNewUserRegistration",className:"switch-input",onChange:this.handleChange,checked:this.state.allowNewUserRegistration}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"})))))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"0",md:"3"},r().createElement(f.JU,null,"Allow New Device Registration")),r().createElement(f.fv,{md:"9"},r().createElement(f.gE,{check:!0},r().createElement("div",null,r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"allowDeviceAccessRequests",className:"switch-input",onChange:this.handleChange,checked:this.state.allowDeviceAccessRequests}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"})))))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"text-input"},"Remember Me timeout")),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"text",name:"expiration",onChange:this.handleChange,value:this.state.expiration}),r().createElement(f.ay,{color:"muted"},"Examples: 60s, 1m, 1h, 1d")),r().createElement(f.fv,{md:"6"},r().createElement(f.ay,{color:"muted"},"How long server keeps you logged when Remember Me is checked in login."))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"12"},r().createElement(f.JU,null,"With no configuration all CORS origins are accepted, but client requests with credentials:include do not work. Add a single * origin to allow all origins with credentials. You can also restrict CORS requests to specific origins. The origin that this UI was loaded from is automatically added to the allowed origins so that requests from the UI work. Changes to the Allowed CORS origins requires a server restart.")))," ",r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"text-input"},"Allowed CORS origins")),r().createElement(f.fv,{xs:"12",md:"9"},r().createElement(f.pd,{type:"text",name:"allowedCorsOrigins",onChange:this.handleChange,value:this.state.allowedCorsOrigins}),r().createElement(f.ay,{color:"muted"},"Use either * or a comma delimited list of origins, example: http://host1.name.com:3000,http://host2.name.com:3000"))))),r().createElement(f.wL,null,r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.handleSaveConfig},r().createElement("i",{className:"fa fa-dot-circle-o"})," Save")))))}}const Zn=(0,d.Ng)((({loginStatus:e})=>({loginStatus:e})))(Xn);function et(){fetch(`${window.serverRoutesPrefix}/security/users`,{credentials:"include"}).then((e=>e.json())).then((e=>{this.setState({users:e})}))}class nt extends o.Component{constructor(e){super(e),this.state={},this.handleAddUser=this.handleAddUser.bind(this),this.fetchSecurityUsers=et.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleApply=this.handleApply.bind(this),this.handleUserChange=this.handleUserChange.bind(this),this.deleteUser=this.deleteUser.bind(this)}componentDidMount(){this.props.loginStatus.authenticationRequired&&this.fetchSecurityUsers()}componentDidUpdate(e){this.props.loginStatus.authenticationRequired!=e.loginStatus.authenticationRequired&&this.fetchSecurityUsers()}handleUserChange(e){const n="checkbox"===e.target.type?e.target.checked:e.target.value;this.state.selectedUser[e.target.name]=n,this.setState({selectedUser:this.state.selectedUser})}handleAddUser(){this.setState({selectedUser:{type:"readonly",isNew:!0},selectedIndex:this.state.users.length-1},(()=>{this.refs.selectedUser.scrollIntoView()}))}handleApply(e){if(e.preventDefault(),this.state.selectedUser.userId&&0!=this.state.selectedUser.userId.length)if(this.state.selectedUser.password&&this.state.selectedUser.password!=this.state.selectedUser.confirmPassword)alert("Passwords do not match");else{var n=this.state.selectedUser.isNew,t={password:this.state.selectedUser.password,type:this.state.selectedUser.type||"readonly"};fetch(`${window.serverRoutesPrefix}/security/users/${this.state.selectedUser.userId}`,{method:n?"POST":"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),credentials:"include"}).then((e=>e.text())).then((e=>{this.setState({selectedUser:null,selectedIndex:-1}),alert(e),this.fetchSecurityUsers()}))}else alert("Please specify a User Id")}deleteUser(){fetch(`${window.serverRoutesPrefix}/security/users/${this.state.selectedUser.userId}`,{method:"DELETE",headers:{"Content-Type":"application/json"},credentials:"include"}).then((e=>e.text())).then((e=>{this.setState({selectedUser:null,selectedIndex:-1}),alert(e),this.fetchSecurityUsers()}))}userClicked(e,n){this.setState({selectedUser:JSON.parse(JSON.stringify(e)),selectedIndex:n},(()=>{this.refs.selectedUser.scrollIntoView()}))}handleCancel(){this.setState({selectedUser:null})}render(){return r().createElement("div",{className:"animated fadeIn"},!1===this.props.loginStatus.authenticationRequired&&r().createElement(se,null),this.state.users&&this.props.loginStatus.authenticationRequired&&r().createElement("div",null,r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),"Users"),r().createElement(f.bw,null,r().createElement(f.XI,{hover:!0,responsive:!0,bordered:!0,striped:!0,size:"sm"},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",null,"User ID"),r().createElement("th",null,"Type"))),r().createElement("tbody",null,(this.state.users||[]).map(((e,n)=>{return r().createElement("tr",{key:e.userId,onClick:this.userClicked.bind(this,e,n)},r().createElement("td",null,e.userId),r().createElement("td",null,"readonly"==(t=e.type)?"Read Only":"readwrite"==t?"Read/Write":"admin"==t?"Admin":void 0));var t}))))),r().createElement(f.wL,null,r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.handleAddUser},r().createElement("i",{className:"fa fa-plus-circle"})," Add"))),this.state.selectedUser&&r().createElement("div",{ref:"selectedUser"},r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),"User"),r().createElement(f.bw,null,r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"userid"},"User ID")),r().createElement(f.fv,{xs:"12",md:"9"},this.state.selectedUser.isNew&&r().createElement(f.pd,{type:"text",name:"userId",value:this.state.selectedUser.userId,onChange:this.handleUserChange}),!this.state.selectedUser.isNew&&r().createElement(f.JU,null,this.state.selectedUser.userId))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"password"},"Password")),r().createElement(f.fv,{xs:"12",md:"9"},r().createElement(f.pd,{type:"password",name:"password",value:this.state.selectedUser.password,onChange:this.handleUserChange}))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"text-input"},"Confirm Password")),r().createElement(f.fv,{xs:"12",md:"9"},r().createElement(f.pd,{type:"password",name:"confirmPassword",value:this.state.selectedUser.confirmPassword,onChange:this.handleUserChange}))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"select"},"Permissions")),r().createElement(f.fv,{xs:"12",md:"2"},r().createElement(f.pd,{type:"select",name:"type",value:this.state.selectedUser.type,onChange:this.handleUserChange},r().createElement("option",{value:"readonly"},"Read Only"),r().createElement("option",{value:"readwrite"},"Read/Write"),r().createElement("option",{value:"admin"},"Admin"))))),r().createElement(f.wL,null,r().createElement(f.fI,null,r().createElement(f.fv,{xs:"4",md:"1"},r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.handleApply},r().createElement("i",{className:"fa fa-dot-circle-o"})," Apply")),r().createElement(f.fv,{xs:"4",md:"1"},r().createElement(f.$n,{size:"sm",color:"secondary",onClick:this.handleCancel},r().createElement("i",{className:"fa fa-ban"})," Cancel")),r().createElement(f.fv,{xs:"4",md:"10",className:"text-right"},r().createElement(f.$n,{size:"sm",color:"danger",onClick:this.deleteUser},r().createElement("i",{className:"fa fa-ban"})," Delete"))))))))}}const tt=(0,d.Ng)((({loginStatus:e})=>({loginStatus:e})))(nt);function ot(){fetch(`${window.serverRoutesPrefix}/security/devices`,{credentials:"include"}).then((e=>e.json())).then((e=>{this.setState({devices:e})}))}class rt extends o.Component{constructor(e){super(e),this.state={devices:[]},this.fetchSecurityDevices=ot.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleApply=this.handleApply.bind(this),this.handleDeviceChange=this.handleDeviceChange.bind(this),this.deleteDevice=this.deleteDevice.bind(this)}componentDidMount(){this.props.loginStatus.authenticationRequired&&this.fetchSecurityDevices()}handleDeviceChange(e){const n="checkbox"===e.target.type?e.target.checked:e.target.value;this.state.selectedDevice[e.target.name]=n,this.setState({selectedDevice:this.state.selectedDevice})}handleApply(e){e.preventDefault();var n={permissions:this.state.selectedDevice.permissions||"readonly",description:this.state.selectedDevice.description};fetch(`${window.serverRoutesPrefix}/security/devices/${this.state.selectedDevice.clientId}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(n),credentials:"include"}).then((e=>e.text())).then((e=>{this.setState({selectedDevice:null,selectedIndex:-1}),alert(e),this.fetchSecurityDevices()}))}deleteDevice(){fetch(`${window.serverRoutesPrefix}/security/devices/${this.state.selectedDevice.clientId}`,{method:"DELETE",headers:{"Content-Type":"application/json"},credentials:"include"}).then((e=>e.text())).then((e=>{this.setState({selectedDevice:null,selectedIndex:-1}),alert(e),this.fetchSecurityDevices()}))}deviceClicked(e,n){this.setState({selectedDevice:JSON.parse(JSON.stringify(e)),selectedIndex:n},(()=>{this.refs.selectedDevice.scrollIntoView()}))}handleCancel(){this.setState({selectedDevice:null})}render(){return r().createElement("div",{className:"animated fadeIn"},!1===this.props.loginStatus.authenticationRequired&&r().createElement(se,null),this.props.loginStatus.authenticationRequired&&r().createElement("div",null,r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),"Devices"),r().createElement(f.bw,null,r().createElement(f.XI,{hover:!0,responsive:!0,bordered:!0,striped:!0,size:"sm"},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",null,"Client ID"),r().createElement("th",null,"Description"),r().createElement("th",null,"Type"))),r().createElement("tbody",null,(this.state.devices||[]).map(((e,n)=>r().createElement("tr",{key:e.clientId,onClick:this.deviceClicked.bind(this,e,n)},r().createElement("td",null,e.clientId),r().createElement("td",null,e.description),r().createElement("td",null,it(e.permissions)))))))),r().createElement(f.wL,null)),this.state.selectedDevice&&r().createElement("div",{ref:"selectedDevice"},r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),"Device"),r().createElement(f.bw,null,r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"clientId"},"Client ID")),r().createElement(f.fv,{xs:"12",md:"9"},r().createElement(f.JU,null,this.state.selectedDevice.clientId))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"description"},"Description")),r().createElement(f.fv,{xs:"12",md:"9"},r().createElement(f.pd,{size:"60",style:{width:"auto"},type:"text",name:"description",onChange:this.handleDeviceChange,value:this.state.selectedDevice.description}))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"select"},"Permissions")),r().createElement(f.fv,{xs:"12",md:"2"},!this.state.selectedDevice.requestedPermissions&&r().createElement(f.pd,{type:"select",name:"permissions",value:this.state.selectedDevice.permissions,onChange:this.handleDeviceChange},r().createElement("option",{value:"readonly"},"Read Only"),r().createElement("option",{value:"readwrite"},"Read/Write"),r().createElement("option",{value:"admin"},"Admin")),this.state.selectedDevice.requestedPermissions&&r().createElement(f.JU,null,it(this.state.selectedDevice.permissions))))),r().createElement(f.wL,null,r().createElement(f.fI,null,r().createElement(f.fv,{xs:"4",md:"1"},r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.handleApply},r().createElement("i",{className:"fa fa-dot-circle-o"})," Apply")),r().createElement(f.fv,{xs:"4",md:"1"},r().createElement(f.$n,{size:"sm",color:"secondary",onClick:this.handleCancel},r().createElement("i",{className:"fa fa-ban"})," Cancel")),r().createElement(f.fv,{xs:"4",md:"10",className:"text-right"},r().createElement(f.$n,{size:"sm",color:"danger",onClick:this.deleteDevice},r().createElement("i",{className:"fa fa-ban"})," Delete"))))))))}}const at=(0,d.Ng)((({securityDevices:e})=>({securityDevices:e})))(rt);function it(e){return"readonly"==e?"Read Only":"readwrite"==e?"Read/Write":"admin"==e?"Admin":void 0}class lt extends o.Component{constructor(e){super(e),this.state={errorMessage:null,email:"",password:"",confirmPassword:"",registrationSent:!1},this.handleInputChange=this.handleInputChange.bind(this),this.handleCreate=this.handleCreate.bind(this)}handleInputChange(e){var n=e.target.name;this.setState({[e.target.name]:e.target.value},(()=>{"password"===n||"confirmPassword"===n&&this.state.password!=this.state.confirmPassword?this.setState({errorMessage:"Passwords do not match"}):this.setState({errorMessage:null})}))}handleCreate(){if(0==this.state.email.length)this.setState({errorMessage:"Please enter an email address"});else if(0==this.state.password.length&&0==this.state.confirmPassword.length)this.setState({errorMessage:"Please enter and conform your password"});else{if(this.state.password!=this.state.confirmPassword)return;var e={userId:this.state.email,password:this.state.password};fetch("/signalk/v1/access/requests",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),credentials:"include"}).then((e=>{202!=e.status?e.json().then((e=>{this.setState({errorMessage:e.message?e.message:e.result})})):this.setState({registrationSent:!0})}))}}render(){return r().createElement("div",null,r().createElement(f.mc,null,r().createElement(f.fI,{className:"justify-content-center"},r().createElement(f.fv,{md:"6"},r().createElement(f.Zp,{className:"mx-4"},r().createElement(f.bw,{className:"p-4"},r().createElement("h1",null,"Register"),this.state.registrationSent&&r().createElement("p",{className:"text-muted"},"Your registration has been sent"),!this.state.registrationSent&&r().createElement(f.lV,null,r().createElement("p",{className:"text-muted"},"Create your account"),r().createElement(f.MG,{className:"mb-3"},r().createElement(f.Sq,{addonType:"prepend"},r().createElement(f.zB,null,"@")),r().createElement(f.pd,{name:"email",type:"text",placeholder:"Email",onChange:this.handleInputChange})),r().createElement(f.MG,{className:"mb-3"},r().createElement(f.Sq,{addonType:"prepend"},r().createElement(f.zB,null,r().createElement("i",{className:"icon-lock"}))),r().createElement(f.pd,{name:"password",type:"password",placeholder:"Password",onChange:this.handleInputChange})),r().createElement(f.MG,{className:"mb-0"},r().createElement(f.Sq,{addonType:"prepend"},r().createElement(f.zB,null,r().createElement("i",{className:"icon-lock"}))),r().createElement(f.pd,{name:"confirmPassword",type:"password",placeholder:"Repeat password",onChange:this.handleInputChange})),this.state.errorMessage&&r().createElement("p",{className:"text-danger mt-3 mb-0"},this.state.errorMessage))),!this.state.registrationSent&&r().createElement(f.wL,{className:"p-4"},r().createElement(f.fI,null,r().createElement(f.fv,{xs:"12",sm:"12"},r().createElement(f.$n,{color:"success",block:!0,onClick:this.handleCreate},"Create Account")))))))))}}const st=lt;class At extends o.Component{constructor(e){super(e),this.state={selectedRequest:null,accessRequestsApproving:[],accessRequestsDenying:[]},this.handleRequestChange=this.handleRequestChange.bind(this)}handleAccessRequest(e,n){var t=n?"accessRequestsApproving":"accessRequestsDenying";this.state[t].push(e),this.setState({stateKey:this.state});var o={permissions:this.state.selectedRequest.permissions||"readonly",config:this.state.selectedRequest.config,expiration:this.state.selectedRequest.expiration||"1y"};fetch(`${window.serverRoutesPrefix}/security/access/requests/${e}/${n?"approved":"denied"}`,{method:"PUT",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)}).then((e=>e.text())).then((()=>{this.state[t]=this.state[t].filter((n=>n!=e)),this.setState({stateKey:this.state[t],selectedRequest:null})}))}requestClicked(e,n,t){this.setState({selectedRequest:JSON.parse(JSON.stringify(n)),selectedIndex:t},(()=>{this.refs.selectedRequest.scrollIntoView()}))}handleRequestChange(e){const n="checkbox"===e.target.type?e.target.checked:e.target.value;this.state.selectedRequest[e.target.name]=n,this.setState({selectedRequest:this.state.selectedRequest})}handleCancel(){this.setState({selectedRequest:null})}render(){return r().createElement("div",{className:"animated fadeIn"},!1===this.props.loginStatus.authenticationRequired&&r().createElement(se,null),this.props.loginStatus.authenticationRequired&&r().createElement("div",null,r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),"Access Requests"),r().createElement(f.bw,null,r().createElement(f.XI,{hover:!0,responsive:!0,bordered:!0,striped:!0,size:"sm"},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",null,"Identifier"),r().createElement("th",null,"Description"),r().createElement("th",null,"Source IP"))),r().createElement("tbody",null,(this.props.accessRequests||[]).map(((e,n)=>r().createElement("tr",{key:e.accessIdentifier,onClick:this.requestClicked.bind(this,event,e,n)},r().createElement("td",null,e.accessIdentifier),r().createElement("td",null,e.accessDescription),r().createElement("td",null,e.ip)))))))),this.state.selectedRequest&&r().createElement("div",{ref:"selectedRequest"},r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),"Request"),r().createElement(f.bw,null,r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"4",lg:"2"},r().createElement(f.JU,null,"Identifier")),r().createElement(f.fv,{xs:"12",md:"8"},r().createElement(f.JU,null,this.state.selectedRequest.accessIdentifier))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"4",lg:"2"},r().createElement(f.JU,null,"Description")),r().createElement(f.fv,{xs:"12",md:"8"},r().createElement(f.JU,null,this.state.selectedRequest.accessDescription))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"4",lg:"2"},r().createElement(f.JU,{htmlFor:"text-input"},"Authentication Timeout")),r().createElement(f.fv,{xs:"12",md:"8",lg:"3"},r().createElement(f.pd,{type:"text",name:"expiration",onChange:this.handleRequestChange,value:this.state.selectedRequest.expiration}),r().createElement(f.ay,{color:"muted"},"Examples: 60s, 1m, 1h, 1d, NEVER"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"4",lg:"2"},r().createElement(f.JU,{htmlFor:"select"},"Permissions")),r().createElement(f.fv,{xs:"12",md:"8",lg:"3"},!this.state.selectedRequest.requestedPermissions&&r().createElement(f.pd,{type:"select",name:"permissions",value:this.state.selectedRequest.permissions,onChange:this.handleRequestChange},r().createElement("option",{value:"readonly"},"Read Only"),r().createElement("option",{value:"readwrite"},"Read/Write"),r().createElement("option",{value:"admin"},"Admin")),this.state.selectedRequest.requestedPermissions&&r().createElement(f.JU,null,"readonly"==(e=this.state.selectedRequest.permissions)?"Read Only":"readwrite"==e?"Read/Write":"admin"==e?"Admin":`Unknown ${e}`)))),r().createElement(f.wL,null,r().createElement(f.fI,{className:"ml-0 mr-0 d-flex justify-content-between justify-content-sm-start"},r().createElement(f.fv,{xs:"4",md:"4",lg:"2",className:"pl-0 pr-0 pr-md-2"},r().createElement(f.$n,{size:"md",color:"success",onClick:this.handleAccessRequest.bind(this,this.state.selectedRequest.accessIdentifier,!0)},r().createElement("i",{className:-1!=this.state.accessRequestsApproving.indexOf(this.state.selectedRequest.accessIdentifier)?"fa fa-spinner fa-spin":"fa fa-check"})," ","Approve")),r().createElement(f.fv,{xs:"4",md:"8",lg:"3",className:"pl-2 pl-lg-1 pr-0 pr-md-2"},r().createElement(f.$n,{size:"md",color:"danger",className:"float-right float-sm-left",onClick:this.handleAccessRequest.bind(this,this.state.selectedRequest.accessIdentifier,!1)},r().createElement("i",{className:-1!=this.state.accessRequestsDenying.indexOf(this.state.selectedRequest.accessIdentifier)?"fa fa-spinner fa-spin":"fa fa-ban"})," ","Deny"))))))));var e}}const dt=(0,d.Ng)((({accessRequests:e,loginStatus:n})=>({accessRequests:e,loginStatus:n})))(At);class ct extends o.Component{constructor(){super(),this.handleAddFilter=this.handleAddFilter.bind(this),this.handleEnabledChange=this.handleEnabledChange.bind(this)}filterChanged(e,n){e[n.target.name]=n.target.value,this.props.onChange(n)}deleteFilter(e,n){this.props.value.options.filters.splice(e,1),this.props.onChange(n)}handleEnabledChange(e){this.props.value.options.filtersEnabled=e.target.checked,this.props.onChange(e)}handleAddFilter(e){this.props.value.options.filters||(this.props.value.options.filters=[]),this.props.value.options.filters.push({source:"",pgn:""}),this.props.onChange(e)}render(){const e=this.props.value.options.useCanName?"Can NAME":"Address";return r().createElement("div",null,r().createElement(f.Zp,null,r().createElement(f.aR,null,"Filters"),r().createElement(f.bw,null,r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"filtersEnabled",className:"switch-input",checked:this.props.value.options.filtersEnabled,onChange:this.handleEnabledChange}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))," Enabled ",r().createElement("br",null),r().createElement("br",null),"Filter out all messages from a specific ",e," by entering just the ",e,".",r().createElement("br",null),"Filter out a specific PGN from all devices by entering just the PGN.",r().createElement("br",null),"Filter out a specific PGN from a specific ",e," by entering both.",r().createElement("br",null),r().createElement("br",null),this.props.value.options.filters&&this.props.value.options.filters.length>0&&r().createElement(f.XI,{responsive:!0,bordered:!0,striped:!0,size:"sm"},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",null,e),r().createElement("th",null,"PGN"),r().createElement("th",null))),r().createElement("tbody",null,this.props.value.options.filters.map(((e,n)=>r().createElement("tr",{key:n},r().createElement("td",null,r().createElement(f.pd,{type:"text",name:"source",value:e.source,onChange:this.filterChanged.bind(this,e)})),r().createElement("td",null,r().createElement(f.pd,{type:"text",name:"pgn",value:e.pgn,onChange:this.filterChanged.bind(this,e)})),r().createElement("td",null,r().createElement(f.$n,{color:"link",className:"text-danger",onClick:this.deleteFilter.bind(this,n)},r().createElement("i",{className:"fas fa-trash"})))))))),r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.handleAddFilter},r().createElement("i",{className:"fa fa-plus-circle"})," Add"))))}}const mt=ct;class pt extends o.Component{constructor(){super(),this.state={hasAnalyzer:!1}}componentDidMount(){fetch(`${window.serverRoutesPrefix}/hasAnalyzer`,{credentials:"include"}).then((e=>e.json())).then((e=>{this.setState({hasAnalyzer:e})}))}render(){let e={NMEA2000:Ot,NMEA0183:Mt,SignalK:Wt,Seatalk:jt,FileStream:Kt}[this.props.value.type]||(()=>null);return r().createElement("div",null,r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"3"},r().createElement(f.JU,{htmlFor:"select"},"Data Type")),r().createElement(f.fv,{xs:"6",md:"3"},this.props.value.isNew?r().createElement(f.pd,{type:"select",value:this.props.value.type,name:"type",onChange:e=>this.props.onChange(e)},r().createElement("option",{value:"NMEA2000"},"NMEA 2000"),r().createElement("option",{value:"NMEA0183"},"NMEA 0183"),r().createElement("option",{value:"SignalK"},"Signal K"),r().createElement("option",{value:"Seatalk"},"Seatalk (GPIO)"),r().createElement("option",{value:"FileStream"},"File Stream")):this.props.value.type)),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"3"},r().createElement(f.JU,null,"Enabled")),r().createElement(f.fv,{xs:"2",md:"3"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"enabled",className:"switch-input",onChange:e=>this.props.onChange(e),checked:this.props.value.enabled}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"})))),"FileStream"!==this.props.value.type&&r().createElement(vt,{value:this.props.value,onChange:this.props.onChange}),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"id"},"ID")),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"text",name:"id",value:this.props.value.id,disabled:!this.props.value.isNew,onChange:e=>{const n={target:{name:e.target.name,type:e.target.type,value:(e.target.value||"").replace(/[^a-zA-Z\d-_]/g,"")}};this.props.onChange(n)}}))),r().createElement(e,{value:this.props.value,onChange:this.props.onChange,hasAnalyzer:this.state.hasAnalyzer}),r().createElement(Et,{value:this.props.value.options,onChange:this.props.onChange}),"NMEA2000"===this.props.value.type&&r().createElement(mt,{value:this.props.value,onChange:this.props.onPropChange}))}}const bt=pt;class gt extends o.Component{render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:this.props.name},this.props.title)),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"text",name:this.props.name,value:this.props.value,onChange:e=>this.props.onChange(e)}),this.props.helpText&&r().createElement(f.ay,{color:"muted"},this.props.helpText)))}}class ut extends o.Component{render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:this.props.name},this.props.title)),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"textarea",name:this.props.name,value:this.props.value,rows:this.props.rows,onChange:e=>this.props.onChange(e)}),this.props.helpText&&r().createElement(f.ay,{color:"muted"},this.props.helpText)))}}class ht extends o.Component{constructor(){super(),this.state={devices:{}}}componentDidMount(){fetch(`${window.serverRoutesPrefix}/serialports`,{credentials:"include"}).then((e=>e.json())).then((e=>{e.serialports=e.serialports.map((e=>e.path)),this.setState({devices:e})}))}render(){const e=!Ct(this.props.value.device,this.state.devices);let n=e?"Enter manually"===this.props.value.device?"":this.props.value.device:"";return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"serialportselect"},"Serial port")),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"select",name:"options.device",id:"serialportselect",onChange:this.props.onChange,helpText:"help me",value:e?"Enter manually":this.props.value.device},r().createElement("option",{key:"enterManually"},"Enter manually"),ft(["byOpenPlotter","byId","byPath","serialports"],["OpenPlotter managed:","by-id:","by-path:","Listed:"],this.state.devices))),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"text",name:"options.device",disabled:!e,value:n||"",onChange:e=>this.props.onChange(e)})))}}const Ct=(e,n)=>Object.keys(n).reduce(((e,t)=>e.concat(n[t])),[]).includes(e),ft=(e,n,t)=>e.reduce(((e,o,a)=>(t[o]&&t[o].length>0&&(e.push(r().createElement("option",{disabled:"true",key:o},n[a])),t[o].forEach(((n,t)=>{e.push(r().createElement("option",{key:`${o}${t}`},n))}))),e)),[]);class vt extends o.Component{render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"3"},r().createElement(f.JU,null,"Data Logging")),r().createElement(f.fv,{xs:"2",md:"3"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"logging",className:"switch-input",onChange:e=>this.props.onChange(e),checked:this.props.value.logging}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))))}}class wt extends o.Component{constructor(e){super(e),this.props.value.validateChecksum=void 0===this.props.value.validateChecksum||this.props.value.validateChecksum}render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"3"},r().createElement(f.JU,null,"Validate Checksum")),r().createElement(f.fv,{xs:"2",md:"3"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"options.validateChecksum",className:"switch-input",onChange:e=>{this.props.onChange(e),this.props.value.validateChecksum&&(this.props.value.appendChecksum=!1)},checked:this.props.value.validateChecksum}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))))}}class Et extends o.Component{render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"3"},r().createElement(f.JU,null,"Override timestamps")),r().createElement(f.fv,{xs:"2",md:"3"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"options.overrideTimestamp",className:"switch-input",onChange:this.props.onChange,checked:this.props.value.overrideTimestamp}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))))}}class Bt extends o.Component{render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"3"},r().createElement(f.JU,null,"Remove NULL characters")),r().createElement(f.fv,{xs:"2",md:"3"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"options.removeNulls",className:"switch-input",onChange:e=>this.props.onChange(e),checked:this.props.value.removeNulls}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))))}}class xt extends o.Component{render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"3"},r().createElement(f.JU,null,"Append Checksum")),r().createElement(f.fv,{xs:"2",md:"1"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"options.appendChecksum",className:"switch-input",onChange:e=>this.props.onChange(e),checked:this.props.value.appendChecksum&&!this.props.value.validateChecksum,disabled:!!this.props.value.validateChecksum}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))),r().createElement(f.fv,{xs:"12",md:"6"},this.props.value.validateChecksum&&r().createElement("label",{className:"text-muted small"},"Turn Validate Checksum OFF to enable appending the checksum")))}}class kt extends o.Component{render(){return r().createElement(gt,{title:"Input Event",name:"options.sentenceEvent",helpText:"Additional event name for incoming sentences. Example: nmea1data",value:this.props.value.sentenceEvent,onChange:this.props.onChange})}}class $t extends o.Component{render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"dataType"},"Data Type")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"select",value:this.props.value.options.dataType,name:"options.dataType",onChange:e=>this.props.onChange(e)},!this.props.value.options.dataType&&r().createElement("option",{value:""},"Select data type"),r().createElement("option",{value:"SignalK"},"Signal K"),r().createElement("option",{value:"NMEA2000JS"},"Actisense NMEA 2000 (canboatjs)"),r().createElement("option",{value:"NMEA2000IK"},"iKonvert NMEA 2000 (canboatjs)"),r().createElement("option",{value:"NMEA2000YD"},"Yacht Devices YDGW-02 NMEA 2000 (canboatjs)"),r().createElement("option",{value:"NMEA2000",disabled:!this.props.hasAnalyzer},"NMEA 2000 (canboat)"),r().createElement("option",{value:"NMEA0183"},"NMEA 0183"),"FileStream"===this.props.value.type&&r().createElement("option",{value:"Multiplexed"},"Multiplexed Log"))))}}class yt extends o.Component{render(){return r().createElement(gt,{title:"Baud Rate",name:"options.baudrate",helpText:"Example: 4800",value:this.props.value.baudrate,onChange:e=>this.props.onChange(e,"number")})}}class Ft extends o.Component{constructor(e){super(e),this.props.value.baudrate=this.props.value.baudrate||("ikonvert-canboatjs"===this.props.value.type?230400:115200)}render(){return r().createElement(gt,{title:"Baud Rate",name:"options.baudrate",value:this.props.value.baudrate,onChange:e=>this.props.onChange(e,"number")})}}class St extends o.Component{constructor(e){super(),this.state=St.getDerivedStateFromProps(e),this.onChange=this.onChange.bind(this)}static getDerivedStateFromProps(e){let n=e.value.toStdout;return Array.isArray(n)&&(n=n.join(",")),{value:n}}onChange(e){this.setState({value:e.target.value}),this.props.onChange({target:{type:e.target.type,name:e.target.name,value:e.target.value.split(",")}})}render(){return r().createElement(gt,{title:"Output Events",name:"options.toStdout",helpText:"Events that should be written as output to this connection. Example: nmea0183,nmea0183out",value:this.state.value,onChange:this.onChange})}}class zt extends o.Component{constructor(e){super(),this.onChange=this.onChange.bind(this),this.state=zt.getDerivedStateFromProps(e)}static getDerivedStateFromProps(e){let n=e.value.ignoredSentences;return Array.isArray(n)&&(n=n.join(",")),{value:n}}onChange(e){this.setState({value:e.target.value}),this.props.onChange({target:{type:e.target.type,name:e.target.name,value:e.target.value.split(",")}})}render(){return r().createElement(gt,{title:"Ignored Sentences",name:"options.ignoredSentences",helpText:"NMEA0183 sentences to throw away from the input data. Example: RMC,ROT",value:this.state.value,onChange:this.onChange})}}class Dt extends o.Component{render(){return r().createElement(gt,{title:"Port",name:"options.port",helpText:"Example: 4123",value:this.props.value.port,onChange:this.props.onChange})}}class Nt extends o.Component{render(){return r().createElement(gt,{title:"Host",name:"options.host",helpText:"Example: localhost",value:this.props.value.host,onChange:this.props.onChange})}}class It extends o.Component{render(){return r().createElement(gt,{title:"No data timeout",name:"options.noDataReceivedTimeout",helpText:"Timeout for no data received in seconds. Socket is disconnected and reconnection attempted if timeout is reached. Leave empty or 0 to disable.",value:this.props.value.noDataReceivedTimeout,onChange:this.props.onChange})}}class Ut extends o.Component{render(){return r().createElement(gt,{title:"Remote 'self' to use",name:"options.remoteSelf",helpText:"like vessels.urn:mrn:signalk:uuid:f6d9f041-4e61-4335-82c0-7a51fb10ae86 OR vessels.urn:mrn:imo:mmsi:230099999",value:this.props.value.remoteSelf,onChange:this.props.onChange})}}class qt extends o.Component{render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"3"},r().createElement(f.JU,null,"Suppress nmea0183 event")),r().createElement(f.fv,{xs:"1",md:"1"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"options.suppress0183event",className:"switch-input",onChange:e=>this.props.onChange(e),checked:this.props.value.suppress0183event}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))),r().createElement(f.fv,{xs:"12",md:"6"},r().createElement("label",{className:"text-muted small"},"Supress sending the default nmea0183 event for incoming sentences")))}}class Gt extends o.Component{render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"3"},r().createElement(f.JU,null,"Use Can NAME in source data")),r().createElement(f.fv,{xs:"2",md:"3"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"options.useCanName",className:"switch-input",onChange:e=>this.props.onChange(e),checked:this.props.value.useCanName}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))))}}class Jt extends o.Component{render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"3"},r().createElement(f.JU,null,"CamcelCase Compat (for legacy N2K plugins)")),r().createElement(f.fv,{xs:"2",md:"3"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"options.useCamelCompat",className:"switch-input",onChange:e=>this.props.onChange(e),checked:void 0===this.props.value.useCamelCompat||this.props.value.useCamelCompat}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))))}}class Rt extends o.Component{constructor(e){super(e)}render(){return r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"3"},r().createElement(f.JU,null,"Collect Network Statistics")),r().createElement(f.fv,{xs:"2",md:"3"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"options.sendNetworkStats",className:"switch-input",onChange:e=>this.props.onChange(e),checked:this.props.value.sendNetworkStats}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))))}}const Ot=e=>r().createElement("div",null,r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"options.type"},"NMEA 2000 Source")),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"select",value:e.value.options.type||"none",name:"options.type",onChange:n=>e.onChange(n)},r().createElement("option",{value:"none"},"Select a source"),r().createElement("option",{value:"ngt-1-canboatjs"},"Actisense NGT-1 (canboatjs)"),r().createElement("option",{value:"ngt-1",disabled:!e.hasAnalyzer},"Actisense NGT-1 (canboat)"),r().createElement("option",{value:"ikonvert-canboatjs"},"iKonvert (canboatjs)"),r().createElement("option",{value:"navlink2-tcp-canboatjs"},"NavLink2 (canboatjs)"),r().createElement("option",{value:"ydwg02-canboatjs"},"Yacht Devices RAW TCP (canboatjs)"),r().createElement("option",{value:"ydwg02-udp-canboatjs"},"Yacht Devices RAW UDP (canboatjs)"),r().createElement("option",{value:"ydwg02-usb-canboatjs"},"Yacht Devices RAW USB (canboatjs)"),r().createElement("option",{value:"canbus-canboatjs"},"Canbus (canboatjs)"),r().createElement("option",{value:"w2k-1-n2k-ascii-canboatjs"},"W2K-1 N2K ASCII (canboatjs)"),r().createElement("option",{value:"w2k-1-n2k-actisense-canboatjs"},"W2K-1 N2K ACTISENSE (canboatjs)"),r().createElement("option",{value:"canbus",disabled:!e.hasAnalyzer},"Canbus (canboat)")))),("ngt-1"===e.value.options.type||"ngt-1-canboatjs"===e.value.options.type||"ydwg02-usb-canboatjs"===e.value.options.type||"ikonvert-canboatjs"===e.value.options.type)&&r().createElement("div",null,r().createElement(ht,{value:e.value.options,onChange:e.onChange}),r().createElement(Ft,{value:e.value.options,onChange:e.onChange})),"ydwg02-canboatjs"===e.value.options.type&&r().createElement("div",null,r().createElement(Nt,{value:e.value.options,onChange:e.onChange}),r().createElement(Dt,{value:e.value.options,onChange:e.onChange}),r().createElement(It,{value:e.value.options,onChange:e.onChange})),"ydwg02-udp-canboatjs"===e.value.options.type&&r().createElement("div",null,r().createElement(Nt,{value:e.value.options,onChange:e.onChange}),r().createElement(Dt,{value:e.value.options,onChange:e.onChange})),"navlink2-tcp-canboatjs"===e.value.options.type&&r().createElement("div",null,r().createElement(Nt,{value:e.value.options,onChange:e.onChange}),r().createElement(Dt,{value:e.value.options,onChange:e.onChange}),r().createElement(It,{value:e.value.options,onChange:e.onChange})),("canbus"===e.value.options.type||"canbus-canboatjs"===e.value.options.type)&&r().createElement("div",null,r().createElement(gt,{title:"Interface",name:"options.interface",helpText:"Example: can0",value:e.value.options.interface,onChange:e.onChange}),r().createElement(gt,{title:"UniqueNumber",name:"options.uniqueNumber",helpText:"Example: any number from 1 to 2097151, will be equal to SerialNumber of a SignalK NMEA2000 device. Leave empty for random (default). Set a fixed value if you have problem with source identification on some B&G MFD's after SignalK restart.",value:e.value.options.uniqueNumber,onChange:e.onChange}),r().createElement(gt,{title:"ManufacturerCode",name:"options.mfgCode",helpText:"Example: 999 - Unknown (default), 0 - Internal, or any other mabufacturer code to emulate. Leave empty for default 999. Set to 0 if you have problem with source identification on some B&G MFD's after SignalK restart.",value:e.value.options.mfgCode,onChange:e.onChange})),("ngt-1-canboatjs"===e.value.options.type||"ikonvert-canboatjs"===e.value.options.type||"navlink2-tcp-canboatjs"===e.value.options.type)&&r().createElement(Rt,{value:e.value.options,onChange:e.onChange}),("w2k-1-n2k-ascii-canboatjs"===e.value.options.type||"w2k-1-n2k-actisense-canboatjs"===e.value.options.type)&&r().createElement("div",null,r().createElement(Nt,{value:e.value.options,onChange:e.onChange}),r().createElement(Dt,{value:e.value.options,onChange:e.onChange}),r().createElement(It,{value:e.value.options,onChange:e.onChange})),r().createElement(Gt,{value:e.value.options,onChange:e.onChange}),void 0!==e.value.options.type&&-1!=e.value.options.type.indexOf("canboatjs")&&r().createElement(Jt,{value:e.value.options,onChange:e.onChange})),Mt=e=>r().createElement("div",null,r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"options.type"},"NMEA 0183 Source")),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"select",value:e.value.options.type,name:"options.type",onChange:n=>e.onChange(n)},r().createElement("option",null,"Select a source"),r().createElement("option",{value:"serial"},"Serial"),r().createElement("option",{value:"tcp"},"TCP Client"),r().createElement("option",{value:"tcpserver"},"TCP Server on port 10110"),r().createElement("option",{value:"udp"},"UDP"),r().createElement("option",{value:"gpsd"},"GPSD"))),"serial"===e.value.options.type&&r().createElement(f.fv,{xs:"12",md:"6"},"Serial ports are bidirectional. Input from the connection is parsed as NMEA0183. Configure Output Events below to connect server's NMEA0183 data for output."),"tcpserver"===e.value.options.type&&r().createElement(f.fv,{xs:"12",md:"6"},"Accept input from clients connected to the default TCP/10110 NMEA0183 server")),Yt(e),("tcp"===e.value.options.type||"gpsd"===e.value.options.type)&&r().createElement("div",null,r().createElement(Nt,{value:e.value.options,onChange:e.onChange}),r().createElement(Dt,{value:e.value.options,onChange:e.onChange}),r().createElement(St,{value:e.value.options,onChange:e.onChange}),r().createElement(It,{value:e.value.options,onChange:e.onChange})),r().createElement("div",null,r().createElement(qt,{value:e.value.options,onChange:e.onChange})),"udp"===e.value.options.type&&r().createElement(Dt,{value:e.value.options,onChange:e.onChange}),r().createElement(kt,{value:e.value.options,onChange:e.onChange}),r().createElement(wt,{value:e.value.options,onChange:e.onChange}),r().createElement(xt,{value:e.value.options,onChange:e.onChange}),r().createElement(Bt,{value:e.value.options,onChange:e.onChange}),r().createElement(zt,{value:e.value.options,onChange:e.onChange})),Wt=e=>r().createElement("div",null,r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"options.type"},"SignalK Source")),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"select",value:e.value.options.type,name:"options.type",onChange:n=>e.onChange(n),disabled:e.value.options.useDiscovery,helpText:"afoo"},r().createElement("option",null,"Select a source"),r().createElement("option",{value:"serial"},"Serial"),r().createElement("option",{value:"ws"},"WebSocket"),r().createElement("option",{value:"wss"},"WebSocket SSL"),r().createElement("option",{value:"tcp"},"TCP"),r().createElement("option",{value:"udp"},"UDP")))),e.value.options.useDiscovery&&r().createElement("p",{className:"text-danger"},"This connection is deprecated, please delete it and recreate it with the connection automatically discovered at the top of the page."),!e.value.options.useDiscovery&&("ws"===e.value.options.type||"wss"===e.value.options.type||"tcp"===e.value.options.type)&&r().createElement("div",null,r().createElement(Nt,{value:e.value.options,onChange:e.onChange}),r().createElement(Dt,{value:e.value.options,onChange:e.onChange}),"wss"===e.value.options.type&&r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"0",md:"3"},r().createElement(f.JU,null,"Allow self signed certificates")),r().createElement(f.fv,{xs:"12",md:"8"},r().createElement("div",{key:name},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",id:"options.selfsignedcert",name:"options.selfsignedcert",className:"switch-input",onChange:e.onChange,checked:e.value.options.selfsignedcert,disabled:!("wss"===e.value.options.type)}),r().createElement("span",{className:"switch-label","data-on":"On","data-off":"Off"}),r().createElement("span",{className:"switch-handle"}))))),("ws"===e.value.options.type||"wss"===e.value.options.type)&&r().createElement("div",null,r().createElement(ut,{title:"Subscription",name:"options.subscription",rows:"6",value:e.value.options.subscription,onChange:n=>e.onChange(n,"jsonstring"),helpText:"Defaults to all. This can be an array of subscriptions."}))),"udp"===e.value.options.type&&r().createElement(Dt,{value:e.value.options,onChange:e.onChange}),Yt(e),!e.value.options.useDiscovery&&r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"options.type"},"'self' handling")),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"select",value:e.value.options.selfHandling||"noSelf",name:"options.selfHandling",onChange:n=>e.onChange(n)},r().createElement("option",{value:"useRemoteSelf"},"Map remote 'self' to local 'self'"),r().createElement("option",{value:"manualSelf"},"Manual mapping"),r().createElement("option",{value:"noSelf"},"No 'self' mapping")))),!e.value.options.useDiscovery&&"manualSelf"===e.value.options.selfHandling&&r().createElement(Ut,{value:e.value.options,onChange:e.onChange})),Pt=[4,5,6,12,13,16,17,18,19,20,21,22,23,24,25,26,27].map((e=>`0${e}`.slice(-2))),jt=e=>r().createElement("span",null,r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"options.type"},"GPIO Library")),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"select",value:e.value.options.type||"none",name:"options.type",onChange:n=>e.onChange(n)},r().createElement("option",{value:"none"},"Select a library"),r().createElement("option",{value:"gpiod"},"gpiod"),r().createElement("option",{value:"pigpio"},"pigpio (legacy)")))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"gpio"},"GPIO Pin")),r().createElement(f.fv,{xs:"12",md:"3"},r().createElement(f.pd,{type:"select",name:"options.gpio",id:"gpio",onChange:e.onChange,value:e.value.options.gpio||Pt[0]},Pt.map((e=>r().createElement("option",{key:e},`GPIO${e}`)))))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"3"},r().createElement(f.JU,{htmlFor:"gpioInvert"},"Invert signal")),r().createElement(f.fv,{xs:"12",md:"10"},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",id:"gpioInvert",name:"options.gpioInvert",className:"switch-input",onChange:e.onChange,checked:e.value.options.gpioInvert}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))))),Kt=e=>r().createElement("div",null,r().createElement($t,{hasAnalyzer:e.hasAnalyzer,value:e.value,onChange:e.onChange}),r().createElement(gt,{title:"File Name",name:"options.filename",value:e.value.options.filename,onChange:e.onChange})),Yt=e=>"serial"===e.value.options.type&&r().createElement("div",null,r().createElement(ht,{value:e.value.options,onChange:e.onChange}),r().createElement(yt,{value:e.value.options,onChange:e.onChange}),r().createElement(St,{value:e.value.options,onChange:e.onChange}));var Tt=t(44214),_t=t(7875),Qt=t.n(_t),Lt=t(27846),Ht=t.n(Lt);const Vt="SOURCEPRIOS_PPRIO_CHANGED",Xt="SOURCEPRIOS_PRIO_DELETED",Zt="SOURCEPRIOS_PRIO_MOVED",eo="SOURCEPRIOS_PATH_CHANGED",no="SOURCEPRIOS_PATH_DELETED",to="SOURCEPRIOS_SAVING",oo="SOURCEPRIOS_SAVED",ro="SOURCEPRIOS_SAVE_FAILED",ao="SOURCEPRIOS_SAVE_FAILED_OVER";function io(e){return e.reduce(((n,t,o)=>{const{timeout:r}=t;if(!n)return n;if(0===o)return!0;const a=Number(r);return!(Number.isNaN(a)||a<=0)&&(1===o||a>Number(e[o-1].timeout))}),!0)}const lo=(e,n)=>{const t=JSON.parse(JSON.stringify(e.sourcePriorities));let o={...e.saveState};const{path:r,index:a,pathIndex:i,sourceRef:l,timeout:s,change:A}=n.data||{},d=void 0!==i?t[i].priorities:void 0;switch(n.type){case eo:a===t.length&&t.push({path:"",priorities:[]}),t[a].path=r,o.dirty=!0;break;case no:Qt()(t,((e,n)=>n===a)),o.dirty=!0;break;case Vt:i===t.length&&t.push({path:"",priorities:[]}),a===d.length&&d.push({sourceRef:"",timeout:""}),d[a]={sourceRef:l,timeout:s},o.dirty=!0,o.timeoutsOk=io(d);break;case Xt:Qt()(d,((e,n)=>n===a)),o.dirty=!0;break;case Zt:const n=d[a];d[a]=d[a+A],d[a+A]=n,o.dirty=!0,o.timeoutsOk=io(d);break;case to:o={...o,isSaving:!0,saveFailed:!1};break;case oo:o={...o,dirty:!1,isSaving:!1,saveFailed:!1};break;case ro:o={...o,isSaving:!1,saveFailed:!0};break;case ao:o={...o,saveFailed:!1};break;default:return e}return{sourcePriorities:t,saveState:o}};function so(e,n){fetch(`/signalk/v1/api/vessels/self/${e.replace(/\./g,"/")}`,{credentials:"include"}).then((e=>e.json())).then((e=>{let n=[e.$source];return e.values&&(n=n.concat(Object.keys(e.values))),Ht()(n)})).then(n)}class Ao extends o.Component{constructor(e){super(e),this.state={isOpen:!1,sourceRefs:[]},so(this.props.path,(e=>{this.setState({sourceRefs:e})}))}componentDidUpdate(e){this.props.path!==e.path&&so(this.props.path,(e=>{this.setState({sourceRefs:e})}))}render(){const e=()=>this.setState((e=>({isOpen:!e.isOpen})));return r().createElement("div",null,!this.state.isOpen&&r().createElement("div",{onClick:e},"..."),r().createElement(f.SD,{isOpen:this.state.isOpen},r().createElement(f.XI,null,r().createElement("thead",{onClick:e},r().createElement("tr",null,r().createElement("td",{style:{width:"30px"}},"#"),r().createElement("td",null,"Source Reference (see DataBrowser for details)"),r().createElement("td",{style:{width:"120px"}},"Timeout (ms)"),r().createElement("td",{style:{Width:"80px"}},"Order"),r().createElement("td",null))),r().createElement("tbody",null,[...this.props.priorities,{sourceRef:"",timeout:""}].map((({sourceRef:e,timeout:n},t)=>{const o=this.state.sourceRefs.map((e=>({label:e,value:e})));return r().createElement("tr",{key:t},r().createElement("td",null,t+1,"."),r().createElement("td",null,r().createElement(Tt.Ay,{menuPortalTarget:document.body,options:o,value:{value:e,label:e},onChange:e=>{this.props.dispatch({type:Vt,data:{pathIndex:this.props.pathIndex,sourceRef:e.value,timeout:n,index:t}})}})),r().createElement("td",null,t>0&&r().createElement(f.pd,{type:"number",name:"timeout",onChange:n=>this.props.dispatch({type:Vt,data:{pathIndex:this.props.pathIndex,sourceRef:e,timeout:n.target.value,index:t}}),value:n})),r().createElement("td",null,t>0&&t<this.props.priorities.length&&r().createElement("button",{onClick:()=>!this.props.isSaving&&this.props.dispatch({type:Zt,data:{pathIndex:this.props.pathIndex,index:t,change:-1}})},r().createElement("i",{className:"fas fa-arrow-up"})),t<this.props.priorities.length-1&&r().createElement("button",{onClick:()=>!this.props.isSaving&&this.props.dispatch({type:Zt,data:{pathIndex:this.props.pathIndex,index:t,change:1}})},r().createElement("i",{className:"fas fa-arrow-down"}))),r().createElement("td",null,t<this.props.priorities.length&&r().createElement("i",{className:"fas fa-trash",onClick:()=>!this.props.isSaving&&this.props.dispatch({type:Xt,data:{pathIndex:this.props.pathIndex,index:t}})})))}))))))}}class co extends o.Component{constructor(e){var n;super(e),this.state={availablePaths:[]},n=e=>{this.setState({availablePaths:e.map((e=>({value:e,label:e})))})},fetch(`${window.serverRoutesPrefix}/availablePaths`,{credentials:"include"}).then((e=>e.json())).then(n)}render(){const e=[].concat(this.props.sourcePriorities);return e.push({path:"",priorities:[]}),r().createElement(f.Zp,null,r().createElement(f.aR,null,"Source Priorities Settings"),r().createElement(f.bw,null,r().createElement(f.Fc,null,r().createElement("p",null,"Use Source Priorities to filter incoming data so that data from lower priority sources is discarded when there is fresh data from some higher priority source."),r().createElement("p",null,"Incoming data is not handled if the"," ",r().createElement("b",null,"latest value for a path is from a higher priority source and it is not older than the timeout")," ","specified for the source of the incoming data. Timeout for data from unlisted sources is 10 seconds."),r().createElement("p",null,"You can debug the settings by saving them and activating debug key"," ",r().createElement("b",null,"signalk-server:sourcepriorities")," in"," ",r().createElement("a",{href:"./#/serverConfiguration/log"},"Server Log"))),r().createElement(f.XI,{responsive:!0,bordered:!0,striped:!0,size:"sm"},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",{style:{width:"40%"}},"Path"),r().createElement("th",null,"Priorities"),r().createElement("th",null))),r().createElement("tbody",null,e.map((({path:e,priorities:n},t)=>r().createElement("tr",{key:t},r().createElement("td",null,r().createElement(Tt.Ay,{menuPortalTarget:document.body,options:this.state.availablePaths,value:{value:e,label:e},onChange:e=>{this.props.dispatch({type:eo,data:{path:e.value,index:t}})}})),r().createElement("td",null,r().createElement(Ao,{key:e,path:e,priorities:n,dispatch:this.props.dispatch,isSaving:this.props.saveState.isSaving,pathIndex:t})),r().createElement("td",{style:{border:"none"}},t<this.props.sourcePriorities.length&&r().createElement("i",{className:"fas fa-trash",onClick:()=>this.props.dispatch({type:no,data:{index:t}})})))))))),r().createElement(f.wL,null,r().createElement(f.$n,{size:"sm",color:"primary",disabled:!this.props.saveState.dirty||this.props.saveState.isSaving||!this.props.saveState.timeoutsOk,onClick:e=>{e.preventDefault(),this.props.dispatch((e=>n=>{n({type:to}),fetch(`${window.serverRoutesPrefix}/sourcePriorities`,{method:"PUT",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(e.reduce(((e,n)=>(e[n.path]=n.priorities,e)),{}))}).then((e=>{if(200!==e.status)throw new Error;n({type:oo})})).catch((()=>{n({type:ro}),setTimeout((()=>n({type:ao})),5e3)}))})(this.props.sourcePriorities))}},r().createElement("i",{className:"fa fa-save"})," Save"),this.props.saveState.saveFailed&&"Saving priorities settings failed!",!this.props.saveState.timeoutsOk&&r().createElement("span",{style:{paddingLeft:"10px"}},r().createElement(f.Ex,{color:"danger"},"Error"),"The timeout values need to be numbers in ascending order, please fix.")))}}const mo=(0,d.Ng)((({sourcePrioritiesData:e})=>({sourcePriorities:e.sourcePriorities,saveState:e.saveState})))(co);var po=t(86281),bo=t.n(po);function go(){fetch(`${window.serverRoutesPrefix}/providers`,{credentials:"include"}).then((e=>e.json())).then((e=>{let n,t;this.state.selectedProviderId&&(n=e.find((e=>e.id===this.state.selectedProviderId)),t=e.findIndex((e=>e.id===this.state.selectedProviderId))),n&&(n.originalId=n.id),this.setState({providers:e,selectedProvider:n?JSON.parse(JSON.stringify(n)):void 0,selectedIndex:t})}))}function uo(){fetch(`${window.serverRoutesPrefix}/runDiscovery`,{method:"PUT",credentials:"include"})}class ho extends o.Component{constructor(e){super(e),this.state={activeTab:"1",providers:[],selectedProviderId:this.props.match.params.providerId},this.fetchProviders=go.bind(this),this.runDiscovery=uo.bind(this),this.handleProviderChange=this.handleProviderChange.bind(this),this.handleProviderPropChange=this.handleProviderChange.bind(this),this.handleAddProvider=this.handleAddProvider.bind(this),this.handleCancel=this.handleCancel.bind(this),this.toggle=this.toggle.bind(this),this.handleApply=this.handleApply.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleDelete=this.handleDelete.bind(this)}componentDidMount(){this.fetchProviders(),this.runDiscovery()}handleProviderChange(e,n){var t="checkbox"===e.target.type?e.target.checked:e.target.value;"number"===n&&(t=Number(t)),bo()(this.state.selectedProvider,e.target.name,t),this.setState({selectedProvider:this.state.selectedProvider})}handleProviderPropChange(){this.setState({selectedProvider:this.state.selectedProvider})}handleAddProvider(){this.setState({selectedProvider:JSON.parse(JSON.stringify({type:"NMEA2000",logging:!1,isNew:!0,id:"",enabled:!0,options:{},editable:!0})),selectedIndex:this.state.providers.length-1},(()=>{this.refs.selectedProvider.scrollIntoView()}))}handleApply(){var e=this.state.selectedProvider.isNew,n=this.state.selectedProvider.wasDiscovered;delete this.state.selectedProvider.json;var t=this.state.selectedProvider.originalId;fetch(`${window.serverRoutesPrefix}/providers/${t&&!e?t:""}`,{method:e?"POST":"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(this.state.selectedProvider),credentials:"include"}).then((t=>{if(t.ok){var o=JSON.parse(JSON.stringify(this.state.selectedProvider));delete o.isNew,delete o.wasDiscovered,delete this.state.selectedProvider.isNew,e?this.state.providers.push(o):this.state.providers[this.state.selectedIndex]=o,n&&this.props.discoveredProviders.splice(this.state.selectedIndex,1),this.setState({providers:this.state.providers,selectedProvider:null,selectedIndex:-1},(()=>{this.props.history.push("/serverConfiguration/connections/-")}))}return t.text()})).then((e=>{alert(e)}))}handleCancel(){this.setState({selectedProvider:null})}handleDelete(){fetch(`${window.serverRoutesPrefix}/providers/${this.state.selectedProvider.id}`,{method:"DELETE",headers:{"Content-Type":"application/json"},credentials:"include"}).then((e=>e.text())).then((e=>{this.state.providers.splice(this.state.selectedIndex,1),this.setState({providers:this.state.providers,selectedProvider:null,selectedIndex:-1}),alert(e)}))}providerClicked(e,n){this.setState({selectedProvider:{...JSON.parse(JSON.stringify(e)),originalId:e.id},selectedIndex:n},(()=>{this.refs.selectedProvider.scrollIntoView()}))}toggle(e){this.state.activeTab!==e&&this.setState({activeTab:e})}render(){return r().createElement("div",{className:"animated fadeIn"},this.props.discoveredProviders&&this.props.discoveredProviders.length>0&&r().createElement(f.Zp,null,r().createElement(f.aR,null,"Discovered Connections"),r().createElement(f.bw,null,r().createElement(f.XI,{hover:!0,responsive:!0,bordered:!0,striped:!0,size:"sm"},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",null,"ID"),r().createElement("th",null,"Data Type"),r().createElement("th",null,"Enabled"),r().createElement("th",null,"Data Logging"))),r().createElement("tbody",null,(this.props.discoveredProviders||[]).map(((e,n)=>r().createElement("tr",{onClick:this.providerClicked.bind(this,e,n),key:e.id},r().createElement("td",null,e.id),r().createElement("td",null,r().createElement(fo,{provider:e})),r().createElement("td",null,r().createElement(Co,{applicable:e.editable,toggle:e.enabled})),r().createElement("td",null,r().createElement(Co,{applicable:e.editable,toggle:e.logging}))))))))),r().createElement(f.Zp,null,r().createElement(f.aR,null,"Connections"),r().createElement(f.bw,null,r().createElement(f.XI,{hover:!0,responsive:!0,bordered:!0,striped:!0,size:"sm"},r().createElement("thead",null,r().createElement("tr",null,r().createElement("th",null,"ID"),r().createElement("th",null,"Data Type"),r().createElement("th",null,"Enabled"),r().createElement("th",null,"Data Logging"))),r().createElement("tbody",null,(this.state.providers||[]).map(((e,n)=>r().createElement("tr",{onClick:this.providerClicked.bind(this,e,n),key:e.id},r().createElement("td",null,e.id),r().createElement("td",null,r().createElement(fo,{provider:e})),r().createElement("td",null,r().createElement(Co,{applicable:e.editable,toggle:e.enabled})),r().createElement("td",null,r().createElement(Co,{applicable:e.editable,toggle:e.logging})))))))),r().createElement(f.wL,null,r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.handleAddProvider},r().createElement("i",{className:"fa fa-plus-circle"})," Add"))),this.state.selectedProvider&&r().createElement("div",{ref:"selectedProvider",style:{scrollMarginTop:"54px"}},r().createElement(f.Zp,null,r().createElement(f.bw,null,this.state.selectedProvider.editable?r().createElement(bt,{value:this.state.selectedProvider,onChange:this.handleProviderChange,onPropChange:this.handleProviderPropChange}):r().createElement(f.pd,{type:"textarea",name:"json",id:"json",rows:"20",value:this.state.selectedProvider.json,readOnly:"true"})),r().createElement(f.wL,null,this.state.selectedProvider.editable?r().createElement(f.fI,null,r().createElement(f.fv,{xs:"4",md:"1"},r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.handleApply},r().createElement("i",{className:"fa fa-dot-circle-o"})," Apply")),r().createElement(f.fv,{xs:"4",md:"1"},r().createElement(f.$n,{size:"sm",color:"secondary",onClick:this.handleCancel},r().createElement("i",{className:"fa fa-ban"})," Cancel")),r().createElement(f.fv,{xs:"4",md:"10",className:"text-right"},r().createElement(f.$n,{size:"sm",color:"danger",onClick:this.handleDelete},r().createElement("i",{className:"fa fa-ban"})," Delete"))):r().createElement(f.fI,null,r().createElement(f.fv,{xs:"4",md:"12",className:"text-right"},r().createElement(f.$n,{size:"sm",color:"danger",onClick:this.handleDelete},r().createElement("i",{className:"fa fa-ban"})," Delete")))))),r().createElement(mo,null))}}const Co=e=>r().createElement("div",null,e.applicable?e.toggle?"Yes":"No":"N/A"),fo=e=>r().createElement("div",null,e.provider.type,"FileStream"===e.provider.type?`/${e.provider.options.dataType}`:""),vo=(0,d.Ng)((({discoveredProviders:e})=>({discoveredProviders:e})))(ho);function wo(){fetch(`${window.serverRoutesPrefix}/vessel`,{credentials:"include"}).then((e=>e.json())).then((e=>{this.setState({...e,hasData:!0})}))}class Eo extends o.Component{constructor(e){super(e),this.state={hasData:!1},this.fetchVessel=wo.bind(this),this.handleChange=this.handleChange.bind(this),this.handleSaveVessel=this.handleSaveVessel.bind(this)}componentDidMount(){this.fetchVessel()}handleChange(e){console.log(e);const n="checkbox"===e.target.type?e.target.checked:e.target.value;this.setState({[e.target.name]:n})}handleSaveVessel(){fetch(`${window.serverRoutesPrefix}/vessel`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(this.state),credentials:"include"}).then((e=>e.text())).then((e=>{alert(e)}))}render(){return this.state.hasData&&r().createElement("div",{className:"animated fadeIn"},r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),r().createElement("strong",null,"Vessel Base Data")),r().createElement(f.bw,null,r().createElement(f.lV,{action:"",method:"post",encType:"multipart/form-data",className:"form-horizontal"},r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"name"},"Name")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"text",name:"name",onChange:this.handleChange,value:this.state.name}),r().createElement(f.ay,{color:"muted"},"The name of the vessel"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"mmsi"},"MMSI")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"text",name:"mmsi",onChange:this.handleChange,value:this.state.mmsi}),r().createElement(f.ay,{color:"muted"},"Leave blank if there is no mmsi"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"callsignVhf"},"Call Sign")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"text",name:"callsignVhf",onChange:this.handleChange,value:this.state.callsignVhf}),r().createElement(f.ay,{color:"muted"},"Leave blank if there is no call sign"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"uuid"},"UUID")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"text",name:"uuid",onChange:this.handleChange,value:this.state.uuid}),r().createElement(f.ay,{color:"muted"},"Ignored if MMSI is set"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"aisShipType"},"Ship Type")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"select",name:"aisShipType",value:this.state.aisShipType,onChange:this.handleChange},r().createElement("option",{value:"20"},"Wing In Ground"),r().createElement("option",{value:"29"},"Wing In Ground (no other information)"),r().createElement("option",{value:"30"},"Fishing"),r().createElement("option",{value:"31"},"Towing"),r().createElement("option",{value:"32"},"Towing exceeds 200m or wider than 25m"),r().createElement("option",{value:"33"},"Engaged in dredging or underwater operations"),r().createElement("option",{value:"34"},"Engaged in diving operations"),r().createElement("option",{value:"35"},"Engaged in military operations"),r().createElement("option",{value:"36"},"Sailing"),r().createElement("option",{value:"37"},"Pleasure"),r().createElement("option",{value:"40"},"High speed craft"),r().createElement("option",{value:"41"},"High speed craft carrying dangerous goods"),r().createElement("option",{value:"42"},"High speed craft hazard cat B"),r().createElement("option",{value:"43"},"High speed craft hazard cat C"),r().createElement("option",{value:"44"},"High speed craft hazard cat D"),r().createElement("option",{value:"49"},"High speed craft (no additional information)"),r().createElement("option",{value:"50"},"Pilot vessel"),r().createElement("option",{value:"51"},"SAR"),r().createElement("option",{value:"52"},"Tug"),r().createElement("option",{value:"53"},"Port tender"),r().createElement("option",{value:"54"},"Anti-pollution"),r().createElement("option",{value:"55"},"Law enforcement"),r().createElement("option",{value:"56"},"Spare"),r().createElement("option",{value:"57"},"Spare #2"),r().createElement("option",{value:"58"},"Medical"),r().createElement("option",{value:"59"},"RR Resolution No.1"),r().createElement("option",{value:"60"},"Passenger ship"),r().createElement("option",{value:"69"},"Passenger ship (no additional information)"),r().createElement("option",{value:"70"},"Cargo ship"),r().createElement("option",{value:"71"},"Cargo ship carrying dangerous goods"),r().createElement("option",{value:"72"},"Cargo ship hazard cat B"),r().createElement("option",{value:"73"},"Cargo ship hazard cat C"),r().createElement("option",{value:"74"},"Cargo ship hazard cat D"),r().createElement("option",{value:"79"},"Cargo ship (no additional information)"),r().createElement("option",{value:"80"},"Tanker"),r().createElement("option",{value:"81"},"Tanker carrying dangerous goods"),r().createElement("option",{value:"82"},"Tanker hazard cat B"),r().createElement("option",{value:"83"},"Tanker hazard cat C"),r().createElement("option",{value:"84"},"Tanker hazard cat D"),r().createElement("option",{value:"89"},"Tanker (no additional information)"),r().createElement("option",{value:"90"},"Other"),r().createElement("option",{value:"91"},"Other carrying dangerous goods"),r().createElement("option",{value:"92"},"Other hazard cat B"),r().createElement("option",{value:"93"},"Other hazard cat C"),r().createElement("option",{value:"94"},"Other hazard cat D"),r().createElement("option",{value:"99"},"Other (no additional information)")))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"draft"},"Draft")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"text",name:"draft",onChange:this.handleChange,value:this.state.draft}),r().createElement(f.ay,{color:"muted"},"The maximum draft in meters of the vessel"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"length"},"Length")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"text",name:"length",onChange:this.handleChange,value:this.state.length}),r().createElement(f.ay,{color:"muted"},"The overall length of the vessel in meters"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"beam"},"Beam")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"text",name:"beam",onChange:this.handleChange,value:this.state.beam}),r().createElement(f.ay,{color:"muted"},"The beam of the vessel in meters"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"height"},"Height")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"text",name:"height",onChange:this.handleChange,value:this.state.height}),r().createElement(f.ay,{color:"muted"},"The total height of the vessel in meters"," "))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"gpsFromBow"},"GPS Distance From Bow")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"text",name:"gpsFromBow",onChange:this.handleChange,value:this.state.gpsFromBow}),r().createElement(f.ay,{color:"muted"},"The distance of the gps receiver from the bow in meters"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"gpsFromCenter"},"GPS Distance From Center")),r().createElement(f.fv,{xs:"12",md:"4"},r().createElement(f.pd,{type:"text",name:"gpsFromCenter",onChange:this.handleChange,value:this.state.gpsFromCenter}),r().createElement(f.ay,{color:"muted"},"The distance from the center of vessel of the gps receiver in meters"))))),r().createElement(f.wL,null,r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.handleSaveVessel},r().createElement("i",{className:"fa fa-dot-circle-o"})," Save"))))}}const Bo=(0,d.Ng)()(Eo);function xo(){const e=fetch(`${window.serverRoutesPrefix}/logfiles/`,{credentials:"include"}).then((e=>e.ok?e:(this.setState({authorized:!1}),!1)));e&&e.then((e=>e.json())).then((e=>{e.sort(),this.setState({logfileslist:e,hasData:!0,authorized:!0})}))}class ko extends o.Component{constructor(e){super(e),this.state={hasData:!1,authorized:!0},this.fetchLogfileList=xo.bind(this)}componentDidMount(){this.fetchLogfileList()}render(){return this.state.authorized?this.state.hasData&&r().createElement("div",{className:"animated fadeIn"},r().createElement(f.fI,null,r().createElement(f.fv,{sm:"12",xl:"12"},r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),r().createElement("strong",null,"Data Logfiles")),r().createElement(f.bw,null,r().createElement(f.yq,null,this.logfilesToRows(this.state.logfileslist))),r().createElement(f.wL,null,r().createElement("small",{className:"text-muted"},"Click button to download each logfile or"),r().createElement("a",{href:`${window.serverRoutesPrefix}/ziplogs`},r().createElement(f.$n,{className:"m-2"},"Get all logs in one ZIP file"))))))):r().createElement("div",{className:"animated fadeIn"},"Not Authorized")}logfilesToRows(e){const n=e.reduce(((e,n)=>{const t=n.substr(13,10),o=n.substr(24,2);return e[t]||(e[t]=[]),e[t].push(o),e}),{});return Object.keys(n).map(((e,t)=>r().createElement(f.HU,{key:t},e,n[e].map(((n,t)=>r().createElement("span",{key:t},r().createElement("a",{href:`${window.serverRoutesPrefix}/logfiles/skserver-raw_${e}T${n}.log`},r().createElement(f.$n,{className:"m-2"},n))))))))}}const $o=(0,d.Ng)()(ko);function yo(){fetch(`${window.serverRoutesPrefix}/settings`,{credentials:"include"}).then((e=>e.json())).then((e=>{this.setState({...e,hasData:!0})}))}class Fo extends o.Component{constructor(e){super(e),this.state={hasData:!1},this.fetchSettings=yo.bind(this),this.handleChange=this.handleChange.bind(this),this.handleCourseApiChange=this.handleCourseApiChange.bind(this),this.handleOptionChange=this.handleOptionChange.bind(this),this.handleInterfaceChange=this.handleInterfaceChange.bind(this),this.handleSaveSettings=this.handleSaveSettings.bind(this)}componentDidMount(){this.fetchSettings()}handleChange(e){const n="checkbox"===e.target.type?e.target.checked:e.target.value;this.setState({[e.target.name]:n})}handleCourseApiChange(e){const n="checkbox"===e.target.type?e.target.checked:e.target.value;this.state.courseApi[e.target.name]=n,this.setState({courseApi:this.state.courseApi})}handleOptionChange(e){const n="checkbox"===e.target.type?e.target.checked:e.target.value;this.state.options[e.target.name]=n,this.setState({options:this.state.options})}handleInterfaceChange(e){const n="checkbox"===e.target.type?e.target.checked:e.target.value;this.state.interfaces[e.target.name]=n,this.setState({interfaces:this.state.interfaces})}handleSaveSettings(){fetch(`${window.serverRoutesPrefix}/settings`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(this.state),credentials:"include"}).then((e=>e.text())).then((e=>{alert(e)}))}render(){const e=10;return this.state.hasData&&r().createElement("div",{className:"animated fadeIn"},r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),r().createElement("strong",null,"Server Settings")),r().createElement(f.bw,null,r().createElement(f.lV,{action:"",method:"post",encType:"multipart/form-data",className:"form-horizontal"},!this.state.runFromSystemd&&r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"port"},"HTTP Port")),r().createElement(f.fv,{xs:"12",md:e},r().createElement(f.pd,{size:"5",style:{width:"auto"},type:"text",name:"port",onChange:this.handleChange,value:this.state.port}),r().createElement(f.ay,{color:"muted"},"Saving a new value here will not have effect if overridden by environment variable PORT"))),this.state.runFromSystemd&&r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"12",md:e},r().createElement(f.ay,null,"The server was started by systemd, run signalk-server-setup to change ports and ssl configuration."))),this.state.options.ssl&&!this.state.runFromSystemd&&r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"sslport"},"SSL Port")),r().createElement(f.fv,{xs:"12",md:e},r().createElement(f.pd,{size:"5",style:{width:"auto"},type:"text",name:"sslport",onChange:this.handleChange,value:this.state.sslport}),r().createElement(f.ay,{color:"muted"},"Saving a new value here will not have effect if overridden by environment variable SSLPORT"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,null,"Options")),r().createElement(f.fv,{md:e},r().createElement(f.gE,{check:!0},Object.keys(this.state.options).map((e=>r().createElement("div",{key:e},r().createElement(f.JU,{style:{marginRight:"15px"},className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",id:e,name:e,className:"switch-input",onChange:this.handleOptionChange,checked:this.state.options[e]}),r().createElement("span",{className:"switch-label","data-on":"On","data-off":"Off"}),r().createElement("span",{className:"switch-handle"})),r().createElement("span",{style:{lineHeight:"23px"}},e))))))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,null,"Interfaces")),r().createElement(f.fv,{md:e},r().createElement(f.gE,{check:!0},Object.keys(So).map((e=>r().createElement("div",{key:e},r().createElement(f.JU,{style:{marginRight:"15px"},className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",id:e,name:e,className:"switch-input",onChange:this.handleInterfaceChange,checked:this.state.interfaces[e]}),r().createElement("span",{className:"switch-label","data-on":"On","data-off":"Off"}),r().createElement("span",{className:"switch-handle"})),r().createElement("span",{style:{lineHeight:"24px"}},So[e]))))))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"pruneContextsMinutes"},"Maximum age of inactive vessels' data")),r().createElement(f.fv,{xs:"12",md:e},r().createElement(f.pd,{type:"text",name:"pruneContextsMinutes",onChange:this.handleChange,value:this.state.pruneContextsMinutes}),r().createElement(f.ay,{color:"muted"},"Vessels that have not been updated after this many minutes will be removed"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,{htmlFor:"loggingDirectory"},"Data Logging Directory")),r().createElement(f.fv,{xs:"12",md:e},r().createElement(f.pd,{type:"text",name:"loggingDirectory",onChange:this.handleChange,value:this.state.loggingDirectory}),r().createElement(f.ay,{color:"muted"},"Connections that have logging enabled create hourly log files in Multiplexed format in this directory"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,null,"Keep only most recent data log files")),r().createElement(f.fv,null,r().createElement(f.gE,{check:!0},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"keepMostRecentLogsOnly",id:"keepMostRecentLogsOnly",className:"switch-input",onChange:this.handleChange,checked:this.state.keepMostRecentLogsOnly}),r().createElement("span",{className:"switch-label","data-on":"On","data-off":"Off"}),r().createElement("span",{className:"switch-handle"})))),r().createElement(f.fv,null,r().createElement(f.pd,{type:"text",name:"logCountToKeep",onChange:this.handleChange,value:this.state.logCountToKeep}),r().createElement(f.ay,{color:"muted"},"How many hourly files to keep"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{md:"2"},r().createElement(f.JU,null,"API Only Mode",r().createElement("br",null),r().createElement("i",null,"(Course API)"))),r().createElement(f.fv,null,r().createElement(f.gE,{check:!0},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"apiOnly",id:"apiOnly",className:"switch-input",onChange:this.handleCourseApiChange,checked:this.state.courseApi.apiOnly}),r().createElement("span",{className:"switch-label","data-on":"On","data-off":"Off"}),r().createElement("span",{className:"switch-handle"})),r().createElement(f.ay,{color:"muted"},"Accept course operations only via HTTP requests. Destination data from NMEA sources is not used.")))))),r().createElement(f.wL,null,r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.handleSaveSettings},r().createElement("i",{className:"fa fa-dot-circle-o"})," Save")," ",r().createElement(f.Ex,{color:"danger",className:"float-right"},"Restart Required"))))}}const So={applicationData:"Application Data Storage",logfiles:"Data log files access","nmea-tcp":"NMEA 0183 over TCP (10110)",tcp:"Signal K over TCP (8375)"},zo=(0,d.Ng)()(Fo);class Do extends o.Component{render(){return r().createElement("div",null,r().createElement(Bo,null),r().createElement(zo,null),r().createElement($o,null))}}const No=Do;class Io extends o.Component{constructor(e){super(e),this.state={restoreFile:null,restoreState:0,includePlugins:!1},this.fileChanged=this.fileChanged.bind(this),this.handleRestoreFileChange=this.handleRestoreFileChange.bind(this),this.includePluginsChange=this.includePluginsChange.bind(this),this.backup=this.backup.bind(this),this.validate=this.validate.bind(this),this.restore=this.restore.bind(this),this.restart=this.restart.bind(this),this.cancelRestore=this.cancelRestore.bind(this)}cancelRestore(){this.setState({restoreState:0})}fileChanged(e){this.setState({...this.state,restoreFile:e.target.files[0]})}backup(){const e=`${window.serverRoutesPrefix}/backup?includePlugins=${this.state.includePlugins}`;window.location=e}restore(){fetch(`${window.serverRoutesPrefix}/restore`,{credentials:"include",method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(this.state.restoreContents)}).then((e=>{if(!e.ok)return e.text()})).then((e=>{"string"==typeof e?(alert(e),this.setState({restoreState:0,restoreFile:null})):this.setState({restoreState:3})})).catch((e=>{alert(e.message)}))}restart(){this.props.restart(),this.setState({restoreState:0}),window.location="/admin/#/dashboard"}validate(){if(!this.state.restoreFile)return void alert("Please choose a file");const e=new FormData;e.append("file",this.state.restoreFile),this.setState({restoreState:1}),fetch(`${window.serverRoutesPrefix}/validateBackup`,{credentials:"include",method:"POST",headers:{Accept:"application/json"},body:e}).then((e=>e.ok?e.json():e.text())).then((e=>{if("string"==typeof e)alert(e),this.setState({restoreState:0,restoreFile:null});else{const n={};e.forEach((e=>{n[e]=!0})),this.setState({restoreState:2,restoreContents:n})}})).catch((e=>{alert(e.message)}))}handleRestoreFileChange(e){const n="checkbox"===e.target.type?e.target.checked:e.target.value;this.state.restoreContents[e.target.name]=n,this.setState({restoreContents:this.state.restoreContents})}includePluginsChange(e){this.state.includePlugins=e.target.checked,this.setState({includePlugins:this.state.includePlugins})}render(){const e=10;return r().createElement("div",null,0===this.state.restoreState&&!this.props.restoreStatus.state&&r().createElement(f.Zp,null,r().createElement(f.aR,null,"Backup Settings"),r().createElement(f.bw,null,r().createElement(f.lV,{action:"",method:"post",encType:"multipart/form-data",className:"form-horizontal"},r().createElement(f.ay,{color:"muted"},"This will backup your server and plugin settings."),r().createElement("br",null),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"3",md:"2"},r().createElement(f.JU,null,"Include Plugins")),r().createElement(f.fv,{xs:"2",md:e},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",name:"enabled",className:"switch-input",onChange:e=>this.includePluginsChange(e),checked:this.state.includePlugins}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"})),r().createElement(f.ay,{color:"muted"},"Selecting Yes will increase the size of the backup, but will allow for offline restore."))))),r().createElement(f.wL,null,r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.backup},r().createElement("i",{className:"fa fa-dot-circle-o"})," Backup")," ")),r().createElement(f.Zp,null,r().createElement(f.aR,null,"Restore Settings"),r().createElement(f.bw,null,r().createElement(f.lV,{action:"",method:"post",encType:"multipart/form-data",className:"form-horizontal"},0===this.state.restoreState&&!this.props.restoreStatus.state&&r().createElement("div",null,r().createElement(f.ay,{color:"muted"},"Please select the backup file from your device to use in restoring the settings. Your existing settings will be overwritten."),r().createElement("br",null),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"12",md:e},r().createElement(f.pd,{type:"file",name:"backupFile",onChange:this.fileChanged})))),2===this.state.restoreState&&r().createElement(f.gE,{check:!0},r().createElement(f.fv,{xs:"12",md:e},Object.keys(this.state.restoreContents).map((e=>r().createElement("div",{key:e},r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",id:e,name:e,className:"switch-input",onChange:this.handleRestoreFileChange,checked:this.state.restoreContents[e]}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))," ",e))))),this.props.restoreStatus&&this.props.restoreStatus.state&&"Complete"!==this.props.restoreStatus.state&&r().createElement("div",null,r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"12",md:e},r().createElement(f.ay,null,this.props.restoreStatus.state," :"," ",this.props.restoreStatus.message))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"12",md:e},r().createElement(f.ke,{animated:!0,color:"success",value:this.props.restoreStatus.percentComplete})))),this.props.restoreStatus.state&&"Complete"===this.props.restoreStatus.state&&r().createElement("div",null,r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"12",md:e},r().createElement(f.ay,null,"Please Restart"))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"12",md:e},r().createElement(f.$n,{size:"sm",color:"danger",onClick:this.restart},this.props.restarting?r().createElement("i",{className:"fa fa-circle-o-notch fa-spin"}):r().createElement("i",{className:"fa fa-circle-o-notch"})," ","Restart")))))),r().createElement(f.wL,null,0===this.state.restoreState&&!this.props.restoreStatus.state&&r().createElement("div",null,r().createElement(f.$n,{size:"sm",color:"danger",onClick:this.validate,disabled:null===this.state.restoreFile},r().createElement("i",{className:"fa fa-dot-circle-o"})," Restore")," "),2===this.state.restoreState&&r().createElement("div",null,r().createElement(f.$n,{size:"sm",color:"primary",onClick:this.cancelRestore},r().createElement("i",{className:"fa fa-dot-circle-o"})," Cancel")," ",r().createElement(f.$n,{size:"sm",color:"danger",onClick:this.restore},r().createElement("i",{className:"fa fa-dot-circle-o"})," Confirm")))))}}const Uo=(0,d.Ng)((({restoreStatus:e,restarting:n})=>({restoreStatus:e,restarting:n})),{restart:B})(Io);var qo=t(26911);class Go extends o.Component{constructor(e){super(e),this.state={hasData:!0,webSocket:null,didSubScribe:!1,pause:!1,debugKeys:[]},this.handleDebug=this.handleDebug.bind(this),this.handlePause=this.handlePause.bind(this),this.fetchDebugKeys=this.fetchDebugKeys.bind(this)}subscribeToLogsIfNeeded(){if(!this.state.pause&&this.props.webSocket&&(this.props.webSocket!=this.state.webSocket||!1===this.state.didSubScribe)){const e={context:"vessels.self",subscribe:[{path:"log"}]};this.props.webSocket.send(JSON.stringify(e)),this.state.webSocket=this.props.webSocket,this.state.didSubScribe=!0}}unsubscribeToLogs(){if(this.props.webSocket){const e={context:"vessels.self",unsubscribe:[{path:"log"}]};this.props.webSocket.send(JSON.stringify(e)),this.state.didSubScribe=!1}}fetchDebugKeys(){fetch(`${window.serverRoutesPrefix}/debugKeys`,{credentials:"include"}).then((e=>e.json())).then((e=>{this.setState({debugKeys:e.sort()})}))}componentDidMount(){this.subscribeToLogsIfNeeded(),this.fetchDebugKeys()}componentDidUpdate(){this.subscribeToLogsIfNeeded()}componentWillUnmount(){this.unsubscribeToLogs()}handleDebug(e){this.doHandleDebug(e.target.value)}handleDebugCheckbox(e,n){const t=this.props.log.debugEnabled.length>0?this.props.log.debugEnabled.split(","):[];n?t.push(e):Qt()(t,(n=>n===e)),this.doHandleDebug(t.toString())}doHandleDebug(e){fetch(`${window.serverRoutesPrefix}/debug`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:e}),credentials:"include"}).then((e=>e.text()))}handleRememberDebug(e){fetch(`${window.serverRoutesPrefix}/rememberDebug`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:e.target.checked}),credentials:"include"}).then((e=>e.text()))}handlePause(e){this.state.pause=e.target.checked,this.setState(this.state),this.state.pause?this.unsubscribeToLogs():this.subscribeToLogsIfNeeded()}render(){return this.state.hasData&&r().createElement("div",{className:"animated fadeIn"},r().createElement(f.Zp,null,r().createElement(f.aR,null,r().createElement("i",{className:"fa fa-align-justify"}),r().createElement("strong",null,"Server Log")),r().createElement(f.bw,null,r().createElement(f.lV,{action:"",method:"post",encType:"multipart/form-data",className:"form-horizontal",onSubmit:e=>{e.preventDefault()}},r().createElement(f.gE,{row:!0},r().createElement(f.fv,null,r().createElement(Tt.Ay,{isMulti:!0,options:this.state.debugKeys.map((e=>({label:e,value:e}))),value:this.props.log.debugEnabled?this.props.log.debugEnabled.split(",").map((e=>({label:e,value:e}))):null,onChange:e=>{const n=null!==e?e.map((({value:e})=>e)).join(","):"";this.doHandleDebug(n)}}),r().createElement(f.ay,{color:"muted",style:{marginBottom:"15px"}},"Select the appropriate debug keys to activate debug logging for various components on the server."))),r().createElement(f.gE,{row:!0},r().createElement(f.fv,{xs:"6",md:"6"},"Persist debug settings over server restarts"," ",r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",id:"Enabled",name:"debug",className:"switch-input",onChange:this.handleRememberDebug,checked:this.props.log.rememberDebug}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"}))),r().createElement(f.fv,{xs:"6",md:"6"},"Pause the log window"," ",r().createElement(f.JU,{className:"switch switch-text switch-primary"},r().createElement(f.pd,{type:"checkbox",id:"Pause",name:"pause",className:"switch-input",onChange:this.handlePause,checked:this.state.pause}),r().createElement("span",{className:"switch-label","data-on":"Yes","data-off":"No"}),r().createElement("span",{className:"switch-handle"})))),r().createElement(Jo,{value:this.props.log})))),r().createElement($o,null))}}class Jo extends o.Component{componentDidMount(){this.end.scrollIntoView()}render(){return r().createElement("div",{style:{overflowY:"scroll",maxHeight:"60vh",border:"1px solid",padding:"5px",fontFamily:"monospace"}},this.props.value.entries&&this.props.value.entries.map((e=>r().createElement(Ro,{key:e.i,log:e.d}))),r().createElement("div",{ref:e=>{this.end=e}}," "))}}class Ro extends r().PureComponent{render(){return r().createElement("span",null,(0,qo.Ay)(this.props.log),r().createElement("br",null))}}const Oo=(0,d.Ng)((({log:e,webSocket:n})=>({log:e,webSocket:n})))(Go);class Mo extends o.Component{constructor(e){super(e),this.state={chanelog:null},this.handleUpdate=this.handleUpdate.bind(this),this.fetchChangelog=this.fetchChangelog.bind(this),this.fetchChangelog()}fetchChangelog(){fetch("https://raw.githubusercontent.com/SignalK/signalk-server-node/master/CHANGELOG.md").then((e=>e.text())).then((e=>{this.setState({changelog:e})}))}handleUpdate(){console.log("handleUpdate"),confirm("Are you sure you want to update the server?'")&&(this.props.history.push("/appstore/updates"),fetch(`${window.serverRoutesPrefix}/appstore/install/signalk-server/${this.props.appStore.serverUpdate}`,{method:"POST",credentials:"include"}).then((()=>{this.history.pushState(null,"appstore/updates")})))}render(){if(!this.props.appStore.storeAvailable)return r().createElement("div",{className:"animated fadeIn"},r().createElement(f.Zp,null,r().createElement(f.aR,null,"Waiting for App store data to load...")));let e=!1,n=!1,t=this.props.appStore.installing.find((e=>"signalk-server"==e.name));return t&&(t.isWaiting||t.isInstalling?e=!0:n=!0),r().createElement("div",{className:"animated fadeIn"},!this.props.appStore.canUpdateServer&&r().createElement(f.Zp,{className:"border-warning"},r().createElement(f.aR,null,"Server Update"),r().createElement(f.bw,null,"This installation is not updatable from the admin user interface.")),this.props.appStore.isInDocker&&r().createElement(f.Zp,{className:"border-warning"},r().createElement(f.aR,null,"Running as a Docker container"),r().createElement(f.bw,null,r().createElement("p",null,"The server is running as a Docker container. You need to pull a new server version from Container registry to update.",r().createElement("ul",null,r().createElement("code",null,"docker pull cr.signalk.io/signalk/signalk-server"))),r().createElement("p",null,"More info about running Signal K in Docker can be found at"," ",r().createElement("a",{href:"https://github.com/SignalK/signalk-server/blob/master/docker/README.md",target:"_blank",rel:"noopener noreferrer"},"Docker README")," ","."))),this.props.appStore.canUpdateServer&&this.props.appStore.serverUpdate&&!e&&!n&&r().createElement(f.Zp,null,r().createElement(f.aR,null,"Server version ",this.props.appStore.serverUpdate," is available"),r().createElement(f.bw,null,r().createElement("a",{href:"https://github.com/SignalK/signalk-server/releases/"},"Release Notes for latest releases."),r().createElement("br",null),r().createElement("br",null),r().createElement(f.$n,{className:"btn btn-danger",size:"sm",color:"primary",onClick:this.handleUpdate},"Update"))),e&&r().createElement(f.Zp,null,r().createElement(f.aR,null,"Server Update"),r().createElement(f.bw,null,"The update is being installed")),n&&r().createElement(f.Zp,null,r().createElement(f.aR,null,"Server Update"),r().createElement(f.bw,null,"The update has been installed, please restart the Signal K server.")),this.props.appStore.canUpdateServer&&!this.props.appStore.serverUpdate&&r().createElement(f.Zp,null,r().createElement(f.aR,null,"Server Update"),r().createElement(f.bw,null,"Your server is up to date.")),r().createElement(f.Zp,null,r().createElement(f.aR,null,"Sponsoring"),r().createElement(f.bw,null,r().createElement("p",null,"If you find Signal K valuable to you consider sponsoring our work on developing it further."),r().createElement("p",null,"Your support allows us to do things like",r().createElement("ul",null,r().createElement("li",null,"travel to meet in person and push things forward"),r().createElement("li",null,"purchase equipment to develop on"),r().createElement("li",null,"upgrade our cloud resources beyond the free tiers"))),r().createElement("p",null,"See"," ",r().createElement("a",{href:"https://opencollective.com/signalk"},"Signal K in Open Collective")," ","for details."))))}}const Wo=(0,d.Ng)((({appStore:e})=>({appStore:e})))((0,C.A)(Mo));class Po extends o.Component{componentDidMount(){const{dispatch:e}=this.props;N(e),I(e)}render(){const e=0===this.props.location.pathname.indexOf("/e/")?{padding:"0px"}:{};return r().createElement("div",{className:"app"},r().createElement(q,null),r().createElement("div",{className:"app-body"},r().createElement(L,this.props),r().createElement("main",{className:"main"},r().createElement(f.mc,{fluid:!0,style:e},r().createElement(s.A,null,r().createElement(A.A,{path:"/dashboard",name:"Dashboard",component:Ko(re,!0)}),r().createElement(A.A,{path:"/webapps",name:"Webapps",component:Ko(Be,!0)}),r().createElement(A.A,{path:"/e/:moduleId",name:"Embedded Webapps",component:Ko(be,!0)}),r().createElement(A.A,{path:"/databrowser",name:"DataBrowser",component:Ko(an,!0)}),r().createElement(A.A,{path:"/serverConfiguration/datafiddler",name:"DataFiddler",component:Ko(Cn,!0)}),r().createElement(A.A,{path:"/appstore",name:"Appstore",component:Ko(zn)}),r().createElement(A.A,{path:"/serverConfiguration/plugins/:pluginid",component:Ko(_n)}),r().createElement(A.A,{path:"/serverConfiguration/settings",component:Ko(No)}),r().createElement(A.A,{path:"/serverConfiguration/backuprestore",component:Ko(Uo)}),r().createElement(A.A,{path:"/serverConfiguration/connections/:providerId",component:Ko(vo)}),r().createElement(A.A,{path:"/serverConfiguration/log",component:Ko(Oo)}),r().createElement(A.A,{path:"/serverConfiguration/update",component:Ko(Wo)}),r().createElement(A.A,{path:"/security/settings",component:Ko(Zn)}),r().createElement(A.A,{path:"/security/users",component:Ko(tt)}),r().createElement(A.A,{path:"/security/devices",component:Ko(at)}),r().createElement(A.A,{path:"/security/access/requests",component:Ko(dt)}),r().createElement(A.A,{path:"/login",component:de}),r().createElement(A.A,{path:"/register",component:st}),r().createElement(h.A,{from:"/",to:"/dashboard"})))),r().createElement(V,null)),r().createElement(ee,null))}}const jo=(0,d.Ng)()(Po),Ko=(e,n)=>{class t extends o.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}render(){return function(e,n){return(!n||!e.readOnlyAccess)&&(e.authenticationRequired&&"notLoggedIn"===e.status)}(this.props.loginStatus,n)?r().createElement(de,null):this.state.hasError?r().createElement("span",null,"Something went wrong."):r().createElement(e,this.props)}}return(0,d.Ng)((({loginStatus:e})=>({loginStatus:e})))((0,C.A)(t))};var Yo=t(41673),To=t.n(Yo),_o=t(92574);const Qo=new(t.n(_o)()),Lo=[];let Ho=0;for(let e=0;e<100;e++)Lo[e]={i:Ho++,d:""};const Vo={plugins:[],webapps:[],addons:[],appStore:{updates:[],installed:[],available:[],installing:[]},loginStatus:{},serverSpecification:{},websocketStatus:"initial",webSocket:null,restarting:!1,accessRequests:[],discoveredProviders:[],log:{entries:Lo,debugEnabled:"",rememberDebug:!1},restoreStatus:{},vesselInfo:{},sourcePrioritiesData:{sourcePriorities:[],saveState:{dirty:!1,timeoutsOk:!0}}};let Xo=(0,c.y$)(((e,n)=>{if("RECEIVE_PLUGIN_LIST"===n.type)return{...e,plugins:n.data};if("RECEIVE_WEBAPPS_LIST"===n.type)return{...e,webapps:n.data};if("RECEIVE_ADDONS_LIST"===n.type)return{...e,addons:n.data};if("RECEIVE_APPSTORE_LIST"===n.type||"APP_STORE_CHANGED"===n.type){var t=n.data;return t.installing.sort(Zo),t.available.sort(Zo),t.installed.sort(Zo),t.updates.sort(Zo),{...e,appStore:t}}if("SERVERSTATISTICS"===n.type)return{...e,serverStatistics:n.data};if("PROVIDERSTATUS"===n.type)return n.data.sort(((e,n)=>e.id>n.id)),{...e,providerStatus:n.data};if("RECEIVE_LOGIN_STATUS"===n.type)return{...e,loginStatus:n.data};if("RECEIVE_SERVER_SPEC"===n.type)return{...e,serverSpecification:n.data};if("WEBSOCKET_CONNECTED"===n.type)return{...e,websocketStatus:"connected"};if("WEBSOCKET_OPEN"===n.type)return e.webSocketTimer&&(clearInterval(e.webSocketTimer),delete e.webSocketTimer),e.restarting&&(e.restarting=!1),{...e,websocketStatus:"open",webSocket:n.data};if("VESSEL_INFO"===n.type)return n.data.name&&(document.title=n.data.name),{...e,vesselInfo:n.data};if("WEBSOCKET_ERROR"===n.type)return{...e,websocketStatus:"error"};if("WEBSOCKET_CLOSE"===n.type)return e.webSocketTimer||(e.webSocketTimer=setInterval((()=>{console.log("retry..."),I(Xo.dispatch,!0)}),5e3)),{...e,websocketStatus:"closed",webSocket:null};if("LOGIN_SUCCESS"===n.type)return e.webSocket&&(e.webSocket.onclose=void 0,e.webSocket.close()),I(Xo.dispatch),e;if("SERVER_RESTART"===n.type)return{...e,restarting:!0};if("SERVER_UP"===n.data)return{...e,restarting:!1};if("LOGOUT_REQUESTED"===n.type&&e.webSocket&&e.webSocket.close(),"ACCESS_REQUEST"===n.type)return{...e,accessRequests:n.data};if("DISCOVERY_CHANGED"===n.type)return{...e,discoveredProviders:n.data};if("DEBUG_SETTINGS"===n.type)return{...e,log:{...e.log,...n.data}};if("LOG"===n.type){const t=`<span style="${n.data.isError?"color:red":"font-weight:lighter"}">`+n.data.ts+"</span> "+Qo.toHtml(To()(n.data.row));return e.log.entries.push({i:Ho++,d:t}),e.log.entries.length>100&&e.log.entries.shift(),{...e,log:{...e.log,entries:e.log.entries}}}if("RESTORESTATUS"===n.type)return{...e,restoreStatus:n.data};if("SOURCEPRIORITIES"===n.type){const t=n.data,o=Object.keys(t).map((e=>({path:e,priorities:t[e]})));return o.state={},{...e,sourcePrioritiesData:{sourcePriorities:o,saveState:{dirty:!1,timeoutsOk:!0}}}}return{...e,sourcePrioritiesData:lo(e.sourcePrioritiesData,n)}}),Vo,(0,c.Tw)(m.A));function Zo(e,n){return e.name<n.name?-1:e.name>n.name?1:0}window.serverRoutesPrefix="/skServer",t.I("default"),i().render(r().createElement(l.A,null,r().createElement(s.A,null,r().createElement(d.Kq,{store:Xo},r().createElement(A.A,{path:"/",name:"Home",component:jo})))),document.getElementById("root"))},44597:()=>{},48359:(e,n,t)=>{"use strict";t.d(n,{A:()=>o});const o=t.p+"./fonts/signal-k-logo-image.200bef2a0bd5597ecdd8594980e10b8b.svg"},71087:(e,n,t)=>{"use strict";t.d(n,{A:()=>b});var o=t(9372),r=t.n(o),a=t(40935),i=t.n(a),l=t(20062),s=t.n(l),A=t(7653),d=t(48359),c=i()(r()),m=s()(A.A),p=s()(d.A);c.push([e.id,"/*!\n * CoreUI - Open Source Bootstrap Admin Template\n * @version v1.0.6\n * @link http://coreui.io\n * Copyright (c) 2017 creativeLabs Łukasz Holeczek\n * @license MIT\n *//*!\n * Bootstrap v4.6.2 (https://getbootstrap.com/)\n * Copyright 2011-2022 The Bootstrap Authors\n * Copyright 2011-2022 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */:root{--blue: #003399;--indigo: #6610f2;--purple: #6f42c1;--pink: #e83e8c;--red: #f86c6b;--orange: #f8cb00;--yellow: #ffcc00;--green: #4dbd74;--teal: #20c997;--cyan: #63c2de;--white: #fff;--gray: #536c79;--gray-dark: #29363d;--blue: #003399;--indigo: #6610f2;--purple: #6f42c1;--pink: #e83e8c;--red: #f86c6b;--orange: #f8cb00;--yellow: #ffcc00;--green: #4dbd74;--teal: #20c997;--cyan: #63c2de;--white: #fff;--gray: #536c79;--primary: #003399;--secondary: #3e515b;--success: #4dbd74;--info: #63c2de;--warning: #ffcc00;--danger: #f86c6b;--light: #c2cfd6;--dark: #29363d;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";--font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace}*,*::before,*::after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",\"Liberation Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";font-size:0.875rem;font-weight:400;line-height:1.5;color:#151b1e;text-align:left;background-color:#e4e5e6}[tabindex=\"-1\"]:focus:not(:focus-visible){outline:0 !important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-original-title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:#039;text-decoration:none;background-color:rgba(0,0,0,0)}a:hover{color:rgb(0,25.5,76.5);text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#536c79;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none !important}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:2.1875rem}h2,.h2{font-size:1.75rem}h3,.h3{font-size:1.53125rem}h4,.h4{font-size:1.3125rem}h5,.h5{font-size:1.09375rem}h6,.h6{font-size:0.875rem}.lead{font-size:1.09375rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}small,.small{font-size:0.875em;font-weight:400}mark,.mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.09375rem}.blockquote-footer{display:block;font-size:0.875em;color:#536c79}.blockquote-footer::before{content:\"— \"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#e4e5e6;border:1px solid #a4b7c1;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#536c79}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#151b1e;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#151b1e}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-xl,.container-lg,.container-md,.container-sm{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media(min-width: 576px){.container-sm,.container{max-width:540px}}@media(min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media(min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media(min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col-xl,.col-xl-auto,.col-xl-12,.col-xl-11,.col-xl-10,.col-xl-9,.col-xl-8,.col-xl-7,.col-xl-6,.col-xl-5,.col-xl-4,.col-xl-3,.col-xl-2,.col-xl-1,.col-lg,.col-lg-auto,.col-lg-12,.col-lg-11,.col-lg-10,.col-lg-9,.col-lg-8,.col-lg-7,.col-lg-6,.col-lg-5,.col-lg-4,.col-lg-3,.col-lg-2,.col-lg-1,.col-md,.col-md-auto,.col-md-12,.col-md-11,.col-md-10,.col-md-9,.col-md-8,.col-md-7,.col-md-6,.col-md-5,.col-md-4,.col-md-3,.col-md-2,.col-md-1,.col-sm,.col-sm-auto,.col-sm-12,.col-sm-11,.col-sm-10,.col-sm-9,.col-sm-8,.col-sm-7,.col-sm-6,.col-sm-5,.col-sm-4,.col-sm-3,.col-sm-2,.col-sm-1,.col,.col-auto,.col-12,.col-11,.col-10,.col-9,.col-8,.col-7,.col-6,.col-5,.col-4,.col-3,.col-2,.col-1{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}@media(min-width: 576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-sm-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-sm-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-sm-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-sm-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}}@media(min-width: 768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-md-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-md-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-md-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-md-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}}@media(min-width: 992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-lg-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-lg-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-lg-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-lg-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}}@media(min-width: 1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-xl-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-xl-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-xl-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-xl-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}}.table{width:100%;margin-bottom:1rem;color:#151b1e}.table th,.table td{padding:.75rem;vertical-align:top;border-top:1px solid #a4b7c1}.table thead th{vertical-align:bottom;border-bottom:2px solid #a4b7c1}.table tbody+tbody{border-top:2px solid #a4b7c1}.table-sm th,.table-sm td{padding:.3rem}.table-bordered{border:1px solid #a4b7c1}.table-bordered th,.table-bordered td{border:1px solid #a4b7c1}.table-bordered thead th,.table-bordered thead td{border-bottom-width:2px}.table-borderless th,.table-borderless td,.table-borderless thead th,.table-borderless tbody+tbody{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#151b1e;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>th,.table-primary>td{background-color:rgb(183.6,197.88,226.44)}.table-primary th,.table-primary td,.table-primary thead th,.table-primary tbody+tbody{border-color:rgb(122.4,148.92,201.96)}.table-hover .table-primary:hover{background-color:hsl(220,42.8571428571%,75.4%)}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:hsl(220,42.8571428571%,75.4%)}.table-secondary,.table-secondary>th,.table-secondary>td{background-color:rgb(200.96,206.28,209.08)}.table-secondary th,.table-secondary td,.table-secondary thead th,.table-secondary tbody+tbody{border-color:rgb(154.64,164.52,169.72)}.table-hover .table-secondary:hover{background-color:hsl(200.6896551724,8.1232492997%,75.4%)}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:hsl(200.6896551724,8.1232492997%,75.4%)}.table-success,.table-success>th,.table-success>td{background-color:rgb(205.16,236.52,216.08)}.table-success th,.table-success td,.table-success thead th,.table-success tbody+tbody{border-color:rgb(162.44,220.68,182.72)}.table-hover .table-success:hover{background-color:rgb(186.5575409836,229.6224590164,201.5533606557)}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:rgb(186.5575409836,229.6224590164,201.5533606557)}.table-info,.table-info>th,.table-info>td{background-color:rgb(211.32,237.92,245.76)}.table-info th,.table-info td,.table-info thead th,.table-info tbody+tbody{border-color:rgb(173.88,223.28,237.84)}.table-hover .table-info:hover{background-color:rgb(190.2723809524,229.6898412698,241.3076190476)}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:rgb(190.2723809524,229.6898412698,241.3076190476)}.table-warning,.table-warning>th,.table-warning>td{background-color:hsl(48,100%,86%)}.table-warning th,.table-warning td,.table-warning thead th,.table-warning tbody+tbody{border-color:hsl(48,100%,74%)}.table-hover .table-warning:hover{background-color:hsl(48,100%,81%)}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:hsl(48,100%,81%)}.table-danger,.table-danger>th,.table-danger>td{background-color:rgb(253.04,213.84,213.56)}.table-danger th,.table-danger td,.table-danger thead th,.table-danger tbody+tbody{border-color:rgb(251.36,178.56,178.04)}.table-hover .table-danger:hover{background-color:hsl(.4255319149,90.9677419355%,86.4901960784%)}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:hsl(.4255319149,90.9677419355%,86.4901960784%)}.table-light,.table-light>th,.table-light>td{background-color:rgb(237.92,241.56,243.52)}.table-light th,.table-light td,.table-light thead th,.table-light tbody+tbody{border-color:rgb(223.28,230.04,233.68)}.table-hover .table-light:hover{background-color:rgb(222.67,229.56,233.27)}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:rgb(222.67,229.56,233.27)}.table-dark,.table-dark>th,.table-dark>td{background-color:rgb(195.08,198.72,200.68)}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:rgb(143.72,150.48,154.12)}.table-hover .table-dark:hover{background-color:hsl(201,4.9019607843%,72.6%)}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:hsl(201,4.9019607843%,72.6%)}.table-active,.table-active>th,.table-active>td{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#29363d;border-color:rgb(56.375,74.25,83.875)}.table .thead-light th{color:#3e515b;background-color:#c2cfd6;border-color:#a4b7c1}.table-dark{color:#fff;background-color:#29363d}.table-dark th,.table-dark td,.table-dark thead th{border-color:rgb(56.375,74.25,83.875)}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:hsla(0,0%,100%,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:hsla(0,0%,100%,.075)}@media(max-width: 575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media(max-width: 767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media(max-width: 991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media(max-width: 1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + 0.75rem + 2px);padding:.375rem .75rem;font-size:0.875rem;font-weight:400;line-height:1.5;color:#3e515b;background-color:#fff;background-clip:padding-box;border:1px solid #c2cfd6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:rgba(0,0,0,0);border:0}.form-control:focus{color:#3e515b;background-color:#fff;border-color:rgb(25.5,102,255);outline:0;box-shadow:0 0 0 .2rem rgba(0,51,153,.25)}.form-control::placeholder{color:#536c79;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#c2cfd6;opacity:1}input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{appearance:none}select.form-control:-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 #3e515b}select.form-control:focus::-ms-value{color:#3e515b;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(0.375rem + 1px);padding-bottom:calc(0.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(0.5rem + 1px);padding-bottom:calc(0.5rem + 1px);font-size:1.09375rem;line-height:1.5}.col-form-label-sm{padding-top:calc(0.25rem + 1px);padding-bottom:calc(0.25rem + 1px);font-size:0.765625rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:0.875rem;line-height:1.5;color:#151b1e;background-color:rgba(0,0,0,0);border:solid rgba(0,0,0,0);border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + 0.5rem + 2px);padding:.25rem .5rem;font-size:0.765625rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.09375rem;line-height:1.5;border-radius:.3rem}select.form-control[size],select.form-control[multiple]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{color:#536c79}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#4dbd74}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.765625rem;line-height:1.5;color:#fff;background-color:rgba(77,189,116,.9);border-radius:.25rem}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#4dbd74;padding-right:calc(1.5em + 0.75rem) !important;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%234dbd74' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#4dbd74;box-shadow:0 0 0 .2rem rgba(77,189,116,.25)}.was-validated select.form-control:valid,select.form-control.is-valid{padding-right:3rem !important;background-position:right 1.5rem center}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .custom-select:valid,.custom-select.is-valid{border-color:#4dbd74;padding-right:calc(0.75em + 2.3125rem) !important;background:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%2329363d' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right .75rem center/8px 10px no-repeat,#fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%234dbd74' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat}.was-validated .custom-select:valid:focus,.custom-select.is-valid:focus{border-color:#4dbd74;box-shadow:0 0 0 .2rem rgba(77,189,116,.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#4dbd74}.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip,.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip{display:block}.was-validated .custom-control-input:valid~.custom-control-label,.custom-control-input.is-valid~.custom-control-label{color:#4dbd74}.was-validated .custom-control-input:valid~.custom-control-label::before,.custom-control-input.is-valid~.custom-control-label::before{border-color:#4dbd74}.was-validated .custom-control-input:valid:checked~.custom-control-label::before,.custom-control-input.is-valid:checked~.custom-control-label::before{border-color:rgb(114.2049180328,202.7950819672,145.0532786885);background-color:rgb(114.2049180328,202.7950819672,145.0532786885)}.was-validated .custom-control-input:valid:focus~.custom-control-label::before,.custom-control-input.is-valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(77,189,116,.25)}.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before{border-color:#4dbd74}.was-validated .custom-file-input:valid~.custom-file-label,.custom-file-input.is-valid~.custom-file-label{border-color:#4dbd74}.was-validated .custom-file-input:valid:focus~.custom-file-label,.custom-file-input.is-valid:focus~.custom-file-label{border-color:#4dbd74;box-shadow:0 0 0 .2rem rgba(77,189,116,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#f86c6b}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.765625rem;line-height:1.5;color:#fff;background-color:rgba(248,108,107,.9);border-radius:.25rem}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#f86c6b;padding-right:calc(1.5em + 0.75rem) !important;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23f86c6b' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23f86c6b' stroke='none'/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#f86c6b;box-shadow:0 0 0 .2rem rgba(248,108,107,.25)}.was-validated select.form-control:invalid,select.form-control.is-invalid{padding-right:3rem !important;background-position:right 1.5rem center}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .custom-select:invalid,.custom-select.is-invalid{border-color:#f86c6b;padding-right:calc(0.75em + 2.3125rem) !important;background:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%2329363d' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right .75rem center/8px 10px no-repeat,#fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23f86c6b' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23f86c6b' stroke='none'/%3e%3c/svg%3e\") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat}.was-validated .custom-select:invalid:focus,.custom-select.is-invalid:focus{border-color:#f86c6b;box-shadow:0 0 0 .2rem rgba(248,108,107,.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#f86c6b}.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip,.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip{display:block}.was-validated .custom-control-input:invalid~.custom-control-label,.custom-control-input.is-invalid~.custom-control-label{color:#f86c6b}.was-validated .custom-control-input:invalid~.custom-control-label::before,.custom-control-input.is-invalid~.custom-control-label::before{border-color:#f86c6b}.was-validated .custom-control-input:invalid:checked~.custom-control-label::before,.custom-control-input.is-invalid:checked~.custom-control-label::before{border-color:hsl(.4255319149,90.9677419355%,79.6078431373%);background-color:hsl(.4255319149,90.9677419355%,79.6078431373%)}.was-validated .custom-control-input:invalid:focus~.custom-control-label::before,.custom-control-input.is-invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(248,108,107,.25)}.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before{border-color:#f86c6b}.was-validated .custom-file-input:invalid~.custom-file-label,.custom-file-input.is-invalid~.custom-file-label{border-color:#f86c6b}.was-validated .custom-file-input:invalid:focus~.custom-file-label,.custom-file-input.is-invalid:focus~.custom-file-label{border-color:#f86c6b;box-shadow:0 0 0 .2rem rgba(248,108,107,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media(min-width: 576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group,.form-inline .custom-select{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#151b1e;text-align:center;vertical-align:middle;user-select:none;background-color:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);padding:.375rem .75rem;font-size:0.875rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#151b1e;text-decoration:none}.btn:focus,.btn.focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,51,153,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#039;border-color:#039}.btn-primary:hover{color:#fff;background-color:rgb(0,38.25,114.75);border-color:#026}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:rgb(0,38.25,114.75);border-color:#026;box-shadow:0 0 0 .2rem rgba(38.25,81.6,168.3,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#039;border-color:#039}.btn-primary:not(:disabled):not(.disabled):active,.btn-primary:not(:disabled):not(.disabled).active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#026;border-color:rgb(0,29.75,89.25)}.btn-primary:not(:disabled):not(.disabled):active:focus,.btn-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38.25,81.6,168.3,.5)}.btn-secondary{color:#fff;background-color:#3e515b;border-color:#3e515b}.btn-secondary:hover{color:#fff;background-color:rgb(46.5,60.75,68.25);border-color:rgb(41.3333333333,54,60.6666666667)}.btn-secondary:focus,.btn-secondary.focus{color:#fff;background-color:rgb(46.5,60.75,68.25);border-color:rgb(41.3333333333,54,60.6666666667);box-shadow:0 0 0 .2rem rgba(90.95,107.1,115.6,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#3e515b;border-color:#3e515b}.btn-secondary:not(:disabled):not(.disabled):active,.btn-secondary:not(:disabled):not(.disabled).active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:rgb(41.3333333333,54,60.6666666667);border-color:rgb(36.1666666667,47.25,53.0833333333)}.btn-secondary:not(:disabled):not(.disabled):active:focus,.btn-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(90.95,107.1,115.6,.5)}.btn-success{color:#fff;background-color:#4dbd74;border-color:#4dbd74}.btn-success:hover{color:#fff;background-color:rgb(61.6045081967,166.1454918033,98.0071721311);border-color:rgb(58.1557377049,156.8442622951,92.5204918033)}.btn-success:focus,.btn-success.focus{color:#fff;background-color:rgb(61.6045081967,166.1454918033,98.0071721311);border-color:rgb(58.1557377049,156.8442622951,92.5204918033);box-shadow:0 0 0 .2rem rgba(103.7,198.9,136.85,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#4dbd74;border-color:#4dbd74}.btn-success:not(:disabled):not(.disabled):active,.btn-success:not(:disabled):not(.disabled).active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:rgb(58.1557377049,156.8442622951,92.5204918033);border-color:rgb(54.7069672131,147.5430327869,87.0338114754)}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(103.7,198.9,136.85,.5)}.btn-info{color:#151b1e;background-color:#63c2de;border-color:#63c2de}.btn-info:hover{color:#151b1e;background-color:rgb(67.4285714286,181.6547619048,215.3214285714);border-color:rgb(56.9047619048,177.5396825397,213.0952380952)}.btn-info:focus,.btn-info.focus{color:#151b1e;background-color:rgb(67.4285714286,181.6547619048,215.3214285714);border-color:rgb(56.9047619048,177.5396825397,213.0952380952);box-shadow:0 0 0 .2rem rgba(87.3,168.95,193.2,.5)}.btn-info.disabled,.btn-info:disabled{color:#151b1e;background-color:#63c2de;border-color:#63c2de}.btn-info:not(:disabled):not(.disabled):active,.btn-info:not(:disabled):not(.disabled).active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:rgb(56.9047619048,177.5396825397,213.0952380952);border-color:rgb(46.380952381,173.4246031746,210.869047619)}.btn-info:not(:disabled):not(.disabled):active:focus,.btn-info:not(:disabled):not(.disabled).active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(87.3,168.95,193.2,.5)}.btn-warning{color:#151b1e;background-color:#fc0;border-color:#fc0}.btn-warning:hover{color:#151b1e;background-color:hsl(48,100%,42.5%);border-color:rgb(204,163.2,0)}.btn-warning:focus,.btn-warning.focus{color:#151b1e;background-color:hsl(48,100%,42.5%);border-color:rgb(204,163.2,0);box-shadow:0 0 0 .2rem rgba(219.9,177.45,4.5,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#151b1e;background-color:#fc0;border-color:#fc0}.btn-warning:not(:disabled):not(.disabled):active,.btn-warning:not(:disabled):not(.disabled).active,.show>.btn-warning.dropdown-toggle{color:#151b1e;background-color:rgb(204,163.2,0);border-color:rgb(191.25,153,0)}.btn-warning:not(:disabled):not(.disabled):active:focus,.btn-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(219.9,177.45,4.5,.5)}.btn-danger{color:#fff;background-color:#f86c6b;border-color:#f86c6b}.btn-danger:hover{color:#fff;background-color:hsl(.4255319149,90.9677419355%,62.1078431373%);border-color:hsl(.4255319149,90.9677419355%,59.6078431373%)}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:hsl(.4255319149,90.9677419355%,62.1078431373%);border-color:hsl(.4255319149,90.9677419355%,59.6078431373%);box-shadow:0 0 0 .2rem rgba(249.05,130.05,129.2,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#f86c6b;border-color:#f86c6b}.btn-danger:not(:disabled):not(.disabled):active,.btn-danger:not(:disabled):not(.disabled).active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:hsl(.4255319149,90.9677419355%,59.6078431373%);border-color:hsl(.4255319149,90.9677419355%,57.1078431373%)}.btn-danger:not(:disabled):not(.disabled):active:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(249.05,130.05,129.2,.5)}.btn-light{color:#151b1e;background-color:#c2cfd6;border-color:#c2cfd6}.btn-light:hover{color:#151b1e;background-color:rgb(171.125,189,198.625);border-color:rgb(163.5,183,193.5)}.btn-light:focus,.btn-light.focus{color:#151b1e;background-color:rgb(171.125,189,198.625);border-color:rgb(163.5,183,193.5);box-shadow:0 0 0 .2rem rgba(168.05,180,186.4,.5)}.btn-light.disabled,.btn-light:disabled{color:#151b1e;background-color:#c2cfd6;border-color:#c2cfd6}.btn-light:not(:disabled):not(.disabled):active,.btn-light:not(:disabled):not(.disabled).active,.show>.btn-light.dropdown-toggle{color:#151b1e;background-color:rgb(163.5,183,193.5);border-color:rgb(155.875,177,188.375)}.btn-light:not(:disabled):not(.disabled):active:focus,.btn-light:not(:disabled):not(.disabled).active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(168.05,180,186.4,.5)}.btn-dark{color:#fff;background-color:#29363d;border-color:#29363d}.btn-dark:hover{color:#fff;background-color:rgb(25.625,33.75,38.125);border-color:rgb(20.5,27,30.5)}.btn-dark:focus,.btn-dark.focus{color:#fff;background-color:rgb(25.625,33.75,38.125);border-color:rgb(20.5,27,30.5);box-shadow:0 0 0 .2rem rgba(73.1,84.15,90.1,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#29363d;border-color:#29363d}.btn-dark:not(:disabled):not(.disabled):active,.btn-dark:not(:disabled):not(.disabled).active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:rgb(20.5,27,30.5);border-color:rgb(15.375,20.25,22.875)}.btn-dark:not(:disabled):not(.disabled):active:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(73.1,84.15,90.1,.5)}.btn-outline-primary{color:#039;border-color:#039}.btn-outline-primary:hover{color:#fff;background-color:#039;border-color:#039}.btn-outline-primary:focus,.btn-outline-primary.focus{box-shadow:0 0 0 .2rem rgba(0,51,153,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#039;background-color:rgba(0,0,0,0)}.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-outline-primary:not(:disabled):not(.disabled).active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#039;border-color:#039}.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,51,153,.5)}.btn-outline-secondary{color:#3e515b;border-color:#3e515b}.btn-outline-secondary:hover{color:#fff;background-color:#3e515b;border-color:#3e515b}.btn-outline-secondary:focus,.btn-outline-secondary.focus{box-shadow:0 0 0 .2rem rgba(62,81,91,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#3e515b;background-color:rgba(0,0,0,0)}.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-outline-secondary:not(:disabled):not(.disabled).active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#3e515b;border-color:#3e515b}.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(62,81,91,.5)}.btn-outline-success{color:#4dbd74;border-color:#4dbd74}.btn-outline-success:hover{color:#fff;background-color:#4dbd74;border-color:#4dbd74}.btn-outline-success:focus,.btn-outline-success.focus{box-shadow:0 0 0 .2rem rgba(77,189,116,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#4dbd74;background-color:rgba(0,0,0,0)}.btn-outline-success:not(:disabled):not(.disabled):active,.btn-outline-success:not(:disabled):not(.disabled).active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#4dbd74;border-color:#4dbd74}.btn-outline-success:not(:disabled):not(.disabled):active:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(77,189,116,.5)}.btn-outline-info{color:#63c2de;border-color:#63c2de}.btn-outline-info:hover{color:#151b1e;background-color:#63c2de;border-color:#63c2de}.btn-outline-info:focus,.btn-outline-info.focus{box-shadow:0 0 0 .2rem rgba(99,194,222,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#63c2de;background-color:rgba(0,0,0,0)}.btn-outline-info:not(:disabled):not(.disabled):active,.btn-outline-info:not(:disabled):not(.disabled).active,.show>.btn-outline-info.dropdown-toggle{color:#151b1e;background-color:#63c2de;border-color:#63c2de}.btn-outline-info:not(:disabled):not(.disabled):active:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(99,194,222,.5)}.btn-outline-warning{color:#fc0;border-color:#fc0}.btn-outline-warning:hover{color:#151b1e;background-color:#fc0;border-color:#fc0}.btn-outline-warning:focus,.btn-outline-warning.focus{box-shadow:0 0 0 .2rem rgba(255,204,0,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#fc0;background-color:rgba(0,0,0,0)}.btn-outline-warning:not(:disabled):not(.disabled):active,.btn-outline-warning:not(:disabled):not(.disabled).active,.show>.btn-outline-warning.dropdown-toggle{color:#151b1e;background-color:#fc0;border-color:#fc0}.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,204,0,.5)}.btn-outline-danger{color:#f86c6b;border-color:#f86c6b}.btn-outline-danger:hover{color:#fff;background-color:#f86c6b;border-color:#f86c6b}.btn-outline-danger:focus,.btn-outline-danger.focus{box-shadow:0 0 0 .2rem rgba(248,108,107,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#f86c6b;background-color:rgba(0,0,0,0)}.btn-outline-danger:not(:disabled):not(.disabled):active,.btn-outline-danger:not(:disabled):not(.disabled).active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#f86c6b;border-color:#f86c6b}.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,108,107,.5)}.btn-outline-light{color:#c2cfd6;border-color:#c2cfd6}.btn-outline-light:hover{color:#151b1e;background-color:#c2cfd6;border-color:#c2cfd6}.btn-outline-light:focus,.btn-outline-light.focus{box-shadow:0 0 0 .2rem rgba(194,207,214,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#c2cfd6;background-color:rgba(0,0,0,0)}.btn-outline-light:not(:disabled):not(.disabled):active,.btn-outline-light:not(:disabled):not(.disabled).active,.show>.btn-outline-light.dropdown-toggle{color:#151b1e;background-color:#c2cfd6;border-color:#c2cfd6}.btn-outline-light:not(:disabled):not(.disabled):active:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(194,207,214,.5)}.btn-outline-dark{color:#29363d;border-color:#29363d}.btn-outline-dark:hover{color:#fff;background-color:#29363d;border-color:#29363d}.btn-outline-dark:focus,.btn-outline-dark.focus{box-shadow:0 0 0 .2rem rgba(41,54,61,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#29363d;background-color:rgba(0,0,0,0)}.btn-outline-dark:not(:disabled):not(.disabled):active,.btn-outline-dark:not(:disabled):not(.disabled).active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#29363d;border-color:#29363d}.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(41,54,61,.5)}.btn-link{font-weight:400;color:#039;text-decoration:none}.btn-link:hover{color:rgb(0,25.5,76.5);text-decoration:underline}.btn-link:focus,.btn-link.focus{text-decoration:underline}.btn-link:disabled,.btn-link.disabled{color:#536c79;pointer-events:none}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.09375rem;line-height:1.5;border-radius:.3rem}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:0.765625rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.width{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion: reduce){.collapsing.width{transition:none}}.dropup,.dropright,.dropdown,.dropleft{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid;border-right:.3em solid rgba(0,0,0,0);border-bottom:0;border-left:.3em solid rgba(0,0,0,0)}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:0 0;margin:.125rem 0 0;font-size:0.875rem;color:#151b1e;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #c2cfd6;border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media(min-width: 576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media(min-width: 768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media(min-width: 992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media(min-width: 1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:0;border-right:.3em solid rgba(0,0,0,0);border-bottom:.3em solid;border-left:.3em solid rgba(0,0,0,0)}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid rgba(0,0,0,0);border-right:0;border-bottom:.3em solid rgba(0,0,0,0);border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\"}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid rgba(0,0,0,0);border-right:.3em solid;border-bottom:.3em solid rgba(0,0,0,0)}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=top],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #f0f3f5}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#151b1e;text-align:inherit;white-space:nowrap;background-color:rgba(0,0,0,0);border:0}.dropdown-item:first-child{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.dropdown-item:last-child{border-bottom-right-radius:calc(0.25rem - 1px);border-bottom-left-radius:calc(0.25rem - 1px)}.dropdown-item:hover,.dropdown-item:focus{color:rgb(10.5,13.5,15);text-decoration:none;background-color:#c2cfd6}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#039}.dropdown-item.disabled,.dropdown-item:disabled{color:#678898;pointer-events:none;background-color:rgba(0,0,0,0)}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:0 1.5rem;margin-bottom:0;font-size:0.765625rem;color:#536c79;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#151b1e}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover{z-index:1}.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-control-plaintext,.input-group>.custom-select,.input-group>.custom-file{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.form-control+.form-control,.input-group>.form-control+.custom-select,.input-group>.form-control+.custom-file,.input-group>.form-control-plaintext+.form-control,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.custom-file,.input-group>.custom-select+.form-control,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.custom-file,.input-group>.custom-file+.form-control,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.custom-file{margin-left:-1px}.input-group>.form-control:focus,.input-group>.custom-select:focus,.input-group>.custom-file .custom-file-input:focus~.custom-file-label{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.form-control:not(:first-child),.input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group:not(.has-validation)>.form-control:not(:last-child),.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label,.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.form-control:nth-last-child(n+3),.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label,.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-prepend,.input-group-append{display:flex}.input-group-prepend .btn,.input-group-append .btn{position:relative;z-index:2}.input-group-prepend .btn:focus,.input-group-append .btn:focus{z-index:3}.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.input-group-text,.input-group-append .input-group-text+.btn{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:0.875rem;font-weight:400;line-height:1.5;color:#3e515b;text-align:center;white-space:nowrap;background-color:#f0f3f5;border:1px solid #c2cfd6;border-radius:.25rem}.input-group-text input[type=radio],.input-group-text input[type=checkbox]{margin-top:0}.input-group-lg>.form-control:not(textarea),.input-group-lg>.custom-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-control,.input-group-lg>.custom-select,.input-group-lg>.input-group-prepend>.input-group-text,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-append>.btn{padding:.5rem 1rem;font-size:1.09375rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.form-control:not(textarea),.input-group-sm>.custom-select{height:calc(1.5em + 0.5rem + 2px)}.input-group-sm>.form-control,.input-group-sm>.custom-select,.input-group-sm>.input-group-prepend>.input-group-text,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-append>.btn{padding:.25rem .5rem;font-size:0.765625rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.3125rem;padding-left:1.5rem;print-color-adjust:exact}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.15625rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#039;background-color:#039}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,51,153,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:rgb(25.5,102,255)}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:rgb(76.5,136,255);border-color:rgb(76.5,136,255)}.custom-control-input[disabled]~.custom-control-label,.custom-control-input:disabled~.custom-control-label{color:#536c79}.custom-control-input[disabled]~.custom-control-label::before,.custom-control-input:disabled~.custom-control-label::before{background-color:#c2cfd6}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.15625rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:\"\";background-color:#fff;border:1px solid #678898}.custom-control-label::after{position:absolute;top:.15625rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:\"\";background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e\")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#039;background-color:#039}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,51,153,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,51,153,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,51,153,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(0.15625rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#678898;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;transform:translateX(0.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,51,153,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + 0.75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:0.875rem;font-weight:400;line-height:1.5;color:#3e515b;vertical-align:middle;background:#fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%2329363d' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right .75rem center/8px 10px no-repeat;border:1px solid #c2cfd6;border-radius:.25rem;appearance:none}.custom-select:focus{border-color:rgb(25.5,102,255);outline:0;box-shadow:0 0 0 .2rem rgba(0,51,153,.25)}.custom-select:focus::-ms-value{color:#3e515b;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size=\"1\"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#536c79;background-color:#c2cfd6}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 #3e515b}.custom-select-sm{height:calc(1.5em + 0.5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.765625rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.09375rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + 0.75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + 0.75rem + 2px);margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:rgb(25.5,102,255);box-shadow:0 0 0 .2rem rgba(0,51,153,.25)}.custom-file-input[disabled]~.custom-file-label,.custom-file-input:disabled~.custom-file-label{background-color:#c2cfd6}.custom-file-input:lang(en)~.custom-file-label::after{content:\"Browse\"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + 0.75rem + 2px);padding:.375rem .75rem;overflow:hidden;font-weight:400;line-height:1.5;color:#3e515b;background-color:#fff;border:1px solid #c2cfd6;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + 0.75rem);padding:.375rem .75rem;line-height:1.5;color:#3e515b;content:\"Browse\";background-color:#f0f3f5;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:rgba(0,0,0,0);appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #e4e5e6,0 0 0 .2rem rgba(0,51,153,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #e4e5e6,0 0 0 .2rem rgba(0,51,153,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #e4e5e6,0 0 0 .2rem rgba(0,51,153,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;background-color:#039;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:rgb(76.5,136,255)}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:#a4b7c1;border-color:rgba(0,0,0,0);border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#039;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:rgb(76.5,136,255)}.custom-range::-moz-range-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:#a4b7c1;border-color:rgba(0,0,0,0);border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#039;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:rgb(76.5,136,255)}.custom-range::-ms-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0);border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#a4b7c1;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#a4b7c1;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#678898}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#678898}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#678898}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link,.navbar .dropdown-toggle{display:block;padding:.5rem 1rem}.nav-link:hover,.navbar .dropdown-toggle:hover,.nav-link:focus,.navbar .dropdown-toggle:focus{text-decoration:none}.nav-link.disabled,.navbar .disabled.dropdown-toggle{color:#536c79;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #a4b7c1}.nav-tabs .nav-link,.nav-tabs .navbar .dropdown-toggle,.navbar .nav-tabs .dropdown-toggle{margin-bottom:-1px;background-color:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:hover,.nav-tabs .navbar .dropdown-toggle:hover,.navbar .nav-tabs .dropdown-toggle:hover,.nav-tabs .nav-link:focus,.nav-tabs .navbar .dropdown-toggle:focus,.navbar .nav-tabs .dropdown-toggle:focus{isolation:isolate;border-color:#c2cfd6 #c2cfd6 #a4b7c1}.nav-tabs .nav-link.disabled,.nav-tabs .navbar .disabled.dropdown-toggle,.navbar .nav-tabs .disabled.dropdown-toggle{color:#536c79;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.nav-tabs .nav-link.active,.nav-tabs .navbar .active.dropdown-toggle,.navbar .nav-tabs .active.dropdown-toggle,.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-item.show .navbar .dropdown-toggle,.navbar .nav-tabs .nav-item.show .dropdown-toggle{color:#3e515b;background-color:#e4e5e6;border-color:#a4b7c1 #a4b7c1 #e4e5e6}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link,.nav-pills .navbar .dropdown-toggle,.navbar .nav-pills .dropdown-toggle{background:none;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .navbar .active.dropdown-toggle,.navbar .nav-pills .active.dropdown-toggle,.nav-pills .show>.nav-link,.nav-pills .navbar .show>.dropdown-toggle,.navbar .nav-pills .show>.dropdown-toggle{color:#fff;background-color:#039}.nav-fill>.nav-link,.navbar .nav-fill>.dropdown-toggle,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.navbar .nav-justified>.dropdown-toggle,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-sm,.navbar .container-md,.navbar .container-lg,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3359375rem;padding-bottom:.3359375rem;margin-right:1rem;font-size:1.09375rem;line-height:inherit;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link,.navbar-nav .navbar .dropdown-toggle,.navbar .navbar-nav .dropdown-toggle{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.09375rem;line-height:1;background-color:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);border-radius:.25rem}.navbar-toggler:hover,.navbar-toggler:focus{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:\"\";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media(max-width: 575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link,.navbar-expand-sm .navbar-nav .navbar .dropdown-toggle,.navbar .navbar-expand-sm .navbar-nav .dropdown-toggle{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media(max-width: 767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link,.navbar-expand-md .navbar-nav .navbar .dropdown-toggle,.navbar .navbar-expand-md .navbar-nav .dropdown-toggle{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media(max-width: 991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link,.navbar-expand-lg .navbar-nav .navbar .dropdown-toggle,.navbar .navbar-expand-lg .navbar-nav .dropdown-toggle{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media(max-width: 1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link,.navbar-expand-xl .navbar-nav .navbar .dropdown-toggle,.navbar .navbar-expand-xl .navbar-nav .dropdown-toggle{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link,.navbar-expand .navbar-nav .navbar .dropdown-toggle,.navbar .navbar-expand .navbar-nav .dropdown-toggle{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link,.navbar-light .navbar-nav .navbar .dropdown-toggle,.navbar .navbar-light .navbar-nav .dropdown-toggle{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .navbar .dropdown-toggle:hover,.navbar .navbar-light .navbar-nav .dropdown-toggle:hover,.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .navbar .dropdown-toggle:focus,.navbar .navbar-light .navbar-nav .dropdown-toggle:focus{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled,.navbar-light .navbar-nav .navbar .disabled.dropdown-toggle,.navbar .navbar-light .navbar-nav .disabled.dropdown-toggle{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .navbar .show>.dropdown-toggle,.navbar .navbar-light .navbar-nav .show>.dropdown-toggle,.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .navbar .active>.dropdown-toggle,.navbar .navbar-light .navbar-nav .active>.dropdown-toggle,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .navbar .show.dropdown-toggle,.navbar .navbar-light .navbar-nav .show.dropdown-toggle,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .navbar .active.dropdown-toggle,.navbar .navbar-light .navbar-nav .active.dropdown-toggle{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link,.navbar-dark .navbar-nav .navbar .dropdown-toggle,.navbar .navbar-dark .navbar-nav .dropdown-toggle{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .navbar .dropdown-toggle:hover,.navbar .navbar-dark .navbar-nav .dropdown-toggle:hover,.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .navbar .dropdown-toggle:focus,.navbar .navbar-dark .navbar-nav .dropdown-toggle:focus{color:hsla(0,0%,100%,.75)}.navbar-dark .navbar-nav .nav-link.disabled,.navbar-dark .navbar-nav .navbar .disabled.dropdown-toggle,.navbar .navbar-dark .navbar-nav .disabled.dropdown-toggle{color:hsla(0,0%,100%,.25)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .navbar .show>.dropdown-toggle,.navbar .navbar-dark .navbar-nav .show>.dropdown-toggle,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .navbar .active>.dropdown-toggle,.navbar .navbar-dark .navbar-nav .active>.dropdown-toggle,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .navbar .show.dropdown-toggle,.navbar .navbar-dark .navbar-nav .show.dropdown-toggle,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .navbar .active.dropdown-toggle,.navbar .navbar-dark .navbar-nav .active.dropdown-toggle{color:#fff}.navbar-dark .navbar-toggler{color:hsla(0,0%,100%,.5);border-color:hsla(0,0%,100%,.1)}.navbar-dark .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}.navbar-dark .navbar-text{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid #c2cfd6;border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(0.25rem - 1px);border-bottom-left-radius:calc(0.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body,.card-block{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-0.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f0f3f5;border-bottom:1px solid #c2cfd6}.card-header:first-child{border-radius:calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:#f0f3f5;border-top:1px solid #c2cfd6}.card-footer:last-child{border-radius:0 0 calc(0.25rem - 1px) calc(0.25rem - 1px)}.card-header-tabs{margin-right:-0.625rem;margin-bottom:-0.75rem;margin-left:-0.625rem;border-bottom:0}.card-header-pills{margin-right:-0.625rem;margin-left:-0.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(0.25rem - 1px)}.card-img,.card-img-top,.card-img-bottom{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(0.25rem - 1px);border-bottom-left-radius:calc(0.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media(min-width: 576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media(min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media(min-width: 576px){.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1.5rem;list-style:none;background-color:#fff;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#536c79;content:\"/\"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#536c79}.pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link,.pagination-datatables li a,.pagination li a{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#039;background-color:#fff;border:1px solid #a4b7c1}.page-link:hover,.pagination-datatables li a:hover,.pagination li a:hover{z-index:2;color:rgb(0,25.5,76.5);text-decoration:none;background-color:#c2cfd6;border-color:#a4b7c1}.page-link:focus,.pagination-datatables li a:focus,.pagination li a:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,51,153,.25)}.page-item:first-child .page-link,.page-item:first-child .pagination-datatables li a,.pagination-datatables li .page-item:first-child a,.page-item:first-child .pagination li a,.pagination li .page-item:first-child a,.pagination-datatables li:first-child .page-link,.pagination-datatables li:first-child a,.pagination li:first-child .page-link,.pagination li:first-child a{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link,.page-item:last-child .pagination-datatables li a,.pagination-datatables li .page-item:last-child a,.page-item:last-child .pagination li a,.pagination li .page-item:last-child a,.pagination-datatables li:last-child .page-link,.pagination-datatables li:last-child a,.pagination li:last-child .page-link,.pagination li:last-child a{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link,.page-item.active .pagination-datatables li a,.pagination-datatables li .page-item.active a,.page-item.active .pagination li a,.pagination li .page-item.active a,.pagination-datatables li.active .page-link,.pagination-datatables li.active a,.pagination li.active .page-link,.pagination li.active a{z-index:3;color:#fff;background-color:#039;border-color:#039}.page-item.disabled .page-link,.page-item.disabled .pagination-datatables li a,.pagination-datatables li .page-item.disabled a,.page-item.disabled .pagination li a,.pagination li .page-item.disabled a,.pagination-datatables li.disabled .page-link,.pagination-datatables li.disabled a,.pagination li.disabled .page-link,.pagination li.disabled a{color:#536c79;pointer-events:none;cursor:auto;background-color:#fff;border-color:#a4b7c1}.pagination-lg .page-link,.pagination-lg .pagination-datatables li a,.pagination-datatables li .pagination-lg a,.pagination-lg .pagination li a,.pagination li .pagination-lg a{padding:.75rem 1.5rem;font-size:1.09375rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link,.pagination-lg .page-item:first-child .pagination-datatables li a,.pagination-datatables li .pagination-lg .page-item:first-child a,.pagination-lg .page-item:first-child .pagination li a,.pagination li .pagination-lg .page-item:first-child a,.pagination-lg .pagination-datatables li:first-child .page-link,.pagination-lg .pagination-datatables li:first-child a,.pagination-datatables .pagination-lg li:first-child .page-link,.pagination-datatables .pagination-lg li:first-child a,.pagination-lg .pagination li:first-child .page-link,.pagination-lg .pagination li:first-child a,.pagination .pagination-lg li:first-child .page-link,.pagination .pagination-lg li:first-child a{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link,.pagination-lg .page-item:last-child .pagination-datatables li a,.pagination-datatables li .pagination-lg .page-item:last-child a,.pagination-lg .page-item:last-child .pagination li a,.pagination li .pagination-lg .page-item:last-child a,.pagination-lg .pagination-datatables li:last-child .page-link,.pagination-lg .pagination-datatables li:last-child a,.pagination-datatables .pagination-lg li:last-child .page-link,.pagination-datatables .pagination-lg li:last-child a,.pagination-lg .pagination li:last-child .page-link,.pagination-lg .pagination li:last-child a,.pagination .pagination-lg li:last-child .page-link,.pagination .pagination-lg li:last-child a{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link,.pagination-sm .pagination-datatables li a,.pagination-datatables li .pagination-sm a,.pagination-sm .pagination li a,.pagination li .pagination-sm a{padding:.25rem .5rem;font-size:0.765625rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link,.pagination-sm .page-item:first-child .pagination-datatables li a,.pagination-datatables li .pagination-sm .page-item:first-child a,.pagination-sm .page-item:first-child .pagination li a,.pagination li .pagination-sm .page-item:first-child a,.pagination-sm .pagination-datatables li:first-child .page-link,.pagination-sm .pagination-datatables li:first-child a,.pagination-datatables .pagination-sm li:first-child .page-link,.pagination-datatables .pagination-sm li:first-child a,.pagination-sm .pagination li:first-child .page-link,.pagination-sm .pagination li:first-child a,.pagination .pagination-sm li:first-child .page-link,.pagination .pagination-sm li:first-child a{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link,.pagination-sm .page-item:last-child .pagination-datatables li a,.pagination-datatables li .pagination-sm .page-item:last-child a,.pagination-sm .page-item:last-child .pagination li a,.pagination li .pagination-sm .page-item:last-child a,.pagination-sm .pagination-datatables li:last-child .page-link,.pagination-sm .pagination-datatables li:last-child a,.pagination-datatables .pagination-sm li:last-child .page-link,.pagination-datatables .pagination-sm li:last-child a,.pagination-sm .pagination li:last-child .page-link,.pagination-sm .pagination li:last-child a,.pagination .pagination-sm li:last-child .page-link,.pagination .pagination-sm li:last-child a{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.badge{transition:none}}a.badge:hover,a.badge:focus{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#039}a.badge-primary:hover,a.badge-primary:focus{color:#fff;background-color:#026}a.badge-primary:focus,a.badge-primary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,51,153,.5)}.badge-secondary{color:#fff;background-color:#3e515b}a.badge-secondary:hover,a.badge-secondary:focus{color:#fff;background-color:rgb(41.3333333333,54,60.6666666667)}a.badge-secondary:focus,a.badge-secondary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(62,81,91,.5)}.badge-success{color:#fff;background-color:#4dbd74}a.badge-success:hover,a.badge-success:focus{color:#fff;background-color:rgb(58.1557377049,156.8442622951,92.5204918033)}a.badge-success:focus,a.badge-success.focus{outline:0;box-shadow:0 0 0 .2rem rgba(77,189,116,.5)}.badge-info{color:#151b1e;background-color:#63c2de}a.badge-info:hover,a.badge-info:focus{color:#151b1e;background-color:rgb(56.9047619048,177.5396825397,213.0952380952)}a.badge-info:focus,a.badge-info.focus{outline:0;box-shadow:0 0 0 .2rem rgba(99,194,222,.5)}.badge-warning{color:#151b1e;background-color:#fc0}a.badge-warning:hover,a.badge-warning:focus{color:#151b1e;background-color:rgb(204,163.2,0)}a.badge-warning:focus,a.badge-warning.focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,204,0,.5)}.badge-danger{color:#fff;background-color:#f86c6b}a.badge-danger:hover,a.badge-danger:focus{color:#fff;background-color:hsl(.4255319149,90.9677419355%,59.6078431373%)}a.badge-danger:focus,a.badge-danger.focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,108,107,.5)}.badge-light{color:#151b1e;background-color:#c2cfd6}a.badge-light:hover,a.badge-light:focus{color:#151b1e;background-color:rgb(163.5,183,193.5)}a.badge-light:focus,a.badge-light.focus{outline:0;box-shadow:0 0 0 .2rem rgba(194,207,214,.5)}.badge-dark{color:#fff;background-color:#29363d}a.badge-dark:hover,a.badge-dark:focus{color:#fff;background-color:rgb(20.5,27,30.5)}a.badge-dark:focus,a.badge-dark.focus{outline:0;box-shadow:0 0 0 .2rem rgba(41,54,61,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#c2cfd6;border-radius:.3rem}@media(min-width: 576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid rgba(0,0,0,0);border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3.8125rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:rgb(0,26.52,79.56);background-color:rgb(204,214.2,234.6);border-color:rgb(183.6,197.88,226.44)}.alert-primary hr{border-top-color:hsl(220,42.8571428571%,75.4%)}.alert-primary .alert-link{color:rgb(0,9.52,28.56)}.alert-secondary{color:rgb(32.24,42.12,47.32);background-color:rgb(216.4,220.2,222.2);border-color:rgb(200.96,206.28,209.08)}.alert-secondary hr{border-top-color:hsl(200.6896551724,8.1232492997%,75.4%)}.alert-secondary .alert-link{color:rgb(11.5733333333,15.12,16.9866666667)}.alert-success{color:rgb(40.04,98.28,60.32);background-color:rgb(219.4,241.8,227.2);border-color:rgb(205.16,236.52,216.08)}.alert-success hr{border-top-color:rgb(186.5575409836,229.6224590164,201.5533606557)}.alert-success .alert-link{color:rgb(25.2768421053,62.0431578947,38.0793984962)}.alert-info{color:rgb(51.48,100.88,115.44);background-color:rgb(223.8,242.8,248.4);border-color:rgb(211.32,237.92,245.76)}.alert-info hr{border-top-color:rgb(190.2723809524,229.6898412698,241.3076190476)}.alert-info .alert-link{color:rgb(35.7510280374,70.0575700935,80.1689719626)}.alert-warning{color:hsl(48,100%,26%);background-color:hsl(48,100%,90%);border-color:hsl(48,100%,86%)}.alert-warning hr{border-top-color:hsl(48,100%,81%)}.alert-warning .alert-link{color:hsl(48,100%,16%)}.alert-danger{color:rgb(128.96,56.16,55.64);background-color:rgb(253.6,225.6,225.4);border-color:rgb(253.04,213.84,213.56)}.alert-danger hr{border-top-color:hsl(.4255319149,90.9677419355%,86.4901960784%)}.alert-danger .alert-link{color:rgb(93.3318309859,40.6445070423,40.2681690141)}.alert-light{color:rgb(100.88,107.64,111.28);background-color:rgb(242.8,245.4,246.8);border-color:rgb(237.92,241.56,243.52)}.alert-light hr{border-top-color:rgb(222.67,229.56,233.27)}.alert-light .alert-link{color:rgb(76.63,81.765,84.53)}.alert-dark{color:rgb(21.32,28.08,31.72);background-color:rgb(212.2,214.8,216.2);border-color:rgb(195.08,198.72,200.68)}.alert-dark hr{border-top-color:hsl(201,4.9019607843%,72.6%)}.alert-dark .alert-link{color:rgb(.82,1.08,1.22)}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;overflow:hidden;line-height:0;font-size:0.65625rem;background-color:#f0f3f5;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#039;transition:width .6s ease}@media(prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#3e515b;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#3e515b;text-decoration:none;background-color:#f0f3f5}.list-group-item-action:active{color:#151b1e;background-color:#c2cfd6}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#536c79;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#039;border-color:#039}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:rgb(0,26.52,79.56);background-color:rgb(183.6,197.88,226.44)}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:rgb(0,26.52,79.56);background-color:hsl(220,42.8571428571%,75.4%)}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:rgb(0,26.52,79.56);border-color:rgb(0,26.52,79.56)}.list-group-item-secondary{color:rgb(32.24,42.12,47.32);background-color:rgb(200.96,206.28,209.08)}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:rgb(32.24,42.12,47.32);background-color:hsl(200.6896551724,8.1232492997%,75.4%)}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:rgb(32.24,42.12,47.32);border-color:rgb(32.24,42.12,47.32)}.list-group-item-success{color:rgb(40.04,98.28,60.32);background-color:rgb(205.16,236.52,216.08)}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:rgb(40.04,98.28,60.32);background-color:rgb(186.5575409836,229.6224590164,201.5533606557)}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:rgb(40.04,98.28,60.32);border-color:rgb(40.04,98.28,60.32)}.list-group-item-info{color:rgb(51.48,100.88,115.44);background-color:rgb(211.32,237.92,245.76)}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:rgb(51.48,100.88,115.44);background-color:rgb(190.2723809524,229.6898412698,241.3076190476)}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:rgb(51.48,100.88,115.44);border-color:rgb(51.48,100.88,115.44)}.list-group-item-warning{color:hsl(48,100%,26%);background-color:hsl(48,100%,86%)}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:hsl(48,100%,26%);background-color:hsl(48,100%,81%)}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:hsl(48,100%,26%);border-color:hsl(48,100%,26%)}.list-group-item-danger{color:rgb(128.96,56.16,55.64);background-color:rgb(253.04,213.84,213.56)}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:rgb(128.96,56.16,55.64);background-color:hsl(.4255319149,90.9677419355%,86.4901960784%)}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:rgb(128.96,56.16,55.64);border-color:rgb(128.96,56.16,55.64)}.list-group-item-light{color:rgb(100.88,107.64,111.28);background-color:rgb(237.92,241.56,243.52)}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:rgb(100.88,107.64,111.28);background-color:rgb(222.67,229.56,233.27)}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:rgb(100.88,107.64,111.28);border-color:rgb(100.88,107.64,111.28)}.list-group-item-dark{color:rgb(21.32,28.08,31.72);background-color:rgb(195.08,198.72,200.68)}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:rgb(21.32,28.08,31.72);background-color:hsl(201,4.9019607843%,72.6%)}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:rgb(21.32,28.08,31.72);border-color:rgb(21.32,28.08,31.72)}.close{float:right;font-size:1.3125rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):hover,.close:not(:disabled):not(.disabled):focus{opacity:.75}button.close{padding:0;background-color:rgba(0,0,0,0);border:0}a.close.disabled{pointer-events:none}.toast{flex-basis:350px;max-width:350px;font-size:0.875rem;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#536c79;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0, -50px)}@media(prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-header,.modal-dialog-scrollable .modal-footer{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:min-content;content:\"\"}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #a4b7c1;border-top-left-radius:calc(0.3rem - 1px);border-top-right-radius:calc(0.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #a4b7c1;border-bottom-right-radius:calc(0.3rem - 1px);border-bottom-left-radius:calc(0.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media(min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:min-content}.modal-sm{max-width:300px}}@media(min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media(min-width: 1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",\"Liberation Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:0.765625rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:\"\";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",\"Liberation Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:0.765625rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::before,.popover .arrow::after{position:absolute;display:block;content:\"\";border-color:rgba(0,0,0,0);border-style:solid}.bs-popover-top,.bs-popover-auto[x-placement^=top]{margin-bottom:.5rem}.bs-popover-top>.arrow,.bs-popover-auto[x-placement^=top]>.arrow{bottom:calc(-0.5rem - 1px)}.bs-popover-top>.arrow::before,.bs-popover-auto[x-placement^=top]>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-top>.arrow::after,.bs-popover-auto[x-placement^=top]>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-right,.bs-popover-auto[x-placement^=right]{margin-left:.5rem}.bs-popover-right>.arrow,.bs-popover-auto[x-placement^=right]>.arrow{left:calc(-0.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-right>.arrow::before,.bs-popover-auto[x-placement^=right]>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-right>.arrow::after,.bs-popover-auto[x-placement^=right]>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom,.bs-popover-auto[x-placement^=bottom]{margin-top:.5rem}.bs-popover-bottom>.arrow,.bs-popover-auto[x-placement^=bottom]>.arrow{top:calc(-0.5rem - 1px)}.bs-popover-bottom>.arrow::before,.bs-popover-auto[x-placement^=bottom]>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-bottom>.arrow::after,.bs-popover-auto[x-placement^=bottom]>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[x-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-0.5rem;content:\"\";border-bottom:1px solid hsl(0,0%,97%)}.bs-popover-left,.bs-popover-auto[x-placement^=left]{margin-right:.5rem}.bs-popover-left>.arrow,.bs-popover-auto[x-placement^=left]>.arrow{right:calc(-0.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-left>.arrow::before,.bs-popover-auto[x-placement^=left]>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-left>.arrow::after,.bs-popover-auto[x-placement^=left]>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:0.875rem;background-color:hsl(0,0%,97%);border-bottom:1px solid hsl(0,0%,92%);border-top-left-radius:calc(0.3rem - 1px);border-top-right-radius:calc(0.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#151b1e}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:\"\"}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-left),.active.carousel-item-right{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-right),.active.carousel-item-left{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\")}.carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid rgba(0,0,0,0);border-bottom:10px solid rgba(0,0,0,0);opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion: reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-0.125em;border:.25em solid currentcolor;border-right-color:rgba(0,0,0,0);border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-0.125em;background-color:currentcolor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media(prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.bg-primary{background-color:#039 !important}a.bg-primary:hover,a.bg-primary:focus,button.bg-primary:hover,button.bg-primary:focus{background-color:#026 !important}.bg-secondary{background-color:#3e515b !important}a.bg-secondary:hover,a.bg-secondary:focus,button.bg-secondary:hover,button.bg-secondary:focus{background-color:rgb(41.3333333333,54,60.6666666667) !important}.bg-success{background-color:#4dbd74 !important}a.bg-success:hover,a.bg-success:focus,button.bg-success:hover,button.bg-success:focus{background-color:rgb(58.1557377049,156.8442622951,92.5204918033) !important}.bg-info{background-color:#63c2de !important}a.bg-info:hover,a.bg-info:focus,button.bg-info:hover,button.bg-info:focus{background-color:rgb(56.9047619048,177.5396825397,213.0952380952) !important}.bg-warning{background-color:#fc0 !important}a.bg-warning:hover,a.bg-warning:focus,button.bg-warning:hover,button.bg-warning:focus{background-color:rgb(204,163.2,0) !important}.bg-danger{background-color:#f86c6b !important}a.bg-danger:hover,a.bg-danger:focus,button.bg-danger:hover,button.bg-danger:focus{background-color:hsl(.4255319149,90.9677419355%,59.6078431373%) !important}.bg-light{background-color:#c2cfd6 !important}a.bg-light:hover,a.bg-light:focus,button.bg-light:hover,button.bg-light:focus{background-color:rgb(163.5,183,193.5) !important}.bg-dark{background-color:#29363d !important}a.bg-dark:hover,a.bg-dark:focus,button.bg-dark:hover,button.bg-dark:focus{background-color:rgb(20.5,27,30.5) !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:rgba(0,0,0,0) !important}.border{border:1px solid #a4b7c1 !important}.border-top{border-top:1px solid #a4b7c1 !important}.border-right{border-right:1px solid #a4b7c1 !important}.border-bottom{border-bottom:1px solid #a4b7c1 !important}.border-left{border-left:1px solid #a4b7c1 !important}.border-0{border:0 !important}.border-top-0{border-top:0 !important}.border-right-0{border-right:0 !important}.border-bottom-0{border-bottom:0 !important}.border-left-0{border-left:0 !important}.border-primary{border-color:#039 !important}.border-secondary{border-color:#3e515b !important}.border-success{border-color:#4dbd74 !important}.border-info{border-color:#63c2de !important}.border-warning{border-color:#fc0 !important}.border-danger{border-color:#f86c6b !important}.border-light{border-color:#c2cfd6 !important}.border-dark{border-color:#29363d !important}.border-white{border-color:#fff !important}.rounded-sm{border-radius:.2rem !important}.rounded{border-radius:.25rem !important}.rounded-top{border-top-left-radius:.25rem !important;border-top-right-radius:.25rem !important}.rounded-right{border-top-right-radius:.25rem !important;border-bottom-right-radius:.25rem !important}.rounded-bottom{border-bottom-right-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-left{border-top-left-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-lg{border-radius:.3rem !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-0{border-radius:0 !important}.clearfix::after{display:block;clear:both;content:\"\"}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}@media(min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}}@media(min-width: 768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}}@media(min-width: 992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}}@media(min-width: 1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:\"\"}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.85714286%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-fill{flex:1 1 auto !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}@media(min-width: 576px){.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}}@media(min-width: 768px){.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}}@media(min-width: 992px){.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}}@media(min-width: 1200px){.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media(min-width: 576px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media(min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media(min-width: 992px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media(min-width: 1200px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports(position: sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075) !important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175) !important}.shadow-none{box-shadow:none !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.mh-100{max-height:100% !important}.min-vw-100{min-width:100vw !important}.min-vh-100{min-height:100vh !important}.vw-100{width:100vw !important}.vh-100{height:100vh !important}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-n1{margin:-0.25rem !important}.mt-n1,.my-n1{margin-top:-0.25rem !important}.mr-n1,.mx-n1{margin-right:-0.25rem !important}.mb-n1,.my-n1{margin-bottom:-0.25rem !important}.ml-n1,.mx-n1{margin-left:-0.25rem !important}.m-n2{margin:-0.5rem !important}.mt-n2,.my-n2{margin-top:-0.5rem !important}.mr-n2,.mx-n2{margin-right:-0.5rem !important}.mb-n2,.my-n2{margin-bottom:-0.5rem !important}.ml-n2,.mx-n2{margin-left:-0.5rem !important}.m-n3{margin:-1rem !important}.mt-n3,.my-n3{margin-top:-1rem !important}.mr-n3,.mx-n3{margin-right:-1rem !important}.mb-n3,.my-n3{margin-bottom:-1rem !important}.ml-n3,.mx-n3{margin-left:-1rem !important}.m-n4{margin:-1.5rem !important}.mt-n4,.my-n4{margin-top:-1.5rem !important}.mr-n4,.mx-n4{margin-right:-1.5rem !important}.mb-n4,.my-n4{margin-bottom:-1.5rem !important}.ml-n4,.mx-n4{margin-left:-1.5rem !important}.m-n5{margin:-3rem !important}.mt-n5,.my-n5{margin-top:-3rem !important}.mr-n5,.mx-n5{margin-right:-3rem !important}.mb-n5,.my-n5{margin-bottom:-3rem !important}.ml-n5,.mx-n5{margin-left:-3rem !important}.m-auto{margin:auto !important}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media(min-width: 576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:.25rem !important}.mt-sm-1,.my-sm-1{margin-top:.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:.25rem !important}.m-sm-2{margin:.5rem !important}.mt-sm-2,.my-sm-2{margin-top:.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:.5rem !important}.m-sm-3{margin:1rem !important}.mt-sm-3,.my-sm-3{margin-top:1rem !important}.mr-sm-3,.mx-sm-3{margin-right:1rem !important}.mb-sm-3,.my-sm-3{margin-bottom:1rem !important}.ml-sm-3,.mx-sm-3{margin-left:1rem !important}.m-sm-4{margin:1.5rem !important}.mt-sm-4,.my-sm-4{margin-top:1.5rem !important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem !important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem !important}.m-sm-5{margin:3rem !important}.mt-sm-5,.my-sm-5{margin-top:3rem !important}.mr-sm-5,.mx-sm-5{margin-right:3rem !important}.mb-sm-5,.my-sm-5{margin-bottom:3rem !important}.ml-sm-5,.mx-sm-5{margin-left:3rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:.25rem !important}.pt-sm-1,.py-sm-1{padding-top:.25rem !important}.pr-sm-1,.px-sm-1{padding-right:.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem !important}.pl-sm-1,.px-sm-1{padding-left:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2,.py-sm-2{padding-top:.5rem !important}.pr-sm-2,.px-sm-2{padding-right:.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem !important}.pl-sm-2,.px-sm-2{padding-left:.5rem !important}.p-sm-3{padding:1rem !important}.pt-sm-3,.py-sm-3{padding-top:1rem !important}.pr-sm-3,.px-sm-3{padding-right:1rem !important}.pb-sm-3,.py-sm-3{padding-bottom:1rem !important}.pl-sm-3,.px-sm-3{padding-left:1rem !important}.p-sm-4{padding:1.5rem !important}.pt-sm-4,.py-sm-4{padding-top:1.5rem !important}.pr-sm-4,.px-sm-4{padding-right:1.5rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem !important}.pl-sm-4,.px-sm-4{padding-left:1.5rem !important}.p-sm-5{padding:3rem !important}.pt-sm-5,.py-sm-5{padding-top:3rem !important}.pr-sm-5,.px-sm-5{padding-right:3rem !important}.pb-sm-5,.py-sm-5{padding-bottom:3rem !important}.pl-sm-5,.px-sm-5{padding-left:3rem !important}.m-sm-n1{margin:-0.25rem !important}.mt-sm-n1,.my-sm-n1{margin-top:-0.25rem !important}.mr-sm-n1,.mx-sm-n1{margin-right:-0.25rem !important}.mb-sm-n1,.my-sm-n1{margin-bottom:-0.25rem !important}.ml-sm-n1,.mx-sm-n1{margin-left:-0.25rem !important}.m-sm-n2{margin:-0.5rem !important}.mt-sm-n2,.my-sm-n2{margin-top:-0.5rem !important}.mr-sm-n2,.mx-sm-n2{margin-right:-0.5rem !important}.mb-sm-n2,.my-sm-n2{margin-bottom:-0.5rem !important}.ml-sm-n2,.mx-sm-n2{margin-left:-0.5rem !important}.m-sm-n3{margin:-1rem !important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem !important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem !important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem !important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem !important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem !important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem !important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem !important}.m-sm-n5{margin:-3rem !important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem !important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem !important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem !important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem !important}.m-sm-auto{margin:auto !important}.mt-sm-auto,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media(min-width: 768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:.25rem !important}.mt-md-1,.my-md-1{margin-top:.25rem !important}.mr-md-1,.mx-md-1{margin-right:.25rem !important}.mb-md-1,.my-md-1{margin-bottom:.25rem !important}.ml-md-1,.mx-md-1{margin-left:.25rem !important}.m-md-2{margin:.5rem !important}.mt-md-2,.my-md-2{margin-top:.5rem !important}.mr-md-2,.mx-md-2{margin-right:.5rem !important}.mb-md-2,.my-md-2{margin-bottom:.5rem !important}.ml-md-2,.mx-md-2{margin-left:.5rem !important}.m-md-3{margin:1rem !important}.mt-md-3,.my-md-3{margin-top:1rem !important}.mr-md-3,.mx-md-3{margin-right:1rem !important}.mb-md-3,.my-md-3{margin-bottom:1rem !important}.ml-md-3,.mx-md-3{margin-left:1rem !important}.m-md-4{margin:1.5rem !important}.mt-md-4,.my-md-4{margin-top:1.5rem !important}.mr-md-4,.mx-md-4{margin-right:1.5rem !important}.mb-md-4,.my-md-4{margin-bottom:1.5rem !important}.ml-md-4,.mx-md-4{margin-left:1.5rem !important}.m-md-5{margin:3rem !important}.mt-md-5,.my-md-5{margin-top:3rem !important}.mr-md-5,.mx-md-5{margin-right:3rem !important}.mb-md-5,.my-md-5{margin-bottom:3rem !important}.ml-md-5,.mx-md-5{margin-left:3rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:.25rem !important}.pt-md-1,.py-md-1{padding-top:.25rem !important}.pr-md-1,.px-md-1{padding-right:.25rem !important}.pb-md-1,.py-md-1{padding-bottom:.25rem !important}.pl-md-1,.px-md-1{padding-left:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2,.py-md-2{padding-top:.5rem !important}.pr-md-2,.px-md-2{padding-right:.5rem !important}.pb-md-2,.py-md-2{padding-bottom:.5rem !important}.pl-md-2,.px-md-2{padding-left:.5rem !important}.p-md-3{padding:1rem !important}.pt-md-3,.py-md-3{padding-top:1rem !important}.pr-md-3,.px-md-3{padding-right:1rem !important}.pb-md-3,.py-md-3{padding-bottom:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.p-md-4{padding:1.5rem !important}.pt-md-4,.py-md-4{padding-top:1.5rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pb-md-4,.py-md-4{padding-bottom:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}.p-md-5{padding:3rem !important}.pt-md-5,.py-md-5{padding-top:3rem !important}.pr-md-5,.px-md-5{padding-right:3rem !important}.pb-md-5,.py-md-5{padding-bottom:3rem !important}.pl-md-5,.px-md-5{padding-left:3rem !important}.m-md-n1{margin:-0.25rem !important}.mt-md-n1,.my-md-n1{margin-top:-0.25rem !important}.mr-md-n1,.mx-md-n1{margin-right:-0.25rem !important}.mb-md-n1,.my-md-n1{margin-bottom:-0.25rem !important}.ml-md-n1,.mx-md-n1{margin-left:-0.25rem !important}.m-md-n2{margin:-0.5rem !important}.mt-md-n2,.my-md-n2{margin-top:-0.5rem !important}.mr-md-n2,.mx-md-n2{margin-right:-0.5rem !important}.mb-md-n2,.my-md-n2{margin-bottom:-0.5rem !important}.ml-md-n2,.mx-md-n2{margin-left:-0.5rem !important}.m-md-n3{margin:-1rem !important}.mt-md-n3,.my-md-n3{margin-top:-1rem !important}.mr-md-n3,.mx-md-n3{margin-right:-1rem !important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem !important}.ml-md-n3,.mx-md-n3{margin-left:-1rem !important}.m-md-n4{margin:-1.5rem !important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem !important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem !important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem !important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem !important}.m-md-n5{margin:-3rem !important}.mt-md-n5,.my-md-n5{margin-top:-3rem !important}.mr-md-n5,.mx-md-n5{margin-right:-3rem !important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem !important}.ml-md-n5,.mx-md-n5{margin-left:-3rem !important}.m-md-auto{margin:auto !important}.mt-md-auto,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media(min-width: 992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:.25rem !important}.mt-lg-1,.my-lg-1{margin-top:.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:.25rem !important}.m-lg-2{margin:.5rem !important}.mt-lg-2,.my-lg-2{margin-top:.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:.5rem !important}.m-lg-3{margin:1rem !important}.mt-lg-3,.my-lg-3{margin-top:1rem !important}.mr-lg-3,.mx-lg-3{margin-right:1rem !important}.mb-lg-3,.my-lg-3{margin-bottom:1rem !important}.ml-lg-3,.mx-lg-3{margin-left:1rem !important}.m-lg-4{margin:1.5rem !important}.mt-lg-4,.my-lg-4{margin-top:1.5rem !important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem !important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem !important}.m-lg-5{margin:3rem !important}.mt-lg-5,.my-lg-5{margin-top:3rem !important}.mr-lg-5,.mx-lg-5{margin-right:3rem !important}.mb-lg-5,.my-lg-5{margin-bottom:3rem !important}.ml-lg-5,.mx-lg-5{margin-left:3rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:.25rem !important}.pt-lg-1,.py-lg-1{padding-top:.25rem !important}.pr-lg-1,.px-lg-1{padding-right:.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem !important}.pl-lg-1,.px-lg-1{padding-left:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2,.py-lg-2{padding-top:.5rem !important}.pr-lg-2,.px-lg-2{padding-right:.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem !important}.pl-lg-2,.px-lg-2{padding-left:.5rem !important}.p-lg-3{padding:1rem !important}.pt-lg-3,.py-lg-3{padding-top:1rem !important}.pr-lg-3,.px-lg-3{padding-right:1rem !important}.pb-lg-3,.py-lg-3{padding-bottom:1rem !important}.pl-lg-3,.px-lg-3{padding-left:1rem !important}.p-lg-4{padding:1.5rem !important}.pt-lg-4,.py-lg-4{padding-top:1.5rem !important}.pr-lg-4,.px-lg-4{padding-right:1.5rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem !important}.pl-lg-4,.px-lg-4{padding-left:1.5rem !important}.p-lg-5{padding:3rem !important}.pt-lg-5,.py-lg-5{padding-top:3rem !important}.pr-lg-5,.px-lg-5{padding-right:3rem !important}.pb-lg-5,.py-lg-5{padding-bottom:3rem !important}.pl-lg-5,.px-lg-5{padding-left:3rem !important}.m-lg-n1{margin:-0.25rem !important}.mt-lg-n1,.my-lg-n1{margin-top:-0.25rem !important}.mr-lg-n1,.mx-lg-n1{margin-right:-0.25rem !important}.mb-lg-n1,.my-lg-n1{margin-bottom:-0.25rem !important}.ml-lg-n1,.mx-lg-n1{margin-left:-0.25rem !important}.m-lg-n2{margin:-0.5rem !important}.mt-lg-n2,.my-lg-n2{margin-top:-0.5rem !important}.mr-lg-n2,.mx-lg-n2{margin-right:-0.5rem !important}.mb-lg-n2,.my-lg-n2{margin-bottom:-0.5rem !important}.ml-lg-n2,.mx-lg-n2{margin-left:-0.5rem !important}.m-lg-n3{margin:-1rem !important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem !important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem !important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem !important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem !important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem !important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem !important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem !important}.m-lg-n5{margin:-3rem !important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem !important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem !important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem !important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem !important}.m-lg-auto{margin:auto !important}.mt-lg-auto,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media(min-width: 1200px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:.25rem !important}.mt-xl-1,.my-xl-1{margin-top:.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:.25rem !important}.m-xl-2{margin:.5rem !important}.mt-xl-2,.my-xl-2{margin-top:.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:.5rem !important}.m-xl-3{margin:1rem !important}.mt-xl-3,.my-xl-3{margin-top:1rem !important}.mr-xl-3,.mx-xl-3{margin-right:1rem !important}.mb-xl-3,.my-xl-3{margin-bottom:1rem !important}.ml-xl-3,.mx-xl-3{margin-left:1rem !important}.m-xl-4{margin:1.5rem !important}.mt-xl-4,.my-xl-4{margin-top:1.5rem !important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem !important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem !important}.m-xl-5{margin:3rem !important}.mt-xl-5,.my-xl-5{margin-top:3rem !important}.mr-xl-5,.mx-xl-5{margin-right:3rem !important}.mb-xl-5,.my-xl-5{margin-bottom:3rem !important}.ml-xl-5,.mx-xl-5{margin-left:3rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:.25rem !important}.pt-xl-1,.py-xl-1{padding-top:.25rem !important}.pr-xl-1,.px-xl-1{padding-right:.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem !important}.pl-xl-1,.px-xl-1{padding-left:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2,.py-xl-2{padding-top:.5rem !important}.pr-xl-2,.px-xl-2{padding-right:.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem !important}.pl-xl-2,.px-xl-2{padding-left:.5rem !important}.p-xl-3{padding:1rem !important}.pt-xl-3,.py-xl-3{padding-top:1rem !important}.pr-xl-3,.px-xl-3{padding-right:1rem !important}.pb-xl-3,.py-xl-3{padding-bottom:1rem !important}.pl-xl-3,.px-xl-3{padding-left:1rem !important}.p-xl-4{padding:1.5rem !important}.pt-xl-4,.py-xl-4{padding-top:1.5rem !important}.pr-xl-4,.px-xl-4{padding-right:1.5rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem !important}.pl-xl-4,.px-xl-4{padding-left:1.5rem !important}.p-xl-5{padding:3rem !important}.pt-xl-5,.py-xl-5{padding-top:3rem !important}.pr-xl-5,.px-xl-5{padding-right:3rem !important}.pb-xl-5,.py-xl-5{padding-bottom:3rem !important}.pl-xl-5,.px-xl-5{padding-left:3rem !important}.m-xl-n1{margin:-0.25rem !important}.mt-xl-n1,.my-xl-n1{margin-top:-0.25rem !important}.mr-xl-n1,.mx-xl-n1{margin-right:-0.25rem !important}.mb-xl-n1,.my-xl-n1{margin-bottom:-0.25rem !important}.ml-xl-n1,.mx-xl-n1{margin-left:-0.25rem !important}.m-xl-n2{margin:-0.5rem !important}.mt-xl-n2,.my-xl-n2{margin-top:-0.5rem !important}.mr-xl-n2,.mx-xl-n2{margin-right:-0.5rem !important}.mb-xl-n2,.my-xl-n2{margin-bottom:-0.5rem !important}.ml-xl-n2,.mx-xl-n2{margin-left:-0.5rem !important}.m-xl-n3{margin:-1rem !important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem !important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem !important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem !important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem !important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem !important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem !important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem !important}.m-xl-n5{margin:-3rem !important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem !important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem !important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem !important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem !important}.m-xl-auto{margin:auto !important}.mt-xl-auto,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:\"\";background-color:rgba(0,0,0,0)}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace !important}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media(min-width: 576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width: 768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width: 992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width: 1200px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light{font-weight:300 !important}.font-weight-lighter{font-weight:lighter !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-weight-bolder{font-weight:bolder !important}.font-italic{font-style:italic !important}.text-white{color:#fff !important}.text-primary{color:#039 !important}a.text-primary:hover,a.text-primary:focus{color:rgb(0,25.5,76.5) !important}.text-secondary{color:#3e515b !important}a.text-secondary:hover,a.text-secondary:focus{color:rgb(31,40.5,45.5) !important}.text-success{color:#4dbd74 !important}a.text-success:hover,a.text-success:focus{color:rgb(51.2581967213,138.2418032787,81.5471311475) !important}.text-info{color:#63c2de !important}a.text-info:hover,a.text-info:focus{color:rgb(42.6904761905,165.5873015873,201.8095238095) !important}.text-warning{color:#fc0 !important}a.text-warning:hover,a.text-warning:focus{color:hsl(48,100%,35%) !important}.text-danger{color:#f86c6b !important}a.text-danger:hover,a.text-danger:focus{color:hsl(.4255319149,90.9677419355%,54.6078431373%) !important}.text-light{color:#c2cfd6 !important}a.text-light:hover,a.text-light:focus{color:rgb(148.25,171,183.25) !important}.text-dark{color:#29363d !important}a.text-dark:hover,a.text-dark:focus{color:rgb(10.25,13.5,15.25) !important}.text-body{color:#151b1e !important}.text-muted{color:#536c79 !important}.text-black-50{color:rgba(0,0,0,.5) !important}.text-white-50{color:hsla(0,0%,100%,.5) !important}.text-hide{font:0/0 a;color:rgba(0,0,0,0);text-shadow:none;background-color:rgba(0,0,0,0);border:0}.text-decoration-none{text-decoration:none !important}.text-break{word-break:break-word !important;word-wrap:break-word !important}.text-reset{color:inherit !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media print{*,*::before,*::after{text-shadow:none !important;box-shadow:none !important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:\" (\" attr(title) \")\"}pre{white-space:pre-wrap !important}pre,blockquote{border:1px solid #678898;page-break-inside:avoid}tr,img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px !important}.container{min-width:992px !important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #a4b7c1 !important}.table-dark{color:inherit}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#a4b7c1}.table .thead-dark th{color:inherit;border-color:#a4b7c1}}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.font-xs{font-size:.75rem !important}.font-sm{font-size:.85rem !important}.font-lg{font-size:1rem !important}.font-xl{font-size:1.25rem !important}.font-2xl{font-size:1.5rem !important}.font-3xl{font-size:1.75rem !important}.font-4xl{font-size:2rem !important}.font-5xl{font-size:2.5rem !important}.animated{animation-duration:1s}.animated.infinite{animation-iteration-count:infinite}.animated.hinge{animation-duration:2s}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fadeIn{animation-name:fadeIn}.aside-menu{z-index:1019;width:250px;color:#29363d;background:#fff;border-left:1px solid #a4b7c1}.aside-menu .nav-tabs{border-color:#a4b7c1}.aside-menu .nav-tabs .nav-link,.aside-menu .nav-tabs .navbar .dropdown-toggle,.navbar .aside-menu .nav-tabs .dropdown-toggle{padding:.75rem 1rem;color:#151b1e;border-top:0}.aside-menu .nav-tabs .nav-link.active,.aside-menu .nav-tabs .navbar .active.dropdown-toggle,.navbar .aside-menu .nav-tabs .active.dropdown-toggle{color:#039;border-right-color:#a4b7c1;border-left-color:#a4b7c1}.aside-menu .nav-tabs .nav-item:first-child .nav-link,.aside-menu .nav-tabs .nav-item:first-child .navbar .dropdown-toggle,.navbar .aside-menu .nav-tabs .nav-item:first-child .dropdown-toggle{border-left:0}.aside-menu .tab-content{position:relative;overflow-x:hidden;overflow-y:auto;border:0;border-top:1px solid #a4b7c1;-ms-overflow-style:-ms-autohiding-scrollbar}.aside-menu .tab-content::-webkit-scrollbar{width:10px;margin-left:-10px;-webkit-appearance:none}.aside-menu .tab-content::-webkit-scrollbar-track{background-color:#fff;border-right:1px solid hsl(0,0%,95%);border-left:1px solid hsl(0,0%,95%)}.aside-menu .tab-content::-webkit-scrollbar-thumb{height:50px;background-color:hsl(0,0%,90%);background-clip:content-box;border-color:rgba(0,0,0,0);border-style:solid;border-width:1px 2px}.aside-menu .tab-content .tab-pane{padding:0}.img-avatar{border-radius:50em}.avatar{position:relative;display:inline-block;width:36px}.avatar .img-avatar{width:36px;height:36px}.avatar .avatar-status{position:absolute;right:0;bottom:0;display:block;width:10px;height:10px;border:1px solid #fff;border-radius:50em}.avatar.avatar-xs{position:relative;display:inline-block;width:20px}.avatar.avatar-xs .img-avatar{width:20px;height:20px}.avatar.avatar-xs .avatar-status{position:absolute;right:0;bottom:0;display:block;width:8px;height:8px;border:1px solid #fff;border-radius:50em}.avatar.avatar-sm{position:relative;display:inline-block;width:24px}.avatar.avatar-sm .img-avatar{width:24px;height:24px}.avatar.avatar-sm .avatar-status{position:absolute;right:0;bottom:0;display:block;width:8px;height:8px;border:1px solid #fff;border-radius:50em}.avatar.avatar-lg{position:relative;display:inline-block;width:72px}.avatar.avatar-lg .img-avatar{width:72px;height:72px}.avatar.avatar-lg .avatar-status{position:absolute;right:0;bottom:0;display:block;width:12px;height:12px;border:1px solid #fff;border-radius:50em}.avatars-stack .avatar.avatar-xs{margin-right:-10px}.avatars-stack .avatar{margin-right:-15px;transition:margin-left .25s,margin-right .25s}.avatars-stack .avatar:hover{margin-right:0 !important}.badge-pill{border-radius:10rem}.breadcrumb-menu{margin-left:auto}.breadcrumb-menu::before{display:none}.breadcrumb-menu .btn-group{vertical-align:top}.breadcrumb-menu .btn{padding:0 .75rem;color:#536c79;vertical-align:top;border:0}.breadcrumb-menu .btn:hover,.breadcrumb-menu .btn.active{color:#151b1e;background:rgba(0,0,0,0)}.breadcrumb-menu .open .btn{color:#151b1e;background:rgba(0,0,0,0)}.breadcrumb-menu .dropdown-menu{min-width:180px;line-height:1.5}.breadcrumb{position:relative;border-bottom:1px solid #a4b7c1}button{cursor:pointer}.btn .badge{position:absolute;top:2px;right:6px;font-size:9px}.btn-transparent{color:#fff;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.btn [class^=icon-],.btn [class*=\" icon-\"]{display:inline-block;margin-top:-2px;vertical-align:middle}.btn-facebook,.btn-twitter,.btn-linkedin,.btn-flickr,.btn-tumblr,.btn-xing,.btn-github,.btn-html5,.btn-openid,.btn-stack-overflow,.btn-youtube,.btn-css3,.btn-dribbble,.btn-google-plus,.btn-instagram,.btn-pinterest,.btn-vk,.btn-yahoo,.btn-behance,.btn-dropbox,.btn-reddit,.btn-spotify,.btn-vine,.btn-foursquare,.btn-vimeo{position:relative;overflow:hidden;color:#fff !important;text-align:center;padding:.375rem .75rem;font-size:.875rem;line-height:1.5;border:0;border-radius:.25rem}.btn-facebook::before,.btn-twitter::before,.btn-linkedin::before,.btn-flickr::before,.btn-tumblr::before,.btn-xing::before,.btn-github::before,.btn-html5::before,.btn-openid::before,.btn-stack-overflow::before,.btn-youtube::before,.btn-css3::before,.btn-dribbble::before,.btn-google-plus::before,.btn-instagram::before,.btn-pinterest::before,.btn-vk::before,.btn-yahoo::before,.btn-behance::before,.btn-dropbox::before,.btn-reddit::before,.btn-spotify::before,.btn-vine::before,.btn-foursquare::before,.btn-vimeo::before{position:absolute;top:0;left:0;display:block;font-family:\"FontAwesome\";font-style:normal;font-weight:normal;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.btn-facebook:hover,.btn-twitter:hover,.btn-linkedin:hover,.btn-flickr:hover,.btn-tumblr:hover,.btn-xing:hover,.btn-github:hover,.btn-html5:hover,.btn-openid:hover,.btn-stack-overflow:hover,.btn-youtube:hover,.btn-css3:hover,.btn-dribbble:hover,.btn-google-plus:hover,.btn-instagram:hover,.btn-pinterest:hover,.btn-vk:hover,.btn-yahoo:hover,.btn-behance:hover,.btn-dropbox:hover,.btn-reddit:hover,.btn-spotify:hover,.btn-vine:hover,.btn-foursquare:hover,.btn-vimeo:hover{color:#fff}.btn-facebook.icon span,.btn-twitter.icon span,.btn-linkedin.icon span,.btn-flickr.icon span,.btn-tumblr.icon span,.btn-xing.icon span,.btn-github.icon span,.btn-html5.icon span,.btn-openid.icon span,.btn-stack-overflow.icon span,.btn-youtube.icon span,.btn-css3.icon span,.btn-dribbble.icon span,.btn-google-plus.icon span,.btn-instagram.icon span,.btn-pinterest.icon span,.btn-vk.icon span,.btn-yahoo.icon span,.btn-behance.icon span,.btn-dropbox.icon span,.btn-reddit.icon span,.btn-spotify.icon span,.btn-vine.icon span,.btn-foursquare.icon span,.btn-vimeo.icon span{display:none}.btn-facebook.text::before,.btn-twitter.text::before,.btn-linkedin.text::before,.btn-flickr.text::before,.btn-tumblr.text::before,.btn-xing.text::before,.btn-github.text::before,.btn-html5.text::before,.btn-openid.text::before,.btn-stack-overflow.text::before,.btn-youtube.text::before,.btn-css3.text::before,.btn-dribbble.text::before,.btn-google-plus.text::before,.btn-instagram.text::before,.btn-pinterest.text::before,.btn-vk.text::before,.btn-yahoo.text::before,.btn-behance.text::before,.btn-dropbox.text::before,.btn-reddit.text::before,.btn-spotify.text::before,.btn-vine.text::before,.btn-foursquare.text::before,.btn-vimeo.text::before{display:none}.btn-facebook.text span,.btn-twitter.text span,.btn-linkedin.text span,.btn-flickr.text span,.btn-tumblr.text span,.btn-xing.text span,.btn-github.text span,.btn-html5.text span,.btn-openid.text span,.btn-stack-overflow.text span,.btn-youtube.text span,.btn-css3.text span,.btn-dribbble.text span,.btn-google-plus.text span,.btn-instagram.text span,.btn-pinterest.text span,.btn-vk.text span,.btn-yahoo.text span,.btn-behance.text span,.btn-dropbox.text span,.btn-reddit.text span,.btn-spotify.text span,.btn-vine.text span,.btn-foursquare.text span,.btn-vimeo.text span{margin-left:0 !important}.btn-facebook::before,.btn-twitter::before,.btn-linkedin::before,.btn-flickr::before,.btn-tumblr::before,.btn-xing::before,.btn-github::before,.btn-html5::before,.btn-openid::before,.btn-stack-overflow::before,.btn-youtube::before,.btn-css3::before,.btn-dribbble::before,.btn-google-plus::before,.btn-instagram::before,.btn-pinterest::before,.btn-vk::before,.btn-yahoo::before,.btn-behance::before,.btn-dropbox::before,.btn-reddit::before,.btn-spotify::before,.btn-vine::before,.btn-foursquare::before,.btn-vimeo::before{width:2.0625rem;height:2.0625rem;padding:.375rem 0;font-size:.875rem;line-height:1.5;border-radius:.25rem}.btn-facebook span,.btn-twitter span,.btn-linkedin span,.btn-flickr span,.btn-tumblr span,.btn-xing span,.btn-github span,.btn-html5 span,.btn-openid span,.btn-stack-overflow span,.btn-youtube span,.btn-css3 span,.btn-dribbble span,.btn-google-plus span,.btn-instagram span,.btn-pinterest span,.btn-vk span,.btn-yahoo span,.btn-behance span,.btn-dropbox span,.btn-reddit span,.btn-spotify span,.btn-vine span,.btn-foursquare span,.btn-vimeo span{margin-left:2.0625rem}.btn-facebook.icon,.btn-twitter.icon,.btn-linkedin.icon,.btn-flickr.icon,.btn-tumblr.icon,.btn-xing.icon,.btn-github.icon,.btn-html5.icon,.btn-openid.icon,.btn-stack-overflow.icon,.btn-youtube.icon,.btn-css3.icon,.btn-dribbble.icon,.btn-google-plus.icon,.btn-instagram.icon,.btn-pinterest.icon,.btn-vk.icon,.btn-yahoo.icon,.btn-behance.icon,.btn-dropbox.icon,.btn-reddit.icon,.btn-spotify.icon,.btn-vine.icon,.btn-foursquare.icon,.btn-vimeo.icon{width:2.0625rem;height:2.0625rem}.btn-facebook.btn-lg,.btn-group-lg>.btn-facebook.btn,.btn-twitter.btn-lg,.btn-group-lg>.btn-twitter.btn,.btn-linkedin.btn-lg,.btn-group-lg>.btn-linkedin.btn,.btn-flickr.btn-lg,.btn-group-lg>.btn-flickr.btn,.btn-tumblr.btn-lg,.btn-group-lg>.btn-tumblr.btn,.btn-xing.btn-lg,.btn-group-lg>.btn-xing.btn,.btn-github.btn-lg,.btn-group-lg>.btn-github.btn,.btn-html5.btn-lg,.btn-group-lg>.btn-html5.btn,.btn-openid.btn-lg,.btn-group-lg>.btn-openid.btn,.btn-stack-overflow.btn-lg,.btn-group-lg>.btn-stack-overflow.btn,.btn-youtube.btn-lg,.btn-group-lg>.btn-youtube.btn,.btn-css3.btn-lg,.btn-group-lg>.btn-css3.btn,.btn-dribbble.btn-lg,.btn-group-lg>.btn-dribbble.btn,.btn-google-plus.btn-lg,.btn-group-lg>.btn-google-plus.btn,.btn-instagram.btn-lg,.btn-group-lg>.btn-instagram.btn,.btn-pinterest.btn-lg,.btn-group-lg>.btn-pinterest.btn,.btn-vk.btn-lg,.btn-group-lg>.btn-vk.btn,.btn-yahoo.btn-lg,.btn-group-lg>.btn-yahoo.btn,.btn-behance.btn-lg,.btn-group-lg>.btn-behance.btn,.btn-dropbox.btn-lg,.btn-group-lg>.btn-dropbox.btn,.btn-reddit.btn-lg,.btn-group-lg>.btn-reddit.btn,.btn-spotify.btn-lg,.btn-group-lg>.btn-spotify.btn,.btn-vine.btn-lg,.btn-group-lg>.btn-vine.btn,.btn-foursquare.btn-lg,.btn-group-lg>.btn-foursquare.btn,.btn-vimeo.btn-lg,.btn-group-lg>.btn-vimeo.btn{padding:.5rem 1rem;font-size:1.09375rem;line-height:1.5;border:0;border-radius:.3rem}.btn-facebook.btn-lg::before,.btn-group-lg>.btn-facebook.btn::before,.btn-twitter.btn-lg::before,.btn-group-lg>.btn-twitter.btn::before,.btn-linkedin.btn-lg::before,.btn-group-lg>.btn-linkedin.btn::before,.btn-flickr.btn-lg::before,.btn-group-lg>.btn-flickr.btn::before,.btn-tumblr.btn-lg::before,.btn-group-lg>.btn-tumblr.btn::before,.btn-xing.btn-lg::before,.btn-group-lg>.btn-xing.btn::before,.btn-github.btn-lg::before,.btn-group-lg>.btn-github.btn::before,.btn-html5.btn-lg::before,.btn-group-lg>.btn-html5.btn::before,.btn-openid.btn-lg::before,.btn-group-lg>.btn-openid.btn::before,.btn-stack-overflow.btn-lg::before,.btn-group-lg>.btn-stack-overflow.btn::before,.btn-youtube.btn-lg::before,.btn-group-lg>.btn-youtube.btn::before,.btn-css3.btn-lg::before,.btn-group-lg>.btn-css3.btn::before,.btn-dribbble.btn-lg::before,.btn-group-lg>.btn-dribbble.btn::before,.btn-google-plus.btn-lg::before,.btn-group-lg>.btn-google-plus.btn::before,.btn-instagram.btn-lg::before,.btn-group-lg>.btn-instagram.btn::before,.btn-pinterest.btn-lg::before,.btn-group-lg>.btn-pinterest.btn::before,.btn-vk.btn-lg::before,.btn-group-lg>.btn-vk.btn::before,.btn-yahoo.btn-lg::before,.btn-group-lg>.btn-yahoo.btn::before,.btn-behance.btn-lg::before,.btn-group-lg>.btn-behance.btn::before,.btn-dropbox.btn-lg::before,.btn-group-lg>.btn-dropbox.btn::before,.btn-reddit.btn-lg::before,.btn-group-lg>.btn-reddit.btn::before,.btn-spotify.btn-lg::before,.btn-group-lg>.btn-spotify.btn::before,.btn-vine.btn-lg::before,.btn-group-lg>.btn-vine.btn::before,.btn-foursquare.btn-lg::before,.btn-group-lg>.btn-foursquare.btn::before,.btn-vimeo.btn-lg::before,.btn-group-lg>.btn-vimeo.btn::before{width:2.640625rem;height:2.640625rem;padding:.5rem 0;font-size:1.09375rem;line-height:1.5;border-radius:.3rem}.btn-facebook.btn-lg span,.btn-group-lg>.btn-facebook.btn span,.btn-twitter.btn-lg span,.btn-group-lg>.btn-twitter.btn span,.btn-linkedin.btn-lg span,.btn-group-lg>.btn-linkedin.btn span,.btn-flickr.btn-lg span,.btn-group-lg>.btn-flickr.btn span,.btn-tumblr.btn-lg span,.btn-group-lg>.btn-tumblr.btn span,.btn-xing.btn-lg span,.btn-group-lg>.btn-xing.btn span,.btn-github.btn-lg span,.btn-group-lg>.btn-github.btn span,.btn-html5.btn-lg span,.btn-group-lg>.btn-html5.btn span,.btn-openid.btn-lg span,.btn-group-lg>.btn-openid.btn span,.btn-stack-overflow.btn-lg span,.btn-group-lg>.btn-stack-overflow.btn span,.btn-youtube.btn-lg span,.btn-group-lg>.btn-youtube.btn span,.btn-css3.btn-lg span,.btn-group-lg>.btn-css3.btn span,.btn-dribbble.btn-lg span,.btn-group-lg>.btn-dribbble.btn span,.btn-google-plus.btn-lg span,.btn-group-lg>.btn-google-plus.btn span,.btn-instagram.btn-lg span,.btn-group-lg>.btn-instagram.btn span,.btn-pinterest.btn-lg span,.btn-group-lg>.btn-pinterest.btn span,.btn-vk.btn-lg span,.btn-group-lg>.btn-vk.btn span,.btn-yahoo.btn-lg span,.btn-group-lg>.btn-yahoo.btn span,.btn-behance.btn-lg span,.btn-group-lg>.btn-behance.btn span,.btn-dropbox.btn-lg span,.btn-group-lg>.btn-dropbox.btn span,.btn-reddit.btn-lg span,.btn-group-lg>.btn-reddit.btn span,.btn-spotify.btn-lg span,.btn-group-lg>.btn-spotify.btn span,.btn-vine.btn-lg span,.btn-group-lg>.btn-vine.btn span,.btn-foursquare.btn-lg span,.btn-group-lg>.btn-foursquare.btn span,.btn-vimeo.btn-lg span,.btn-group-lg>.btn-vimeo.btn span{margin-left:2.640625rem}.btn-facebook.btn-lg.icon,.btn-group-lg>.btn-facebook.icon.btn,.btn-twitter.btn-lg.icon,.btn-group-lg>.btn-twitter.icon.btn,.btn-linkedin.btn-lg.icon,.btn-group-lg>.btn-linkedin.icon.btn,.btn-flickr.btn-lg.icon,.btn-group-lg>.btn-flickr.icon.btn,.btn-tumblr.btn-lg.icon,.btn-group-lg>.btn-tumblr.icon.btn,.btn-xing.btn-lg.icon,.btn-group-lg>.btn-xing.icon.btn,.btn-github.btn-lg.icon,.btn-group-lg>.btn-github.icon.btn,.btn-html5.btn-lg.icon,.btn-group-lg>.btn-html5.icon.btn,.btn-openid.btn-lg.icon,.btn-group-lg>.btn-openid.icon.btn,.btn-stack-overflow.btn-lg.icon,.btn-group-lg>.btn-stack-overflow.icon.btn,.btn-youtube.btn-lg.icon,.btn-group-lg>.btn-youtube.icon.btn,.btn-css3.btn-lg.icon,.btn-group-lg>.btn-css3.icon.btn,.btn-dribbble.btn-lg.icon,.btn-group-lg>.btn-dribbble.icon.btn,.btn-google-plus.btn-lg.icon,.btn-group-lg>.btn-google-plus.icon.btn,.btn-instagram.btn-lg.icon,.btn-group-lg>.btn-instagram.icon.btn,.btn-pinterest.btn-lg.icon,.btn-group-lg>.btn-pinterest.icon.btn,.btn-vk.btn-lg.icon,.btn-group-lg>.btn-vk.icon.btn,.btn-yahoo.btn-lg.icon,.btn-group-lg>.btn-yahoo.icon.btn,.btn-behance.btn-lg.icon,.btn-group-lg>.btn-behance.icon.btn,.btn-dropbox.btn-lg.icon,.btn-group-lg>.btn-dropbox.icon.btn,.btn-reddit.btn-lg.icon,.btn-group-lg>.btn-reddit.icon.btn,.btn-spotify.btn-lg.icon,.btn-group-lg>.btn-spotify.icon.btn,.btn-vine.btn-lg.icon,.btn-group-lg>.btn-vine.icon.btn,.btn-foursquare.btn-lg.icon,.btn-group-lg>.btn-foursquare.icon.btn,.btn-vimeo.btn-lg.icon,.btn-group-lg>.btn-vimeo.icon.btn{width:2.640625rem;height:2.640625rem}.btn-facebook.btn-sm,.btn-group-sm>.btn-facebook.btn,.btn-twitter.btn-sm,.btn-group-sm>.btn-twitter.btn,.btn-linkedin.btn-sm,.btn-group-sm>.btn-linkedin.btn,.btn-flickr.btn-sm,.btn-group-sm>.btn-flickr.btn,.btn-tumblr.btn-sm,.btn-group-sm>.btn-tumblr.btn,.btn-xing.btn-sm,.btn-group-sm>.btn-xing.btn,.btn-github.btn-sm,.btn-group-sm>.btn-github.btn,.btn-html5.btn-sm,.btn-group-sm>.btn-html5.btn,.btn-openid.btn-sm,.btn-group-sm>.btn-openid.btn,.btn-stack-overflow.btn-sm,.btn-group-sm>.btn-stack-overflow.btn,.btn-youtube.btn-sm,.btn-group-sm>.btn-youtube.btn,.btn-css3.btn-sm,.btn-group-sm>.btn-css3.btn,.btn-dribbble.btn-sm,.btn-group-sm>.btn-dribbble.btn,.btn-google-plus.btn-sm,.btn-group-sm>.btn-google-plus.btn,.btn-instagram.btn-sm,.btn-group-sm>.btn-instagram.btn,.btn-pinterest.btn-sm,.btn-group-sm>.btn-pinterest.btn,.btn-vk.btn-sm,.btn-group-sm>.btn-vk.btn,.btn-yahoo.btn-sm,.btn-group-sm>.btn-yahoo.btn,.btn-behance.btn-sm,.btn-group-sm>.btn-behance.btn,.btn-dropbox.btn-sm,.btn-group-sm>.btn-dropbox.btn,.btn-reddit.btn-sm,.btn-group-sm>.btn-reddit.btn,.btn-spotify.btn-sm,.btn-group-sm>.btn-spotify.btn,.btn-vine.btn-sm,.btn-group-sm>.btn-vine.btn,.btn-foursquare.btn-sm,.btn-group-sm>.btn-foursquare.btn,.btn-vimeo.btn-sm,.btn-group-sm>.btn-vimeo.btn{padding:.25rem .5rem;font-size:.765625rem;line-height:1.5;border:0;border-radius:.2rem}.btn-facebook.btn-sm::before,.btn-group-sm>.btn-facebook.btn::before,.btn-twitter.btn-sm::before,.btn-group-sm>.btn-twitter.btn::before,.btn-linkedin.btn-sm::before,.btn-group-sm>.btn-linkedin.btn::before,.btn-flickr.btn-sm::before,.btn-group-sm>.btn-flickr.btn::before,.btn-tumblr.btn-sm::before,.btn-group-sm>.btn-tumblr.btn::before,.btn-xing.btn-sm::before,.btn-group-sm>.btn-xing.btn::before,.btn-github.btn-sm::before,.btn-group-sm>.btn-github.btn::before,.btn-html5.btn-sm::before,.btn-group-sm>.btn-html5.btn::before,.btn-openid.btn-sm::before,.btn-group-sm>.btn-openid.btn::before,.btn-stack-overflow.btn-sm::before,.btn-group-sm>.btn-stack-overflow.btn::before,.btn-youtube.btn-sm::before,.btn-group-sm>.btn-youtube.btn::before,.btn-css3.btn-sm::before,.btn-group-sm>.btn-css3.btn::before,.btn-dribbble.btn-sm::before,.btn-group-sm>.btn-dribbble.btn::before,.btn-google-plus.btn-sm::before,.btn-group-sm>.btn-google-plus.btn::before,.btn-instagram.btn-sm::before,.btn-group-sm>.btn-instagram.btn::before,.btn-pinterest.btn-sm::before,.btn-group-sm>.btn-pinterest.btn::before,.btn-vk.btn-sm::before,.btn-group-sm>.btn-vk.btn::before,.btn-yahoo.btn-sm::before,.btn-group-sm>.btn-yahoo.btn::before,.btn-behance.btn-sm::before,.btn-group-sm>.btn-behance.btn::before,.btn-dropbox.btn-sm::before,.btn-group-sm>.btn-dropbox.btn::before,.btn-reddit.btn-sm::before,.btn-group-sm>.btn-reddit.btn::before,.btn-spotify.btn-sm::before,.btn-group-sm>.btn-spotify.btn::before,.btn-vine.btn-sm::before,.btn-group-sm>.btn-vine.btn::before,.btn-foursquare.btn-sm::before,.btn-group-sm>.btn-foursquare.btn::before,.btn-vimeo.btn-sm::before,.btn-group-sm>.btn-vimeo.btn::before{width:1.6484375rem;height:1.6484375rem;padding:.25rem 0;font-size:.765625rem;line-height:1.5;border-radius:.2rem}.btn-facebook.btn-sm span,.btn-group-sm>.btn-facebook.btn span,.btn-twitter.btn-sm span,.btn-group-sm>.btn-twitter.btn span,.btn-linkedin.btn-sm span,.btn-group-sm>.btn-linkedin.btn span,.btn-flickr.btn-sm span,.btn-group-sm>.btn-flickr.btn span,.btn-tumblr.btn-sm span,.btn-group-sm>.btn-tumblr.btn span,.btn-xing.btn-sm span,.btn-group-sm>.btn-xing.btn span,.btn-github.btn-sm span,.btn-group-sm>.btn-github.btn span,.btn-html5.btn-sm span,.btn-group-sm>.btn-html5.btn span,.btn-openid.btn-sm span,.btn-group-sm>.btn-openid.btn span,.btn-stack-overflow.btn-sm span,.btn-group-sm>.btn-stack-overflow.btn span,.btn-youtube.btn-sm span,.btn-group-sm>.btn-youtube.btn span,.btn-css3.btn-sm span,.btn-group-sm>.btn-css3.btn span,.btn-dribbble.btn-sm span,.btn-group-sm>.btn-dribbble.btn span,.btn-google-plus.btn-sm span,.btn-group-sm>.btn-google-plus.btn span,.btn-instagram.btn-sm span,.btn-group-sm>.btn-instagram.btn span,.btn-pinterest.btn-sm span,.btn-group-sm>.btn-pinterest.btn span,.btn-vk.btn-sm span,.btn-group-sm>.btn-vk.btn span,.btn-yahoo.btn-sm span,.btn-group-sm>.btn-yahoo.btn span,.btn-behance.btn-sm span,.btn-group-sm>.btn-behance.btn span,.btn-dropbox.btn-sm span,.btn-group-sm>.btn-dropbox.btn span,.btn-reddit.btn-sm span,.btn-group-sm>.btn-reddit.btn span,.btn-spotify.btn-sm span,.btn-group-sm>.btn-spotify.btn span,.btn-vine.btn-sm span,.btn-group-sm>.btn-vine.btn span,.btn-foursquare.btn-sm span,.btn-group-sm>.btn-foursquare.btn span,.btn-vimeo.btn-sm span,.btn-group-sm>.btn-vimeo.btn span{margin-left:1.6484375rem}.btn-facebook.btn-sm.icon,.btn-group-sm>.btn-facebook.icon.btn,.btn-twitter.btn-sm.icon,.btn-group-sm>.btn-twitter.icon.btn,.btn-linkedin.btn-sm.icon,.btn-group-sm>.btn-linkedin.icon.btn,.btn-flickr.btn-sm.icon,.btn-group-sm>.btn-flickr.icon.btn,.btn-tumblr.btn-sm.icon,.btn-group-sm>.btn-tumblr.icon.btn,.btn-xing.btn-sm.icon,.btn-group-sm>.btn-xing.icon.btn,.btn-github.btn-sm.icon,.btn-group-sm>.btn-github.icon.btn,.btn-html5.btn-sm.icon,.btn-group-sm>.btn-html5.icon.btn,.btn-openid.btn-sm.icon,.btn-group-sm>.btn-openid.icon.btn,.btn-stack-overflow.btn-sm.icon,.btn-group-sm>.btn-stack-overflow.icon.btn,.btn-youtube.btn-sm.icon,.btn-group-sm>.btn-youtube.icon.btn,.btn-css3.btn-sm.icon,.btn-group-sm>.btn-css3.icon.btn,.btn-dribbble.btn-sm.icon,.btn-group-sm>.btn-dribbble.icon.btn,.btn-google-plus.btn-sm.icon,.btn-group-sm>.btn-google-plus.icon.btn,.btn-instagram.btn-sm.icon,.btn-group-sm>.btn-instagram.icon.btn,.btn-pinterest.btn-sm.icon,.btn-group-sm>.btn-pinterest.icon.btn,.btn-vk.btn-sm.icon,.btn-group-sm>.btn-vk.icon.btn,.btn-yahoo.btn-sm.icon,.btn-group-sm>.btn-yahoo.icon.btn,.btn-behance.btn-sm.icon,.btn-group-sm>.btn-behance.icon.btn,.btn-dropbox.btn-sm.icon,.btn-group-sm>.btn-dropbox.icon.btn,.btn-reddit.btn-sm.icon,.btn-group-sm>.btn-reddit.icon.btn,.btn-spotify.btn-sm.icon,.btn-group-sm>.btn-spotify.icon.btn,.btn-vine.btn-sm.icon,.btn-group-sm>.btn-vine.icon.btn,.btn-foursquare.btn-sm.icon,.btn-group-sm>.btn-foursquare.icon.btn,.btn-vimeo.btn-sm.icon,.btn-group-sm>.btn-vimeo.icon.btn{width:1.6484375rem;height:1.6484375rem}.btn-facebook{background:#3b5998}.btn-facebook::before{content:\"\";background:rgb(51.8696682464,78.2440758294,133.6303317536)}.btn-facebook:hover{background:rgb(51.8696682464,78.2440758294,133.6303317536)}.btn-facebook:hover::before{background:rgb(44.7393364929,67.4881516588,115.2606635071)}.btn-twitter{background:#00aced}.btn-twitter::before{content:\"\";background:rgb(0,153.4936708861,211.5)}.btn-twitter:hover{background:rgb(0,153.4936708861,211.5)}.btn-twitter:hover::before{background:rgb(0,134.9873417722,186)}.btn-linkedin{background:#4875b4}.btn-linkedin::before{content:\"\";background:hsl(215,42.8571428571%,44.4117647059%)}.btn-linkedin:hover{background:hsl(215,42.8571428571%,44.4117647059%)}.btn-linkedin:hover::before{background:hsl(215,42.8571428571%,39.4117647059%)}.btn-flickr{background:#ff0084}.btn-flickr::before{content:\"\";background:rgb(229.5,0,118.8)}.btn-flickr:hover{background:rgb(229.5,0,118.8)}.btn-flickr:hover::before{background:rgb(204,0,105.6)}.btn-tumblr{background:#32506d}.btn-tumblr::before{content:\"\";background:rgb(41.9811320755,67.1698113208,91.5188679245)}.btn-tumblr:hover{background:rgb(41.9811320755,67.1698113208,91.5188679245)}.btn-tumblr:hover::before{background:rgb(33.9622641509,54.3396226415,74.0377358491)}.btn-xing{background:#026466}.btn-xing::before{content:\"\";background:hsl(181.2,96.1538461538%,15.3921568627%)}.btn-xing:hover{background:hsl(181.2,96.1538461538%,15.3921568627%)}.btn-xing:hover::before{background:hsl(181.2,96.1538461538%,10.3921568627%)}.btn-github{background:#4183c4}.btn-github::before{content:\"\";background:rgb(55.8012048193,118.2228915663,179.6987951807)}.btn-github:hover{background:rgb(55.8012048193,118.2228915663,179.6987951807)}.btn-github:hover::before{background:rgb(49.7590361446,105.421686747,160.2409638554)}.btn-html5{background:#e34f26}.btn-html5::before{content:\"\";background:rgb(212.1285714286,67.4510204082,27.3714285714)}.btn-html5:hover{background:rgb(212.1285714286,67.4510204082,27.3714285714)}.btn-html5:hover::before{background:rgb(189.5428571429,60.2693877551,24.4571428571)}.btn-openid{background:#f78c40}.btn-openid::before{content:\"\";background:hsl(24.9180327869,91.959798995%,55.9803921569%)}.btn-openid:hover{background:hsl(24.9180327869,91.959798995%,55.9803921569%)}.btn-openid:hover::before{background:rgb(244.9497487437,110.527638191,15.0502512563)}.btn-stack-overflow{background:#fe7a15}.btn-stack-overflow::before{content:\"\";background:rgb(248.4382978723,108.2936170213,1.0617021277)}.btn-stack-overflow:hover{background:rgb(248.4382978723,108.2936170213,1.0617021277)}.btn-stack-overflow:hover::before{background:rgb(223.0468085106,97.2255319149,.9531914894)}.btn-css3{background:#0170ba}.btn-css3::before{content:\"\";background:hsl(204,98.9304812834%,31.6666666667%)}.btn-css3:hover{background:hsl(204,98.9304812834%,31.6666666667%)}.btn-css3:hover::before{background:hsl(204,98.9304812834%,26.6666666667%)}.btn-youtube{background:#b00}.btn-youtube::before{content:\"\";background:rgb(161.5,0,0)}.btn-youtube:hover{background:rgb(161.5,0,0)}.btn-youtube:hover::before{background:#800}.btn-dribbble{background:#ea4c89}.btn-dribbble::before{content:\"\";background:rgb(231.3225,53.1775,121.955)}.btn-dribbble:hover{background:rgb(231.3225,53.1775,121.955)}.btn-dribbble:hover::before{background:rgb(228.645,30.355,106.91)}.btn-google-plus{background:#d34836}.btn-google-plus::before{content:\"\";background:rgb(196.487755102,60.6081632653,43.012244898)}.btn-google-plus:hover{background:rgb(196.487755102,60.6081632653,43.012244898)}.btn-google-plus:hover::before{background:rgb(175.5673469388,54.1551020408,38.4326530612)}.btn-instagram{background:#517fa4}.btn-instagram::before{content:\"\";background:rgb(72.5693877551,113.7816326531,146.9306122449)}.btn-instagram:hover{background:rgb(72.5693877551,113.7816326531,146.9306122449)}.btn-instagram:hover::before{background:rgb(64.1387755102,100.5632653061,129.8612244898)}.btn-pinterest{background:#cb2027}.btn-pinterest::before{content:\"\";background:rgb(180.9723404255,28.5276595745,34.7680851064)}.btn-pinterest:hover{background:rgb(180.9723404255,28.5276595745,34.7680851064)}.btn-pinterest:hover::before{background:rgb(158.9446808511,25.0553191489,30.5361702128)}.btn-vk{background:#45668e}.btn-vk::before{content:\"\";background:rgb(60.6611374408,89.672985782,124.8388625592)}.btn-vk:hover{background:rgb(60.6611374408,89.672985782,124.8388625592)}.btn-vk:hover::before{background:rgb(52.3222748815,77.345971564,107.6777251185)}.btn-yahoo{background:#400191}.btn-yahoo::before{content:\"\";background:hsl(266.25,98.6301369863%,23.6274509804%)}.btn-yahoo:hover{background:hsl(266.25,98.6301369863%,23.6274509804%)}.btn-yahoo:hover::before{background:hsl(266.25,98.6301369863%,18.6274509804%)}.btn-behance{background:#1769ff}.btn-behance::before{content:\"\";background:rgb(0,89.2456896552,252.5)}.btn-behance:hover{background:rgb(0,89.2456896552,252.5)}.btn-behance:hover::before{background:rgb(0,80.2327586207,227)}.btn-dropbox{background:#007ee5}.btn-dropbox::before{content:\"\";background:rgb(0,111.9694323144,203.5)}.btn-dropbox:hover{background:rgb(0,111.9694323144,203.5)}.btn-dropbox:hover::before{background:rgb(0,97.9388646288,178)}.btn-reddit{background:#ff4500}.btn-reddit::before{content:\"\";background:rgb(229.5,62.1,0)}.btn-reddit:hover{background:rgb(229.5,62.1,0)}.btn-reddit:hover::before{background:rgb(204,55.2,0)}.btn-spotify{background:#7ab800}.btn-spotify::before{content:\"\";background:rgb(105.0923913043,158.5,0)}.btn-spotify:hover{background:rgb(105.0923913043,158.5,0)}.btn-spotify:hover::before{background:rgb(88.1847826087,133,0)}.btn-vine{background:#00bf8f}.btn-vine::before{content:\"\";background:rgb(0,165.5,123.9083769634)}.btn-vine:hover{background:rgb(0,165.5,123.9083769634)}.btn-vine:hover::before{background:rgb(0,140,104.8167539267)}.btn-foursquare{background:#1073af}.btn-foursquare::before{content:\"\";background:rgb(13.8638743455,99.6465968586,151.6361256545)}.btn-foursquare:hover{background:rgb(13.8638743455,99.6465968586,151.6361256545)}.btn-foursquare:hover::before{background:rgb(11.7277486911,84.2931937173,128.2722513089)}.btn-vimeo{background:#aad450}.btn-vimeo::before{content:\"\";background:rgb(160.0573394495,206.9701834862,59.5298165138)}.btn-vimeo:hover{background:rgb(160.0573394495,206.9701834862,59.5298165138)}.btn-vimeo:hover::before{background:rgb(147.0321100917,193.4633027523,47.5366972477)}.callout{position:relative;padding:0 1rem;margin:1rem 0;border:0 solid #a4b7c1;border-left-width:.25rem;border-radius:.25rem}.callout .chart-wrapper{position:absolute;top:10px;left:50%;float:right;width:50%}.callout-bordered{border:1px solid #a4b7c1;border-left-width:.25rem}.callout code{border-radius:.25rem}.callout h4{margin-top:0;margin-bottom:.25rem}.callout p:last-child{margin-bottom:0}.callout+.callout{margin-top:-0.25rem}.callout-default{border-left-color:#536c79}.callout-default h4{color:#536c79}.callout-primary{border-left-color:#039}.callout-primary h4{color:#039}.callout-secondary{border-left-color:#3e515b}.callout-secondary h4{color:#3e515b}.callout-success{border-left-color:#4dbd74}.callout-success h4{color:#4dbd74}.callout-info{border-left-color:#63c2de}.callout-info h4{color:#63c2de}.callout-warning{border-left-color:#fc0}.callout-warning h4{color:#fc0}.callout-danger{border-left-color:#f86c6b}.callout-danger h4{color:#f86c6b}.callout-light{border-left-color:#c2cfd6}.callout-light h4{color:#c2cfd6}.callout-dark{border-left-color:#29363d}.callout-dark h4{color:#29363d}.card{margin-bottom:1.5rem}.card.bg-primary{border-color:rgb(0,29.75,89.25)}.card.bg-primary .card-header{background-color:rgb(0,45.9,137.7);border-color:rgb(0,29.75,89.25)}.card.bg-secondary{border-color:rgb(36.1666666667,47.25,53.0833333333)}.card.bg-secondary .card-header{background-color:rgb(55.8,72.9,81.9);border-color:rgb(36.1666666667,47.25,53.0833333333)}.card.bg-success{border-color:rgb(54.7069672131,147.5430327869,87.0338114754)}.card.bg-success .card-header{background-color:rgb(67.812295082,182.887704918,107.8831967213);border-color:rgb(54.7069672131,147.5430327869,87.0338114754)}.card.bg-info{border-color:rgb(46.380952381,173.4246031746,210.869047619)}.card.bg-info .card-header{background-color:rgb(86.3714285714,189.0619047619,219.3285714286);border-color:rgb(46.380952381,173.4246031746,210.869047619)}.card.bg-warning{border-color:rgb(191.25,153,0)}.card.bg-warning .card-header{background-color:hsl(48,100%,47%);border-color:rgb(191.25,153,0)}.card.bg-danger{border-color:hsl(.4255319149,90.9677419355%,57.1078431373%)}.card.bg-danger .card-header{background-color:hsl(.4255319149,90.9677419355%,66.6078431373%);border-color:hsl(.4255319149,90.9677419355%,57.1078431373%)}.card.bg-light{border-color:rgb(155.875,177,188.375)}.card.bg-light .card-header{background-color:rgb(184.85,199.8,207.85);border-color:rgb(155.875,177,188.375)}.card.bg-dark{border-color:rgb(15.375,20.25,22.875)}.card.bg-dark .card-header{background-color:rgb(34.85,45.9,51.85);border-color:rgb(15.375,20.25,22.875)}.text-white .text-muted{color:hsla(0,0%,100%,.6) !important}.card-header .icon-bg{display:inline-body;padding:.75rem 1.25rem !important;margin-top:-0.75rem;margin-right:1.25rem;margin-bottom:-0.75rem;margin-left:-1.25rem;line-height:inherit;color:#151b1e;vertical-align:bottom;background:rgba(0,0,0,0);border-right:1px solid #c2cfd6}.card-header .nav.nav-tabs{margin-top:-0.75rem;margin-bottom:-0.75rem;border-bottom:0}.card-header .nav.nav-tabs .nav-item{border-top:0}.card-header .nav.nav-tabs .nav-link,.card-header .nav.nav-tabs .navbar .dropdown-toggle,.navbar .card-header .nav.nav-tabs .dropdown-toggle{padding:.75rem .625rem;color:#536c79;border-top:0}.card-header .nav.nav-tabs .nav-link.active,.card-header .nav.nav-tabs .navbar .active.dropdown-toggle,.navbar .card-header .nav.nav-tabs .active.dropdown-toggle{color:#151b1e;background:#fff}.card-header.card-header-inverse{color:#fff}.card-header .btn{margin-top:-0.375rem}.card-header .btn-sm,.card-header .btn-group-sm>.btn{margin-top:-0.25rem}.card-header .btn-lg,.card-header .btn-group-lg>.btn{margin-top:-0.5rem}.card-footer ul{display:table;width:100%;padding:0;margin:0;table-layout:fixed}.card-footer ul li{display:table-cell;padding:0 1.25rem;text-align:center}[class*=card-outline-] .card-body,[class*=card-outline-] .card-block{background:#fff !important}[class*=card-outline-].card-outline-top{border-top-width:2px;border-right-color:#a4b7c1;border-bottom-color:#a4b7c1;border-left-color:#a4b7c1}.card-accent-primary{border-top-width:2px;border-top-color:#039}.card-accent-secondary{border-top-width:2px;border-top-color:#3e515b}.card-accent-success{border-top-width:2px;border-top-color:#4dbd74}.card-accent-info{border-top-width:2px;border-top-color:#63c2de}.card-accent-warning{border-top-width:2px;border-top-color:#fc0}.card-accent-danger{border-top-width:2px;border-top-color:#f86c6b}.card-accent-light{border-top-width:2px;border-top-color:#c2cfd6}.card-accent-dark{border-top-width:2px;border-top-color:#29363d}.card-header>i{margin-right:.5rem}.card-header .card-actions{position:absolute;top:0;right:0}.card-header .card-actions a,.card-header .card-actions button{display:block;float:left;width:50px;padding:.75rem 0;margin:0 !important;color:#151b1e;text-align:center;background:rgba(0,0,0,0);border:0;border-left:1px solid #a4b7c1;box-shadow:0}.card-header .card-actions a:hover,.card-header .card-actions button:hover{text-decoration:none}.card-header .card-actions a [class^=icon-],.card-header .card-actions a [class*=\" icon-\"],.card-header .card-actions button [class^=icon-],.card-header .card-actions button [class*=\" icon-\"]{display:inline-body;vertical-align:middle}.card-header .card-actions a i,.card-header .card-actions button i{display:inline-body;transition:.4s}.card-header .card-actions a .r180,.card-header .card-actions button .r180{transform:rotate(180deg)}.card-header .card-actions .input-group{width:230px;margin:6px}.card-header .card-actions .input-group .input-group-addon{background:#fff}.card-header .card-actions .input-group input{border-left:0}.card-full{margin-top:-1rem;margin-right:-15px;margin-left:-15px;border:0;border-bottom:1px solid #a4b7c1}@media(min-width: 576px){.card-columns.cols-2{column-count:2}}.card.drag,.card .drag{cursor:move}.card-placeholder{background:rgba(0,0,0,.025);border:1px dashed #a4b7c1}.chart-wrapper canvas{width:100% !important}base-chart.chart{display:block !important}.dropdown-item{position:relative;padding:.375rem .75rem;border-bottom:1px solid #c2cfd6}.dropdown-item:last-child{border-bottom:0}.dropdown-item i{display:inline-block;width:20px;margin-right:10px;margin-left:-10px;color:#c2cfd6;text-align:center}.dropdown-item .badge{position:absolute;right:10px;margin-top:2px}.dropdown-header{padding:8px 20px;background:#f0f3f5;border-bottom:1px solid #c2cfd6}.dropdown-header .btn{margin-top:-7px;color:#536c79}.dropdown-header .btn:hover{color:#151b1e}.dropdown-header .btn.pull-right{margin-right:-20px}.dropdown-menu-lg{width:250px}.app-header .navbar-nav .dropdown-menu{position:absolute}.app-header .navbar-nav .dropdown-menu-right{right:0;left:auto}.app-header .navbar-nav .dropdown-menu-left{right:auto;left:0}.app-footer{display:flex;flex-wrap:wrap;align-items:center;padding:0 1rem;color:#151b1e;background:#f0f3f5;border-top:1px solid #a4b7c1}.row.row-equal{padding-right:7.5px;padding-left:7.5px;margin-right:-15px;margin-left:-15px}.row.row-equal [class*=col-]{padding-right:7.5px;padding-left:7.5px}.main .container-fluid,.main .container-sm,.main .container-md,.main .container-lg,.main .container-xl{padding:30px;height:100%}.input-group-addon,.input-group-btn{min-width:40px;white-space:nowrap;vertical-align:middle}#loading-bar,#loading-bar-spinner{-webkit-pointer-events:none;pointer-events:none;-moz-transition:350ms linear all;-o-transition:350ms linear all;-webkit-transition:350ms linear all;transition:350ms linear all}#loading-bar.ng-enter,#loading-bar.ng-leave.ng-leave-active,#loading-bar-spinner.ng-enter,#loading-bar-spinner.ng-leave.ng-leave-active{opacity:0}#loading-bar.ng-enter.ng-enter-active,#loading-bar.ng-leave,#loading-bar-spinner.ng-enter.ng-enter-active,#loading-bar-spinner.ng-leave{opacity:1}#loading-bar .bar{position:fixed;top:0;left:0;z-index:20002;width:100%;height:2px;background:#039;border-top-right-radius:1px;border-bottom-right-radius:1px;-moz-transition:width 350ms;-o-transition:width 350ms;-webkit-transition:width 350ms;transition:width 350ms}#loading-bar .peg{position:absolute;top:0;right:0;width:70px;height:2px;-moz-border-radius:100%;-webkit-border-radius:100%;border-radius:100%;-moz-box-shadow:#29d 1px 0 6px 1px;-ms-box-shadow:#29d 1px 0 6px 1px;-webkit-box-shadow:#29d 1px 0 6px 1px;box-shadow:#29d 1px 0 6px 1px;opacity:.45}#loading-bar-spinner{position:fixed;top:10px;left:10px;z-index:10002;display:block}#loading-bar-spinner .spinner-icon{width:14px;height:14px;border:solid 2px rgba(0,0,0,0);border-top-color:#29d;border-left-color:#29d;border-radius:50%;-moz-animation:loading-bar-spinner 400ms linear infinite;-ms-animation:loading-bar-spinner 400ms linear infinite;-o-animation:loading-bar-spinner 400ms linear infinite;-webkit-animation:loading-bar-spinner 400ms linear infinite;animation:loading-bar-spinner 400ms linear infinite}@-webkit-keyframes loading-bar-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes loading-bar-spinner{0%{-moz-transform:rotate(0deg);transform:rotate(0deg)}100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes loading-bar-spinner{0%{-o-transform:rotate(0deg);transform:rotate(0deg)}100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes loading-bar-spinner{0%{-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-bar-spinner{0%{transform:rotate(0deg);transform:rotate(0deg)}100%{transform:rotate(360deg);transform:rotate(360deg)}}.pace{-webkit-pointer-events:none;pointer-events:none;-moz-user-select:none;-webkit-user-select:none;user-select:none}.pace-inactive{display:none}.pace .pace-progress{position:fixed;top:0;right:100%;z-index:2000;width:100%;height:2px;background:#039}.modal-primary .modal-content{border-color:#039}.modal-primary .modal-header{color:#fff;background-color:#039}.modal-secondary .modal-content{border-color:#3e515b}.modal-secondary .modal-header{color:#fff;background-color:#3e515b}.modal-success .modal-content{border-color:#4dbd74}.modal-success .modal-header{color:#fff;background-color:#4dbd74}.modal-info .modal-content{border-color:#63c2de}.modal-info .modal-header{color:#fff;background-color:#63c2de}.modal-warning .modal-content{border-color:#fc0}.modal-warning .modal-header{color:#fff;background-color:#fc0}.modal-danger .modal-content{border-color:#f86c6b}.modal-danger .modal-header{color:#fff;background-color:#f86c6b}.modal-light .modal-content{border-color:#c2cfd6}.modal-light .modal-header{color:#fff;background-color:#c2cfd6}.modal-dark .modal-content{border-color:#29363d}.modal-dark .modal-header{color:#fff;background-color:#29363d}.nav-tabs .nav-link,.nav-tabs .navbar .dropdown-toggle,.navbar .nav-tabs .dropdown-toggle{color:#536c79}.nav-tabs .nav-link.active,.nav-tabs .navbar .active.dropdown-toggle,.navbar .nav-tabs .active.dropdown-toggle{color:#29363d;background:#fff;border-color:#a4b7c1;border-bottom-color:#fff}.nav-tabs .nav-link.active:focus,.nav-tabs .navbar .active.dropdown-toggle:focus,.navbar .nav-tabs .active.dropdown-toggle:focus{background:#fff;border-color:#a4b7c1;border-bottom-color:#fff}.tab-content{margin-top:-1px;background:#fff;border:1px solid #a4b7c1}.tab-content .tab-pane{padding:1rem}.card-block .tab-content{margin-top:0;border:0}.app-header.navbar{position:relative;flex-direction:row;height:55px;padding:0;margin:0;background-color:#fff;border-bottom:1px solid #a4b7c1}.app-header.navbar .navbar-brand{display:inline-block;width:130px;height:55px;padding:.5rem 1rem;margin-right:0;background-color:#fff;background-image:url("+m+");background-repeat:no-repeat;background-position:center center;background-size:110px auto;border-bottom:1px solid #a4b7c1}.app-header.navbar .navbar-toggler{min-width:50px;padding:.25rem 0}.app-header.navbar .navbar-toggler:hover .navbar-toggler-icon{background-image:url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%2329363d' stroke-width='2.25' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\")}.app-header.navbar .navbar-toggler-icon{height:23px;background-image:url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%23536c79' stroke-width='2.25' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\")}.app-header.navbar .navbar-nav{flex-direction:row;align-items:center}.app-header.navbar .nav-item{position:relative;min-width:50px;margin:0 !important;text-align:center}.app-header.navbar .nav-item button{margin:0 auto}.app-header.navbar .nav-item .nav-link,.app-header.navbar .nav-item .dropdown-toggle{padding-top:0;padding-bottom:0;background:0;border:0}.app-header.navbar .nav-item .nav-link .badge,.app-header.navbar .nav-item .dropdown-toggle .badge{position:absolute;top:50%;left:50%;margin-top:-16px;margin-left:0}.app-header.navbar .nav-item .nav-link>.img-avatar,.app-header.navbar .nav-item .dropdown-toggle>.img-avatar{height:35px;margin:0 10px}.app-header.navbar .dropdown-menu{padding-bottom:0;line-height:1.5}.app-header.navbar .dropdown-item{min-width:180px}.navbar-brand{color:#29363d}.navbar-brand:hover,.navbar-brand:focus{color:#29363d}.navbar-nav .nav-link,.navbar-nav .navbar .dropdown-toggle,.navbar .navbar-nav .dropdown-toggle{color:#536c79}.navbar-nav .nav-link:hover,.navbar-nav .navbar .dropdown-toggle:hover,.navbar .navbar-nav .dropdown-toggle:hover,.navbar-nav .nav-link:focus,.navbar-nav .navbar .dropdown-toggle:focus,.navbar .navbar-nav .dropdown-toggle:focus{color:#29363d}.navbar-nav .open>.nav-link,.navbar-nav .navbar .open>.dropdown-toggle,.navbar .navbar-nav .open>.dropdown-toggle,.navbar-nav .open>.nav-link:hover,.navbar-nav .open>.nav-link:focus,.navbar-nav .active>.nav-link,.navbar-nav .navbar .active>.dropdown-toggle,.navbar .navbar-nav .active>.dropdown-toggle,.navbar-nav .active>.nav-link:hover,.navbar-nav .active>.nav-link:focus,.navbar-nav .nav-link.open,.navbar-nav .navbar .open.dropdown-toggle,.navbar .navbar-nav .open.dropdown-toggle,.navbar-nav .nav-link.open:hover,.navbar-nav .nav-link.open:focus,.navbar-nav .nav-link.active,.navbar-nav .navbar .active.dropdown-toggle,.navbar .navbar-nav .active.dropdown-toggle,.navbar-nav .nav-link.active:hover,.navbar-nav .nav-link.active:focus{color:#29363d}.navbar-divider{background-color:rgba(0,0,0,.075)}@media(min-width: 992px){.brand-minimized .app-header.navbar .navbar-brand{width:50px;background-color:#fff;background-image:url("+p+");background-size:30px;border-bottom:1px solid #a4b7c1}}.progress-xs{height:4px}.progress-sm{height:8px}.progress-white{background-color:hsla(0,0%,100%,.2) !important}.progress-white .progress-bar{background-color:#fff}.sidebar{display:flex;flex-direction:column;padding:0;color:#fff;background:#29363d}.sidebar .sidebar-close{position:absolute;right:0;display:none;padding:0 1rem;font-size:24px;font-weight:800;line-height:55px;color:#fff;background:0;border:0;opacity:.8}.sidebar .sidebar-close:hover{opacity:1}.sidebar .sidebar-header{flex:0 0 auto;padding:.75rem 1rem;text-align:center;background:rgba(0,0,0,.2)}.sidebar .sidebar-form .form-control{color:#fff;background:rgb(20.5,27,30.5);border:0}.sidebar .sidebar-form .form-control::placeholder{color:hsla(0,0%,100%,.7)}.sidebar .sidebar-nav{position:relative;flex:1;overflow-x:hidden;overflow-y:auto;-ms-overflow-style:-ms-autohiding-scrollbar;width:200px}.sidebar .sidebar-nav::-webkit-scrollbar{position:absolute;width:10px;margin-left:-10px;-webkit-appearance:none}.sidebar .sidebar-nav::-webkit-scrollbar-track{background-color:rgb(51.25,67.5,76.25);border-right:1px solid rgb(30.75,40.5,45.75);border-left:1px solid rgb(30.75,40.5,45.75)}.sidebar .sidebar-nav::-webkit-scrollbar-thumb{height:50px;background-color:rgb(20.5,27,30.5);background-clip:content-box;border-color:rgba(0,0,0,0);border-style:solid;border-width:1px 2px}.sidebar .nav{width:200px;flex-direction:column;min-height:100%}.sidebar .nav-title{padding:.75rem 1rem;font-size:11px;font-weight:600;color:#c2cfd6;text-transform:uppercase}.sidebar .nav-divider,.sidebar .divider{height:10px}.sidebar .nav-item{position:relative;margin:0;transition:background .3s ease-in-out}.sidebar .nav-dropdown-items{max-height:0;padding:0;margin:0;overflow-y:hidden;transition:max-height .3s ease-in-out}.sidebar .nav-dropdown-items .nav-item{padding:0;list-style:none}.sidebar .nav-link,.sidebar .navbar .dropdown-toggle,.navbar .sidebar .dropdown-toggle{display:block;padding:.75rem 1rem;color:#fff;text-decoration:none;background:rgba(0,0,0,0)}.sidebar .nav-link i,.sidebar .navbar .dropdown-toggle i,.navbar .sidebar .dropdown-toggle i{display:inline-block;width:20px;margin:0 .5rem 0 0;font-size:14px;color:#536c79;text-align:center}.sidebar .nav-link .badge,.sidebar .navbar .dropdown-toggle .badge,.navbar .sidebar .dropdown-toggle .badge{float:right;margin-top:2px}.sidebar .nav-link.active,.sidebar .navbar .active.dropdown-toggle,.navbar .sidebar .active.dropdown-toggle{color:#fff;background:rgb(51.25,67.5,76.25)}.sidebar .nav-link.active i,.sidebar .navbar .active.dropdown-toggle i,.navbar .sidebar .active.dropdown-toggle i{color:#039}.sidebar .nav-link:hover,.sidebar .navbar .dropdown-toggle:hover,.navbar .sidebar .dropdown-toggle:hover{color:#fff;background:#039}.sidebar .nav-link:hover i,.sidebar .navbar .dropdown-toggle:hover i,.navbar .sidebar .dropdown-toggle:hover i{color:#fff}.sidebar .nav-link:hover.nav-dropdown-toggle::before,.sidebar .navbar .dropdown-toggle:hover.nav-dropdown-toggle::before,.navbar .sidebar .dropdown-toggle:hover.nav-dropdown-toggle::before{background-image:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='%23fff' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\")}.sidebar .nav-link.nav-link-primary,.sidebar .navbar .nav-link-primary.dropdown-toggle,.navbar .sidebar .nav-link-primary.dropdown-toggle{background:#039}.sidebar .nav-link.nav-link-primary i,.sidebar .navbar .nav-link-primary.dropdown-toggle i,.navbar .sidebar .nav-link-primary.dropdown-toggle i{color:hsla(0,0%,100%,.7)}.sidebar .nav-link.nav-link-primary:hover,.sidebar .navbar .nav-link-primary.dropdown-toggle:hover,.navbar .sidebar .nav-link-primary.dropdown-toggle:hover{background:rgb(0,42.5,127.5) !important}.sidebar .nav-link.nav-link-primary:hover i,.sidebar .navbar .nav-link-primary.dropdown-toggle:hover i,.navbar .sidebar .nav-link-primary.dropdown-toggle:hover i{color:#fff}.sidebar .nav-link.nav-link-secondary,.sidebar .navbar .nav-link-secondary.dropdown-toggle,.navbar .sidebar .nav-link-secondary.dropdown-toggle{background:#3e515b}.sidebar .nav-link.nav-link-secondary i,.sidebar .navbar .nav-link-secondary.dropdown-toggle i,.navbar .sidebar .nav-link-secondary.dropdown-toggle i{color:hsla(0,0%,100%,.7)}.sidebar .nav-link.nav-link-secondary:hover,.sidebar .navbar .nav-link-secondary.dropdown-toggle:hover,.navbar .sidebar .nav-link-secondary.dropdown-toggle:hover{background:rgb(51.6666666667,67.5,75.8333333333) !important}.sidebar .nav-link.nav-link-secondary:hover i,.sidebar .navbar .nav-link-secondary.dropdown-toggle:hover i,.navbar .sidebar .nav-link-secondary.dropdown-toggle:hover i{color:#fff}.sidebar .nav-link.nav-link-success,.sidebar .navbar .nav-link-success.dropdown-toggle,.navbar .sidebar .nav-link-success.dropdown-toggle{background:#4dbd74}.sidebar .nav-link.nav-link-success i,.sidebar .navbar .nav-link-success.dropdown-toggle i,.navbar .sidebar .nav-link-success.dropdown-toggle i{color:hsla(0,0%,100%,.7)}.sidebar .nav-link.nav-link-success:hover,.sidebar .navbar .nav-link-success.dropdown-toggle:hover,.navbar .sidebar .nav-link-success.dropdown-toggle:hover{background:rgb(65.0532786885,175.4467213115,103.493852459) !important}.sidebar .nav-link.nav-link-success:hover i,.sidebar .navbar .nav-link-success.dropdown-toggle:hover i,.navbar .sidebar .nav-link-success.dropdown-toggle:hover i{color:#fff}.sidebar .nav-link.nav-link-info,.sidebar .navbar .nav-link-info.dropdown-toggle,.navbar .sidebar .nav-link-info.dropdown-toggle{background:#63c2de}.sidebar .nav-link.nav-link-info i,.sidebar .navbar .nav-link-info.dropdown-toggle i,.navbar .sidebar .nav-link-info.dropdown-toggle i{color:hsla(0,0%,100%,.7)}.sidebar .nav-link.nav-link-info:hover,.sidebar .navbar .nav-link-info.dropdown-toggle:hover,.navbar .sidebar .nav-link-info.dropdown-toggle:hover{background:rgb(77.9523809524,185.7698412698,217.5476190476) !important}.sidebar .nav-link.nav-link-info:hover i,.sidebar .navbar .nav-link-info.dropdown-toggle:hover i,.navbar .sidebar .nav-link-info.dropdown-toggle:hover i{color:#fff}.sidebar .nav-link.nav-link-warning,.sidebar .navbar .nav-link-warning.dropdown-toggle,.navbar .sidebar .nav-link-warning.dropdown-toggle{background:#fc0}.sidebar .nav-link.nav-link-warning i,.sidebar .navbar .nav-link-warning.dropdown-toggle i,.navbar .sidebar .nav-link-warning.dropdown-toggle i{color:hsla(0,0%,100%,.7)}.sidebar .nav-link.nav-link-warning:hover,.sidebar .navbar .nav-link-warning.dropdown-toggle:hover,.navbar .sidebar .nav-link-warning.dropdown-toggle:hover{background:hsl(48,100%,45%) !important}.sidebar .nav-link.nav-link-warning:hover i,.sidebar .navbar .nav-link-warning.dropdown-toggle:hover i,.navbar .sidebar .nav-link-warning.dropdown-toggle:hover i{color:#fff}.sidebar .nav-link.nav-link-danger,.sidebar .navbar .nav-link-danger.dropdown-toggle,.navbar .sidebar .nav-link-danger.dropdown-toggle{background:#f86c6b}.sidebar .nav-link.nav-link-danger i,.sidebar .navbar .nav-link-danger.dropdown-toggle i,.navbar .sidebar .nav-link-danger.dropdown-toggle i{color:hsla(0,0%,100%,.7)}.sidebar .nav-link.nav-link-danger:hover,.sidebar .navbar .nav-link-danger.dropdown-toggle:hover,.navbar .sidebar .nav-link-danger.dropdown-toggle:hover{background:hsl(.4255319149,90.9677419355%,64.6078431373%) !important}.sidebar .nav-link.nav-link-danger:hover i,.sidebar .navbar .nav-link-danger.dropdown-toggle:hover i,.navbar .sidebar .nav-link-danger.dropdown-toggle:hover i{color:#fff}.sidebar .nav-link.nav-link-light,.sidebar .navbar .nav-link-light.dropdown-toggle,.navbar .sidebar .nav-link-light.dropdown-toggle{background:#c2cfd6}.sidebar .nav-link.nav-link-light i,.sidebar .navbar .nav-link-light.dropdown-toggle i,.navbar .sidebar .nav-link-light.dropdown-toggle i{color:hsla(0,0%,100%,.7)}.sidebar .nav-link.nav-link-light:hover,.sidebar .navbar .nav-link-light.dropdown-toggle:hover,.navbar .sidebar .nav-link-light.dropdown-toggle:hover{background:rgb(178.75,195,203.75) !important}.sidebar .nav-link.nav-link-light:hover i,.sidebar .navbar .nav-link-light.dropdown-toggle:hover i,.navbar .sidebar .nav-link-light.dropdown-toggle:hover i{color:#fff}.sidebar .nav-link.nav-link-dark,.sidebar .navbar .nav-link-dark.dropdown-toggle,.navbar .sidebar .nav-link-dark.dropdown-toggle{background:#29363d}.sidebar .nav-link.nav-link-dark i,.sidebar .navbar .nav-link-dark.dropdown-toggle i,.navbar .sidebar .nav-link-dark.dropdown-toggle i{color:hsla(0,0%,100%,.7)}.sidebar .nav-link.nav-link-dark:hover,.sidebar .navbar .nav-link-dark.dropdown-toggle:hover,.navbar .sidebar .nav-link-dark.dropdown-toggle:hover{background:rgb(30.75,40.5,45.75) !important}.sidebar .nav-link.nav-link-dark:hover i,.sidebar .navbar .nav-link-dark.dropdown-toggle:hover i,.navbar .sidebar .nav-link-dark.dropdown-toggle:hover i{color:#fff}.sidebar .nav-dropdown-toggle{position:relative}.sidebar .nav-dropdown-toggle::before{position:absolute;top:50%;right:1rem;display:block;width:8px;height:8px;padding:0;margin-top:-4px;content:\"\";background-image:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='%23536c79' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center;transition:transform .3s}.sidebar .nav-dropdown.open{background:rgba(0,0,0,.2)}.sidebar .nav-dropdown.open>.nav-dropdown-items{max-height:1000px}.sidebar .nav-dropdown.open .nav-link,.sidebar .nav-dropdown.open .navbar .dropdown-toggle,.navbar .sidebar .nav-dropdown.open .dropdown-toggle{color:#fff;border-left:0 !important}.sidebar .nav-dropdown.open>.nav-link.nav-dropdown-toggle::before,.sidebar .navbar .nav-dropdown.open>.nav-dropdown-toggle.dropdown-toggle::before,.navbar .sidebar .nav-dropdown.open>.nav-dropdown-toggle.dropdown-toggle::before{transform:rotate(-90deg)}.sidebar .nav-dropdown.open .nav-dropdown.open{border-left:0}.sidebar .nav-label{display:block;padding:.09375rem 1rem;color:#c2cfd6}.sidebar .nav-label:hover{color:#fff;text-decoration:none}.sidebar .nav-label i{width:20px;margin:-3px .5rem 0 0;font-size:10px;color:#536c79;text-align:center;vertical-align:middle}.sidebar .progress{background-color:rgb(71.75,94.5,106.75) !important}.sidebar .sidebar-footer{flex:0 0 auto;padding:.75rem 1rem;background:rgba(0,0,0,.2)}.sidebar .sidebar-minimizer{position:relative;flex:0 0 50px;background-color:rgba(0,0,0,.2);border:0}.sidebar .sidebar-minimizer::before{position:absolute;top:0;right:0;width:50px;height:50px;content:\"\";background-image:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='%23536c79' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center;background-size:12.5px;transition:.3s}.sidebar .sidebar-minimizer:focus,.sidebar .sidebar-minimizer.focus{outline:0}.sidebar .sidebar-minimizer:hover{background-color:rgba(0,0,0,.3)}.sidebar .sidebar-minimizer:hover::before{background-image:url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='%23fff' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\")}@media(min-width: 992px){.sidebar-compact .sidebar .sidebar-nav{width:150px}.sidebar-compact .sidebar .nav{width:150px}.sidebar-compact .sidebar .nav .nav-title{text-align:center}.sidebar-compact .sidebar .nav .nav-item{width:150px;border-left:0 !important}.sidebar-compact .sidebar .nav .nav-item .nav-link,.sidebar-compact .sidebar .nav .nav-item .navbar .dropdown-toggle,.navbar .sidebar-compact .sidebar .nav .nav-item .dropdown-toggle{text-align:center}.sidebar-compact .sidebar .nav .nav-item .nav-link i,.sidebar-compact .sidebar .nav .nav-item .navbar .dropdown-toggle i,.navbar .sidebar-compact .sidebar .nav .nav-item .dropdown-toggle i{display:block;width:100%;margin:.25rem 0;font-size:24px}.sidebar-compact .sidebar .nav .nav-item .nav-link .badge,.sidebar-compact .sidebar .nav .nav-item .navbar .dropdown-toggle .badge,.navbar .sidebar-compact .sidebar .nav .nav-item .dropdown-toggle .badge{position:absolute;top:18px;right:10px}.sidebar-compact .sidebar .nav .nav-item .nav-link.nav-dropdown-toggle::before,.sidebar-compact .sidebar .nav .nav-item .navbar .nav-dropdown-toggle.dropdown-toggle::before,.navbar .sidebar-compact .sidebar .nav .nav-item .nav-dropdown-toggle.dropdown-toggle::before{top:30px}.sidebar-minimized .hidden-cn{display:none}.sidebar-minimized .sidebar{z-index:1019}.sidebar-minimized .sidebar .sidebar-nav{overflow:visible;width:50px}.sidebar-minimized .sidebar .nav{width:50px}.sidebar-minimized .sidebar .nav-divider,.sidebar-minimized .sidebar .divider,.sidebar-minimized .sidebar .nav-title,.sidebar-minimized .sidebar .sidebar-footer,.sidebar-minimized .sidebar .sidebar-form,.sidebar-minimized .sidebar .sidebar-header{display:none}.sidebar-minimized .sidebar .sidebar-minimizer::before{width:100%;transform:rotate(-180deg)}.sidebar-minimized .sidebar .nav-item{width:50px;overflow:hidden;border-left:0 !important}.sidebar-minimized .sidebar .nav-item:hover{width:250px;overflow:visible}.sidebar-minimized .sidebar .nav-item:hover>.nav-link,.sidebar-minimized .sidebar .navbar .nav-item:hover>.dropdown-toggle,.navbar .sidebar-minimized .sidebar .nav-item:hover>.dropdown-toggle{background:#039}.sidebar-minimized .sidebar .nav-item:hover>.nav-link i,.sidebar-minimized .sidebar .navbar .nav-item:hover>.dropdown-toggle i,.navbar .sidebar-minimized .sidebar .nav-item:hover>.dropdown-toggle i{color:#fff}.sidebar-minimized .sidebar .nav-link,.sidebar-minimized .sidebar .navbar .dropdown-toggle,.navbar .sidebar-minimized .sidebar .dropdown-toggle{position:relative;padding-left:0;margin:0;white-space:nowrap;border-left:0 !important}.sidebar-minimized .sidebar .nav-link i,.sidebar-minimized .sidebar .navbar .dropdown-toggle i,.navbar .sidebar-minimized .sidebar .dropdown-toggle i{display:block;float:left;width:50px;font-size:18px}.sidebar-minimized .sidebar .nav-link .badge,.sidebar-minimized .sidebar .navbar .dropdown-toggle .badge,.navbar .sidebar-minimized .sidebar .dropdown-toggle .badge{position:absolute;right:15px;display:none}.sidebar-minimized .sidebar .nav-link:hover,.sidebar-minimized .sidebar .navbar .dropdown-toggle:hover,.navbar .sidebar-minimized .sidebar .dropdown-toggle:hover{width:250px;background:#039}.sidebar-minimized .sidebar .nav-link:hover .badge,.sidebar-minimized .sidebar .navbar .dropdown-toggle:hover .badge,.navbar .sidebar-minimized .sidebar .dropdown-toggle:hover .badge{display:inline}.sidebar-minimized .sidebar .nav-link.nav-dropdown-toggle::before,.sidebar-minimized .sidebar .navbar .nav-dropdown-toggle.dropdown-toggle::before,.navbar .sidebar-minimized .sidebar .nav-dropdown-toggle.dropdown-toggle::before{display:none}.sidebar-minimized .sidebar .nav-dropdown-items .nav-item{width:200px}.sidebar-minimized .sidebar .nav-dropdown-items .nav-item .nav-link,.sidebar-minimized .sidebar .nav-dropdown-items .nav-item .navbar .dropdown-toggle,.navbar .sidebar-minimized .sidebar .nav-dropdown-items .nav-item .dropdown-toggle{width:200px}.sidebar-minimized .sidebar .nav>.nav-dropdown>.nav-dropdown-items{display:none;max-height:1000px;background:#29363d}.sidebar-minimized .sidebar .nav>.nav-dropdown:hover{background:#039}.sidebar-minimized .sidebar .nav>.nav-dropdown:hover>.nav-dropdown-items{position:absolute;left:50px;display:inline}}.switch.switch-default{position:relative;display:inline-block;vertical-align:top;width:40px;height:24px;background-color:rgba(0,0,0,0);cursor:pointer}.switch.switch-default .switch-input{position:absolute;top:0;left:0;opacity:0}.switch.switch-default .switch-label{position:relative;display:block;height:inherit;font-size:10px;font-weight:600;text-transform:uppercase;background-color:#fff;border:1px solid #a4b7c1;border-radius:2px;transition:opacity background .15s ease-out}.switch.switch-default .switch-input:checked~.switch-label::before{opacity:0}.switch.switch-default .switch-input:checked~.switch-label::after{opacity:1}.switch.switch-default .switch-handle{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border:1px solid #a4b7c1;border-radius:1px;transition:left .15s ease-out}.switch.switch-default .switch-input:checked~.switch-handle{left:18px}.switch.switch-default.switch-lg{width:48px;height:28px}.switch.switch-default.switch-lg .switch-label{font-size:12px}.switch.switch-default.switch-lg .switch-handle{width:24px;height:24px}.switch.switch-default.switch-lg .switch-input:checked~.switch-handle{left:22px}.switch.switch-default.switch-sm{width:32px;height:20px}.switch.switch-default.switch-sm .switch-label{font-size:8px}.switch.switch-default.switch-sm .switch-handle{width:16px;height:16px}.switch.switch-default.switch-sm .switch-input:checked~.switch-handle{left:14px}.switch.switch-default.switch-xs{width:24px;height:16px}.switch.switch-default.switch-xs .switch-label{font-size:7px}.switch.switch-default.switch-xs .switch-handle{width:12px;height:12px}.switch.switch-default.switch-xs .switch-input:checked~.switch-handle{left:10px}.switch.switch-text{position:relative;display:inline-block;vertical-align:top;width:48px;height:24px;background-color:rgba(0,0,0,0);cursor:pointer}.switch.switch-text .switch-input{position:absolute;top:0;left:0;opacity:0}.switch.switch-text .switch-label{position:relative;display:block;height:inherit;font-size:10px;font-weight:600;text-transform:uppercase;background-color:#fff;border:1px solid #a4b7c1;border-radius:2px;transition:opacity background .15s ease-out}.switch.switch-text .switch-label::before,.switch.switch-text .switch-label::after{position:absolute;top:50%;width:50%;margin-top:-0.5em;line-height:1;text-align:center;transition:inherit}.switch.switch-text .switch-label::before{right:1px;color:#c2cfd6;content:attr(data-off)}.switch.switch-text .switch-label::after{left:1px;color:#fff;content:attr(data-on);opacity:0}.switch.switch-text .switch-input:checked~.switch-label::before{opacity:0}.switch.switch-text .switch-input:checked~.switch-label::after{opacity:1}.switch.switch-text .switch-handle{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border:1px solid #a4b7c1;border-radius:1px;transition:left .15s ease-out}.switch.switch-text .switch-input:checked~.switch-handle{left:26px}.switch.switch-text.switch-lg{width:56px;height:28px}.switch.switch-text.switch-lg .switch-label{font-size:12px}.switch.switch-text.switch-lg .switch-handle{width:24px;height:24px}.switch.switch-text.switch-lg .switch-input:checked~.switch-handle{left:30px}.switch.switch-text.switch-sm{width:40px;height:20px}.switch.switch-text.switch-sm .switch-label{font-size:8px}.switch.switch-text.switch-sm .switch-handle{width:16px;height:16px}.switch.switch-text.switch-sm .switch-input:checked~.switch-handle{left:22px}.switch.switch-text.switch-xs{width:32px;height:16px}.switch.switch-text.switch-xs .switch-label{font-size:7px}.switch.switch-text.switch-xs .switch-handle{width:12px;height:12px}.switch.switch-text.switch-xs .switch-input:checked~.switch-handle{left:18px}.switch.switch-icon{position:relative;display:inline-block;vertical-align:top;width:48px;height:24px;background-color:rgba(0,0,0,0);cursor:pointer}.switch.switch-icon .switch-input{position:absolute;top:0;left:0;opacity:0}.switch.switch-icon .switch-label{position:relative;display:block;height:inherit;font-family:FontAwesome;font-size:10px;font-weight:600;text-transform:uppercase;background-color:#fff;border:1px solid #a4b7c1;border-radius:2px;transition:opacity background .15s ease-out}.switch.switch-icon .switch-label::before,.switch.switch-icon .switch-label::after{position:absolute;top:50%;width:50%;margin-top:-0.5em;line-height:1;text-align:center;transition:inherit}.switch.switch-icon .switch-label::before{right:1px;color:#c2cfd6;content:attr(data-off)}.switch.switch-icon .switch-label::after{left:1px;color:#fff;content:attr(data-on);opacity:0}.switch.switch-icon .switch-input:checked~.switch-label::before{opacity:0}.switch.switch-icon .switch-input:checked~.switch-label::after{opacity:1}.switch.switch-icon .switch-handle{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border:1px solid #a4b7c1;border-radius:1px;transition:left .15s ease-out}.switch.switch-icon .switch-input:checked~.switch-handle{left:26px}.switch.switch-icon.switch-lg{width:56px;height:28px}.switch.switch-icon.switch-lg .switch-label{font-size:12px}.switch.switch-icon.switch-lg .switch-handle{width:24px;height:24px}.switch.switch-icon.switch-lg .switch-input:checked~.switch-handle{left:30px}.switch.switch-icon.switch-sm{width:40px;height:20px}.switch.switch-icon.switch-sm .switch-label{font-size:8px}.switch.switch-icon.switch-sm .switch-handle{width:16px;height:16px}.switch.switch-icon.switch-sm .switch-input:checked~.switch-handle{left:22px}.switch.switch-icon.switch-xs{width:32px;height:16px}.switch.switch-icon.switch-xs .switch-label{font-size:7px}.switch.switch-icon.switch-xs .switch-handle{width:12px;height:12px}.switch.switch-icon.switch-xs .switch-input:checked~.switch-handle{left:18px}.switch.switch-3d{position:relative;display:inline-block;vertical-align:top;width:40px;height:24px;background-color:rgba(0,0,0,0);cursor:pointer}.switch.switch-3d .switch-input{position:absolute;top:0;left:0;opacity:0}.switch.switch-3d .switch-label{position:relative;display:block;height:inherit;font-size:10px;font-weight:600;text-transform:uppercase;background-color:#f0f3f5;border:1px solid #a4b7c1;border-radius:2px;transition:opacity background .15s ease-out}.switch.switch-3d .switch-input:checked~.switch-label::before{opacity:0}.switch.switch-3d .switch-input:checked~.switch-label::after{opacity:1}.switch.switch-3d .switch-handle{position:absolute;top:0;left:0;width:24px;height:24px;background:#fff;border:1px solid #a4b7c1;border-radius:1px;transition:left .15s ease-out;border:0;box-shadow:0 2px 5px rgba(0,0,0,.3)}.switch.switch-3d .switch-input:checked~.switch-handle{left:16px}.switch.switch-3d.switch-lg{width:48px;height:28px}.switch.switch-3d.switch-lg .switch-label{font-size:12px}.switch.switch-3d.switch-lg .switch-handle{width:28px;height:28px}.switch.switch-3d.switch-lg .switch-input:checked~.switch-handle{left:20px}.switch.switch-3d.switch-sm{width:32px;height:20px}.switch.switch-3d.switch-sm .switch-label{font-size:8px}.switch.switch-3d.switch-sm .switch-handle{width:20px;height:20px}.switch.switch-3d.switch-sm .switch-input:checked~.switch-handle{left:12px}.switch.switch-3d.switch-xs{width:24px;height:16px}.switch.switch-3d.switch-xs .switch-label{font-size:7px}.switch.switch-3d.switch-xs .switch-handle{width:16px;height:16px}.switch.switch-3d.switch-xs .switch-input:checked~.switch-handle{left:8px}.switch-pill .switch-label,.switch.switch-3d .switch-label,.switch-pill .switch-handle,.switch.switch-3d .switch-handle{border-radius:50em !important}.switch-pill .switch-label::before,.switch.switch-3d .switch-label::before{right:2px !important}.switch-pill .switch-label::after,.switch.switch-3d .switch-label::after{left:2px !important}.switch-primary>.switch-input:checked~.switch-label{background:#039 !important;border-color:#026}.switch-primary>.switch-input:checked~.switch-handle{border-color:#026}.switch-primary-outline>.switch-input:checked~.switch-label{background:#fff !important;border-color:#039}.switch-primary-outline>.switch-input:checked~.switch-label::after{color:#039}.switch-primary-outline>.switch-input:checked~.switch-handle{border-color:#039}.switch-primary-outline-alt>.switch-input:checked~.switch-label{background:#fff !important;border-color:#039}.switch-primary-outline-alt>.switch-input:checked~.switch-label::after{color:#039}.switch-primary-outline-alt>.switch-input:checked~.switch-handle{background:#039 !important;border-color:#039}.switch-secondary>.switch-input:checked~.switch-label{background:#3e515b !important;border-color:rgb(41.3333333333,54,60.6666666667)}.switch-secondary>.switch-input:checked~.switch-handle{border-color:rgb(41.3333333333,54,60.6666666667)}.switch-secondary-outline>.switch-input:checked~.switch-label{background:#fff !important;border-color:#3e515b}.switch-secondary-outline>.switch-input:checked~.switch-label::after{color:#3e515b}.switch-secondary-outline>.switch-input:checked~.switch-handle{border-color:#3e515b}.switch-secondary-outline-alt>.switch-input:checked~.switch-label{background:#fff !important;border-color:#3e515b}.switch-secondary-outline-alt>.switch-input:checked~.switch-label::after{color:#3e515b}.switch-secondary-outline-alt>.switch-input:checked~.switch-handle{background:#3e515b !important;border-color:#3e515b}.switch-success>.switch-input:checked~.switch-label{background:#4dbd74 !important;border-color:rgb(58.1557377049,156.8442622951,92.5204918033)}.switch-success>.switch-input:checked~.switch-handle{border-color:rgb(58.1557377049,156.8442622951,92.5204918033)}.switch-success-outline>.switch-input:checked~.switch-label{background:#fff !important;border-color:#4dbd74}.switch-success-outline>.switch-input:checked~.switch-label::after{color:#4dbd74}.switch-success-outline>.switch-input:checked~.switch-handle{border-color:#4dbd74}.switch-success-outline-alt>.switch-input:checked~.switch-label{background:#fff !important;border-color:#4dbd74}.switch-success-outline-alt>.switch-input:checked~.switch-label::after{color:#4dbd74}.switch-success-outline-alt>.switch-input:checked~.switch-handle{background:#4dbd74 !important;border-color:#4dbd74}.switch-info>.switch-input:checked~.switch-label{background:#63c2de !important;border-color:rgb(56.9047619048,177.5396825397,213.0952380952)}.switch-info>.switch-input:checked~.switch-handle{border-color:rgb(56.9047619048,177.5396825397,213.0952380952)}.switch-info-outline>.switch-input:checked~.switch-label{background:#fff !important;border-color:#63c2de}.switch-info-outline>.switch-input:checked~.switch-label::after{color:#63c2de}.switch-info-outline>.switch-input:checked~.switch-handle{border-color:#63c2de}.switch-info-outline-alt>.switch-input:checked~.switch-label{background:#fff !important;border-color:#63c2de}.switch-info-outline-alt>.switch-input:checked~.switch-label::after{color:#63c2de}.switch-info-outline-alt>.switch-input:checked~.switch-handle{background:#63c2de !important;border-color:#63c2de}.switch-warning>.switch-input:checked~.switch-label{background:#fc0 !important;border-color:rgb(204,163.2,0)}.switch-warning>.switch-input:checked~.switch-handle{border-color:rgb(204,163.2,0)}.switch-warning-outline>.switch-input:checked~.switch-label{background:#fff !important;border-color:#fc0}.switch-warning-outline>.switch-input:checked~.switch-label::after{color:#fc0}.switch-warning-outline>.switch-input:checked~.switch-handle{border-color:#fc0}.switch-warning-outline-alt>.switch-input:checked~.switch-label{background:#fff !important;border-color:#fc0}.switch-warning-outline-alt>.switch-input:checked~.switch-label::after{color:#fc0}.switch-warning-outline-alt>.switch-input:checked~.switch-handle{background:#fc0 !important;border-color:#fc0}.switch-danger>.switch-input:checked~.switch-label{background:#f86c6b !important;border-color:hsl(.4255319149,90.9677419355%,59.6078431373%)}.switch-danger>.switch-input:checked~.switch-handle{border-color:hsl(.4255319149,90.9677419355%,59.6078431373%)}.switch-danger-outline>.switch-input:checked~.switch-label{background:#fff !important;border-color:#f86c6b}.switch-danger-outline>.switch-input:checked~.switch-label::after{color:#f86c6b}.switch-danger-outline>.switch-input:checked~.switch-handle{border-color:#f86c6b}.switch-danger-outline-alt>.switch-input:checked~.switch-label{background:#fff !important;border-color:#f86c6b}.switch-danger-outline-alt>.switch-input:checked~.switch-label::after{color:#f86c6b}.switch-danger-outline-alt>.switch-input:checked~.switch-handle{background:#f86c6b !important;border-color:#f86c6b}.switch-light>.switch-input:checked~.switch-label{background:#c2cfd6 !important;border-color:rgb(163.5,183,193.5)}.switch-light>.switch-input:checked~.switch-handle{border-color:rgb(163.5,183,193.5)}.switch-light-outline>.switch-input:checked~.switch-label{background:#fff !important;border-color:#c2cfd6}.switch-light-outline>.switch-input:checked~.switch-label::after{color:#c2cfd6}.switch-light-outline>.switch-input:checked~.switch-handle{border-color:#c2cfd6}.switch-light-outline-alt>.switch-input:checked~.switch-label{background:#fff !important;border-color:#c2cfd6}.switch-light-outline-alt>.switch-input:checked~.switch-label::after{color:#c2cfd6}.switch-light-outline-alt>.switch-input:checked~.switch-handle{background:#c2cfd6 !important;border-color:#c2cfd6}.switch-dark>.switch-input:checked~.switch-label{background:#29363d !important;border-color:rgb(20.5,27,30.5)}.switch-dark>.switch-input:checked~.switch-handle{border-color:rgb(20.5,27,30.5)}.switch-dark-outline>.switch-input:checked~.switch-label{background:#fff !important;border-color:#29363d}.switch-dark-outline>.switch-input:checked~.switch-label::after{color:#29363d}.switch-dark-outline>.switch-input:checked~.switch-handle{border-color:#29363d}.switch-dark-outline-alt>.switch-input:checked~.switch-label{background:#fff !important;border-color:#29363d}.switch-dark-outline-alt>.switch-input:checked~.switch-label::after{color:#29363d}.switch-dark-outline-alt>.switch-input:checked~.switch-handle{background:#29363d !important;border-color:#29363d}.table-outline{border:1px solid #a4b7c1}.table-outline td{vertical-align:middle}.table-align-middle td{vertical-align:middle}.table-clear td{border:0}.social-box{min-height:160px;margin-bottom:1.5rem;text-align:center;background:#fff;border:1px solid #c2cfd6;border-radius:.25rem}.social-box i{display:block;margin:-1px -1px 0;font-size:40px;line-height:90px;background:#c2cfd6;border-radius:.25rem .25rem 0 0}.social-box .chart-wrapper{height:90px;margin:-90px 0 0}.social-box .chart-wrapper canvas{width:100% !important;height:90px !important}.social-box ul{padding:10px 0;list-style:none}.social-box ul li{display:block;float:left;width:50%}.social-box ul li:first-child{border-right:1px solid #a4b7c1}.social-box ul li strong{display:block;font-size:20px}.social-box ul li span{font-size:10px;font-weight:500;color:#a4b7c1;text-transform:uppercase}.social-box.facebook i{color:#fff;background:#3b5998}.social-box.twitter i{color:#fff;background:#00aced}.social-box.linkedin i{color:#fff;background:#4875b4}.social-box.google-plus i{color:#fff;background:#d34836}.horizontal-bars{padding:0;margin:0;list-style:none}.horizontal-bars li{position:relative;height:40px;line-height:40px;vertical-align:middle}.horizontal-bars li .title{width:100px;font-size:12px;font-weight:600;color:#536c79;vertical-align:middle}.horizontal-bars li .bars{position:absolute;top:15px;width:100%;padding-left:100px}.horizontal-bars li .bars .progress:first-child{margin-bottom:2px}.horizontal-bars li.legend{text-align:center}.horizontal-bars li.legend .badge{display:inline-block;width:8px;height:8px;padding:0}.horizontal-bars li.divider{height:40px}.horizontal-bars li.divider i{margin:0 !important}.horizontal-bars.type-2 li{overflow:hidden}.horizontal-bars.type-2 li i{display:inline-block;margin-right:1rem;margin-left:5px;font-size:18px;line-height:40px}.horizontal-bars.type-2 li .title{display:inline-block;width:auto;margin-top:-9px;font-size:.875rem;font-weight:normal;line-height:40px;color:#151b1e}.horizontal-bars.type-2 li .value{float:right;font-weight:600}.horizontal-bars.type-2 li .bars{position:absolute;top:auto;bottom:0;padding:0}.icons-list{padding:0;margin:0;list-style:none}.icons-list li{position:relative;height:40px;vertical-align:middle}.icons-list li i{display:block;float:left;width:35px !important;height:35px !important;margin:2px;line-height:35px !important;text-align:center}.icons-list li .desc{height:40px;margin-left:50px;border-bottom:1px solid #a4b7c1}.icons-list li .desc .title{padding:2px 0 0;margin:0}.icons-list li .desc small{display:block;margin-top:-4px;color:#536c79}.icons-list li .value{position:absolute;top:2px;right:45px;text-align:right}.icons-list li .value strong{display:block;margin-top:-3px}.icons-list li .actions{position:absolute;top:-4px;right:10px;width:40px;height:40px;line-height:40px;text-align:center}.icons-list li .actions i{float:none;width:auto;height:auto;padding:0;margin:0;line-height:normal}.icons-list li.divider{height:40px}.icons-list li.divider i{width:auto;height:auto;margin:2px 0 0;font-size:18px}@media all and (-ms-high-contrast: none){html{display:flex;flex-direction:column}}.app,app-dashboard,app-root{display:flex;flex-direction:column;min-height:100vh}.app-header{flex:0 0 55px}.app-footer{flex:0 0 50px}.app-body{display:flex;flex-direction:row;flex-grow:1;overflow-x:hidden}.app-body .main{flex:1;min-width:0}.app-body .sidebar{flex:0 0 200px;order:-1}.app-body .aside-menu{flex:0 0 250px}.header-fixed .app-header{position:fixed;z-index:1020;width:100%}.header-fixed .app-body{margin-top:55px}.sidebar-hidden .sidebar{margin-left:-200px}.sidebar-fixed .sidebar{position:fixed;z-index:1019;width:200px;height:calc(100vh - 55px)}.sidebar-fixed .main,.sidebar-fixed .app-footer{margin-left:200px}.sidebar-fixed.sidebar-hidden .main,.sidebar-fixed.sidebar-hidden .app-footer{margin-left:0}.sidebar-off-canvas .sidebar{position:fixed;z-index:1019;height:calc(100vh - 55px)}@media(min-width: 992px){.sidebar-compact .sidebar{flex:0 0 150px}.sidebar-compact.sidebar-hidden .sidebar{margin-left:-150px}.sidebar-compact.sidebar-fixed .main,.sidebar-compact.sidebar-fixed .app-footer{margin-left:150px}.sidebar-compact.sidebar-fixed .sidebar{width:150px}.sidebar-compact.sidebar-fixed.sidebar-hidden .main,.sidebar-compact.sidebar-fixed.sidebar-hidden .app-footer{margin-left:0}.sidebar-minimized .sidebar{flex:0 0 50px}.sidebar-minimized.sidebar-hidden .sidebar{margin-left:-50px}.sidebar-minimized.sidebar-fixed .main,.sidebar-minimized.sidebar-fixed .app-footer{margin-left:50px}.sidebar-minimized.sidebar-fixed .sidebar{width:50px}.sidebar-minimized.sidebar-fixed.sidebar-hidden .main,.sidebar-minimized.sidebar-fixed.sidebar-hidden .app-footer{margin-left:0}}.aside-menu-hidden .aside-menu{margin-right:-250px}.aside-menu-fixed .aside-menu{position:fixed;right:0;height:100%}.aside-menu-fixed .aside-menu .tab-content{height:calc(100vh - 2.375rem - 55px)}.aside-menu-fixed .main,.aside-menu-fixed .app-footer{margin-right:250px}.aside-menu-fixed.aside-menu-hidden .main,.aside-menu-fixed.aside-menu-hidden .app-footer{margin-right:0}.aside-menu-off-canvas .aside-menu{position:fixed;right:0;z-index:1019;height:100%}.aside-menu-off-canvas .aside-menu .tab-content{height:calc(100vh - 2.375rem - 55px)}.breadcrumb-fixed .main{padding-top:3.875rem}.breadcrumb-fixed .breadcrumb{position:fixed;top:55px;right:0;left:0;z-index:1018}.breadcrumb-fixed .main:nth-child(2) .breadcrumb{right:250px;left:200px}.breadcrumb-fixed .main:first-child .breadcrumb{right:250px;left:0}.breadcrumb-fixed .main:last-child .breadcrumb{right:0}.breadcrumb-fixed.sidebar-minimized .main .breadcrumb{left:50px}.breadcrumb-fixed.sidebar-hidden .main .breadcrumb,.breadcrumb-fixed.sidebar-off-canvas .main .breadcrumb{left:0}.breadcrumb-fixed.aside-menu-hidden .main .breadcrumb,.breadcrumb-fixed.aside-menu-off-canvas .main .breadcrumb{right:0}.footer-fixed .app-footer{position:fixed;right:0;bottom:0;left:0;z-index:1020;height:50px}.footer-fixed .app-body{margin-bottom:50px}.app-header,.app-footer,.sidebar,.main,.aside-menu{transition:margin-left .25s,margin-right .25s,width .25s,flex .25s}.sidebar-nav{transition:width .25s}.breadcrumb{transition:left .25s,right .25s,width .25s}@media(max-width: 991.98px){.app-header.navbar{position:fixed !important;z-index:1020;width:100%;text-align:center;background-color:#fff;border-bottom:1px solid #a4b7c1}.app-header.navbar .navbar-toggler{color:#536c79}.app-header.navbar .navbar-brand{position:absolute;left:50%;margin-left:-65px}.app-body{margin-top:55px}.breadcrumb-fixed .main:nth-child(2) .breadcrumb{right:auto;left:auto;width:100%}.sidebar{position:fixed;z-index:1019;width:220px;height:calc(100vh - 55px);margin-left:-220px}.sidebar .sidebar-nav,.sidebar .nav{width:220px;min-height:calc(100vh - 55px)}.sidebar .sidebar-minimizer{display:none}.main,.app-footer{margin-left:0 !important}.sidebar-hidden .sidebar{margin-left:-220px}.sidebar-mobile-show .sidebar{width:220px;margin-left:0}.sidebar-mobile-show .main{margin-right:-220px !important;margin-left:220px !important}}hr.transparent{border-top:1px solid rgba(0,0,0,0)}.bg-primary,.bg-success,.bg-info,.bg-warning,.bg-danger,.bg-inverse{color:#fff}.b-a-0{border:0 !important}.b-t-0{border-top:0 !important}.b-r-0{border-right:0 !important}.b-b-0{border-bottom:0 !important}.b-l-0{border-left:0 !important}.b-a-1{border:1px solid #a4b7c1 !important}.b-t-1{border-top:1px solid #a4b7c1 !important}.b-r-1{border-right:1px solid #a4b7c1 !important}.b-b-1{border-bottom:1px solid #a4b7c1 !important}.b-l-1{border-left:1px solid #a4b7c1 !important}.b-a-2{border:2px solid #a4b7c1 !important}.b-t-2{border-top:2px solid #a4b7c1 !important}.b-r-2{border-right:2px solid #a4b7c1 !important}.b-b-2{border-bottom:2px solid #a4b7c1 !important}.b-l-2{border-left:2px solid #a4b7c1 !important}@media(max-width: 575.98px){.d-down-none{display:none !important}}@media(max-width: 767.98px){.d-sm-down-none{display:none !important}}@media(max-width: 991.98px){.d-md-down-none{display:none !important}}@media(max-width: 1199.98px){.d-lg-down-none{display:none !important}}.d-xl-down-none{display:none !important}.label-pill{border-radius:1rem !important}.open>a,.show>a{outline:0}.navbar .dropdown-toggle .img-avatar{height:35px;margin:0 10px}*[dir=rtl]{direction:rtl;unicode-bidi:embed}*[dir=rtl] ul{-webkit-padding-start:0}*[dir=rtl] table tr th{text-align:right}*[dir=rtl] .breadcrumb-item{float:right}*[dir=rtl] .breadcrumb-menu{right:auto;left:1rem}*[dir=rtl] .dropdown-item{text-align:right}*[dir=rtl] .dropdown-item i{margin-right:-10px;margin-left:10px}*[dir=rtl] .dropdown-item .badge{right:auto;left:10px}*[dir=rtl] .sidebar-hidden .sidebar{margin-right:-200px}*[dir=rtl] .sidebar-fixed .main,*[dir=rtl] .sidebar-fixed .app-footer{margin-right:200px}*[dir=rtl] .sidebar-fixed.sidebar-hidden .main,*[dir=rtl] .sidebar-fixed.sidebar-hidden .app-footer{margin-right:0}*[dir=rtl] .sidebar-minimized .sidebar{flex:0 0 50px}*[dir=rtl] .sidebar-minimized.sidebar-hidden .sidebar{margin-right:-50px;margin-left:0}*[dir=rtl] .sidebar-minimized.sidebar-fixed .main,*[dir=rtl] .sidebar-minimized.sidebar-fixed .app-footer{margin-right:50px}*[dir=rtl] .sidebar-minimized.sidebar-fixed.sidebar-hidden .main,*[dir=rtl] .sidebar-minimized.sidebar-fixed.sidebar-hidden .app-footer{margin-left:0}*[dir=rtl] .aside-menu-hidden .aside-menu{margin-right:0;margin-left:-250px}*[dir=rtl] .aside-menu-fixed .aside-menu{right:auto;left:0}*[dir=rtl] .aside-menu-fixed .main,*[dir=rtl] .aside-menu-fixed .app-footer{margin-left:250px}*[dir=rtl] .aside-menu-fixed.aside-menu-hidden .main,*[dir=rtl] .aside-menu-fixed.aside-menu-hidden .app-footer{margin-left:0}*[dir=rtl] .aside-menu-off-canvas .aside-menu{position:fixed;right:0;z-index:1019;height:100%}*[dir=rtl] .aside-menu-off-canvas .aside-menu .tab-content{height:calc(100vh - 2.375rem - 55px)}*[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .nav-link,*[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .navbar .dropdown-toggle,.navbar *[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .dropdown-toggle{direction:rtl}*[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .nav-link i,*[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .navbar .dropdown-toggle i,.navbar *[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .dropdown-toggle i{margin:0 0 0 .5rem}*[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .nav-link .badge,*[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .navbar .dropdown-toggle .badge,.navbar *[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .dropdown-toggle .badge{float:left;margin-top:2px}*[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .nav-link.nav-dropdown-toggle::before,*[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .navbar .nav-dropdown-toggle.dropdown-toggle::before,.navbar *[dir=rtl] .sidebar .sidebar-nav .nav .nav-item .nav-dropdown-toggle.dropdown-toggle::before{position:absolute;right:auto !important;left:1rem;transform:rotate(180deg)}*[dir=rtl] .sidebar .sidebar-nav .nav .nav-item.nav-dropdown.open>.nav-link.nav-dropdown-toggle::before,*[dir=rtl] .sidebar .sidebar-nav .nav .navbar .nav-item.nav-dropdown.open>.nav-dropdown-toggle.dropdown-toggle::before,.navbar *[dir=rtl] .sidebar .sidebar-nav .nav .nav-item.nav-dropdown.open>.nav-dropdown-toggle.dropdown-toggle::before{transform:rotate(270deg)}*[dir=rtl] .sidebar-minimized .sidebar .nav-link,*[dir=rtl] .sidebar-minimized .sidebar .navbar .dropdown-toggle,.navbar *[dir=rtl] .sidebar-minimized .sidebar .dropdown-toggle{padding-right:0}*[dir=rtl] .sidebar-minimized .sidebar .nav-link i,*[dir=rtl] .sidebar-minimized .sidebar .navbar .dropdown-toggle i,.navbar *[dir=rtl] .sidebar-minimized .sidebar .dropdown-toggle i{float:right;padding:0;margin:0}*[dir=rtl] .sidebar-minimized .sidebar .nav-link .badge,*[dir=rtl] .sidebar-minimized .sidebar .navbar .dropdown-toggle .badge,.navbar *[dir=rtl] .sidebar-minimized .sidebar .dropdown-toggle .badge{right:auto;left:15px}*[dir=rtl] .sidebar-minimized .sidebar .nav>.nav-dropdown:hover>.nav-dropdown-items{right:50px;left:0}*[dir=rtl] .horizontal-bars li .bars{padding-right:100px;padding-left:0}*[dir=rtl] .horizontal-bars li .bars .progress:first-child{margin-bottom:2px}*[dir=rtl] .horizontal-bars.type-2 li i{margin-right:5px;margin-left:1rem}*[dir=rtl] .horizontal-bars.type-2 li .value{float:left;font-weight:600}*[dir=rtl] .horizontal-bars.type-2 li .bars{padding:0}*[dir=rtl] .icons-list li{position:relative;height:40px;vertical-align:middle}*[dir=rtl] .icons-list li i{float:right}*[dir=rtl] .icons-list li .desc{margin-right:50px;margin-left:0}*[dir=rtl] .icons-list li .value{right:auto;left:45px;text-align:left}*[dir=rtl] .icons-list li .value strong{display:block;margin-top:-3px}*[dir=rtl] .icons-list li .actions{right:auto;left:10px}*[dir=rtl] .callout{border:0 solid #a4b7c1;border-right-width:.25rem}*[dir=rtl] .callout.callout-primary{border-right-color:#039}*[dir=rtl] .callout.callout-secondary{border-right-color:#3e515b}*[dir=rtl] .callout.callout-success{border-right-color:#4dbd74}*[dir=rtl] .callout.callout-info{border-right-color:#63c2de}*[dir=rtl] .callout.callout-warning{border-right-color:#fc0}*[dir=rtl] .callout.callout-danger{border-right-color:#f86c6b}*[dir=rtl] .callout.callout-light{border-right-color:#c2cfd6}*[dir=rtl] .callout.callout-dark{border-right-color:#29363d}*[dir=rtl] .callout .chart-wrapper{left:0;float:left}*[dir=rtl] .callout-default{border-right-color:#536c79}form.rjsf label{margin-bottom:0}form.rjsf div>p.field-description{font-size:.7rem;font-style:italic;margin-bottom:0px}form.rjsf input{width:auto}form.rjsf div.row.array-item{background-color:#f0f8ff;margin-bottom:3px}form.rjsf button.btn-add,form.rjsf button.array-item-add button{background-color:#20a8d8 !important;border-color:#20a8d8 !important;color:#fff !important}form.rjsf button.btn-add:hover,form.rjsf button.array-item-add button:hover{background-color:#1985ac !important;border-color:#1985ac !important}form.rjsf button.btn-add:focus,form.rjsf button.array-item-add button:focus{background-color:#1985ac !important;border-color:#1985ac !important;box-shadow:0 0 0 .2rem rgba(32,168,216,.5) !important}form.rjsf button.array-item-remove{background-color:#f86c6b !important;border-color:#f86c6b !important;color:#fff !important}form.rjsf button.array-item-remove:hover{background-color:#f63c3a !important;border-color:#f63c3a !important}form.rjsf button.array-item-remove:focus{background-color:#f63c3a !important;border-color:#f63c3a !important;box-shadow:0 0 0 .2rem rgba(248,108,107,.5) !important}form.rjsf .array-button-style{flex:1 1 0%;padding-left:6px;padding-right:6px;font-weight:bold}form.rjsf .btn-group-flex{display:flex;justify-content:space-around}@media(max-width: 767px){.container-fluid,.container-sm,.container-md,.container-lg,.container-xl,.row{padding:0 2px !important}.navbar-header{margin:0px}}.text-pretty{text-wrap:balance;text-wrap:pretty}","",{version:3,sources:["webpack://./scss/style.scss","webpack://./../../node_modules/bootstrap/scss/_root.scss","webpack://./../../node_modules/bootstrap/scss/_reboot.scss","webpack://./../../node_modules/bootstrap/scss/_variables.scss","webpack://./../../node_modules/bootstrap/scss/vendor/_rfs.scss","webpack://./scss/_bootstrap-variables.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_hover.scss","webpack://./../../node_modules/bootstrap/scss/_type.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_lists.scss","webpack://./../../node_modules/bootstrap/scss/_images.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_image.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_border-radius.scss","webpack://./../../node_modules/bootstrap/scss/_code.scss","webpack://./../../node_modules/bootstrap/scss/_grid.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_grid.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_breakpoints.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_grid-framework.scss","webpack://./../../node_modules/bootstrap/scss/_tables.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_table-row.scss","webpack://./../../node_modules/bootstrap/scss/_forms.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_transition.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_forms.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_gradients.scss","webpack://./../../node_modules/bootstrap/scss/_buttons.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_buttons.scss","webpack://./../../node_modules/bootstrap/scss/_transitions.scss","webpack://./../../node_modules/bootstrap/scss/_dropdown.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_caret.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_nav-divider.scss","webpack://./../../node_modules/bootstrap/scss/_button-group.scss","webpack://./../../node_modules/bootstrap/scss/_input-group.scss","webpack://./../../node_modules/bootstrap/scss/_custom-forms.scss","webpack://./../../node_modules/bootstrap/scss/_nav.scss","webpack://./../../node_modules/bootstrap/scss/_navbar.scss","webpack://./../../node_modules/bootstrap/scss/_card.scss","webpack://./../../node_modules/bootstrap/scss/_breadcrumb.scss","webpack://./../../node_modules/bootstrap/scss/_pagination.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_pagination.scss","webpack://./../../node_modules/bootstrap/scss/_badge.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_badge.scss","webpack://./../../node_modules/bootstrap/scss/_jumbotron.scss","webpack://./../../node_modules/bootstrap/scss/_alert.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_alert.scss","webpack://./../../node_modules/bootstrap/scss/_progress.scss","webpack://./../../node_modules/bootstrap/scss/_media.scss","webpack://./../../node_modules/bootstrap/scss/_list-group.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_list-group.scss","webpack://./../../node_modules/bootstrap/scss/_close.scss","webpack://./../../node_modules/bootstrap/scss/_toasts.scss","webpack://./../../node_modules/bootstrap/scss/_modal.scss","webpack://./../../node_modules/bootstrap/scss/_tooltip.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_reset-text.scss","webpack://./../../node_modules/bootstrap/scss/_popover.scss","webpack://./../../node_modules/bootstrap/scss/_carousel.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_clearfix.scss","webpack://./../../node_modules/bootstrap/scss/_spinners.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_align.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_background-variant.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_background.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_borders.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_display.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_embed.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_flex.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_float.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_interactions.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_position.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_screenreaders.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_screen-reader.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_shadows.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_sizing.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_spacing.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_stretched-link.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_text.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_text-truncate.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_text-emphasis.scss","webpack://./../../node_modules/bootstrap/scss/mixins/_text-hide.scss","webpack://./../../node_modules/bootstrap/scss/utilities/_visibility.scss","webpack://./../../node_modules/bootstrap/scss/_print.scss","webpack://./scss/core/_typography.scss","webpack://./scss/core/_animate.scss","webpack://./scss/core/_aside.scss","webpack://./scss/core/_variables.scss","webpack://./scss/core/_mixins.scss","webpack://./scss/core/_avatars.scss","webpack://./scss/core/_badge.scss","webpack://./scss/core/_breadcrumb-menu.scss","webpack://./scss/core/_breadcrumb.scss","webpack://./scss/core/_buttons.scss","webpack://./scss/core/_callout.scss","webpack://./scss/core/_card.scss","webpack://./scss/core/_charts.scss","webpack://./scss/core/_dropdown.scss","webpack://./scss/core/_footer.scss","webpack://./scss/core/_grid.scss","webpack://./scss/core/_input-group.scss","webpack://./scss/core/_loading.scss","webpack://./scss/core/_modal.scss","webpack://./scss/core/_nav.scss","webpack://./scss/core/_navbar.scss","webpack://./scss/core/_progress.scss","webpack://./scss/core/_sidebar.scss","webpack://./scss/core/_switches.scss","webpack://./scss/core/_tables.scss","webpack://./scss/core/_widgets.scss","webpack://./scss/core/_layout.scss","webpack://./scss/core/_others.scss","webpack://./scss/core/utilities/_background.scss","webpack://./scss/core/utilities/_borders.scss","webpack://./scss/core/utilities/_display.scss","webpack://./scss/core/_temp.scss","webpack://./scss/core/_rtl.scss","webpack://./scss/_custom.scss"],names:[],mappings:"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A,CAGF,4DAEE,UrBJW,CqBKX,8BAAA,CAGF,+JAGE,UAAA,CACA,qBrBZW,CqBaX,iBrBbW,CqBeX,iLAKI,wCAAA,CDzBN,uBCPA,arBYa,CqBXb,oBrBWa,CGhEb,6BkBwDE,UALgD,CAMhD,wBrBOW,CqBNX,oBrBMW,CqBHb,0DAEE,wCAAA,CAGF,gEAEE,arBJW,CqBKX,8BAAA,CAGF,qKAGE,UAAA,CACA,wBrBZW,CqBaX,oBrBbW,CqBeX,uLAKI,wCAAA,CDzBN,qBCPA,arBYa,CqBXb,oBrBWa,CGhEb,2BkBwDE,UALgD,CAMhD,wBrBOW,CqBNX,oBrBMW,CqBHb,sDAEE,0CAAA,CAGF,4DAEE,arBJW,CqBKX,8BAAA,CAGF,+JAGE,UAAA,CACA,wBrBZW,CqBaX,oBrBbW,CqBeX,iLAKI,0CAAA,CDzBN,kBCPA,arBYa,CqBXb,oBrBWa,CGhEb,wBkBwDE,aALgD,CAMhD,wBrBOW,CqBNX,oBrBMW,CqBHb,gDAEE,0CAAA,CAGF,sDAEE,arBJW,CqBKX,8BAAA,CAGF,sJAGE,aAAA,CACA,wBrBZW,CqBaX,oBrBbW,CqBeX,wKAKI,0CAAA,CDzBN,qBCPA,UrBYa,CqBXb,iBrBWa,CGhEb,2BkBwDE,aALgD,CAMhD,qBrBOW,CqBNX,iBrBMW,CqBHb,sDAEE,yCAAA,CAGF,4DAEE,UrBJW,CqBKX,8BAAA,CAGF,+JAGE,aAAA,CACA,qBrBZW,CqBaX,iBrBbW,CqBeX,iLAKI,yCAAA,CDzBN,oBCPA,arBYa,CqBXb,oBrBWa,CGhEb,0BkBwDE,UALgD,CAMhD,wBrBOW,CqBNX,oBrBMW,CqBHb,oDAEE,2CAAA,CAGF,0DAEE,arBJW,CqBKX,8BAAA,CAGF,4JAGE,UAAA,CACA,wBrBZW,CqBaX,oBrBbW,CqBeX,8KAKI,2CAAA,CDzBN,mBCPA,arBYa,CqBXb,oBrBWa,CGhEb,yBkBwDE,aALgD,CAMhD,wBrBOW,CqBNX,oBrBMW,CqBHb,kDAEE,2CAAA,CAGF,wDAEE,arBJW,CqBKX,8BAAA,CAGF,yJAGE,aAAA,CACA,wBrBZW,CqBaX,oBrBbW,CqBeX,2KAKI,2CAAA,CDzBN,kBCPA,arBYa,CqBXb,oBrBWa,CGhEb,wBkBwDE,UALgD,CAMhD,wBrBOW,CqBNX,oBrBMW,CqBHb,gDAEE,wCAAA,CAGF,sDAEE,arBJW,CqBKX,8BAAA,CAGF,sJAGE,UAAA,CACA,wBrBZW,CqBaX,oBrBbW,CqBeX,wKAKI,wCAAA,CDdR,UACE,epB6M4B,CoB5M5B,UpB2FwC,CoB1FxC,oBpB2FwC,CGpKxC,gBiB4EE,sBpByFsC,CoBxFtC,yBpByFsC,CoBtFxC,gCAEE,yBpBoFsC,CoBjFxC,sCAEE,alBvFO,CkBwFP,mBAAA,CAWJ,2BCPE,kBAAA,CpB4EI,oBAAA,CoB1EJ,erB+H4B,CQvN1B,mBAAA,CYiGJ,2BCXE,oBAAA,CpB4EI,qBAAA,CoB1EJ,erBgI4B,CQxN1B,mBAAA,CY0GJ,WACE,aAAA,CACA,UAAA,CAGA,sBACE,gBpBwT0B,CoBhT5B,sFACE,UAAA,CE3IJ,MLgBM,8BKfJ,CLmBI,uCKpBN,MLqBQ,eAAA,CAAA,CKlBN,iBACE,SAAA,CAKF,qBACE,YAAA,CAIJ,YACE,iBAAA,CACA,QAAA,CACA,eAAA,CLDI,2BKEJ,CLEI,uCKNN,YLOQ,eAAA,CAAA,CKDN,kBACE,OAAA,CACA,WAAA,CLNE,0BKOF,CLHE,uCAAA,kBACE,eAAA,CAAA,CMpBR,uCAIE,iBAAA,CAGF,iBACE,kBAAA,CCoBE,wBACE,oBAAA,CACA,kBxB+NwB,CwB9NxB,qBxB6NwB,CwB5NxB,UAAA,CAhCJ,qBAAA,CACA,qCAAA,CACA,eAAA,CACA,oCAAA,CAqDE,8BACE,aAAA,CD1CN,eACE,iBAAA,CACA,QAAA,CACA,MAAA,CACA,YvBypBkC,CuBxpBlC,YAAA,CACA,UAAA,CACA,evBiuBkC,CuBhuBlC,WAAA,CACA,kBAAA,CtB2JI,kBAAA,CsBzJJ,arBZS,CqBaT,eAAA,CACA,eAAA,CACA,qBrBxBM,CqByBN,2BAAA,CACA,wBAAA,CfdE,oBAAA,CeuBA,oBACE,UAAA,CACA,MAAA,CAGF,qBACE,OAAA,CACA,SAAA,CXYF,yBWnBA,uBACE,UAAA,CACA,MAAA,CAGF,wBACE,OAAA,CACA,SAAA,CAAA,CXYF,yBWnBA,uBACE,UAAA,CACA,MAAA,CAGF,wBACE,OAAA,CACA,SAAA,CAAA,CXYF,yBWnBA,uBACE,UAAA,CACA,MAAA,CAGF,wBACE,OAAA,CACA,SAAA,CAAA,CXYF,0BWnBA,uBACE,UAAA,CACA,MAAA,CAGF,wBACE,OAAA,CACA,SAAA,CAAA,CAQJ,uBACE,QAAA,CACA,WAAA,CACA,YAAA,CACA,qBvB+rBgC,CwB9tBhC,gCACE,oBAAA,CACA,kBxB+NwB,CwB9NxB,qBxB6NwB,CwB5NxB,UAAA,CAzBJ,YAAA,CACA,qCAAA,CACA,wBAAA,CACA,oCAAA,CA8CE,sCACE,aAAA,CDWJ,0BACE,KAAA,CACA,UAAA,CACA,SAAA,CACA,YAAA,CACA,mBvBirBgC,CwB9tBhC,mCACE,oBAAA,CACA,kBxB+NwB,CwB9NxB,qBxB6NwB,CwB5NxB,UAAA,CAlBJ,mCAAA,CACA,cAAA,CACA,sCAAA,CACA,sBAAA,CAuCE,yCACE,aAAA,CDqBF,mCACE,gBAAA,CAMJ,yBACE,KAAA,CACA,UAAA,CACA,SAAA,CACA,YAAA,CACA,oBvBgqBgC,CwB9tBhC,kCACE,oBAAA,CACA,kBxB+NwB,CwB9NxB,qBxB6NwB,CwB5NxB,UAAA,CAWA,kCACE,YAAA,CAGF,mCACE,oBAAA,CACA,mBxB4MsB,CwB3MtB,qBxB0MsB,CwBzMtB,UAAA,CA9BN,mCAAA,CACA,uBAAA,CACA,sCAAA,CAiCE,wCACE,aAAA,CDsCF,mCACE,gBAAA,CAQJ,0IAIE,UAAA,CACA,WAAA,CAKJ,kBE9GE,QAAA,CACA,cAAA,CACA,eAAA,CACA,4BAAA,CFkHF,eACE,aAAA,CACA,UAAA,CACA,qBAAA,CACA,UAAA,CACA,evBiK4B,CuBhK5B,arBjHS,CqBkHT,kBAAA,CAEA,kBAAA,CACA,8BAAA,CACA,QAAA,CAKE,2Bf/GA,0CAAA,CACA,2CAAA,CekHA,0BfrGA,8CAAA,CACA,6CAAA,CL1BF,0CoBoIE,uBvBonBgC,CuBnnBhC,oBAAA,CJ/IA,wBjBEO,CqBiJT,4CAEE,UrBrJI,CqBsJJ,oBAAA,CJtJA,qBnBoP0B,CuB1F5B,gDAEE,arBvJO,CqBwJP,mBAAA,CACA,8BAAA,CAQJ,oBACE,aAAA,CAIF,iBACE,aAAA,CACA,gBvBimBkC,CuBhmBlC,eAAA,CAAA,qBAAA,CAEA,arB1KS,CqB2KT,kBAAA,CAIF,oBACE,aAAA,CACA,qBAAA,CACA,arB/KS,CwBZX,+BAEE,iBAAA,CACA,mBAAA,CACA,qBAAA,CAEA,yCACE,iBAAA,CACA,aAAA,CvBCF,qDuBII,SAAA,CAEF,mKAGE,SAAA,CAMN,aACE,YAAA,CACA,cAAA,CACA,0BAAA,CAEA,0BACE,UAAA,CAMF,0EAEE,gBAAA,CAIF,mGlBXE,yBAAA,CACA,4BAAA,CkBeF,+ElBFE,wBAAA,CACA,2BAAA,CkBmBJ,uBACE,sBAAA,CACA,qBAAA,CAEA,6GAGE,aAAA,CAGF,yCACE,cAAA,CAIJ,yEACE,qBAAA,CACA,oBAAA,CAGF,yEACE,oBAAA,CACA,mBAAA,CAoBF,oBACE,qBAAA,CACA,sBAAA,CACA,sBAAA,CAEA,wDAEE,UAAA,CAGF,4FAEE,eAAA,CAIF,qHlBrFE,4BAAA,CACA,2BAAA,CkByFF,iGlBxGE,wBAAA,CACA,yBAAA,CkB2HF,yDAEE,eAAA,CAEA,gMAEE,iBAAA,CACA,qBAAA,CACA,mBAAA,CCzJN,aACE,iBAAA,CACA,YAAA,CACA,cAAA,CACA,mBAAA,CACA,UAAA,CAEA,sHAIE,iBAAA,CACA,aAAA,CACA,QAAA,CACA,WAAA,CACA,eAAA,CAEA,0gBAGE,gBAAA,CAKJ,yIAGE,SAAA,CAIF,mDACE,SAAA,CAKA,2FnBIA,wBAAA,CACA,2BAAA,CAAA,0BmBCA,YAAA,CACA,kBAAA,CAEA,mInBnBA,yBAAA,CACA,4BAAA,CmBoBA,+DnBPA,wBAAA,CACA,2BAAA,CmBUA,gTnBzBA,yBAAA,CACA,4BAAA,CmBiCA,oSnBlCA,yBAAA,CACA,4BAAA,CmBiDJ,yCAEE,YAAA,CAKA,mDACE,iBAAA,CACA,SAAA,CAEA,+DACE,SAAA,CAIJ,4VAIE,gBAAA,CAIJ,qBAAA,iBAAA,CACA,oBAAA,gBAAA,CAQA,kBACE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,C1B2DI,kBAAA,C0BzDJ,e3BqK4B,C2BpK5B,e3ByK4B,C2BxK5B,azBhHS,CyBiHT,iBAAA,CACA,kBAAA,CACA,wBzBzHS,CyB0HT,wBAAA,CnB/GE,oBAAA,CmBmHF,2EAEE,YAAA,CAUJ,2EAEE,+B3BmWsC,C2BhWxC,6PAME,kBAAA,C1BwBI,oBAAA,C0BtBJ,e3B2E4B,CQvN1B,mBAAA,CmBgJJ,2EAEE,iC3BiVsC,C2B9UxC,6PAME,oBAAA,C1BOI,qBAAA,C0BLJ,e3B2D4B,CQxN1B,mBAAA,CmBiKJ,8DAEE,qBAAA,CAWF,skBnB9JI,yBAAA,CACA,4BAAA,CmBwKJ,+WnB3JI,wBAAA,CACA,2BAAA,CoBxCJ,gBACE,iBAAA,CACA,SAAA,CACA,aAAA,CACA,oBAAA,CACA,mBAAA,CACA,wBAAA,CAGF,uBACE,mBAAA,CACA,iB5ByfsC,C4BtfxC,sBACE,iBAAA,CACA,MAAA,CACA,UAAA,CACA,U5BqfsC,C4BpftC,iBAAA,CACA,SAAA,CAEA,4DACE,U1B1BI,C0B2BJ,iB5ByN0B,CmBpP1B,qBnBoP0B,C4BpN5B,0DAKI,yC5BgWwB,C4B5V5B,wEACE,8B5BsboC,C4BnbtC,0EACE,U1B9CI,C0B+CJ,kC5Bkf4C,C4Bjf5C,8B5Bif4C,C4B1e5C,2GACE,a1BlDK,C0BoDL,2HACE,wB1BzDG,C0BmEX,sBACE,iBAAA,CACA,eAAA,CAEA,kBAAA,CAIA,8BACE,iBAAA,CACA,aAAA,CACA,YAAA,CACA,aAAA,CACA,U5BwboC,C4BvbpC,W5BuboC,C4BtbpC,mBAAA,CACA,UAAA,CACA,qB1BtFI,C0BuFJ,wBAAA,CAKF,6BACE,iBAAA,CACA,aAAA,CACA,YAAA,CACA,aAAA,CACA,U5ByaoC,C4BxapC,W5BwaoC,C4BvapC,UAAA,CACA,gCAAA,CAUF,+CpBlGE,oBAAA,CoBuGA,4EACE,iOAAA,CAKF,mFACE,iB5B0HwB,CmBpP1B,qBnBoP0B,C4BtH1B,kFACE,8KAAA,CAKF,sFTpIA,kCnByhB4C,C4BlZ5C,4FTvIA,kCnByhB4C,C4BvY9C,4CAEE,iB5B0Z4C,C4BtZ5C,yEACE,6KAAA,CAKF,mFT9JA,kCnByhB4C,C4BhXhD,eACE,oBAAA,CAGE,6CACE,aAAA,CACA,a5BkY0C,C4BjY1C,kBAAA,CAEA,mB5BgY0C,C4B7X5C,4CACE,0BAAA,CACA,yBAAA,CACA,sB5B2X0C,C4B1X1C,uB5B0X0C,C4BzX1C,wB1BrLK,C0BuLL,mB5BsX0C,CiBxiB1C,iIWmLA,CX/KA,uCWuKF,4CXtKI,eAAA,CAAA,CWmLJ,0EACE,qB1BnME,C0BoMF,6BAAA,CAKF,oFTzMA,kCnByhB4C,C4BnUhD,eACE,oBAAA,CACA,UAAA,CACA,kC5BqRsC,C4BpRtC,sCAAA,C3B5CI,kBAAA,C2B+CJ,e5B6D4B,C4B5D5B,e5BiE4B,C4BhE5B,a1BxNS,C0ByNT,qBAAA,CACA,qOAAA,CACA,wBAAA,CpBtNE,oBAAA,CoByNF,eAAA,CAEA,qBACE,8B5BwPoC,C4BvPpC,SAAA,CAKE,yC5BmW8B,C4BhWhC,gCAME,a1BhPK,C0BiPL,qB1BxPE,C0B4PN,8DAEE,WAAA,CACA,oB5B+H0B,C4B9H1B,qBAAA,CAGF,wBACE,a1B9PO,C0B+PP,wB1BnQO,C0BuQT,2BACE,YAAA,CAIF,8BACE,mBAAA,CACA,yBAAA,CAIJ,kBACE,iC5B0NsC,C4BzNtC,kB5BiH4B,C4BhH5B,qB5BgH4B,C4B/G5B,kB5BgH4B,CC1NxB,qBAAA,C2B8GN,kBACE,+B5BmNsC,C4BlNtC,iB5B8G4B,C4B7G5B,oB5B6G4B,C4B5G5B,iB5B6G4B,CC/NxB,oBAAA,C2B2HN,aACE,iBAAA,CACA,oBAAA,CACA,UAAA,CACA,kC5BiMsC,C4BhMtC,eAAA,CAGF,mBACE,iBAAA,CACA,SAAA,CACA,UAAA,CACA,kC5ByLsC,C4BxLtC,QAAA,CACA,eAAA,CACA,SAAA,CAEA,4CACE,8B5BqKoC,C4BpKpC,yC5ByE0B,C4BrE5B,+FAEE,wB1BhUO,C0BoUP,sDACE,gB5B2Ta,C4BvTjB,0DACE,yBAAA,CAIJ,mBACE,iBAAA,CACA,KAAA,CACA,OAAA,CACA,MAAA,CACA,SAAA,CACA,kC5BwJsC,C4BvJtC,sBAAA,CACA,eAAA,CAEA,e5BhE4B,C4BiE5B,e5B5D4B,C4B6D5B,a1BrVS,C0BsVT,qB1B7VM,C0B8VN,wBAAA,CpBlVE,oBAAA,CoBsVF,0BACE,iBAAA,CACA,KAAA,CACA,OAAA,CACA,QAAA,CACA,SAAA,CACA,aAAA,CACA,4B5BiIoC,C4BhIpC,sBAAA,CACA,e5B5E0B,C4B6E1B,a1BrWO,C0BsWP,gBAAA,CT7WA,wBjBCO,C0B8WP,mBAAA,CpBnWA,+BAAA,CoB8WJ,cACE,UAAA,CACA,aAAA,CACA,SAAA,CACA,8BAAA,CACA,eAAA,CAEA,oBACE,SAAA,CAIA,0CAAA,2D5BoOyC,C4BnOzC,sCAAA,2D5BmOyC,C4BlOzC,+BAAA,2D5BkOyC,C4B/N3C,gCACE,QAAA,CAGF,oCACE,U5BoNyC,C4BnNzC,W5BmNyC,C4BlNzC,mBAAA,CTlZA,qBnBoP0B,C4BgK1B,Q5BmNyC,CQ3lBzC,kBAAA,CSFE,sGW6YF,CACA,eAAA,CX1YE,uCWiYJ,oCXhYM,eAAA,CAAA,CW2YJ,2CT1ZA,kCnB4mByC,C4B7M3C,6CACE,U5B6LgC,C4B5LhC,Y5B6LgC,C4B5LhC,mBAAA,CACA,c5B4LgC,C4B3LhC,wB1BjaO,C0BkaP,0BAAA,CpBzZA,kBAAA,CoB8ZF,gCACE,U5ByLyC,C4BxLzC,W5BwLyC,CmBpmBzC,qBnBoP0B,C4B0L1B,Q5ByLyC,CQ3lBzC,kBAAA,CSFE,sGWuaF,CACA,eAAA,CXpaE,uCW4ZJ,gCX3ZM,eAAA,CAAA,CWqaJ,uCTpbA,kCnB4mByC,C4BnL3C,gCACE,U5BmKgC,C4BlKhC,Y5BmKgC,C4BlKhC,mBAAA,CACA,c5BkKgC,C4BjKhC,wB1B3bO,C0B4bP,0BAAA,CpBnbA,kBAAA,CoBwbF,yBACE,U5B+JyC,C4B9JzC,W5B8JyC,C4B7JzC,YAAA,CACA,kB5BrE0B,C4BsE1B,iB5BtE0B,CmBnY1B,qBnBoP0B,C4BuN1B,Q5B4JyC,CQ3lBzC,kBAAA,CSFE,sGWocF,CACA,eAAA,CXjcE,uCWsbJ,yBXrbM,eAAA,CAAA,CWkcJ,gCTjdA,kCnB4mByC,C4BtJ3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,uCDyIkE,CCxIlE,mCDwIkE,CCrJxE,yBACE,4BDoJsE,CCnJtE,0CDmJuC,CvCxIzC,4GwCPM,4BD+IkE,CC9IlE,kEAAA,CAGF,uDACE,UzCRA,CyCSA,uCDyIkE,CCxIlE,mCDwIkE,CCrJxE,sBACE,8BDoJsE,CCnJtE,0CDmJuC,CvCxIzC,sGwCPM,8BD+IkE,CC9IlE,kEAAA,CAGF,oDACE,UzCRA,CyCSA,yCDyIkE,CCxIlE,qCDwIkE,CCrJxE,yBACE,sBDoJsE,CCnJtE,iCDmJuC,CvCxIzC,4GwCPM,sBD+IkE,CC9IlE,iCAAA,CAGF,uDACE,UzCRA,CyCSA,iCDyIkE,CCxIlE,6BDwIkE,CCrJxE,wBACE,6BDoJsE,CCnJtE,0CDmJuC,CvCxIzC,0GwCPM,6BD+IkE,CC9IlE,+DAAA,CAGF,sDACE,UzCRA,CyCSA,wCDyIkE,CCxIlE,oCDwIkE,CCrJxE,uBACE,+BDoJsE,CCnJtE,0CDmJuC,CvCxIzC,wGwCPM,+BD+IkE,CC9IlE,0CAAA,CAGF,qDACE,UzCRA,CyCSA,0CDyIkE,CCxIlE,sCDwIkE,CCrJxE,sBACE,4BDoJsE,CCnJtE,0CDmJuC,CvCxIzC,sGwCPM,4BD+IkE,CC9IlE,6CAAA,CAGF,oDACE,UzCRA,CyCSA,uCDyIkE,CCxIlE,mCDwIkE,CExJ1E,OACE,WAAA,C3CmLI,mBAAA,C2CjLJ,e5C8R4B,C4C7R5B,aAAA,CACA,U1CWM,C0CVN,wB5CylCkC,C4CxlClC,UAAA,CzCKA,ayCDE,U1CKI,C0CJJ,oBAAA,CzCIF,sFyCCI,WAAA,CAWN,aACE,SAAA,CACA,8BAAA,CACA,QAAA,CAMF,iBACE,mBAAA,CCtCF,OAGE,gB7C24BkC,C6C14BlC,e7C04BkC,CC1tB9B,kBAAA,C4C7KJ,oC7C44BkC,C6C34BlC,2BAAA,CACA,+BAAA,CACA,yC7C64BkC,C6C54BlC,SAAA,CrCOE,oBAAA,CqCJF,wBACE,oB7Cg4BgC,C6C73BlC,eACE,SAAA,CAGF,YACE,aAAA,CACA,SAAA,CAGF,YACE,YAAA,CAIJ,cACE,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,a3CxBS,C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",sourcesContent:["/*!\n * CoreUI - Open Source Bootstrap Admin Template\n * @version v1.0.6\n * @link http://coreui.io\n * Copyright (c) 2017 creativeLabs Łukasz Holeczek\n * @license MIT\n */\n\n// Override Boostrap variables\n@import 'bootstrap-variables';\n\n// Import Bootstrap source files\n@import '~bootstrap/scss/bootstrap';\n\n// Override core variables\n@import 'core-variables';\n\n// Import core styles\n@import 'core/core';\n\n// Custom styles\n@import 'custom';\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n",'// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for "new" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn\'t normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex="-1"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don\'t allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn\'t be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Set the cursor for non-`<button>` buttons\n//\n// Details at https://github.com/twbs/bootstrap/pull/30562\n[role="button"] {\n cursor: pointer;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type="button"], // 1\n[type="reset"],\n[type="submit"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add "hand" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type="button"],\n [type="reset"],\n [type="submit"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don\'t restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type="button"]::-moz-focus-inner,\n[type="reset"]::-moz-focus-inner,\n[type="submit"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type="radio"],\ninput[type="checkbox"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don\'t break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don\'t affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type="number"]::-webkit-inner-spin-button,\n[type="number"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type="search"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it\'s not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type="search"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n','// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge(\n (\n "100": $gray-100,\n "200": $gray-200,\n "300": $gray-300,\n "400": $gray-400,\n "500": $gray-500,\n "600": $gray-600,\n "700": $gray-700,\n "800": $gray-800,\n "900": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge(\n (\n "blue": $blue,\n "indigo": $indigo,\n "purple": $purple,\n "pink": $pink,\n "red": $red,\n "orange": $orange,\n "yellow": $yellow,\n "green": $green,\n "teal": $teal,\n "cyan": $cyan,\n "white": $white,\n "gray": $gray-600,\n "gray-dark": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge(\n (\n "primary": $primary,\n "secondary": $secondary,\n "success": $success,\n "info": $info,\n "warning": $warning,\n "danger": $danger,\n "light": $light,\n "dark": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from "dark" to "light". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n ("<", "%3c"),\n (">", "%3e"),\n ("#", "%23"),\n ("(", "%28"),\n (")", "%29"),\n) !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color("primary") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, "$grid-breakpoints");\n@include _assert-starts-at-zero($grid-breakpoints, "$grid-breakpoints");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, "$container-max-widths");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color("primary") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n$transition-collapse-width: width .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer * .5 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-th-font-weight: null !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap\'s buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n$custom-control-cursor: null !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-label-color: null !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5) !default;\n$custom-control-indicator-checked-box-shadow: null !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: null !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' width=\'8\' height=\'8\' viewBox=\'0 0 8 8\'><path fill=\'#{$custom-control-indicator-checked-color}\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z\'/></svg>") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' width=\'4\' height=\'4\' viewBox=\'0 0 4 4\'><path stroke=\'#{$custom-checkbox-indicator-indeterminate-color}\' d=\'M0 2h4\'/></svg>") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: null !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' width=\'12\' height=\'12\' viewBox=\'-4 -4 8 8\'><circle r=\'3\' fill=\'#{$custom-control-indicator-checked-color}\'/></svg>") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size * .5 !default;\n$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' width=\'4\' height=\'5\' viewBox=\'0 0 4 5\'><path fill=\'#{$custom-select-indicator-color}\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/></svg>") !default;\n$custom-select-background: escape-svg($custom-select-indicator) right $custom-select-padding-x center / $custom-select-bg-size no-repeat !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: "Browse"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color("success") !default;\n$form-feedback-invalid-color: theme-color("danger") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' width=\'8\' height=\'8\' viewBox=\'0 0 8 8\'><path fill=\'#{$form-feedback-icon-valid-color}\' d=\'M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\'/></svg>") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' width=\'12\' height=\'12\' fill=\'none\' stroke=\'#{$form-feedback-icon-invalid-color}\' viewBox=\'0 0 12 12\'><circle cx=\'6\' cy=\'6\' r=\'4.5\'/><path stroke-linejoin=\'round\' d=\'M5.8 3.6h.4L6 6.5z\'/><circle cx=\'6\' cy=\'8.2\' r=\'.6\' fill=\'#{$form-feedback-icon-invalid-color}\' stroke=\'none\'/></svg>") !default;\n\n$form-validation-states: () !default;\n$form-validation-states: map-merge(\n (\n "valid": (\n "color": $form-feedback-valid-color,\n "icon": $form-feedback-icon-valid\n ),\n "invalid": (\n "color": $form-feedback-invalid-color,\n "icon": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They\'re used for a bird\'s eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer * .5 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer * .5 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-nav-scroll-max-height: 75vh !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' width=\'30\' height=\'30\' viewBox=\'0 0 30 30\'><path stroke=\'#{$navbar-dark-color}\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' stroke-width=\'2\' d=\'M4 7h22M4 15h22M4 23h22\'/></svg>") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' width=\'30\' height=\'30\' viewBox=\'0 0 30 30\'><path stroke=\'#{$navbar-light-color}\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' stroke-width=\'2\' d=\'M4 7h22M4 15h22M4 23h22\'/></svg>") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-200 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-500 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-border-radius-sm: $border-radius-sm !default;\n$pagination-border-radius-lg: $border-radius-lg !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width * .5 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color("primary") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote("/") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' fill=\'#{$carousel-control-color}\' width=\'8\' height=\'8\' viewBox=\'0 0 8 8\'><path d=\'M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z\'/></svg>") !default;\n$carousel-control-next-icon-bg: url("data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\' fill=\'#{$carousel-control-color}\' width=\'8\' height=\'8\' viewBox=\'0 0 8 8\'><path d=\'M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z\'/></svg>") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-vertical-align: -.125em !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n$user-selects: all, auto, none !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, "lg") !default;\n','// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive font sizes\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/v8.x/LICENSE)\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n@if $rfs-font-size-unit != rem and $rfs-font-size-unit != px {\n @error "`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.";\n}\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error "`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.";\n}\n\n// Resize font size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != "number" or $rfs-factor <= 1 {\n @error "`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.";\n}\n\n// Generate enable or disable classes. Possibilities: false, "enable" or "disable"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n@function divide($dividend, $divisor, $precision: 10) {\n $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);\n $dividend: abs($dividend);\n $divisor: abs($divisor);\n @if $dividend == 0 {\n @return 0;\n }\n @if $divisor == 0 {\n @error "Cannot divide by 0";\n }\n $remainder: $dividend;\n $result: 0;\n $factor: 10;\n @while ($remainder > 0 and $precision >= 0) {\n $quotient: 0;\n @while ($remainder >= $divisor) {\n $remainder: $remainder - $divisor;\n $quotient: $quotient + 1;\n }\n $result: $result * 10 + $quotient;\n $factor: $factor * .1;\n $remainder: $remainder * 10;\n $precision: $precision - 1;\n @if ($precision < 0 and $remainder >= $divisor * 5) {\n $result: $result + 1;\n }\n }\n $result: $result * $factor * $sign;\n $dividend-unit: unit($dividend);\n $divisor-unit: unit($divisor);\n $unit-map: (\n "px": 1px,\n "rem": 1rem,\n "em": 1em,\n "%": 1%\n );\n @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {\n $result: $result * map-get($unit-map, $dividend-unit);\n }\n @return $result;\n}\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == "px" {\n $rfs-base-font-size: divide($rfs-base-font-size, $rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == "rem" {\n $rfs-base-font-size: divide($rfs-base-font-size, divide($rfs-base-font-size * 0 + 1, $rfs-rem-value));\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == "px" {\n $rfs-breakpoint: divide($rfs-breakpoint, $rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == "rem" or $rfs-breakpoint-unit-cache == "em" {\n $rfs-breakpoint: divide($rfs-breakpoint, divide($rfs-breakpoint * 0 + 1, $rfs-rem-value));\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-disable-class {\n @if $rfs-class == "disable" {\n // Adding an extra class increases specificity, which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-enable-class {\n @if $rfs-class == "enable" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query($mq-value) {\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @content;\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @content;\n }\n }\n}\n\n// Responsive font size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == "number", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, " !important", "");\n\n // If $fs isn\'t a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != "" and $fs-unit != "px" and $fs-unit != "rem" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Remove unit from $fs for calculations\n @if $fs-unit == "px" {\n $fs: divide($fs, $fs * 0 + 1);\n }\n @else if $fs-unit == "rem" {\n $fs: divide($fs, divide($fs * 0 + 1, $rfs-rem-value));\n }\n\n // Set default font size\n $rfs-static: if($rfs-font-size-unit == rem, #{divide($fs, $rfs-rem-value)}rem, #{$fs}px);\n\n // Only add the media query if the font size is bigger than the minimum font size\n @if $fs <= $rfs-base-font-size or not $enable-responsive-font-sizes {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n @else {\n // Calculate the minimum font size for $fs\n $fs-min: $rfs-base-font-size + divide($fs - $rfs-base-font-size, $rfs-factor);\n\n // Calculate difference between $fs and the minimum font size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n $min-width: if($rfs-font-size-unit == rem, #{divide($fs-min, $rfs-rem-value)}rem, #{$fs-min}px);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{divide($fs-diff * 100, $rfs-breakpoint)}#{$variable-unit};\n\n // Set the calculated font-size\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n\n // Breakpoint formatting\n $mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{divide($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});\n\n @include _rfs-disable-class {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n\n @include _rfs-media-query($mq-value) {\n @include _rfs-enable-class {\n font-size: $rfs-fluid;\n }\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixins use RFS to rescale the font size\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n',"// Bootstrap overrides\n\n//\n// Color system\n//\n\n$white: #fff;\n$gray-100: #f0f3f5;\n$gray-200: #c2cfd6;\n$gray-300: #a4b7c1;\n$gray-400: #869fac;\n$gray-500: #678898;\n$gray-600: #536c79;\n$gray-700: #3e515b;\n$gray-800: #29363d;\n$gray-900: #151b1e;\n$black: #000 !default;\n\n$blue: #003399;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #f86c6b;\n$orange: #f8cb00;\n$yellow: #ffcc00 !default;\n$green: #4dbd74;\n$teal: #20c997 !default;\n$cyan: #63c2de;\n\n$colors: (\n blue: $blue,\n indigo: $indigo,\n purple: $purple,\n pink: $pink,\n red: $red,\n orange: $orange,\n yellow: $yellow,\n green: $green,\n teal: $teal,\n cyan: $cyan,\n white: $white,\n gray: $gray-600,\n gray-dark: $gray-800\n);\n\n$theme-colors: (\n primary: $blue,\n secondary: $gray-700,\n success: $green,\n info: $cyan,\n warning: $yellow,\n danger: $red,\n light: $gray-200,\n dark: $gray-800\n);\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-transitions: true;\n$enable-rounded: true;\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: #e4e5e6;\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n$font-size-base: 0.875rem;\n\n// Breadcrumbs\n\n$breadcrumb-bg: #fff;\n$breadcrumb-margin-bottom: 1.5rem;\n\n// Cards\n\n$card-border-color: $gray-200;\n$card-cap-bg: $gray-100;\n\n// Dropdowns\n\n$dropdown-padding-y: 0;\n$dropdown-border-color: $gray-200;\n$dropdown-divider-bg: $gray-100;\n\n// Buttons\n\n$btn-secondary-border: $gray-300;\n\n// Progress bars\n\n$progress-bg: $gray-100;\n\n// Tables\n\n$table-bg-accent: $gray-100;\n$table-bg-hover: $gray-100;\n\n// Forms\n\n$input-group-addon-bg: $gray-100;\n$input-border-color: $gray-200;\n$input-group-addon-border-color: $gray-200;\n","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n",'// stylelint-disable selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { @include font-size($h1-font-size); }\nh2, .h2 { @include font-size($h2-font-size); }\nh3, .h3 { @include font-size($h3-font-size); }\nh4, .h4 { @include font-size($h4-font-size); }\nh5, .h5 { @include font-size($h5-font-size); }\nh6, .h6 { @include font-size($h6-font-size); }\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n @include font-size($small-font-size);\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size(90%);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: "\\2014\\00A0"; // em dash, nbsp\n }\n}\n',"// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled() {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer * .5;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n",'// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid() {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn\'t convert dppx=>dpi.\n // There\'s no such thing as unprefixed min-device-pixel-ratio since it\'s nonstandard.\n // Compatibility info: https://caniuse.com/css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don\'t support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n @include deprecate("`img-retina()`", "v4.3.0", "v5");\n}\n',"// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n","// Inline code\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n",'// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*="col-"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n','/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter * .5;\n padding-left: $gutter * .5;\n margin-right: auto;\n margin-left: auto;\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter * .5;\n margin-left: -$gutter * .5;\n}\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n @include deprecate("The `make-container-max-widths` mixin", "v4.5.2", "v5");\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter * .5;\n padding-left: $gutter * .5;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage(divide($size, $columns));\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage(divide($size, $columns));\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 divide(100%, $count);\n max-width: divide(100%, $count);\n }\n}\n','// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// "" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// "-sm"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint\'s minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n','// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter * .5;\n padding-left: $gutter * .5;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @if $columns > 0 {\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n }\n\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n @if $columns > 0 {\n // `$columns - 1` because offsetting by the width of an entire row isn\'t possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n }\n}\n',"//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover() {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover() {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover() {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n",'// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n @include form-control-focus($ignore-warning: true);\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox\'s unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won\'t be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don\'t honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\ninput[type="date"],\ninput[type="time"],\ninput[type="datetime-local"],\ninput[type="month"] {\n &.form-control {\n appearance: none; // Fix appearance for date inputs in Safari\n }\n}\n\nselect.form-control {\n // Remove select outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $input-color;\n }\n\n &:focus::-ms-value {\n // Suppress the nested default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<label>/<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n}\n\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n @include font-size($input-font-size);\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n// stylelint-disable-next-line no-duplicate-selectors\nselect.form-control {\n &[size],\n &[multiple] {\n height: auto;\n }\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: $form-group-margin-bottom;\n}\n\n.form-text {\n display: block;\n margin-top: $form-text-margin-top;\n}\n\n\n// Form grid\n//\n// Special replacement for our grid system\'s `.row` for tighter form layouts.\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$form-grid-gutter-width * .5;\n margin-left: -$form-grid-gutter-width * .5;\n\n > .col,\n > [class*="col-"] {\n padding-right: $form-grid-gutter-width * .5;\n padding-left: $form-grid-gutter-width * .5;\n }\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.form-check {\n position: relative;\n display: block;\n padding-left: $form-check-input-gutter;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: $form-check-input-margin-y;\n margin-left: -$form-check-input-gutter;\n\n // Use [disabled] and :disabled for workaround https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .form-check-label,\n &:disabled ~ .form-check-label {\n color: $text-muted;\n }\n}\n\n.form-check-label {\n margin-bottom: 0; // Override default `<label>` bottom margin\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0; // Override base .form-check\n margin-right: $form-check-inline-margin-x;\n\n // Undo .form-check-input defaults and add some `margin-right`.\n .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: $form-check-inline-input-margin-x;\n margin-left: 0;\n }\n}\n\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server side validation.\n\n@each $state, $data in $form-validation-states {\n @include form-validation-state($state, map-get($data, color), map-get($data, icon));\n}\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn\'t occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for "inline"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group,\n .custom-select {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n\n .custom-control {\n align-items: center;\n justify-content: center;\n }\n .custom-control-label {\n margin-bottom: 0;\n }\n }\n}\n',"// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n @if length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-prefers-reduced-motion-media-query and nth($transition, 1) != null and nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n",'// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit\'s default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus($ignore-warning: false) {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($input-box-shadow, $input-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $input-focus-box-shadow;\n }\n }\n @include deprecate("The `form-control-focus()` mixin", "v4.4.0", "v5", $ignore-warning);\n}\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == "valid" or $state == "invalid") {\n .was-validated #{if(&, "&", "")}:#{$state},\n #{if(&, "&", "")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, "&", "")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-yiq($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n\n // See https://github.com/twbs/bootstrap/pull/31557\n // Align tooltip to form elements\n .form-row > .col > &,\n .form-row > [class*="col-"] > & {\n left: $form-grid-gutter-width * .5;\n }\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner !important; // stylelint-disable-line declaration-no-important\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n select.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-padding-x * 4 !important; // stylelint-disable-line declaration-no-important\n background-position: right $input-padding-x * 2 center;\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .custom-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $custom-select-feedback-icon-padding-right !important; // stylelint-disable-line declaration-no-important\n background: $custom-select-background, $custom-select-bg escape-svg($icon) $custom-select-feedback-icon-position / $custom-select-feedback-icon-size no-repeat;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n ~ .form-check-label {\n color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .custom-control-input {\n @include form-validation-state-selector($state) {\n ~ .custom-control-label {\n color: $color;\n\n &::before {\n border-color: $color;\n }\n }\n\n &:checked {\n ~ .custom-control-label::before {\n border-color: lighten($color, 10%);\n @include gradient-bg(lighten($color, 10%));\n }\n }\n\n &:focus {\n ~ .custom-control-label::before {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n &:not(:checked) ~ .custom-control-label::before {\n border-color: $color;\n }\n }\n }\n }\n\n // custom file\n .custom-file-input {\n @include form-validation-state-selector($state) {\n ~ .custom-file-label {\n border-color: $color;\n }\n\n &:focus {\n ~ .custom-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n',"// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n",'// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n color: $body-color;\n text-align: center;\n text-decoration: if($link-decoration == none, null, none);\n white-space: $btn-white-space;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius);\n @include transition($btn-transition);\n\n @include hover() {\n color: $body-color;\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n &:not(:disabled):not(.disabled) {\n cursor: if($enable-pointer-cursor-for-buttons, pointer, null);\n\n &:active,\n &.active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $link-color;\n text-decoration: $link-decoration;\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n pointer-events: none;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n\n// Specificity overrides\ninput[type="submit"],\ninput[type="reset"],\ninput[type="button"] {\n &.btn-block {\n width: 100%;\n }\n}\n',"// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n @include hover() {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n @if $enable-shadows {\n @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows and $btn-active-box-shadow != none {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n border-color: $color;\n\n @include hover() {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows and $btn-active-box-shadow != none {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n\n &.width {\n width: 0;\n height: auto;\n @include transition($transition-collapse-width);\n }\n}\n",'// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on "open" of the menu\n float: left;\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y $dropdown-padding-x;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you\'re set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When Popper is enabled, reset the basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^="top"],\n &[x-placement^="right"],\n &[x-placement^="bottom"],\n &[x-placement^="left"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y, true);\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there\'s no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n @include hover-focus() {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they\'re enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-header-padding;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n','@mixin caret-down() {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up() {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right() {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left() {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: "";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: "";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n','// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y, $ignore-warning: false) {\n height: 0;\n margin: $margin-y 0;\n overflow: hidden;\n border-top: 1px solid $color;\n @include deprecate("The `nav-divider()` mixin", "v4.4.0", "v5", $ignore-warning);\n}\n','// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n\n // Bring the hover, focused, and "active" buttons to the front to overlay\n // the borders properly\n @include hover() {\n z-index: 1;\n }\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser\'s form validation feedback, powered by the\n// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type="radio"],\n input[type="checkbox"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n','// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-control-plaintext,\n > .custom-select,\n > .custom-file {\n position: relative; // For focus state\'s z-index\n flex: 1 1 auto;\n width: 1%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n margin-bottom: 0;\n\n + .form-control,\n + .custom-select,\n + .custom-file {\n margin-left: -$input-border-width;\n }\n }\n\n // Bring the "active" form control to the top of surrounding elements\n > .form-control:focus,\n > .custom-select:focus,\n > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .custom-file .custom-file-input:focus {\n z-index: 4;\n }\n\n > .form-control,\n > .custom-select {\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .custom-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .custom-file-label,\n &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }\n &:not(:first-child) .custom-file-label { @include border-left-radius(0); }\n }\n\n &:not(.has-validation) {\n > .form-control:not(:last-child),\n > .custom-select:not(:last-child),\n > .custom-file:not(:last-child) .custom-file-label,\n > .custom-file:not(:last-child) .custom-file-label::after {\n @include border-right-radius(0);\n }\n }\n\n &.has-validation {\n > .form-control:nth-last-child(n + 3),\n > .custom-select:nth-last-child(n + 3),\n > .custom-file:nth-last-child(n + 3) .custom-file-label,\n > .custom-file:nth-last-child(n + 3) .custom-file-label::after {\n @include border-right-radius(0);\n }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn\'t needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type="radio"],\n input[type="checkbox"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: $custom-select-padding-x + $custom-select-indicator-padding;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They\'re more specific than we\'d like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,\n.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,\n.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn,\n.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n @include border-right-radius(0);\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n @include border-left-radius(0);\n}\n','// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n position: relative;\n z-index: 1;\n display: block;\n min-height: $font-size-base * $line-height-base;\n padding-left: $custom-control-gutter + $custom-control-indicator-size;\n print-color-adjust: exact; // Keep themed appearance for print\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1; // Put the input behind the label so it doesn\'t overlay text\n width: $custom-control-indicator-size;\n height: ($font-size-base * $line-height-base + $custom-control-indicator-size) * .5;\n opacity: 0;\n\n &:checked ~ .custom-control-label::before {\n color: $custom-control-indicator-checked-color;\n border-color: $custom-control-indicator-checked-border-color;\n @include gradient-bg($custom-control-indicator-checked-bg);\n @include box-shadow($custom-control-indicator-checked-box-shadow);\n }\n\n &:focus ~ .custom-control-label::before {\n // the mixin is not used here to make sure there is feedback\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $custom-control-indicator-focus-box-shadow;\n } @else {\n box-shadow: $custom-control-indicator-focus-box-shadow;\n }\n }\n\n &:focus:not(:checked) ~ .custom-control-label::before {\n border-color: $custom-control-indicator-focus-border-color;\n }\n\n &:not(:disabled):active ~ .custom-control-label::before {\n color: $custom-control-indicator-active-color;\n background-color: $custom-control-indicator-active-bg;\n border-color: $custom-control-indicator-active-border-color;\n @include box-shadow($custom-control-indicator-active-box-shadow);\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .custom-control-label {\n color: $custom-control-label-disabled-color;\n\n &::before {\n background-color: $custom-control-indicator-disabled-bg;\n }\n }\n }\n}\n\n// Custom control indicators\n//\n// Build the custom controls out of pseudo-elements.\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n color: $custom-control-label-color;\n vertical-align: top;\n cursor: $custom-control-cursor;\n\n // Background-color and (when enabled) gradient\n &::before {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) * .5;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n pointer-events: none;\n content: "";\n background-color: $custom-control-indicator-bg;\n border: $custom-control-indicator-border-width solid $custom-control-indicator-border-color;\n @include box-shadow($custom-control-indicator-box-shadow);\n }\n\n // Foreground (icon)\n &::after {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) * .5;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n content: "";\n background: 50% / #{$custom-control-indicator-bg-size} no-repeat;\n }\n}\n\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n .custom-control-label::before {\n @include border-radius($custom-checkbox-indicator-border-radius);\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-checked);\n }\n }\n\n .custom-control-input:indeterminate ~ .custom-control-label {\n &::before {\n border-color: $custom-checkbox-indicator-indeterminate-border-color;\n @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);\n @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n }\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-indeterminate);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n &:indeterminate ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n .custom-control-label::before {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $custom-radio-indicator-border-radius;\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-radio-indicator-icon-checked);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n }\n}\n\n\n// switches\n//\n// Tweak a few things for switches\n\n.custom-switch {\n padding-left: $custom-switch-width + $custom-control-gutter;\n\n .custom-control-label {\n &::before {\n left: -($custom-switch-width + $custom-control-gutter);\n width: $custom-switch-width;\n pointer-events: all;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $custom-switch-indicator-border-radius;\n }\n\n &::after {\n top: add(($font-size-base * $line-height-base - $custom-control-indicator-size) * .5, $custom-control-indicator-border-width * 2);\n left: add(-($custom-switch-width + $custom-control-gutter), $custom-control-indicator-border-width * 2);\n width: $custom-switch-indicator-size;\n height: $custom-switch-indicator-size;\n background-color: $custom-control-indicator-border-color;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $custom-switch-indicator-border-radius;\n @include transition(transform .15s ease-in-out, $custom-forms-transition);\n }\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-color: $custom-control-indicator-bg;\n transform: translateX($custom-switch-width - $custom-control-indicator-size);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n }\n}\n\n\n// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n//\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: $custom-select-height;\n padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;\n font-family: $custom-select-font-family;\n @include font-size($custom-select-font-size);\n font-weight: $custom-select-font-weight;\n line-height: $custom-select-line-height;\n color: $custom-select-color;\n vertical-align: middle;\n background: $custom-select-bg $custom-select-background;\n border: $custom-select-border-width solid $custom-select-border-color;\n @include border-radius($custom-select-border-radius, 0);\n @include box-shadow($custom-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $custom-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($custom-select-box-shadow, $custom-select-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $custom-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size="1"]) {\n height: auto;\n padding-right: $custom-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $custom-select-disabled-color;\n background-color: $custom-select-disabled-bg;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n display: none;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $custom-select-color;\n }\n}\n\n.custom-select-sm {\n height: $custom-select-height-sm;\n padding-top: $custom-select-padding-y-sm;\n padding-bottom: $custom-select-padding-y-sm;\n padding-left: $custom-select-padding-x-sm;\n @include font-size($custom-select-font-size-sm);\n}\n\n.custom-select-lg {\n height: $custom-select-height-lg;\n padding-top: $custom-select-padding-y-lg;\n padding-bottom: $custom-select-padding-y-lg;\n padding-left: $custom-select-padding-x-lg;\n @include font-size($custom-select-font-size-lg);\n}\n\n\n// File\n//\n// Custom file input.\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: $custom-file-height;\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: $custom-file-height;\n margin: 0;\n overflow: hidden;\n opacity: 0;\n\n &:focus ~ .custom-file-label {\n border-color: $custom-file-focus-border-color;\n box-shadow: $custom-file-focus-box-shadow;\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .custom-file-label,\n &:disabled ~ .custom-file-label {\n background-color: $custom-file-disabled-bg;\n }\n\n @each $lang, $value in $custom-file-text {\n &:lang(#{$lang}) ~ .custom-file-label::after {\n content: $value;\n }\n }\n\n ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n }\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: $custom-file-height;\n padding: $custom-file-padding-y $custom-file-padding-x;\n overflow: hidden;\n font-family: $custom-file-font-family;\n font-weight: $custom-file-font-weight;\n line-height: $custom-file-line-height;\n color: $custom-file-color;\n background-color: $custom-file-bg;\n border: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius($custom-file-border-radius);\n @include box-shadow($custom-file-box-shadow);\n\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: $custom-file-height-inner;\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-button-color;\n content: "Browse";\n @include gradient-bg($custom-file-button-bg);\n border-left: inherit;\n @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);\n }\n}\n\n// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.custom-range {\n width: 100%;\n height: add($custom-range-thumb-height, $custom-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: 0;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: ($custom-range-track-height - $custom-range-thumb-height) * .5; // Webkit specific\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent; // Why?\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent;\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $custom-range-thumb-height * .5;\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &:disabled {\n &::-webkit-slider-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n\n &::-webkit-slider-runnable-track {\n cursor: default;\n }\n\n &::-moz-range-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n\n &::-moz-range-track {\n cursor: default;\n }\n\n &::-ms-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n }\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n @include transition($custom-forms-transition);\n}\n',"// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n text-decoration: if($link-decoration == none, null, none);\n\n @include hover-focus() {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-link {\n margin-bottom: -$nav-tabs-border-width;\n background-color: transparent;\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n @include hover-focus() {\n // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link\n isolation: isolate;\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n background: none;\n border: 0;\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n > .nav-link,\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n > .nav-link,\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n %container-flex-properties {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n\n .container,\n .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n @include font-size($navbar-brand-font-size);\n line-height: inherit;\n white-space: nowrap;\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n float: none;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: 50% / 100% 100% no-repeat;\n}\n\n.navbar-nav-scroll {\n max-height: $navbar-nav-scroll-max-height;\n overflow-y: auto;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n %container-navbar-expand-#{$breakpoint} {\n padding-right: 0;\n padding-left: 0;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n %container-nesting-#{$breakpoint} {\n flex-wrap: nowrap;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-nesting-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-nesting-#{$breakpoint};\n }\n }\n\n .navbar-nav-scroll {\n overflow: visible;\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n @include hover-focus() {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n @include hover-focus() {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n a {\n color: $navbar-light-active-color;\n\n @include hover-focus() {\n color: $navbar-light-active-color;\n }\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n @include hover-focus() {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n @include hover-focus() {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a {\n color: $navbar-dark-active-color;\n\n @include hover-focus() {\n color: $navbar-dark-active-color;\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n\n &:first-child {\n border-top-width: 0;\n @include border-top-radius($card-inner-border-radius);\n }\n\n &:last-child {\n border-bottom-width: 0;\n @include border-bottom-radius($card-inner-border-radius);\n }\n }\n\n // Due to specificity of the above selector (`.card > .list-group`), we must\n // use a child selector here to prevent double borders.\n > .card-header + .list-group,\n > .list-group + .card-footer {\n border-top: 0;\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n // Workaround for the image size bug in IE\n // See: https://github.com/twbs/bootstrap/pull/28855\n min-height: 1px;\n padding: $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-spacer-y * .5;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n @include hover() {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-spacer-x * .5;\n margin-bottom: -$card-spacer-y;\n margin-left: -$card-spacer-x * .5;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -$card-spacer-x * .5;\n margin-left: -$card-spacer-x * .5;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n @include border-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Columns\n//\n\n.card-columns {\n .card {\n margin-bottom: $card-columns-margin;\n }\n\n @include media-breakpoint-up(sm) {\n column-count: $card-columns-count;\n column-gap: $card-columns-gap;\n orphans: 1;\n widows: 1;\n\n .card {\n display: inline-block; // Don't let them vertically span multiple columns\n width: 100%; // Don't let their width change\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n overflow-anchor: none;\n\n > .card {\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:not(:first-of-type) {\n @include border-top-radius(0);\n }\n\n > .card-header {\n @include border-radius(0);\n margin-bottom: -$card-border-width;\n }\n }\n}\n",'.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: "/")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding;\n\n &::before {\n float: left; // Suppress inline spacings and underlining of the separator\n padding-right: $breadcrumb-item-padding;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n','.pagination {\n display: flex;\n @include list-unstyled();\n @include border-radius();\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: $pagination-padding-y $pagination-padding-x;\n margin-left: -$pagination-border-width;\n line-height: $pagination-line-height;\n color: $pagination-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:first-child {\n .page-link {\n margin-left: 0;\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the "hand" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $pagination-border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $pagination-border-radius-sm);\n}\n',"// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n }\n\n .page-item {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n @include transition($badge-transition);\n\n @at-root a#{&} {\n @include hover-focus() {\n text-decoration: none;\n }\n }\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n padding-right: $badge-pill-padding-x;\n padding-left: $badge-pill-padding-x;\n @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n .badge-#{$color} {\n @include badge-variant($value);\n }\n}\n","@mixin badge-variant($bg) {\n color: color-yiq($bg);\n background-color: $bg;\n\n @at-root a#{&} {\n @include hover-focus() {\n color: color-yiq($bg);\n background-color: darken($bg, 10%);\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5);\n }\n }\n}\n",".jumbotron {\n padding: $jumbotron-padding ($jumbotron-padding * .5);\n margin-bottom: $jumbotron-padding;\n color: $jumbotron-color;\n background-color: $jumbotron-bg;\n @include border-radius($border-radius-lg);\n\n @include media-breakpoint-up(sm) {\n padding: ($jumbotron-padding * 2) $jumbotron-padding;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n @include border-radius(0);\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n from { background-position: $progress-height 0; }\n to { background-position: 0 0; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n line-height: 0;\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: $progress-bar-animation-timing progress-bar-stripes;\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n",".media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n @include border-radius($list-group-border-radius);\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n @include hover-focus() {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n color: $list-group-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius(inherit);\n }\n\n &:last-child {\n @include border-bottom-radius(inherit);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n > .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n @include border-radius(0);\n\n > .list-group-item {\n border-width: 0 0 $list-group-border-width;\n\n &:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n @include hover-focus() {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",'.close {\n float: right;\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>\'s hover style\n @include hover() {\n color: $close-color;\n text-decoration: none;\n }\n\n &:not(:disabled):not(.disabled) {\n @include hover-focus() {\n opacity: .75;\n }\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href="#"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\n// Future-proof disabling of clicks on `<a>` elements\n\n// stylelint-disable-next-line selector-no-qualifying-type\na.close.disabled {\n pointer-events: none;\n}\n',".toast {\n // Prevents from shrinking in IE11, when in a flex container\n // See https://github.com/twbs/bootstrap/issues/28341\n flex-basis: $toast-max-width;\n max-width: $toast-max-width;\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n @include border-top-radius(subtract($toast-border-radius, $toast-border-width));\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n display: flex; // IE10/11\n max-height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin * 2); // IE10/11\n overflow: hidden;\n }\n\n .modal-header,\n .modal-footer {\n flex-shrink: 0;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n\n // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)\n &::before {\n display: block; // IE10\n height: subtract(100vh, $modal-dialog-margin * 2);\n height: min-content; // Reset height to 0 except on IE\n content: \"\";\n }\n\n // Ensure `.modal-body` shows scrollbar (IE10/11)\n &.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n\n .modal-content {\n max-height: none;\n }\n\n &::before {\n content: none;\n }\n }\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between * .5;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n > * {\n margin: $modal-footer-margin-between * .5;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n max-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n }\n }\n\n .modal-dialog-centered {\n min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n &::before {\n height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n height: min-content;\n }\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n",'// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don\'t overflow the tooltip\'s bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: "";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width * .5) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width * .5) $tooltip-arrow-height ($tooltip-arrow-width * .5) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width * .5) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width * .5) 0 ($tooltip-arrow-width * .5) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^="top"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^="right"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^="bottom"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^="left"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n',"@mixin reset-text() {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n}\n",'.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don\'t overflow the popover\'s bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: "";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width * .5) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width * .5) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover\'s rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header\'s border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width * .5;\n content: "";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover\'s rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width * .5) 0 ($popover-arrow-width * .5) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width * .5) 0 ($popover-arrow-width * .5) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^="top"] {\n @extend .bs-popover-top;\n }\n &[x-placement^="right"] {\n @extend .bs-popover-right;\n }\n &[x-placement^="bottom"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^="left"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n',"// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n padding: 0;\n color: $carousel-control-color;\n text-align: center;\n background: none;\n border: 0;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n @include hover-focus() {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: 50% / 100% 100% no-repeat;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: .5;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: 1;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) * .5;\n bottom: 20px;\n left: (100% - $carousel-caption-width) * .5;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n",'@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: "";\n }\n}\n',"//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: $spinner-vertical-align;\n border: $spinner-border-width solid currentcolor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n animation: .75s linear infinite spinner-border;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: $spinner-vertical-align;\n background-color: currentcolor;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n opacity: 0;\n animation: .75s linear infinite spinner-grow;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n\n@if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n animation-duration: 1.5s;\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n.align-baseline { vertical-align: baseline !important; } // Browser default\n.align-top { vertical-align: top !important; }\n.align-middle { vertical-align: middle !important; }\n.align-bottom { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top { vertical-align: text-top !important; }\n",'// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n background-color: $color !important;\n }\n a#{$parent},\n button#{$parent} {\n @include hover-focus() {\n background-color: darken($color, 10%) !important;\n }\n }\n @include deprecate("The `bg-variant` mixin", "v4.4.0", "v5", $ignore-warning);\n}\n\n@mixin bg-gradient-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n }\n @include deprecate("The `bg-gradient-variant` mixin", "v4.5.0", "v5", $ignore-warning);\n}\n','// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n @include bg-variant(".bg-#{$color}", $value, true);\n}\n\n@if $enable-gradients {\n @each $color, $value in $theme-colors {\n @include bg-gradient-variant(".bg-gradient-#{$color}", $value, true);\n }\n}\n\n.bg-white {\n background-color: $white !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n',"// stylelint-disable property-disallowed-list, declaration-no-important\n\n//\n// Border\n//\n\n.border { border: $border-width solid $border-color !important; }\n.border-top { border-top: $border-width solid $border-color !important; }\n.border-right { border-right: $border-width solid $border-color !important; }\n.border-bottom { border-bottom: $border-width solid $border-color !important; }\n.border-left { border-left: $border-width solid $border-color !important; }\n\n.border-0 { border: 0 !important; }\n.border-top-0 { border-top: 0 !important; }\n.border-right-0 { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0 { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n .border-#{$color} {\n border-color: $value !important;\n }\n}\n\n.border-white {\n border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded-sm {\n border-radius: $border-radius-sm !important;\n}\n\n.rounded {\n border-radius: $border-radius !important;\n}\n\n.rounded-top {\n border-top-left-radius: $border-radius !important;\n border-top-right-radius: $border-radius !important;\n}\n\n.rounded-right {\n border-top-right-radius: $border-radius !important;\n border-bottom-right-radius: $border-radius !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-left {\n border-top-left-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-lg {\n border-radius: $border-radius-lg !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: $rounded-pill !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n",'// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n\n &::before {\n display: block;\n content: "";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n@each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios {\n $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1);\n $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2);\n\n .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} {\n &::before {\n padding-top: percentage(divide($embed-responsive-aspect-ratio-y, $embed-responsive-aspect-ratio-x));\n }\n }\n}\n',"// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .float#{$infix}-left { float: left !important; }\n .float#{$infix}-right { float: right !important; }\n .float#{$infix}-none { float: none !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $value in $user-selects {\n .user-select-#{$value} { user-select: $value !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Common values\n@each $position in $positions {\n .position-#{$position} { position: $position !important; }\n}\n\n// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.sticky-top {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only {\n @include sr-only();\n}\n\n.sr-only-focusable {\n @include sr-only-focusable();\n}\n",'// Only display content to screen readers\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only() {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it\'s focused.\n//\n// Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable() {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n }\n}\n',"// stylelint-disable declaration-no-important\n\n.shadow-sm { box-shadow: $box-shadow-sm !important; }\n.shadow { box-shadow: $box-shadow !important; }\n.shadow-lg { box-shadow: $box-shadow-lg !important; }\n.shadow-none { box-shadow: none !important; }\n","// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n @each $size, $length in $sizes {\n .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n\n// Viewport additional helpers\n\n.min-vw-100 { min-width: 100vw !important; }\n.min-vh-100 { min-height: 100vh !important; }\n\n.vw-100 { width: 100vw !important; }\n.vh-100 { height: 100vh !important; }\n",'// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if "#{$size}" != "0" {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n','//\n// Stretched link\n//\n\n.stretched-link {\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n // Just in case `pointer-events: none` is set on a parent\n pointer-events: auto;\n content: "";\n // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color\n background-color: rgba(0, 0, 0, 0);\n }\n}\n','// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n.text-monospace { font-family: $font-family-monospace !important; }\n\n// Alignment\n\n.text-justify { text-align: justify !important; }\n.text-wrap { white-space: normal !important; }\n.text-nowrap { white-space: nowrap !important; }\n.text-truncate { @include text-truncate(); }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .text#{$infix}-left { text-align: left !important; }\n .text#{$infix}-right { text-align: right !important; }\n .text#{$infix}-center { text-align: center !important; }\n }\n}\n\n// Transformation\n\n.text-lowercase { text-transform: lowercase !important; }\n.text-uppercase { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light { font-weight: $font-weight-light !important; }\n.font-weight-lighter { font-weight: $font-weight-lighter !important; }\n.font-weight-normal { font-weight: $font-weight-normal !important; }\n.font-weight-bold { font-weight: $font-weight-bold !important; }\n.font-weight-bolder { font-weight: $font-weight-bolder !important; }\n.font-italic { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: $white !important; }\n\n@each $color, $value in $theme-colors {\n @include text-emphasis-variant(".text-#{$color}", $value, true);\n}\n\n.text-body { color: $body-color !important; }\n.text-muted { color: $text-muted !important; }\n\n.text-black-50 { color: rgba($black, .5) !important; }\n.text-white-50 { color: rgba($white, .5) !important; }\n\n// Misc\n\n.text-hide {\n @include text-hide($ignore-warning: true);\n}\n\n.text-decoration-none { text-decoration: none !important; }\n\n.text-break {\n word-break: break-word !important; // Deprecated, but avoids issues with flex containers\n word-wrap: break-word !important; // Used instead of `overflow-wrap` for IE & Edge Legacy\n}\n\n// Reset\n\n.text-reset { color: inherit !important; }\n',"// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n",'// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n color: $color !important;\n }\n @if $emphasized-link-hover-darken-percentage != 0 {\n a#{$parent} {\n @include hover-focus() {\n color: darken($color, $emphasized-link-hover-darken-percentage) !important;\n }\n }\n }\n @include deprecate("`text-emphasis-variant()`", "v4.4.0", "v5", $ignore-warning);\n}\n','// CSS image replacement\n@mixin text-hide($ignore-warning: false) {\n // stylelint-disable-next-line font-family-no-missing-generic-family-keyword\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n\n @include deprecate("`text-hide()`", "v4.1.0", "v5", $ignore-warning);\n}\n',"// stylelint-disable declaration-no-important\n\n//\n// Visibility utilities\n//\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n",'// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/main.css/blob/master/src/_print.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// https://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n @media print {\n *,\n *::before,\n *::after {\n // Bootstrap specific; comment out `color` and `background`\n //color: $black !important; // Black prints faster\n text-shadow: none !important;\n //background: transparent !important;\n box-shadow: none !important;\n }\n\n a {\n &:not(.btn) {\n text-decoration: underline;\n }\n }\n\n // Bootstrap specific; comment the following selector out\n //a[href]::after {\n // content: " (" attr(href) ")";\n //}\n\n abbr[title]::after {\n content: " (" attr(title) ")";\n }\n\n // Bootstrap specific; comment the following selector out\n //\n // Don\'t show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n //\n\n //a[href^="#"]::after,\n //a[href^="javascript:"]::after {\n // content: "";\n //}\n\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px\n page-break-inside: avoid;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Specify a size and min-width to make printing closer across browsers.\n // We don\'t set margin here because it breaks `size` in Chrome. We also\n // don\'t use `!important` on `size` as it breaks in Chrome.\n @page {\n size: $print-page-size;\n }\n body {\n min-width: $print-body-min-width !important;\n }\n .container {\n min-width: $print-body-min-width !important;\n }\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .badge {\n border: $border-width solid $black;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: $white !important;\n }\n }\n\n .table-bordered {\n th,\n td {\n border: 1px solid $gray-300 !important;\n }\n }\n\n .table-dark {\n color: inherit;\n\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $table-border-color;\n }\n }\n\n .table .thead-dark th {\n color: inherit;\n border-color: $table-border-color;\n }\n\n // Bootstrap specific changes end\n }\n}\n',"body {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n.font-xs {\n font-size: 0.75rem !important;\n}\n\n.font-sm {\n font-size: 0.85rem !important;\n}\n\n.font-lg {\n font-size: 1rem !important;\n}\n\n.font-xl {\n font-size: 1.25rem !important;\n}\n\n.font-2xl {\n font-size: 1.5rem !important;\n}\n\n.font-3xl {\n font-size: 1.75rem !important;\n}\n\n.font-4xl {\n font-size: 2rem !important;\n}\n\n.font-5xl {\n font-size: 2.5rem !important;\n}\n","// scss-lint:disable all\n.animated {\n animation-duration: 1s;\n // animation-fill-mode: both;\n}\n\n.animated.infinite {\n animation-iteration-count: infinite;\n}\n\n.animated.hinge {\n animation-duration: 2s;\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n.fadeIn {\n animation-name: fadeIn;\n}\n",".aside-menu {\n z-index: $zindex-sticky - 1;\n width: $aside-menu-width;\n color: $aside-menu-color;\n background: $aside-menu-bg;\n @include borders($aside-menu-borders);\n\n .nav-tabs {\n border-color: $border-color;\n .nav-link {\n padding: $aside-menu-nav-padding-y $aside-menu-nav-padding-x;\n color: $body-color;\n border-top: 0;\n &.active {\n color: theme-color('primary');\n border-right-color: $border-color;\n border-left-color: $border-color;\n }\n }\n .nav-item:first-child {\n .nav-link {\n border-left: 0;\n }\n }\n }\n\n .tab-content {\n position: relative;\n overflow-x: hidden;\n overflow-y: auto;\n border: 0;\n border-top: 1px solid $border-color;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n\n &::-webkit-scrollbar {\n width: 10px;\n margin-left: -10px;\n -webkit-appearance: none;\n }\n\n // &::-webkit-scrollbar-button { }\n\n &::-webkit-scrollbar-track {\n background-color: lighten($aside-menu-bg, 5%);\n border-right: 1px solid darken($aside-menu-bg, 5%);\n border-left: 1px solid darken($aside-menu-bg, 5%);\n }\n\n // &::-webkit-scrollbar-track-piece { }\n\n &::-webkit-scrollbar-thumb {\n height: 50px;\n background-color: darken($aside-menu-bg, 10%);\n background-clip: content-box;\n border-color: transparent;\n border-style: solid;\n border-width: 1px 2px;\n }\n\n .tab-pane {\n padding: 0;\n }\n }\n}\n","// scss-lint:disable all\n// Core Admin Variables\n\n$enable-sidebar-nav-rounded: false !default;\n\n$border-color: $gray-200 !default;\n$layout-transition-speed: 0.25s !default;\n\n// Social Colors\n\n$facebook: #3b5998 !default;\n$twitter: #00aced !default;\n$linkedin: #4875b4 !default;\n$google-plus: #d34836 !default;\n$flickr: #ff0084 !default;\n$tumblr: #32506d !default;\n$xing: #026466 !default;\n$github: #4183c4 !default;\n$html5: #e34f26 !default;\n$openid: #f78c40 !default;\n$stack-overflow: #fe7a15 !default;\n$youtube: #b00 !default;\n$css3: #0170ba !default;\n$dribbble: #ea4c89 !default;\n$google-plus: #bb4b39 !default;\n$instagram: #517fa4 !default;\n$pinterest: #cb2027 !default;\n$vk: #45668e !default;\n$yahoo: #400191 !default;\n$behance: #1769ff !default;\n$dropbox: #007ee5 !default;\n$reddit: #ff4500 !default;\n$spotify: #7ab800 !default;\n$vine: #00bf8f !default;\n$foursquare: #1073af !default;\n$vimeo: #aad450 !default;\n\n// Navbar\n\n$navbar-height: 55px !default;\n$navbar-bg: #fff !default;\n$navbar-border: (\n bottom: (\n size: 1px,\n style: solid,\n color: $border-color\n )\n) !default;\n$navbar-brand-width: 130px !default;\n$navbar-brand-bg: #fff !default;\n$navbar-brand-logo: url('../public_src/img/signal-k-logo-image-text.svg') !default;\n$navbar-brand-logo-size: 110px auto !default;\n$navbar-brand-border: (\n bottom: (\n size: 1px,\n style: solid,\n color: $border-color\n )\n) !default;\n\n$navbar-brand-minimized-width: 50px !default;\n$navbar-brand-minimized-bg: $navbar-brand-bg !default;\n$navbar-brand-minimized-logo: url('../public_src/img/signal-k-logo-image.svg') !default;\n$navbar-brand-minimized-logo-size: 30px !default;\n$navbar-brand-minimized-border: $navbar-brand-border !default;\n\n$navbar-color: $gray-600 !default;\n$navbar-hover-color: $gray-800 !default;\n$navbar-active-color: $gray-800 !default;\n$navbar-disabled-color: $gray-300 !default;\n\n$navbar-toggler-icon: str-replace(\n url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-color}' stroke-width='2.25' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"),\n '#',\n '%23'\n) !default;\n$navbar-toggler-icon-hover: str-replace(\n url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-hover-color}' stroke-width='2.25' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"),\n '#',\n '%23'\n) !default;\n\n// Sidebar\n\n$sidebar-width: 200px !default;\n$sidebar-padding: 0 !default;\n$sidebar-minimized-width: 50px !default;\n$sidebar-minimized-height: $sidebar-minimized-width !default;\n$sidebar-compact-width: 150px !default;\n$sidebar-compact-height: $sidebar-compact-width !default;\n$sidebar-color: #fff !default;\n$sidebar-bg: $gray-800 !default;\n$sidebar-borders: none !default;\n$mobile-sidebar-width: 220px !default;\n\n// Sidebar Header\n\n$sidebar-header-height: auto !default;\n$sidebar-header-bg: rgba(0, 0, 0, 0.2) !default;\n$sidebar-header-padding-y: 0.75rem !default;\n$sidebar-header-padding-x: 1rem !default;\n\n// Sidebar Form\n\n$sidebar-form-border: 0 !default;\n$sidebar-form-bg: darken($sidebar-bg, 10%) !default;\n$sidebar-form-color: #fff !default;\n$sidebar-form-placeholder-color: rgba(255, 255, 255, 0.7) !default;\n\n// Sidebar Navigation\n\n$sidebar-nav-color: #fff !default;\n$sidebar-nav-title-padding-y: 0.75rem !default;\n$sidebar-nav-title-padding-x: 1rem !default;\n$sidebar-nav-title-color: $gray-200 !default;\n$sidebar-nav-link-padding-y: 0.75rem !default;\n$sidebar-nav-link-padding-x: 1rem !default;\n$sidebar-nav-link-color: #fff !default;\n$sidebar-nav-link-bg: transparent !default;\n$sidebar-nav-link-icon-color: $gray-600 !default;\n$sidebar-nav-link-borders: 0 !default;\n\n$sidebar-nav-link-hover-color: #fff !default;\n$sidebar-nav-link-hover-bg: theme-color('primary') !default;\n$sidebar-nav-link-hover-icon-color: #fff !default;\n$sidebar-nav-link-hover-borders: 0 !default;\n\n$sidebar-nav-link-active-color: #fff !default;\n$sidebar-nav-link-active-bg: lighten($sidebar-bg, 5%) !default;\n$sidebar-nav-link-active-icon-color: theme-color('primary') !default;\n$sidebar-nav-link-active-borders: 0 !default;\n\n$sidebar-nav-dropdown-color: #fff !default;\n$sidebar-nav-dropdown-bg: rgba(0, 0, 0, 0.2) !default;\n$sidebar-nav-dropdown-borders: 0 !default;\n$sidebar-nav-dropdown-indicator-color: $gray-600 !default;\n$sidebar-nav-dropdown-indicator: str-replace(\n url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='#{$sidebar-nav-dropdown-indicator-color}' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\"),\n '#',\n '%23'\n) !default;\n$sidebar-nav-dropdown-indicator-hover-color: $sidebar-nav-link-hover-color;\n$sidebar-nav-dropdown-indicator-hover: str-replace(\n url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='#{$sidebar-nav-dropdown-indicator-hover-color}' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\"),\n '#',\n '%23'\n) !default;\n\n// Sidebar Footer\n\n$sidebar-footer-height: auto !default;\n$sidebar-footer-bg: rgba(0, 0, 0, 0.2) !default;\n$sidebar-footer-padding-y: 0.75rem !default;\n$sidebar-footer-padding-x: 1rem !default;\n$sidebar-footer-borders: 0 !default;\n\n// Sidebar Minimizer\n\n$sidebar-minimizer-height: 50px !default;\n$sidebar-minimizer-bg: rgba(0, 0, 0, 0.2) !default;\n$sidebar-minimizer-borders: 0 !default;\n$sidebar-minimizer-indicator-color: $gray-600 !default;\n$sidebar-minimizer-indicator: str-replace(\n url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='#{$sidebar-minimizer-indicator-color}' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\"),\n '#',\n '%23'\n) !default;\n$sidebar-minimizer-hover-bg: rgba(0, 0, 0, 0.3) !default;\n$sidebar-minimizer-hover-indicator-color: $sidebar-nav-link-hover-color !default;\n$sidebar-minimizer-hover-indicator: str-replace(\n url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='#{$sidebar-minimizer-hover-indicator-color}' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\"),\n '#',\n '%23'\n) !default;\n\n// Top Navigation\n\n$top-nav-bg: #fff !default;\n$top-nav-color: $body-color !default;\n$top-nav-borders: (\n bottom: (\n size: 1px,\n style: solid,\n color: $border-color\n )\n) !default;\n$top-nav-ul-borders: (\n all: (\n size: 1px,\n style: solid,\n color: $border-color\n )\n) !default;\n\n$top-nav-hover-color: #fff !default;\n$top-nav-hover-bg: theme-color('primary') !default;\n$top-nav-active-color: #fff !default;\n$top-nav-active-bg: theme-color('primary') !default;\n$top-nav-height: $navbar-height - 15px !default;\n\n// Breadcrumb\n$breadcrumb-borders: (\n bottom: (\n size: 1px,\n style: solid,\n color: $border-color\n )\n) !default;\n\n// Aside\n\n$aside-menu-width: 250px !default;\n$aside-menu-color: $gray-800 !default;\n$aside-menu-bg: #fff !default;\n$aside-menu-borders: (\n left: (\n size: 1px,\n style: solid,\n color: $border-color\n )\n) !default;\n\n$aside-menu-nav-padding-y: 0.75rem !default;\n$aside-menu-nav-padding-x: 1rem !default;\n\n// Footer\n\n$footer-height: 50px !default;\n$footer-bg: $gray-100 !default;\n$footer-color: $body-color !default;\n$footer-borders: (\n top: (\n size: 1px,\n style: solid,\n color: $border-color\n )\n) !default;\n\n// Cards\n\n$card-icon-bg: transparent !default;\n$card-icon-color: $body-color !default;\n","@mixin button-social-size(\n $padding-y,\n $padding-x,\n $font-size,\n $line-height,\n $border-radius\n) {\n padding: $padding-y $padding-x;\n font-size: $font-size;\n line-height: $line-height;\n border: 0;\n @include border-radius($border-radius);\n\n &::before {\n width: ($padding-y * 2) + ($font-size * $line-height);\n height: ($padding-y * 2) + ($font-size * $line-height);\n padding: $padding-y 0;\n font-size: $font-size;\n line-height: $line-height;\n @include border-radius($border-radius);\n }\n\n span {\n margin-left: ($padding-y * 2) + ($font-size * $line-height);\n }\n\n &.icon {\n width: ($padding-y * 2) + ($font-size * $line-height);\n height: ($padding-y * 2) + ($font-size * $line-height);\n }\n}\n\n@mixin avatar($width, $status-width) {\n position: relative;\n display: inline-block;\n width: $width;\n\n .img-avatar {\n width: $width;\n height: $width;\n }\n\n .avatar-status {\n position: absolute;\n right: 0;\n bottom: 0;\n display: block;\n width: $status-width;\n height: $status-width;\n border: 1px solid #fff;\n border-radius: 50em;\n }\n}\n\n@mixin borders($borders) {\n @each $border in $borders {\n $direction: nth($border, 1);\n @if $direction == 'all' {\n $size: map-get(map-get($borders, $direction), size);\n $style: map-get(map-get($borders, $direction), style);\n $color: map-get(map-get($borders, $direction), color);\n border: $size $style $color;\n } @else if $direction == 'top' {\n $size: map-get(map-get($borders, $direction), size);\n $style: map-get(map-get($borders, $direction), style);\n $color: map-get(map-get($borders, $direction), color);\n border-top: $size $style $color;\n } @else if $direction == 'right' {\n $size: map-get(map-get($borders, $direction), size);\n $style: map-get(map-get($borders, $direction), style);\n $color: map-get(map-get($borders, $direction), color);\n border-right: $size $style $color;\n } @else if $direction == 'bottom' {\n $size: map-get(map-get($borders, $direction), size);\n $style: map-get(map-get($borders, $direction), style);\n $color: map-get(map-get($borders, $direction), color);\n border-bottom: $size $style $color;\n } @else if $direction == 'left' {\n $size: map-get(map-get($borders, $direction), size);\n $style: map-get(map-get($borders, $direction), style);\n $color: map-get(map-get($borders, $direction), color);\n border-left: $size $style $color;\n }\n }\n}\n\n@mixin sidebar-width($borders, $width) {\n $sidebar-width: $width;\n\n @each $border in $borders {\n $direction: nth($border, 1);\n @if $direction == 'all' {\n $size: map-get(map-get($borders, $direction), size);\n $sidebar-width: ($sidebar-width - (2 * $size));\n } @else if $direction == 'right' {\n $size: map-get(map-get($borders, $direction), size);\n $sidebar-width: $sidebar-width - $size;\n } @else if $direction == 'left' {\n $size: map-get(map-get($borders, $direction), size);\n $sidebar-width: $sidebar-width - $size;\n }\n width: $sidebar-width;\n }\n}\n\n@mixin bg-variant($parent, $color) {\n #{$parent} {\n @include border-radius(\n $card-border-radius-inner $card-border-radius-inner\n $card-border-radius-inner $card-border-radius-inner\n );\n color: #fff !important;\n background-color: $color !important;\n }\n a#{$parent} {\n @include hover-focus {\n background-color: darken($color, 10%);\n }\n }\n}\n\n@mixin card-accent-variant($color) {\n border-top-width: 2px;\n border-top-color: $color;\n}\n",".img-avatar {\n border-radius: 50em;\n}\n\n.avatar {\n $width: 36px;\n $status-width: 10px;\n @include avatar($width, $status-width);\n}\n\n.avatar.avatar-xs {\n $width: 20px;\n $status-width: 8px;\n @include avatar($width, $status-width);\n}\n\n.avatar.avatar-sm {\n $width: 24px;\n $status-width: 8px;\n @include avatar($width, $status-width);\n}\n\n.avatar.avatar-lg {\n $width: 72px;\n $status-width: 12px;\n @include avatar($width, $status-width);\n}\n\n.avatars-stack {\n .avatar.avatar-xs {\n margin-right: -10px;\n }\n\n // .avatar.avatar-sm {\n //\n // }\n\n .avatar {\n margin-right: -15px;\n transition:\n margin-left $layout-transition-speed,\n margin-right $layout-transition-speed;\n\n &:hover {\n margin-right: 0 !important;\n }\n }\n\n // .avatar.avatar-lg {\n //\n // }\n}\n",".badge-pill {\n border-radius: $badge-pill-border-radius;\n}\n",".breadcrumb-menu {\n margin-left: auto;\n\n &::before {\n display: none;\n }\n\n .btn-group {\n vertical-align: top;\n }\n\n .btn {\n padding: 0 $input-btn-padding-x;\n color: $text-muted;\n vertical-align: top;\n border: 0;\n\n &:hover,\n &.active {\n color: $body-color;\n background: transparent;\n }\n }\n\n .open {\n .btn {\n color: $body-color;\n background: transparent;\n }\n }\n\n .dropdown-menu {\n min-width: 180px;\n line-height: $line-height-base;\n }\n}\n",".breadcrumb {\n position: relative;\n @include borders($breadcrumb-borders);\n}\n","button {\n cursor: pointer;\n}\n\n.btn {\n .badge {\n position: absolute;\n top: 2px;\n right: 6px;\n font-size: 9px;\n }\n}\n\n.btn-transparent {\n color: #fff;\n background-color: transparent;\n border-color: transparent;\n}\n\n.btn {\n [class^='icon-'],\n [class*=' icon-'] {\n display: inline-block;\n margin-top: -2px;\n vertical-align: middle;\n }\n}\n\n.btn-facebook,\n.btn-twitter,\n.btn-linkedin,\n.btn-flickr,\n.btn-tumblr,\n.btn-xing,\n.btn-github,\n.btn-html5,\n.btn-openid,\n.btn-stack-overflow,\n.btn-youtube,\n.btn-css3,\n.btn-dribbble,\n.btn-google-plus,\n.btn-instagram,\n.btn-pinterest,\n.btn-vk,\n.btn-yahoo,\n.btn-behance,\n.btn-dropbox,\n.btn-reddit,\n.btn-spotify,\n.btn-vine,\n.btn-foursquare,\n.btn-vimeo {\n position: relative;\n overflow: hidden;\n color: #fff !important;\n text-align: center;\n\n &::before {\n position: absolute;\n top: 0;\n left: 0;\n display: block;\n font-family: 'FontAwesome';\n font-style: normal;\n font-weight: normal;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n }\n\n &:hover {\n color: #fff;\n }\n\n &.icon {\n span {\n display: none;\n }\n }\n\n &.text {\n &::before {\n display: none;\n }\n\n span {\n margin-left: 0 !important;\n }\n }\n @include button-social-size(\n $input-btn-padding-y,\n $input-btn-padding-x,\n $font-size-base,\n $line-height-base,\n $btn-border-radius\n );\n\n &.btn-lg {\n @include button-social-size(\n $input-btn-padding-y-lg,\n $input-btn-padding-x-lg,\n $font-size-lg,\n $line-height-lg,\n $btn-border-radius-lg\n );\n }\n\n &.btn-sm {\n @include button-social-size(\n $input-btn-padding-y-sm,\n $input-btn-padding-x-sm,\n $font-size-sm,\n $line-height-sm,\n $btn-border-radius-sm\n );\n }\n}\n\n.btn-facebook {\n $color: $facebook;\n\n background: $color;\n &::before {\n content: '\\f09a';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-twitter {\n $color: $twitter;\n\n background: $color;\n &::before {\n content: '\\f099';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-linkedin {\n $color: $linkedin;\n\n background: $color;\n &::before {\n content: '\\f0e1';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-flickr {\n $color: $flickr;\n\n background: $color;\n &::before {\n content: '\\f16e';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-tumblr {\n $color: $tumblr;\n\n background: $color;\n &::before {\n content: '\\f173';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-xing {\n $color: $xing;\n\n background: $color;\n &::before {\n content: '\\f168';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-github {\n $color: $github;\n\n background: $color;\n &::before {\n content: '\\f09b';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-html5 {\n $color: $html5;\n\n background: $color;\n &::before {\n content: '\\f13b';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-openid {\n $color: $openid;\n\n background: $color;\n &::before {\n content: '\\f19b';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-stack-overflow {\n $color: $stack-overflow;\n\n background: $color;\n &::before {\n content: '\\f16c';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-css3 {\n $color: $css3;\n\n background: $color;\n &::before {\n content: '\\f13c';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-youtube {\n $color: $youtube;\n\n background: $color;\n &::before {\n content: '\\f167';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-dribbble {\n $color: $dribbble;\n\n background: $color;\n &::before {\n content: '\\f17d';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-google-plus {\n $color: $google-plus;\n\n background: $color;\n &::before {\n content: '\\f0d5';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-instagram {\n $color: $instagram;\n\n background: $color;\n &::before {\n content: '\\f16d';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-pinterest {\n $color: $pinterest;\n\n background: $color;\n &::before {\n content: '\\f0d2';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-vk {\n $color: $vk;\n\n background: $color;\n &::before {\n content: '\\f189';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-yahoo {\n $color: $yahoo;\n\n background: $color;\n &::before {\n content: '\\f19e';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-behance {\n $color: $behance;\n\n background: $color;\n &::before {\n content: '\\f1b4';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-dropbox {\n $color: $dropbox;\n\n background: $color;\n &::before {\n content: '\\f16b';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-reddit {\n $color: $reddit;\n\n background: $color;\n &::before {\n content: '\\f1a1';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-spotify {\n $color: $spotify;\n\n background: $color;\n &::before {\n content: '\\f1bc';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-vine {\n $color: $vine;\n\n background: $color;\n &::before {\n content: '\\f1ca';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-foursquare {\n $color: $foursquare;\n\n background: $color;\n &::before {\n content: '\\f180';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n\n.btn-vimeo {\n $color: $vimeo;\n\n background: $color;\n &::before {\n content: '\\f194';\n background: darken($color, 5%);\n }\n\n &:hover {\n background: darken($color, 5%);\n\n &::before {\n background: darken($color, 10%);\n }\n }\n}\n",".callout {\n position: relative;\n padding: 0 $spacer;\n margin: $spacer 0;\n border: 0 solid $border-color;\n border-left-width: 0.25rem;\n\n @if $enable-rounded {\n border-radius: 0.25rem;\n }\n\n .chart-wrapper {\n position: absolute;\n top: 10px;\n left: 50%;\n float: right;\n width: 50%;\n }\n}\n\n.callout-bordered {\n border: 1px solid $border-color;\n border-left-width: 0.25rem;\n}\n.callout code {\n border-radius: 0.25rem;\n}\n.callout h4 {\n margin-top: 0;\n margin-bottom: 0.25rem;\n}\n.callout p:last-child {\n margin-bottom: 0;\n}\n.callout + .callout {\n margin-top: -0.25rem;\n}\n\n.callout-default {\n border-left-color: $text-muted;\n\n h4 {\n color: $text-muted;\n }\n}\n\n@each $color, $value in $theme-colors {\n .callout-#{$color} {\n border-left-color: $value;\n\n h4 {\n color: $value;\n }\n }\n}\n",".card {\n margin-bottom: 1.5 * $spacer;\n\n // Cards with color accent\n @each $color, $value in $theme-colors {\n &.bg-#{$color} {\n border-color: darken($value, 12.5%);\n .card-header {\n background-color: darken($value, 3%);\n border-color: darken($value, 12.5%);\n }\n }\n }\n}\n\n.text-white .text-muted {\n color: rgba(255, 255, 255, 0.6) !important;\n}\n\n.card-header {\n .icon-bg {\n display: inline-body;\n padding: $card-spacer-y $card-spacer-x !important;\n margin-top: -$card-spacer-y;\n margin-right: $card-spacer-x;\n margin-bottom: -$card-spacer-y;\n margin-left: -$card-spacer-x;\n line-height: inherit;\n color: $card-icon-color;\n vertical-align: bottom;\n background: $card-icon-bg;\n border-right: $card-border-width solid $card-border-color;\n }\n\n .nav.nav-tabs {\n margin-top: -$card-spacer-y;\n margin-bottom: -$card-spacer-y;\n border-bottom: 0;\n\n .nav-item {\n border-top: 0;\n }\n\n .nav-link {\n padding: $card-spacer-y $card-spacer-x / 2;\n color: $text-muted;\n border-top: 0;\n\n &.active {\n color: $body-color;\n background: #fff;\n }\n }\n }\n\n &.card-header-inverse {\n color: #fff;\n }\n\n .btn {\n margin-top: -$input-btn-padding-y;\n }\n .btn-sm {\n margin-top: -$input-btn-padding-y-sm;\n }\n .btn-lg {\n margin-top: -$input-btn-padding-y-lg;\n }\n}\n//\n.card-footer {\n ul {\n display: table;\n width: 100%;\n padding: 0;\n margin: 0;\n table-layout: fixed;\n\n li {\n display: table-cell;\n padding: 0 $card-spacer-x;\n text-align: center;\n }\n }\n}\n\n[class*='card-outline-'] {\n .card-body {\n background: #fff !important;\n }\n\n &.card-outline-top {\n border-top-width: 2px;\n border-right-color: $border-color;\n border-bottom-color: $border-color;\n border-left-color: $border-color;\n }\n}\n\n// Cards with color accent\n@each $color, $value in $theme-colors {\n .card-accent-#{$color} {\n @include card-accent-variant($value);\n }\n}\n\n// Card Actions\n.card-header {\n > i {\n margin-right: $spacer / 2;\n }\n .card-actions {\n position: absolute;\n top: 0;\n right: 0;\n //height: inherit;\n\n a,\n button {\n display: block;\n float: left;\n width: 50px;\n padding: $card-spacer-y 0;\n margin: 0 !important;\n color: $body-color;\n text-align: center;\n background: transparent;\n border: 0;\n border-left: 1px solid $border-color;\n box-shadow: 0;\n\n &:hover {\n text-decoration: none;\n }\n\n [class^='icon-'],\n [class*=' icon-'] {\n display: inline-body;\n vertical-align: middle;\n }\n\n i {\n display: inline-body;\n transition: 0.4s;\n }\n\n .r180 {\n transform: rotate(180deg);\n }\n }\n\n .input-group {\n width: 230px;\n margin: 6px;\n\n .input-group-addon {\n background: #fff;\n }\n\n input {\n border-left: 0;\n }\n }\n }\n}\n\n.card-full {\n margin-top: -$spacer;\n margin-right: -$grid-gutter-width / 2;\n margin-left: -$grid-gutter-width / 2;\n border: 0;\n border-bottom: $card-border-width solid $border-color;\n}\n\n@include media-breakpoint-up(sm) {\n .card-columns {\n &.cols-2 {\n column-count: 2;\n }\n }\n}\n\n.card {\n &.drag,\n .drag {\n cursor: move;\n }\n}\n\n.card-placeholder {\n background: rgba(0, 0, 0, 0.025);\n border: 1px dashed $gray-300;\n}\n",".chart-wrapper {\n canvas {\n width: 100% !important;\n }\n}\n// scss-lint:disable QualifyingElement\nbase-chart.chart {\n display: block !important;\n}\n","// Links, buttons, and more within the dropdown menu\n.dropdown-item {\n position: relative;\n padding: 0.375rem 0.75rem;\n border-bottom: 1px solid $dropdown-border-color;\n\n &:last-child {\n border-bottom: 0;\n }\n\n i {\n display: inline-block;\n width: 20px;\n margin-right: 10px;\n margin-left: -10px;\n color: $dropdown-border-color;\n text-align: center;\n }\n\n .badge {\n position: absolute;\n right: 10px;\n margin-top: 2px;\n }\n}\n\n// Dropdown section headers\n.dropdown-header {\n padding: 8px 20px;\n background: $dropdown-divider-bg;\n border-bottom: 1px solid $dropdown-border-color;\n\n .btn {\n margin-top: -7px;\n color: $dropdown-header-color;\n\n &:hover {\n color: $body-color;\n }\n\n &.pull-right {\n margin-right: -20px;\n }\n }\n}\n\n.dropdown-menu-lg {\n width: 250px;\n}\n.app-header {\n .navbar-nav {\n .dropdown-menu {\n position: absolute;\n }\n // Menu positioning\n //\n // Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n // menu with the parent.\n .dropdown-menu-right {\n right: 0;\n left: auto; // Reset the default from `.dropdown-menu`\n }\n\n .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n }\n}\n",".app-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n padding: 0 $spacer;\n color: $footer-color;\n background: $footer-bg;\n @include borders($footer-borders);\n}\n",".row.row-equal {\n padding-right: ($grid-gutter-width / 4);\n padding-left: ($grid-gutter-width / 4);\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n\n [class*='col-'] {\n padding-right: ($grid-gutter-width / 4);\n padding-left: ($grid-gutter-width / 4);\n }\n}\n\n.main .container-fluid {\n padding: 30px;\n height: 100%;\n}\n",".input-group-addon,\n.input-group-btn {\n min-width: 40px;\n white-space: nowrap;\n vertical-align: middle; // Match the inputs\n}\n","// Angular Version\n// Make clicks pass-through\n// scss-lint:disable all\n#loading-bar,\n#loading-bar-spinner {\n -webkit-pointer-events: none;\n pointer-events: none;\n -moz-transition: 350ms linear all;\n -o-transition: 350ms linear all;\n -webkit-transition: 350ms linear all;\n transition: 350ms linear all;\n}\n\n#loading-bar.ng-enter,\n#loading-bar.ng-leave.ng-leave-active,\n#loading-bar-spinner.ng-enter,\n#loading-bar-spinner.ng-leave.ng-leave-active {\n opacity: 0;\n}\n\n#loading-bar.ng-enter.ng-enter-active,\n#loading-bar.ng-leave,\n#loading-bar-spinner.ng-enter.ng-enter-active,\n#loading-bar-spinner.ng-leave {\n opacity: 1;\n}\n\n#loading-bar .bar {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 20002;\n width: 100%;\n height: 2px;\n background: theme-color('primary');\n border-top-right-radius: 1px;\n border-bottom-right-radius: 1px;\n -moz-transition: width 350ms;\n -o-transition: width 350ms;\n -webkit-transition: width 350ms;\n transition: width 350ms;\n}\n\n// Fancy blur effect\n#loading-bar .peg {\n position: absolute;\n top: 0;\n right: 0;\n width: 70px;\n height: 2px;\n -moz-border-radius: 100%;\n -webkit-border-radius: 100%;\n border-radius: 100%;\n -moz-box-shadow: #29d 1px 0 6px 1px;\n -ms-box-shadow: #29d 1px 0 6px 1px;\n -webkit-box-shadow: #29d 1px 0 6px 1px;\n box-shadow: #29d 1px 0 6px 1px;\n opacity: 0.45;\n}\n\n#loading-bar-spinner {\n position: fixed;\n top: 10px;\n left: 10px;\n z-index: 10002;\n display: block;\n}\n\n#loading-bar-spinner .spinner-icon {\n width: 14px;\n height: 14px;\n\n border: solid 2px transparent;\n border-top-color: #29d;\n border-left-color: #29d;\n border-radius: 50%;\n\n -moz-animation: loading-bar-spinner 400ms linear infinite;\n -ms-animation: loading-bar-spinner 400ms linear infinite;\n -o-animation: loading-bar-spinner 400ms linear infinite;\n -webkit-animation: loading-bar-spinner 400ms linear infinite;\n animation: loading-bar-spinner 400ms linear infinite;\n}\n\n@-webkit-keyframes loading-bar-spinner {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@-moz-keyframes loading-bar-spinner {\n 0% {\n -moz-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -moz-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@-o-keyframes loading-bar-spinner {\n 0% {\n -o-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -o-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@-ms-keyframes loading-bar-spinner {\n 0% {\n -ms-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -ms-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@keyframes loading-bar-spinner {\n 0% {\n transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n//Ajax & Static Version\n.pace {\n -webkit-pointer-events: none;\n pointer-events: none;\n\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n}\n\n.pace-inactive {\n display: none;\n}\n\n.pace .pace-progress {\n position: fixed;\n top: 0;\n right: 100%;\n z-index: 2000;\n width: 100%;\n height: 2px;\n background: theme-color('primary');\n}\n","@each $color, $value in $theme-colors {\n .modal-#{$color} {\n .modal-content {\n border-color: $value;\n }\n\n .modal-header {\n color: #fff;\n background-color: $value;\n }\n }\n}\n",".nav-tabs {\n .nav-link {\n color: $gray-600;\n &.active {\n color: $gray-800;\n background: #fff;\n border-color: $border-color;\n border-bottom-color: #fff;\n &:focus {\n background: #fff;\n border-color: $border-color;\n border-bottom-color: #fff;\n }\n }\n }\n}\n\n.tab-content {\n margin-top: -1px;\n background: #fff;\n border: 1px solid $border-color;\n .tab-pane {\n padding: $spacer;\n }\n}\n\n.card-block {\n .tab-content {\n margin-top: 0;\n border: 0;\n }\n}\n",".app-header.navbar {\n position: relative;\n flex-direction: row;\n height: $navbar-height;\n padding: 0;\n margin: 0;\n background-color: $navbar-bg;\n @include borders($navbar-border);\n\n .navbar-brand {\n display: inline-block;\n width: $navbar-brand-width;\n height: $navbar-height;\n padding: $navbar-padding-y $navbar-padding-x;\n margin-right: 0;\n background-color: $navbar-brand-bg;\n background-image: $navbar-brand-logo;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: $navbar-brand-logo-size;\n @include borders($navbar-brand-border);\n }\n\n .navbar-toggler {\n min-width: 50px;\n padding: $navbar-toggler-padding-y 0;\n\n &:hover .navbar-toggler-icon {\n background-image: $navbar-toggler-icon-hover;\n }\n }\n\n .navbar-toggler-icon {\n height: 23px;\n background-image: $navbar-toggler-icon;\n }\n\n .navbar-nav {\n flex-direction: row;\n align-items: center;\n }\n\n .nav-item {\n position: relative;\n min-width: 50px;\n margin: 0 !important;\n text-align: center;\n\n button {\n margin: 0 auto;\n }\n\n .nav-link {\n padding-top: 0;\n padding-bottom: 0;\n background: 0;\n border: 0;\n\n .badge {\n position: absolute;\n top: 50%;\n left: 50%;\n margin-top: -16px;\n margin-left: 0;\n }\n\n > .img-avatar {\n height: $navbar-height - 20px;\n margin: 0 10px;\n }\n }\n }\n\n .dropdown-menu {\n padding-bottom: 0;\n line-height: $line-height-base;\n }\n\n .dropdown-item {\n min-width: 180px;\n }\n}\n\n.navbar-brand {\n color: $navbar-active-color;\n\n @include hover-focus {\n color: $navbar-active-color;\n }\n}\n\n.navbar-nav {\n .nav-link {\n color: $navbar-color;\n\n @include hover-focus {\n color: $navbar-hover-color;\n }\n }\n\n .open > .nav-link,\n .active > .nav-link,\n .nav-link.open,\n .nav-link.active {\n @include plain-hover-focus {\n color: $navbar-active-color;\n }\n }\n}\n\n.navbar-divider {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n@include media-breakpoint-up(lg) {\n .brand-minimized {\n .app-header.navbar {\n .navbar-brand {\n width: $navbar-brand-minimized-width;\n background-color: $navbar-brand-minimized-bg;\n background-image: $navbar-brand-minimized-logo;\n background-size: $navbar-brand-minimized-logo-size;\n @include borders($navbar-brand-minimized-border);\n }\n }\n }\n}\n",".progress-xs {\n height: 4px;\n}\n\n.progress-sm {\n height: 8px;\n}\n\n// White progress bar\n.progress-white {\n background-color: rgba(255, 255, 255, 0.2) !important;\n .progress-bar {\n background-color: #fff;\n }\n}\n",'// scss-lint:disable NestingDepth, SelectorDepth\n.sidebar {\n display: flex;\n flex-direction: column;\n padding: $sidebar-padding;\n color: $sidebar-color;\n background: $sidebar-bg;\n @include borders($sidebar-borders);\n\n .sidebar-close {\n position: absolute;\n right: 0;\n display: none;\n padding: 0 $spacer;\n font-size: 24px;\n font-weight: 800;\n line-height: $navbar-height;\n color: $sidebar-color;\n background: 0;\n border: 0;\n opacity: 0.8;\n\n &:hover {\n opacity: 1;\n }\n }\n\n // Will be added soon\n // .sidebar-brand { }\n\n .sidebar-header {\n flex: 0 0 $sidebar-header-height;\n padding: $sidebar-header-padding-y $sidebar-header-padding-x;\n text-align: center;\n background: $sidebar-header-bg;\n }\n\n .sidebar-form .form-control {\n color: $sidebar-form-color;\n background: $sidebar-form-bg;\n border: $sidebar-form-border;\n\n &::placeholder {\n color: $sidebar-form-placeholder-color;\n }\n }\n\n .sidebar-nav {\n position: relative;\n flex: 1;\n overflow-x: hidden;\n overflow-y: auto;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n @include sidebar-width($sidebar-borders, $sidebar-width);\n\n &::-webkit-scrollbar {\n position: absolute;\n width: 10px;\n margin-left: -10px;\n -webkit-appearance: none;\n }\n\n &::-webkit-scrollbar-track {\n background-color: lighten($sidebar-bg, 5%);\n border-right: 1px solid darken($sidebar-bg, 5%);\n border-left: 1px solid darken($sidebar-bg, 5%);\n }\n\n &::-webkit-scrollbar-thumb {\n height: 50px;\n background-color: darken($sidebar-bg, 10%);\n background-clip: content-box;\n border-color: transparent;\n border-style: solid;\n border-width: 1px 2px;\n }\n }\n\n .nav {\n @include sidebar-width($sidebar-borders, $sidebar-width);\n flex-direction: column;\n min-height: 100%;\n }\n\n .nav-title {\n padding: $sidebar-nav-title-padding-y $sidebar-nav-title-padding-x;\n font-size: 11px;\n font-weight: 600;\n color: $sidebar-nav-title-color;\n text-transform: uppercase;\n }\n\n .nav-divider,\n .divider {\n height: 10px;\n }\n\n .nav-item {\n position: relative;\n margin: 0;\n transition: background 0.3s ease-in-out;\n }\n\n .nav-dropdown-items {\n max-height: 0;\n padding: 0;\n margin: 0;\n overflow-y: hidden;\n transition: max-height 0.3s ease-in-out;\n\n .nav-item {\n padding: 0;\n list-style: none;\n }\n }\n\n .nav-link {\n display: block;\n padding: $sidebar-nav-link-padding-y $sidebar-nav-link-padding-x;\n color: $sidebar-nav-link-color;\n text-decoration: none;\n background: $sidebar-nav-link-bg;\n @include borders($sidebar-nav-link-borders);\n @if $enable-sidebar-nav-rounded {\n border-radius: $border-radius;\n }\n\n i {\n display: inline-block;\n width: 20px;\n margin: 0 ($sidebar-nav-link-padding-x / 2) 0 0;\n font-size: 14px;\n color: $sidebar-nav-link-icon-color;\n text-align: center;\n }\n\n .badge {\n float: right;\n margin-top: 2px;\n }\n\n &.active {\n color: $sidebar-nav-link-active-color;\n background: $sidebar-nav-link-active-bg;\n @include borders($sidebar-nav-link-active-borders);\n\n i {\n color: $sidebar-nav-link-active-icon-color;\n }\n }\n\n &:hover {\n color: $sidebar-nav-link-hover-color;\n background: $sidebar-nav-link-hover-bg;\n @include borders($sidebar-nav-link-hover-borders);\n\n i {\n color: $sidebar-nav-link-hover-icon-color;\n }\n\n &.nav-dropdown-toggle::before {\n background-image: $sidebar-nav-dropdown-indicator-hover;\n }\n }\n\n @each $color, $value in $theme-colors {\n &.nav-link-#{$color} {\n background: $value;\n i {\n color: rgba(255, 255, 255, 0.7);\n }\n &:hover {\n background: darken($value, 5%) !important;\n i {\n color: #fff;\n }\n }\n }\n }\n }\n\n // ex. <a class="nav-link nav-dropdown-toggle" href="#">Components</a>\n .nav-dropdown-toggle {\n position: relative;\n\n &::before {\n position: absolute;\n top: 50%;\n right: $sidebar-nav-link-padding-x;\n display: block;\n width: 8px;\n height: 8px;\n padding: 0;\n margin-top: -4px;\n content: \'\';\n background-image: $sidebar-nav-dropdown-indicator;\n background-repeat: no-repeat;\n background-position: center;\n transition: transform 0.3s;\n }\n }\n\n // ex. <li class="nav-item nav-dropdown">\n .nav-dropdown.open {\n background: $sidebar-nav-dropdown-bg;\n @include borders($sidebar-nav-dropdown-borders);\n @if $enable-sidebar-nav-rounded {\n border-radius: $border-radius;\n }\n > .nav-dropdown-items {\n max-height: 1000px;\n }\n\n .nav-link {\n color: $sidebar-nav-dropdown-color;\n border-left: 0 !important;\n }\n\n > .nav-link.nav-dropdown-toggle::before {\n transform: rotate(-90deg);\n }\n\n .nav-dropdown.open {\n border-left: 0;\n }\n }\n\n .nav-label {\n display: block;\n padding: ($sidebar-nav-link-padding-y / 8) $sidebar-nav-link-padding-x;\n color: $sidebar-nav-title-color;\n\n &:hover {\n color: $sidebar-color;\n text-decoration: none;\n }\n\n i {\n width: 20px;\n margin: -3px ($sidebar-nav-link-padding-x / 2) 0 0;\n font-size: 10px;\n color: $sidebar-nav-link-icon-color;\n text-align: center;\n vertical-align: middle;\n }\n }\n\n @if (lightness($sidebar-bg) < 40) {\n .progress {\n background-color: lighten($sidebar-bg, 15%) !important;\n }\n }\n\n .sidebar-footer {\n flex: 0 0 $sidebar-footer-height;\n padding: $sidebar-footer-padding-y $sidebar-footer-padding-x;\n background: $sidebar-footer-bg;\n @include borders($sidebar-footer-borders);\n }\n\n .sidebar-minimizer {\n position: relative;\n flex: 0 0 $sidebar-minimizer-height;\n background-color: $sidebar-minimizer-bg;\n border: 0;\n @include borders($sidebar-minimizer-borders);\n\n &::before {\n position: absolute;\n top: 0;\n right: 0;\n width: $sidebar-minimizer-height;\n height: $sidebar-minimizer-height;\n content: \'\';\n background-image: $sidebar-minimizer-indicator;\n background-repeat: no-repeat;\n background-position: center;\n background-size: $sidebar-minimizer-height / 4;\n transition: 0.3s;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n }\n\n &:hover {\n background-color: $sidebar-minimizer-hover-bg;\n &::before {\n background-image: $sidebar-minimizer-hover-indicator;\n }\n }\n }\n}\n\n@include media-breakpoint-up(lg) {\n .sidebar-compact {\n .sidebar {\n .sidebar-nav {\n @include sidebar-width($sidebar-borders, $sidebar-compact-width);\n }\n\n .nav {\n @include sidebar-width($sidebar-borders, $sidebar-compact-width);\n\n .nav-title {\n text-align: center;\n }\n\n .nav-item {\n width: $sidebar-compact-width;\n border-left: 0 !important;\n\n .nav-link {\n text-align: center;\n\n i {\n display: block;\n width: 100%;\n margin: $spacer / 4 0;\n font-size: 24px;\n }\n\n .badge {\n position: absolute;\n top: 18px;\n right: 10px;\n }\n\n &.nav-dropdown-toggle {\n &::before {\n top: 30px;\n }\n }\n }\n }\n }\n }\n }\n\n // Minimized Sidebar\n .sidebar-minimized {\n .hidden-cn {\n display: none;\n }\n .sidebar {\n z-index: $zindex-sticky - 1;\n\n .sidebar-nav {\n overflow: visible;\n @include sidebar-width($sidebar-borders, $sidebar-minimized-width);\n }\n\n .nav {\n @include sidebar-width($sidebar-borders, $sidebar-minimized-width);\n }\n\n .nav-divider,\n .divider,\n .nav-title,\n .sidebar-footer,\n .sidebar-form,\n .sidebar-header {\n display: none;\n }\n\n .sidebar-minimizer::before {\n width: 100%;\n transform: rotate(-180deg);\n }\n\n .nav-item {\n width: $sidebar-minimized-width;\n overflow: hidden;\n border-left: 0 !important;\n\n &:hover {\n width: $sidebar-width + $sidebar-minimized-width;\n overflow: visible;\n\n > .nav-link {\n background: $sidebar-nav-link-hover-bg;\n\n i {\n color: $sidebar-nav-link-hover-color;\n }\n }\n }\n }\n\n .nav-link {\n position: relative;\n padding-left: 0;\n margin: 0;\n white-space: nowrap;\n border-left: 0 !important;\n\n i {\n display: block;\n float: left;\n width: $sidebar-minimized-height;\n // padding: 0;\n // margin: 0 !important;\n font-size: 18px;\n }\n\n .badge {\n position: absolute;\n right: 15px;\n display: none;\n }\n\n &:hover {\n width: $sidebar-width + $sidebar-minimized-width;\n background: $sidebar-nav-link-hover-bg;\n\n .badge {\n display: inline;\n }\n }\n\n &.nav-dropdown-toggle::before {\n display: none;\n }\n }\n\n .nav-dropdown-items {\n .nav-item {\n width: $sidebar-width;\n\n .nav-link {\n width: $sidebar-width;\n }\n }\n }\n\n .nav > .nav-dropdown {\n > .nav-dropdown-items {\n display: none;\n max-height: 1000px;\n background: $sidebar-bg;\n }\n\n &:hover {\n background: $sidebar-nav-link-hover-bg;\n > .nav-dropdown-items {\n position: absolute;\n left: $sidebar-minimized-width;\n display: inline;\n }\n }\n }\n }\n }\n}\n',"@mixin switch-size($width, $height, $font-size, $handle-margin) {\n width: $width;\n height: $height;\n\n .switch-label {\n font-size: $font-size;\n }\n\n .switch-handle {\n width: $height - $handle-margin * 2;\n height: $height - $handle-margin * 2;\n }\n\n .switch-input:checked ~ .switch-handle {\n left: $width - $height + $handle-margin;\n }\n}\n\n@mixin switch($type, $width, $height, $font-size, $handle-margin) {\n position: relative;\n display: inline-block;\n vertical-align: top;\n width: $width;\n height: $height;\n background-color: transparent;\n cursor: pointer;\n\n .switch-input {\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0;\n }\n\n .switch-label {\n position: relative;\n display: block;\n height: inherit;\n @if $type == icon {\n font-family: FontAwesome;\n }\n font-size: $font-size;\n font-weight: 600;\n text-transform: uppercase;\n @if $type == ddd {\n background-color: $gray-100;\n } @else {\n background-color: #fff;\n }\n border: 1px solid $border-color;\n border-radius: 2px;\n transition: opacity background 0.15s ease-out;\n }\n @if $type == text or $type == icon {\n .switch-label::before,\n .switch-label::after {\n position: absolute;\n top: 50%;\n width: 50%;\n margin-top: -0.5em;\n line-height: 1;\n text-align: center;\n transition: inherit;\n }\n .switch-label::before {\n right: 1px;\n color: $gray-200;\n content: attr(data-off);\n }\n .switch-label::after {\n left: 1px;\n color: #fff;\n content: attr(data-on);\n opacity: 0;\n }\n }\n .switch-input:checked ~ .switch-label {\n //background: $gray-lightest;\n }\n .switch-input:checked ~ .switch-label::before {\n opacity: 0;\n }\n .switch-input:checked ~ .switch-label::after {\n opacity: 1;\n }\n\n .switch-handle {\n position: absolute;\n top: $handle-margin;\n left: $handle-margin;\n width: $height - $handle-margin * 2;\n height: $height - $handle-margin * 2;\n background: #fff;\n border: 1px solid $border-color;\n border-radius: 1px;\n transition: left 0.15s ease-out;\n @if $type == ddd {\n border: 0;\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);\n }\n }\n\n .switch-input:checked ~ .switch-handle {\n left: $width - $height + $handle-margin;\n }\n\n @if $type == ddd {\n @extend .switch-pill;\n }\n\n //size variations\n @if $type == default {\n &.switch-lg {\n @include switch-size(\n $switch-lg-width,\n $switch-lg-height,\n $switch-lg-font-size,\n $handle-margin\n );\n }\n &.switch-sm {\n @include switch-size(\n $switch-sm-width,\n $switch-sm-height,\n $switch-sm-font-size,\n $handle-margin\n );\n }\n &.switch-xs {\n @include switch-size(\n $switch-xs-width,\n $switch-xs-height,\n $switch-xs-font-size,\n $handle-margin\n );\n }\n } @else if $type == text {\n &.switch-lg {\n @include switch-size(\n $switch-text-lg-width,\n $switch-text-lg-height,\n $switch-text-lg-font-size,\n $handle-margin\n );\n }\n &.switch-sm {\n @include switch-size(\n $switch-text-sm-width,\n $switch-text-sm-height,\n $switch-text-sm-font-size,\n $handle-margin\n );\n }\n &.switch-xs {\n @include switch-size(\n $switch-text-xs-width,\n $switch-text-xs-height,\n $switch-text-xs-font-size,\n $handle-margin\n );\n }\n } @else if $type == icon {\n &.switch-lg {\n @include switch-size(\n $switch-icon-lg-width,\n $switch-icon-lg-height,\n $switch-icon-lg-font-size,\n $handle-margin\n );\n }\n &.switch-sm {\n @include switch-size(\n $switch-icon-sm-width,\n $switch-icon-sm-height,\n $switch-icon-sm-font-size,\n $handle-margin\n );\n }\n &.switch-xs {\n @include switch-size(\n $switch-icon-xs-width,\n $switch-icon-xs-height,\n $switch-icon-xs-font-size,\n $handle-margin\n );\n }\n } @else if $type == ddd {\n &.switch-lg {\n @include switch-size(\n $switch-lg-width,\n $switch-lg-height,\n $switch-lg-font-size,\n 0\n );\n }\n &.switch-sm {\n @include switch-size(\n $switch-sm-width,\n $switch-sm-height,\n $switch-sm-font-size,\n 0\n );\n }\n &.switch-xs {\n @include switch-size(\n $switch-xs-width,\n $switch-xs-height,\n $switch-xs-font-size,\n 0\n );\n }\n }\n}\n\n@mixin switch-variant($color) {\n > .switch-input:checked ~ .switch-label {\n background: $color !important;\n border-color: darken($color, 10%);\n }\n\n > .switch-input:checked ~ .switch-handle {\n border-color: darken($color, 10%);\n }\n}\n\n@mixin switch-outline-variant($color) {\n > .switch-input:checked ~ .switch-label {\n background: #fff !important;\n border-color: $color;\n\n &::after {\n color: $color;\n }\n }\n\n > .switch-input:checked ~ .switch-handle {\n border-color: $color;\n }\n}\n\n@mixin switch-outline-alt-variant($color) {\n > .switch-input:checked ~ .switch-label {\n background: #fff !important;\n border-color: $color;\n\n &::after {\n color: $color;\n }\n }\n\n > .switch-input:checked ~ .switch-handle {\n background: $color !important;\n border-color: $color;\n }\n}\n\n$switch-lg-width: 48px;\n$switch-lg-height: 28px;\n$switch-lg-font-size: 12px;\n\n$switch-width: 40px;\n$switch-height: 24px;\n$switch-font-size: 10px;\n\n$handle-margin: 2px;\n\n$switch-sm-width: 32px;\n$switch-sm-height: 20px;\n$switch-sm-font-size: 8px;\n\n$switch-xs-width: 24px;\n$switch-xs-height: 16px;\n$switch-xs-font-size: 7px;\n\n$switch-text-lg-width: 56px;\n$switch-text-lg-height: 28px;\n$switch-text-lg-font-size: 12px;\n\n$switch-text-width: 48px;\n$switch-text-height: 24px;\n$switch-text-font-size: 10px;\n\n$switch-text-sm-width: 40px;\n$switch-text-sm-height: 20px;\n$switch-text-sm-font-size: 8px;\n\n$switch-text-xs-width: 32px;\n$switch-text-xs-height: 16px;\n$switch-text-xs-font-size: 7px;\n\n$switch-icon-lg-width: 56px;\n$switch-icon-lg-height: 28px;\n$switch-icon-lg-font-size: 12px;\n\n$switch-icon-width: 48px;\n$switch-icon-height: 24px;\n$switch-icon-font-size: 10px;\n\n$switch-icon-sm-width: 40px;\n$switch-icon-sm-height: 20px;\n$switch-icon-sm-font-size: 8px;\n\n$switch-icon-xs-width: 32px;\n$switch-icon-xs-height: 16px;\n$switch-icon-xs-font-size: 7px;\n\n.switch.switch-default {\n @include switch(\n 'default',\n $switch-width,\n $switch-height,\n $switch-font-size,\n $handle-margin\n );\n}\n\n.switch.switch-text {\n @include switch(\n 'text',\n $switch-text-width,\n $switch-text-height,\n $switch-text-font-size,\n $handle-margin\n );\n}\n\n.switch.switch-icon {\n @include switch(\n 'icon',\n $switch-icon-width,\n $switch-icon-height,\n $switch-icon-font-size,\n $handle-margin\n );\n}\n\n.switch.switch-3d {\n @include switch('ddd', $switch-width, $switch-height, $switch-font-size, 0);\n}\n\n//pills style\n.switch-pill {\n .switch-label,\n .switch-handle {\n border-radius: 50em !important;\n }\n\n .switch-label::before {\n right: 2px !important;\n }\n .switch-label::after {\n left: 2px !important;\n }\n}\n\n@each $color, $value in $theme-colors {\n //normal style\n .switch-#{$color} {\n @include switch-variant($value);\n }\n //outline style\n .switch-#{$color}-outline {\n @include switch-outline-variant($value);\n }\n //outline alternative style\n .switch-#{$color}-outline-alt {\n @include switch-outline-alt-variant($value);\n }\n}\n",".table-outline {\n border: 1px solid $table-border-color;\n\n td {\n vertical-align: middle;\n }\n}\n\n.table-align-middle {\n td {\n vertical-align: middle;\n }\n}\n\n.table-clear {\n td {\n border: 0;\n }\n}\n","// .social-box\n.social-box {\n min-height: 160px;\n margin-bottom: 2 * $card-spacer-y;\n text-align: center;\n background: #fff;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n i {\n display: block;\n margin: -1px -1px 0;\n font-size: 40px;\n line-height: 90px;\n background: $gray-200;\n\n @include border-radius($card-border-radius $card-border-radius 0 0);\n }\n\n .chart-wrapper {\n height: 90px;\n margin: -90px 0 0;\n\n canvas {\n width: 100% !important;\n height: 90px !important;\n }\n }\n\n ul {\n padding: 10px 0;\n list-style: none;\n\n li {\n display: block;\n float: left;\n width: 50%;\n\n &:first-child {\n border-right: 1px solid $border-color;\n }\n\n strong {\n display: block;\n font-size: 20px;\n }\n\n span {\n font-size: 10px;\n font-weight: 500;\n color: $border-color;\n text-transform: uppercase;\n }\n }\n }\n\n &.facebook {\n i {\n color: #fff;\n background: $facebook;\n }\n }\n\n &.twitter {\n i {\n color: #fff;\n background: $twitter;\n }\n }\n\n &.linkedin {\n i {\n color: #fff;\n background: $linkedin;\n }\n }\n\n &.google-plus {\n i {\n color: #fff;\n background: $google-plus;\n }\n }\n}\n\n.horizontal-bars {\n padding: 0;\n margin: 0;\n list-style: none;\n\n li {\n position: relative;\n height: 40px;\n line-height: 40px;\n vertical-align: middle;\n\n .title {\n width: 100px;\n font-size: 12px;\n font-weight: 600;\n color: $text-muted;\n vertical-align: middle;\n }\n\n .bars {\n position: absolute;\n top: 15px;\n width: 100%;\n padding-left: 100px;\n\n .progress:first-child {\n margin-bottom: 2px;\n }\n }\n\n &.legend {\n text-align: center;\n\n .badge {\n display: inline-block;\n width: 8px;\n height: 8px;\n padding: 0;\n }\n }\n\n &.divider {\n height: 40px;\n\n i {\n margin: 0 !important;\n }\n }\n }\n\n &.type-2 {\n li {\n overflow: hidden;\n\n i {\n display: inline-block;\n margin-right: $spacer;\n margin-left: 5px;\n font-size: 18px;\n line-height: 40px;\n }\n\n .title {\n display: inline-block;\n width: auto;\n margin-top: -9px;\n font-size: $font-size-base;\n font-weight: normal;\n line-height: 40px;\n color: $body-color;\n }\n\n .value {\n float: right;\n font-weight: 600;\n }\n\n .bars {\n position: absolute;\n top: auto;\n bottom: 0;\n padding: 0;\n }\n }\n }\n}\n\n.icons-list {\n padding: 0;\n margin: 0;\n list-style: none;\n\n li {\n position: relative;\n height: 40px;\n vertical-align: middle;\n\n i {\n display: block;\n float: left;\n width: 35px !important;\n height: 35px !important;\n margin: 2px;\n line-height: 35px !important;\n text-align: center;\n }\n\n .desc {\n height: 40px;\n margin-left: 50px;\n border-bottom: 1px solid $border-color;\n\n .title {\n padding: 2px 0 0;\n margin: 0;\n }\n small {\n display: block;\n margin-top: -4px;\n color: $text-muted;\n }\n }\n\n .value {\n position: absolute;\n top: 2px;\n right: 45px;\n text-align: right;\n\n strong {\n display: block;\n margin-top: -3px;\n }\n }\n\n .actions {\n position: absolute;\n top: -4px;\n right: 10px;\n width: 40px;\n height: 40px;\n line-height: 40px;\n text-align: center;\n\n i {\n float: none;\n width: auto;\n height: auto;\n padding: 0;\n margin: 0;\n line-height: normal;\n }\n }\n\n &.divider {\n height: 40px;\n\n i {\n width: auto;\n height: auto;\n margin: 2px 0 0;\n font-size: 18px;\n }\n }\n }\n}\n","// IE10&11 Flexbox fix\n@media all and (-ms-high-contrast: none) {\n html {\n display: flex;\n flex-direction: column;\n }\n}\n\n// app-dashboard and app-root are Angular2+ selectors. You can add here your own selectors if you need.\n.app,\napp-dashboard,\napp-root {\n display: flex;\n flex-direction: column;\n min-height: 100vh;\n}\n\n.app-header {\n flex: 0 0 $navbar-height;\n}\n\n.app-footer {\n flex: 0 0 $footer-height;\n}\n\n.app-body {\n display: flex;\n flex-direction: row;\n flex-grow: 1;\n overflow-x: hidden;\n\n .main {\n flex: 1;\n min-width: 0;\n }\n\n .sidebar {\n // $sidebar-width is the width of the columns\n flex: 0 0 $sidebar-width;\n // put the nav on the left\n order: -1;\n }\n\n .aside-menu {\n // $aside-menu-width is the width of the columns\n flex: 0 0 $aside-menu-width;\n }\n}\n\n//\n// header\n//\n.header-fixed {\n .app-header {\n position: fixed;\n z-index: $zindex-sticky;\n width: 100%;\n }\n .app-body {\n margin-top: $navbar-height;\n }\n}\n\n//\n// Sidebar\n//\n.sidebar-hidden {\n .sidebar {\n margin-left: -$sidebar-width;\n }\n}\n\n.sidebar-fixed {\n .sidebar {\n position: fixed;\n z-index: $zindex-sticky - 1;\n width: $sidebar-width;\n height: calc(100vh - #{$navbar-height});\n // margin-top: - $navbar-height;\n\n // .sidebar-nav {\n // height: calc(100vh - #{$navbar-height});\n // }\n }\n\n .main,\n .app-footer {\n margin-left: $sidebar-width;\n }\n\n &.sidebar-hidden {\n .main,\n .app-footer {\n margin-left: 0;\n }\n }\n}\n\n.sidebar-off-canvas {\n .sidebar {\n position: fixed;\n z-index: $zindex-sticky - 1;\n height: calc(100vh - #{$navbar-height});\n }\n}\n\n@include media-breakpoint-up(lg) {\n .sidebar-compact {\n .sidebar {\n flex: 0 0 $sidebar-compact-width;\n }\n\n &.sidebar-hidden {\n .sidebar {\n margin-left: -$sidebar-compact-width;\n }\n }\n\n &.sidebar-fixed {\n .main,\n .app-footer {\n margin-left: $sidebar-compact-width;\n }\n\n .sidebar {\n width: $sidebar-compact-width;\n }\n\n &.sidebar-hidden {\n .main,\n .app-footer {\n margin-left: 0;\n }\n }\n }\n }\n\n .sidebar-minimized {\n .sidebar {\n flex: 0 0 $sidebar-minimized-width;\n }\n\n &.sidebar-hidden {\n .sidebar {\n margin-left: -$sidebar-minimized-width;\n }\n }\n\n &.sidebar-fixed {\n .main,\n .app-footer {\n margin-left: $sidebar-minimized-width;\n }\n\n .sidebar {\n width: $sidebar-minimized-width;\n }\n\n &.sidebar-hidden {\n .main,\n .app-footer {\n margin-left: 0;\n }\n }\n }\n }\n}\n\n//\n// Aside Menu\n//\n.aside-menu-hidden {\n .aside-menu {\n margin-right: -$aside-menu-width;\n }\n}\n\n.aside-menu-fixed {\n .aside-menu {\n position: fixed;\n right: 0;\n height: 100%;\n\n .tab-content {\n height: calc(\n 100vh - #{$aside-menu-nav-padding-y * 2 + $font-size-base} -\n #{$navbar-height}\n );\n }\n }\n\n .main,\n .app-footer {\n margin-right: $aside-menu-width;\n }\n\n &.aside-menu-hidden {\n .main,\n .app-footer {\n margin-right: 0;\n }\n }\n}\n\n.aside-menu-off-canvas {\n .aside-menu {\n position: fixed;\n right: 0;\n z-index: $zindex-sticky - 1;\n height: 100%;\n\n .tab-content {\n height: calc(\n 100vh - #{$aside-menu-nav-padding-y * 2 + $font-size-base} -\n #{$navbar-height}\n );\n }\n }\n}\n\n//\n// Breadcrumb\n//\n.breadcrumb-fixed {\n .main {\n $breadcrumb-height: 2 * $breadcrumb-padding-y + $font-size-base + 1.5 *\n $spacer;\n padding-top: $breadcrumb-height;\n }\n\n .breadcrumb {\n position: fixed;\n top: $navbar-height;\n right: 0;\n left: 0;\n z-index: $zindex-sticky - 2;\n }\n\n // if sidebar + main + aside\n .main:nth-child(2) {\n .breadcrumb {\n right: $aside-menu-width;\n left: $sidebar-width;\n }\n }\n\n // if sidebar + main\n .main:first-child {\n .breadcrumb {\n right: $aside-menu-width;\n left: 0;\n }\n }\n\n // if main + aside\n .main:last-child {\n .breadcrumb {\n right: 0;\n }\n }\n\n &.sidebar-minimized {\n .main .breadcrumb {\n left: $sidebar-minimized-width;\n }\n }\n\n &.sidebar-hidden,\n &.sidebar-off-canvas {\n .main .breadcrumb {\n left: 0;\n }\n }\n\n &.aside-menu-hidden,\n &.aside-menu-off-canvas {\n .main .breadcrumb {\n right: 0;\n }\n }\n}\n\n//\n// Footer\n//\n.footer-fixed {\n .app-footer {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-sticky;\n height: $footer-height;\n }\n\n .app-body {\n margin-bottom: $footer-height;\n }\n}\n\n//\n// Animations\n//\n.app-header,\n.app-footer,\n.sidebar,\n.main,\n.aside-menu {\n transition:\n margin-left $layout-transition-speed,\n margin-right $layout-transition-speed,\n width $layout-transition-speed,\n flex $layout-transition-speed;\n}\n.sidebar-nav {\n transition: width $layout-transition-speed;\n}\n.breadcrumb {\n transition:\n left $layout-transition-speed,\n right $layout-transition-speed,\n width $layout-transition-speed;\n}\n\n//\n// Mobile layout\n//\n\n@include media-breakpoint-down(md) {\n .app-header.navbar {\n position: fixed !important;\n z-index: $zindex-sticky;\n width: 100%;\n text-align: center;\n background-color: $navbar-brand-bg;\n @include borders($navbar-brand-border);\n\n .navbar-toggler {\n @if (lightness($navbar-brand-bg) > 40) {\n color: $navbar-color;\n } @else {\n color: #fff;\n }\n }\n\n .navbar-brand {\n position: absolute;\n left: 50%;\n margin-left: -($navbar-brand-width / 2);\n }\n }\n\n .app-body {\n margin-top: $navbar-height;\n }\n\n .breadcrumb-fixed {\n .main:nth-child(2) .breadcrumb {\n right: auto;\n left: auto;\n width: 100%;\n }\n }\n\n .sidebar {\n position: fixed;\n z-index: $zindex-sticky - 1;\n width: $mobile-sidebar-width;\n height: calc(100vh - #{$navbar-height});\n margin-left: -$mobile-sidebar-width;\n\n .sidebar-nav,\n .nav {\n width: $mobile-sidebar-width;\n min-height: calc(100vh - #{$navbar-height});\n }\n\n .sidebar-minimizer {\n display: none;\n }\n }\n\n .main,\n .app-footer {\n margin-left: 0 !important;\n }\n\n // .aside-menu {\n // margin-right: - $aside-menu-width;\n // }\n\n .sidebar-hidden {\n .sidebar {\n margin-left: -$mobile-sidebar-width;\n }\n }\n\n .sidebar-mobile-show {\n .sidebar {\n width: $mobile-sidebar-width;\n margin-left: 0;\n }\n\n .main {\n margin-right: -$mobile-sidebar-width !important;\n margin-left: $mobile-sidebar-width !important;\n }\n }\n}\n","// scss-lint:disable QualifyingElement\nhr.transparent {\n border-top: 1px solid transparent;\n}\n",".bg-primary,\n.bg-success,\n.bg-info,\n.bg-warning,\n.bg-danger,\n.bg-inverse {\n color: #fff;\n}\n","//border\n@each $prop, $abbrev in (border: b) {\n @each $size in (0, 1, 2) {\n @if $size == 0 {\n .#{$abbrev}-a-#{$size} {\n #{$prop}: 0 !important;\n } // a = All sides\n .#{$abbrev}-t-#{$size} {\n #{$prop}-top: 0 !important;\n }\n .#{$abbrev}-r-#{$size} {\n #{$prop}-right: 0 !important;\n }\n .#{$abbrev}-b-#{$size} {\n #{$prop}-bottom: 0 !important;\n }\n .#{$abbrev}-l-#{$size} {\n #{$prop}-left: 0 !important;\n }\n } @else {\n .#{$abbrev}-a-#{$size} {\n #{$prop}: $size * $border-width solid $border-color !important;\n } // a = All sides\n .#{$abbrev}-t-#{$size} {\n #{$prop}-top: $size * $border-width solid $border-color !important;\n }\n .#{$abbrev}-r-#{$size} {\n #{$prop}-right: $size * $border-width solid $border-color !important;\n }\n .#{$abbrev}-b-#{$size} {\n #{$prop}-bottom: $size * $border-width solid $border-color !important;\n }\n .#{$abbrev}-l-#{$size} {\n #{$prop}-left: $size * $border-width solid $border-color !important;\n }\n }\n }\n}\n","//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-down($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .d#{$infix}-down-none {\n display: none !important;\n }\n // .d#{$infix}-inline { display: inline !important; }\n // .d#{$infix}-inline-block { display: inline-block !important; }\n // .d#{$infix}-block { display: block !important; }\n // .d#{$infix}-table { display: table !important; }\n // .d#{$infix}-table-cell { display: table-cell !important; }\n // .d#{$infix}-flex { display: flex !important; }\n // .d#{$infix}-inline-flex { display: inline-flex !important; }\n }\n}\n",".pagination-datatables,\n.pagination {\n li {\n @extend .page-item;\n\n a {\n @extend .page-link;\n }\n }\n}\n\n.label-pill {\n border-radius: 1rem !important;\n}\n\n// temp fix for Vue & React\n\n// Open state for the dropdown\n.open,\n.show {\n // Remove the outline when :focus is triggered\n > a {\n outline: 0;\n }\n}\n\n// navbar dropdown fix\n.navbar .dropdown-toggle {\n @extend .nav-link;\n\n .img-avatar {\n height: $navbar-height - 20px;\n margin: 0 10px;\n }\n}\n\n.card-block {\n @extend .card-body;\n}\n","//\n// RTL Support\n//\n// scss-lint:disable NestingDepth, SelectorDepth\n*[dir='rtl'] {\n direction: rtl;\n unicode-bidi: embed;\n\n ul {\n -webkit-padding-start: 0;\n }\n\n table tr th {\n text-align: right;\n }\n\n // Breadcrumb\n\n .breadcrumb-item {\n float: right;\n }\n\n .breadcrumb-menu {\n right: auto;\n left: $breadcrumb-padding-x;\n }\n\n // Dropdown\n .dropdown-item {\n text-align: right;\n\n i {\n margin-right: -10px;\n margin-left: 10px;\n }\n\n .badge {\n right: auto;\n left: 10px;\n }\n }\n\n //\n // Sidebar\n //\n .sidebar-hidden {\n .sidebar {\n margin-right: -$sidebar-width;\n }\n }\n\n .sidebar-fixed {\n .main,\n .app-footer {\n margin-right: $sidebar-width;\n }\n\n &.sidebar-hidden {\n .main,\n .app-footer {\n margin-right: 0;\n }\n }\n }\n\n .sidebar-minimized {\n .sidebar {\n flex: 0 0 $sidebar-minimized-width;\n }\n\n &.sidebar-hidden {\n .sidebar {\n margin-right: -$sidebar-minimized-width;\n margin-left: 0;\n }\n }\n\n &.sidebar-fixed {\n .main,\n .app-footer {\n margin-right: $sidebar-minimized-width;\n }\n\n &.sidebar-hidden {\n .main,\n .app-footer {\n margin-left: 0;\n }\n }\n }\n }\n\n //\n // Aside Menu\n //\n .aside-menu-hidden {\n .aside-menu {\n margin-right: 0;\n margin-left: -$aside-menu-width;\n }\n }\n\n .aside-menu-fixed {\n .aside-menu {\n right: auto;\n left: 0;\n }\n\n .main,\n .app-footer {\n //margin-right: 0;\n margin-left: $aside-menu-width;\n }\n\n &.aside-menu-hidden {\n .main,\n .app-footer {\n margin-left: 0;\n }\n }\n }\n\n .aside-menu-off-canvas {\n .aside-menu {\n position: fixed;\n right: 0;\n z-index: $zindex-sticky - 1;\n height: 100%;\n\n .tab-content {\n height: calc(\n 100vh - #{$aside-menu-nav-padding-y * 2 + $font-size-base} -\n #{$navbar-height}\n );\n }\n }\n }\n\n // Sidebar Menu\n .sidebar {\n .sidebar-nav {\n .nav {\n .nav-item {\n .nav-link {\n direction: rtl;\n i {\n margin: 0 0 0 ($sidebar-nav-link-padding-x / 2);\n }\n .badge {\n float: left;\n margin-top: 2px;\n // margin-left: 10px;\n }\n &.nav-dropdown-toggle {\n &::before {\n position: absolute;\n right: auto !important;\n left: $sidebar-nav-link-padding-x;\n transform: rotate(180deg);\n }\n }\n }\n &.nav-dropdown {\n &.open {\n > .nav-link.nav-dropdown-toggle::before {\n transform: rotate(270deg);\n }\n }\n }\n }\n }\n }\n }\n\n .sidebar-minimized .sidebar {\n .nav-link {\n padding-right: 0;\n i {\n float: right;\n padding: 0;\n margin: 0;\n }\n .badge {\n right: auto;\n left: 15px;\n }\n }\n .nav > .nav-dropdown {\n &:hover {\n > .nav-dropdown-items {\n right: $sidebar-minimized-width;\n left: 0;\n }\n }\n }\n }\n\n // Horizontal bars\n .horizontal-bars {\n li {\n .bars {\n padding-right: 100px;\n padding-left: 0;\n\n .progress:first-child {\n margin-bottom: 2px;\n }\n }\n }\n\n &.type-2 {\n li {\n i {\n margin-right: 5px;\n margin-left: $spacer;\n }\n\n .value {\n float: left;\n font-weight: 600;\n }\n\n .bars {\n padding: 0;\n }\n }\n }\n }\n\n // Icon list\n .icons-list {\n li {\n position: relative;\n height: 40px;\n vertical-align: middle;\n\n i {\n float: right;\n }\n\n .desc {\n margin-right: 50px;\n margin-left: 0;\n }\n\n .value {\n right: auto;\n left: 45px;\n text-align: left;\n\n strong {\n display: block;\n margin-top: -3px;\n }\n }\n\n .actions {\n right: auto;\n left: 10px;\n }\n }\n }\n\n // Callouts\n .callout {\n border: 0 solid $border-color;\n border-right-width: 0.25rem;\n\n @each $color, $value in $theme-colors {\n &.callout-#{$color} {\n border-right-color: $value;\n }\n }\n\n .chart-wrapper {\n left: 0;\n float: left;\n }\n }\n\n .callout-default {\n border-right-color: $text-muted;\n }\n}\n","// Here you can add other styles\n\n// RJSF Form Styling\n\n// Mixin for button state variants to reduce duplication\n@mixin button-variant(\n $bg-color,\n $border-color,\n $hover-bg,\n $hover-border,\n $shadow-color\n) {\n background-color: $bg-color !important;\n border-color: $border-color !important;\n color: white !important;\n\n &:hover {\n background-color: $hover-bg !important;\n border-color: $hover-border !important;\n }\n\n &:focus {\n background-color: $hover-bg !important;\n border-color: $hover-border !important;\n box-shadow: 0 0 0 0.2rem $shadow-color !important;\n }\n}\n\nform.rjsf {\n // General form element styling\n label {\n margin-bottom: 0;\n }\n\n div > p.field-description {\n font-size: 0.7rem;\n font-style: italic;\n margin-bottom: 0px;\n }\n\n input {\n width: auto;\n }\n\n div.row.array-item {\n background-color: aliceblue;\n margin-bottom: 3px;\n }\n\n // Custom button styling for RJSF buttons to match original appearance\n\n // Add button styling - cyan color\n button.btn-add,\n button.array-item-add button {\n @include button-variant(\n #20a8d8,\n // background\n #20a8d8,\n // border\n #1985ac,\n // hover background\n #1985ac,\n // hover border\n rgba(32, 168, 216, 0.5) // focus shadow\n );\n }\n\n // Remove button styling - red color\n button.array-item-remove {\n @include button-variant(\n #f86c6b,\n // background\n #f86c6b,\n // border\n #f63c3a,\n // hover background\n #f63c3a,\n // hover border\n rgba(248, 108, 107, 0.5) // focus shadow\n );\n }\n\n // Array button styling\n .array-button-style {\n flex: 1 1 0%;\n padding-left: 6px;\n padding-right: 6px;\n font-weight: bold;\n }\n\n // Button group flexbox layout\n .btn-group-flex {\n display: flex;\n justify-content: space-around;\n }\n}\n\n@media (max-width: 767px) {\n .container-fluid,\n .row {\n padding: 0 2px !important;\n }\n .navbar-header {\n margin: 0px;\n }\n}\n\n/** Utility class to attempt to wrap text in a more balanced way. **/\n.text-pretty {\n text-wrap: balance; /* Fallback for older browsers */\n text-wrap: pretty; /* Future spec */\n}\n"],sourceRoot:""}]);const b=c},72678:(e,n,t)=>{"use strict";t.d(n,{A:()=>l});var o=t(9372),r=t.n(o),a=t(40935),i=t.n(a)()(r());i.push([e.id,".appstore__warning{margin-bottom:20px}.appstore__warning .message__container{padding:10px;color:#9d8641;border:1px solid #9d8641;background-color:#fff2cd}.appstore__warning .message__container p{margin:0}.appstore__warning .message__container p span{margin-right:5px}.appstore__warning .message__container i{margin-right:5px}.appstore__header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}@media(max-width: 1080px){.appstore__header{flex-direction:column}.appstore__header .title__container{width:100%;justify-content:space-between;margin-bottom:10px}.appstore__header .action__container{width:100%;flex-direction:row-reverse}.appstore__header .action__container .search{min-width:none;justify-self:flex-start}}.appstore__header .title__container{display:flex;align-items:center}.appstore__header .title__container .card-title{margin:0 10px 0 0}.appstore__header .title__container .button-wrapper .badge__update{color:#fff;font-size:10px;border-radius:3px;background-color:#00cd79;margin-left:5px;padding:3px;vertical-align:middle}.appstore__header .title__container .button-wrapper button{margin:0 2px}.appstore__header .action__container{display:flex;align-items:center}.appstore__header .action__container button{margin:0 5px}.appstore__header .action__container .search{height:100%;position:relative;margin:0 5px}.appstore__header .action__container .search__icon{position:absolute;margin-left:5px;padding:10px;color:gray}.appstore__header .action__container .search__input{padding:10px;width:100%;text-indent:30px}.appstore__tags{margin-bottom:20px}.appstore__tags button{margin:5px 5px;border-radius:30px}.appstore__grid{flex:1 1 auto;background-color:#fff;max-height:80%;font-size:14px}.appstore__grid .grid__action{display:flex;justify-content:flex-end}.appstore__grid .cell-action{width:160px}.appstore__grid .cell-action .proress__wrapper{display:flex;flex-direction:column}.appstore__grid .cell-action .progress__status{text-align:center;width:100%}.appstore__grid .cell-action .progress__bar{width:100%}","",{version:3,sources:["webpack://./src/views/appstore/appStore.scss"],names:[],mappings:"AACE,mBACE,kBAAA,CAEA,uCACE,YAAA,CACA,aAAA,CACA,wBAAA,CACA,wBAAA,CACA,yCAIE,QAAA,CAHA,8CACE,gBAAA,CAIJ,yCACE,gBAAA,CAKN,kBACE,YAAA,CACA,6BAAA,CACA,kBAAA,CACA,cAAA,CAEA,0BANF,kBAOI,qBAAA,CAEA,oCACE,UAAA,CACA,6BAAA,CACA,kBAAA,CAGF,qCACE,UAAA,CACA,0BAAA,CAEA,6CACE,cAAA,CACA,uBAAA,CAAA,CAKN,oCACE,YAAA,CACA,kBAAA,CAEA,gDACE,iBAAA,CAIA,mEACE,UAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,eAAA,CACA,WAAA,CACA,qBAAA,CAGF,2DACE,YAAA,CAKN,qCACE,YAAA,CACA,kBAAA,CAEA,4CACE,YAAA,CAGF,6CACE,WAAA,CACA,iBAAA,CACA,YAAA,CAEA,mDACE,iBAAA,CACA,eAAA,CACA,YAAA,CACA,UAAA,CAEF,oDACE,YAAA,CACA,UAAA,CACA,gBAAA,CAMR,gBAKE,kBAAA,CAJA,uBACE,cAAA,CACA,kBAAA,CAKJ,gBACE,aAAA,CACA,qBAAA,CACA,cAAA,CACA,cAAA,CAEA,8BACE,YAAA,CACA,wBAAA,CAGF,6BACE,WAAA,CAEA,+CACE,YAAA,CACA,qBAAA,CAGF,+CACE,iBAAA,CACA,UAAA,CAGF,4CACE,UAAA",sourcesContent:[".appstore {\n &__warning {\n margin-bottom: 20px;\n\n .message__container {\n padding: 10px;\n color: #9d8641;\n border: 1px solid #9d8641;\n background-color: #fff2cd;\n p {\n span {\n margin-right: 5px;\n }\n margin: 0;\n }\n i {\n margin-right: 5px;\n }\n }\n }\n\n &__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-wrap: wrap;\n\n @media (max-width: 1080px) {\n flex-direction: column;\n\n .title__container {\n width: 100%;\n justify-content: space-between;\n margin-bottom: 10px;\n }\n\n .action__container {\n width: 100%;\n flex-direction: row-reverse;\n\n .search {\n min-width: none;\n justify-self: flex-start;\n }\n }\n }\n\n .title__container {\n display: flex;\n align-items: center;\n\n .card-title {\n margin: 0 10px 0 0;\n }\n\n .button-wrapper {\n .badge__update {\n color: white;\n font-size: 10px;\n border-radius: 3px;\n background-color: #00cd79;\n margin-left: 5px;\n padding: 3px;\n vertical-align: middle;\n }\n\n button {\n margin: 0 2px;\n }\n }\n }\n\n .action__container {\n display: flex;\n align-items: center;\n\n button {\n margin: 0 5px;\n }\n\n .search {\n height: 100%;\n position: relative;\n margin: 0 5px;\n\n &__icon {\n position: absolute;\n margin-left: 5px;\n padding: 10px;\n color: grey;\n }\n &__input {\n padding: 10px;\n width: 100%;\n text-indent: 30px;\n }\n }\n }\n }\n\n &__tags {\n button {\n margin: 5px 5px;\n border-radius: 30px;\n }\n margin-bottom: 20px;\n }\n\n &__grid {\n flex: 1 1 auto;\n background-color: white;\n max-height: 80%;\n font-size: 14px;\n\n .grid__action {\n display: flex;\n justify-content: flex-end;\n }\n\n .cell-action {\n width: 160px;\n\n .proress__wrapper {\n display: flex;\n flex-direction: column;\n }\n\n .progress__status {\n text-align: center;\n width: 100%;\n }\n\n .progress__bar {\n width: 100%;\n }\n }\n }\n}\n"],sourceRoot:""}]);const l=i},81087:(e,n,t)=>{"use strict";t.d(n,{A:()=>l});var o=t(9372),r=t.n(o),a=t(40935),i=t.n(a)()(r());i.push([e.id,".fa-pulse {\n display: inline-block;\n -moz-animation: pulse 2s infinite linear;\n -o-animation: pulse 2s infinite linear;\n -webkit-animation: pulse 2s infinite linear;\n animation: pulse 2s infinite linear;\n}\n\n.fa-pulse-fast {\n display: inline-block;\n -moz-animation: pulse 1s infinite linear;\n -o-animation: pulse 1s infinite linear;\n -webkit-animation: pulse 1s infinite linear;\n animation: pulse 1s infinite linear;\n}\n\n@-webkit-keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@-moz-keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@-o-keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@-ms-keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n","",{version:3,sources:["webpack://./src/fa-pulse.css"],names:[],mappings:"AAAA;EACE,qBAAqB;EACrB,wCAAwC;EACxC,sCAAsC;EACtC,2CAA2C;EAC3C,mCAAmC;AACrC;;AAEA;EACE,qBAAqB;EACrB,wCAAwC;EACxC,sCAAsC;EACtC,2CAA2C;EAC3C,mCAAmC;AACrC;;AAEA;EACE;IACE,UAAU;EACZ;EACA;IACE,UAAU;EACZ;EACA;IACE,UAAU;EACZ;AACF;AACA;EACE;IACE,UAAU;EACZ;EACA;IACE,UAAU;EACZ;EACA;IACE,UAAU;EACZ;AACF;AACA;EACE;IACE,UAAU;EACZ;EACA;IACE,UAAU;EACZ;EACA;IACE,UAAU;EACZ;AACF;AACA;EACE;IACE,UAAU;EACZ;EACA;IACE,UAAU;EACZ;EACA;IACE,UAAU;EACZ;AACF;AACA;EACE;IACE,UAAU;EACZ;EACA;IACE,UAAU;EACZ;EACA;IACE,UAAU;EACZ;AACF",sourcesContent:[".fa-pulse {\n display: inline-block;\n -moz-animation: pulse 2s infinite linear;\n -o-animation: pulse 2s infinite linear;\n -webkit-animation: pulse 2s infinite linear;\n animation: pulse 2s infinite linear;\n}\n\n.fa-pulse-fast {\n display: inline-block;\n -moz-animation: pulse 1s infinite linear;\n -o-animation: pulse 1s infinite linear;\n -webkit-animation: pulse 1s infinite linear;\n animation: pulse 1s infinite linear;\n}\n\n@-webkit-keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@-moz-keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@-o-keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@-ms-keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n"],sourceRoot:""}]);const l=i}}]);
|
|
2
2
|
//# sourceMappingURL=309.js.map
|