diff --git a/MP.MONO.UI/Components/AlarmsOverview.razor b/MP.MONO.UI/Components/AlarmsOverview.razor index c0f4322..5f2e607 100644 --- a/MP.MONO.UI/Components/AlarmsOverview.razor +++ b/MP.MONO.UI/Components/AlarmsOverview.razor @@ -7,49 +7,73 @@ @if (@ListRecords != null) { -
-
-
- Current alarms - @if (ListRecords.Count == 0) +
+
+
+ @if (!compMode) { - @ListRecords.Count + Current alarms + @if (ListRecords.Count == 0) + { + @ListRecords.Count + } + else + { + @ListRecords.Count + } } else { - @ListRecords.Count + + @if (ListRecords.Count == 0) + { + +
ACTIVE ALARMS:@ListRecords.Count
+ + } + else + { +
ACTIVE ALARMS:@ListRecords.Count
+ + } }
-
- - Alarm Analysis - -
+ @if (!compMode) + { +
+ + Alarm Analysis + +
+ }
- if (@ListRecords.Count == 0) - { -
All OK
- } - else + @if (!compMode) { + if (@ListRecords.Count == 0) + { +
All OK
+ } + else + { -
    - @foreach (var item in ListRecords) - { -
  • -
    -
    - @item.Title +
      + @foreach (var item in ListRecords) + { +
    • +
      +
      + @item.Title +
      +
      + @item.Value +
      -
      - @item.Value -
      -
    -
  • - } -
+ + } + + } } } else diff --git a/MP.MONO.UI/Components/AlarmsOverview.razor.cs b/MP.MONO.UI/Components/AlarmsOverview.razor.cs index dda25c5..5683664 100644 --- a/MP.MONO.UI/Components/AlarmsOverview.razor.cs +++ b/MP.MONO.UI/Components/AlarmsOverview.razor.cs @@ -13,6 +13,9 @@ namespace MP.MONO.UI.Components [Parameter] public EventCallback messageReceived { get; set; } + [Parameter] + public bool compMode { get; set; } = false; + #endregion Public Properties #region Public Methods @@ -22,6 +25,26 @@ namespace MP.MONO.UI.Components MMDataService.alarmPipe.EA_NewMessage -= AlarmPipe_EA_NewMessage; } + private string css() + { + string answ = ""; + if (compMode) + { + if (ListRecords != null) + { + if (ListRecords.Count == 0) + { + answ = "text-dark bg-success"; + } + else + { + answ = "pulse-warning text-dark bg-danger"; + } + } + } + return answ; + } + #endregion Public Methods #region Protected Methods diff --git a/MP.MONO.UI/MP.MONO.UI.csproj b/MP.MONO.UI/MP.MONO.UI.csproj index 01834d2..45a44b9 100644 --- a/MP.MONO.UI/MP.MONO.UI.csproj +++ b/MP.MONO.UI/MP.MONO.UI.csproj @@ -5,7 +5,7 @@ enable enable AnyCPU;x86;x64 - 1.2.2210.2717 + 1.2.2210.2811 diff --git a/MP.MONO.UI/Pages/Alarms.razor.cs b/MP.MONO.UI/Pages/Alarms.razor.cs index d1f89ef..814dd49 100644 --- a/MP.MONO.UI/Pages/Alarms.razor.cs +++ b/MP.MONO.UI/Pages/Alarms.razor.cs @@ -153,8 +153,11 @@ namespace MP.MONO.UI.Pages StateHasChanged(); } + protected bool wait { get; set; } = true; + protected override async Task OnInitializedAsync() { + wait = false; await ReloadData(true); StartTimer(); } @@ -232,19 +235,22 @@ namespace MP.MONO.UI.Pages protected async Task reloadFromMessage() { - try + if (wait == true) { - aTimer.Stop(); + try + { + aTimer.Stop(); + } + catch + { } + await ReloadData(true); + try + { + aTimer.Start(); + } + catch + { } } - catch - { } - await ReloadData(true); - try - { - aTimer.Start(); - } - catch - { } } protected void resetDate() diff --git a/MP.MONO.UI/Pages/Index.razor b/MP.MONO.UI/Pages/Index.razor index abf28f7..d8cf9f8 100644 --- a/MP.MONO.UI/Pages/Index.razor +++ b/MP.MONO.UI/Pages/Index.razor @@ -3,17 +3,30 @@ MP Mono UI
-

MAPO-MONO

+
+
+

MAPO-MONO

+ +
+
+ + @*
ALARMS
*@ + +
+
+
+
+
@*
- -
-
MACHINE STATS
-
-
-
-
+ +
+
MACHINE STATS
+
+
+
+
*@
@@ -25,14 +38,6 @@
- -
-
ALARMS
-
- -
-
-
@@ -65,24 +70,24 @@
@*
- -
-
EVENT HISTORY
-
- -
-
-
+ +
+
EVENT HISTORY
+
+ +
+
+
*@ @*
- -
-
ACTIVITY LOG
-
- -
-
-
+ +
+
ACTIVITY LOG
+
+ +
+
+
*@
diff --git a/MP.MONO.UI/Pages/Test.razor b/MP.MONO.UI/Pages/Test.razor index af70158..eda304d 100644 --- a/MP.MONO.UI/Pages/Test.razor +++ b/MP.MONO.UI/Pages/Test.razor @@ -4,7 +4,7 @@ @inject CurrentDataService MMDataService -
+@*
@@ -57,7 +57,5 @@ }
-
- - +
*@ diff --git a/MP.MONO.UI/Resources/ChangeLog.html b/MP.MONO.UI/Resources/ChangeLog.html index b2ae186..75395e8 100644 --- a/MP.MONO.UI/Resources/ChangeLog.html +++ b/MP.MONO.UI/Resources/ChangeLog.html @@ -1,6 +1,6 @@ MAPO-MONO -

Version: 1.2.2210.2717

+

Version: 1.2.2210.2811


Release Note:
  • diff --git a/MP.MONO.UI/Resources/VersNum.txt b/MP.MONO.UI/Resources/VersNum.txt index 0a695d9..53dd5cd 100644 --- a/MP.MONO.UI/Resources/VersNum.txt +++ b/MP.MONO.UI/Resources/VersNum.txt @@ -1 +1 @@ -1.2.2210.2717 +1.2.2210.2811 diff --git a/MP.MONO.UI/Resources/manifest.xml b/MP.MONO.UI/Resources/manifest.xml index 26b9aac..fb3a217 100644 --- a/MP.MONO.UI/Resources/manifest.xml +++ b/MP.MONO.UI/Resources/manifest.xml @@ -1,6 +1,6 @@ - 1.2.2210.2717 + 1.2.2210.2811 http://nexus.steamware.net/repository/SWS/MP.MONO.UI/stable/LAST/MP.Mon.zip http://nexus.steamware.net/repository/SWS/MP.MONO.UI/stable/LAST/ChangeLog.html false diff --git a/MP.MONO.UI/wwwroot/css/site.css b/MP.MONO.UI/wwwroot/css/site.css index bb4b500..6e86a5a 100644 --- a/MP.MONO.UI/wwwroot/css/site.css +++ b/MP.MONO.UI/wwwroot/css/site.css @@ -19,6 +19,43 @@ body { /*font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;*/ font-family: 'Roboto', sans-serif; } +.pulse-warning { + /*color: rgba(255, 255, 255, 0.8);*/ + box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0.8); + animation: pulse-warning 2.5s infinite; +} +.pulse-warning:hover { + color: #ffffff !important; +} +@-webkit-keyframes pulse-warning { + 0% { + -webkit-box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0.8); + color: #ffffff; + } + 70% { + -webkit-box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0); + } + 100% { + -webkit-box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0.8); + color: #ffffff; + } +} +@keyframes pulse-warning { + 0% { + -moz-box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0.8); + box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0.8); + color: #ffffff; + } + 70% { + -moz-box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0); + box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0); + } + 100% { + -moz-box-shadow: 0px 0px 20px 5px rgba(255, 170, 0, 0.8); + box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0.8); + color: #ffffff; + } +} .textConsensed { font-family: 'Roboto Condensed', sans-serif; } diff --git a/MP.MONO.UI/wwwroot/css/site.less b/MP.MONO.UI/wwwroot/css/site.less index 62c7b4a..632f9a4 100644 --- a/MP.MONO.UI/wwwroot/css/site.less +++ b/MP.MONO.UI/wwwroot/css/site.less @@ -10,6 +10,50 @@ html, body { /*font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;*/ font-family: 'Roboto', sans-serif; } +.pulse-warning { + /*color: rgba(255, 255, 255, 0.8);*/ + box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, .8); + animation: pulse-warning 2.5s infinite; +} + +.pulse-warning:hover { + color: rgba(255, 255, 255, 1) !important; +} + +@-webkit-keyframes pulse-warning { + 0% { + -webkit-box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, .8); + color: rgba(255, 255, 255, 1); + } + + 70% { + -webkit-box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0); + } + + 100% { + -webkit-box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, .8); + color: rgba(255, 255, 255, 1); + } +} + +@keyframes pulse-warning { + 0% { + -moz-box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, .8); + box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, .8); + color: rgba(255, 255, 255, 1); + } + + 70% { + -moz-box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0); + box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0); + } + + 100% { + -moz-box-shadow: 0px 0px 20px 5px rgba(255, 170, 0, .8); + box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, .8); + color: rgba(255, 255, 255, 1); + } +} .textConsensed { font-family: 'Roboto Condensed', sans-serif; diff --git a/MP.MONO.UI/wwwroot/css/site.min.css b/MP.MONO.UI/wwwroot/css/site.min.css index fe11043..0f3e685 100644 --- a/MP.MONO.UI/wwwroot/css/site.min.css +++ b/MP.MONO.UI/wwwroot/css/site.min.css @@ -1 +1 @@ -@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');@import url('fonts.css');h1,h2,h3,h4,h5,h6,b,display-1,display-2,display-3,display-4{font-family:'Lato',sans-serif;}html,body{font-family:'Roboto',sans-serif;}.textConsensed{font-family:'Roboto Condensed',sans-serif;}h1:focus{outline:none;}a,.btn-link{color:#0071c1;}.btn-primary{color:#fff;background-color:#1b6ec2;border-color:#1861ac;}.content{padding-top:1.1rem;}.valid.modified:not([type=checkbox]){outline:1px solid #26b050;}.invalid{outline:1px solid #f00;}.validation-message{color:#f00;}.watermark{position:absolute;top:250px;left:500px;opacity:.2;}.selBlock{background-color:#cfe2ff;}.textTrim{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.max5Char{white-space:nowrap;width:10rem;overflow:hidden;text-overflow:ellipsis;}.max10Char{white-space:nowrap;width:10rem;overflow:hidden;text-overflow:ellipsis;}.max20Char{white-space:nowrap;width:20rem;overflow:hidden;text-overflow:ellipsis;}.footer{line-height:1.8em;}#blazor-error-ui{background:#ffffe0;bottom:0;box-shadow:0 -1px 2px rgba(0,0,0,.2);display:none;left:0;padding:.6rem 1.25rem .7rem 1.25rem;position:fixed;width:100%;z-index:1000;}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;right:.75rem;top:.5rem;}.blazor-error-boundary{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem,#b32121;padding:1rem 1rem 1rem 3.7rem;color:#fff;}.blazor-error-boundary::after{content:"An error has occurred.";}.shortcuts{text-align:center;}.shortcuts .shortcut-icon{font-size:2rem;}.shortcuts .shortcut{min-width:9rem;min-height:5rem;display:inline-block;padding:2rem/3 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:1rem/2;}.shortcuts .shortcut-sm{min-width:4.5rem;min-height:3rem;display:inline-block;padding:1rem/4 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:1rem/2;}.shortcuts .shortcut .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut-sm .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut:hover{background:#e8e8e8;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fafafa),to(#e1e1e1));background-image:-webkit-linear-gradient(top,#fafafa,0%,#e1e1e1,100%);background-image:-moz-linear-gradient(top,#fafafa 0%,#e1e1e1 100%);background-image:linear-gradient(to bottom,#fafafa 0%,#e1e1e1 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa',endColorstr='#ffe1e1e1',GradientType=0);}.shortcuts .shortcut-sm:hover{background:#e8e8e8;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fafafa),to(#e1e1e1));background-image:-webkit-linear-gradient(top,#fafafa,0%,#e1e1e1,100%);background-image:-moz-linear-gradient(top,#fafafa 0%,#e1e1e1 100%);background-image:linear-gradient(to bottom,#fafafa 0%,#e1e1e1 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa',endColorstr='#ffe1e1e1',GradientType=0);}.shortcuts .shortcut:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut-sm:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut:hover .shortcut-icon{color:#c93;}.shortcuts .shortcut-sm:hover .shortcut-icon{color:#666;}.shortcuts .shortcut-label{display:block;margin-top:.75em;font-weight:400;color:#666;}@media(max-width:640px){.shortcuts .shortcut{min-width:8rem;min-height:4rem;}body{font-size:.7em;}}@media(max-width:800px){body{font-size:.8em;}}@media(max-width:1024px){body{font-size:.9em;}} \ No newline at end of file +@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');@import url('fonts.css');h1,h2,h3,h4,h5,h6,b,display-1,display-2,display-3,display-4{font-family:'Lato',sans-serif;}html,body{font-family:'Roboto',sans-serif;}.pulse-warning{box-shadow:0 0 20px 5px rgba(255,0,0,.8);animation:pulse-warning 2.5s infinite;}.pulse-warning:hover{color:#fff !important;}@-webkit-keyframes pulse-warning{0%{-webkit-box-shadow:0 0 20px 5px rgba(255,0,0,.8);color:#fff;}70%{-webkit-box-shadow:0 0 20px 5px rgba(255,0,0,0);}100%{-webkit-box-shadow:0 0 20px 5px rgba(255,0,0,.8);color:#fff;}}@keyframes pulse-warning{0%{-moz-box-shadow:0 0 20px 5px rgba(255,0,0,.8);box-shadow:0 0 20px 5px rgba(255,0,0,.8);color:#fff;}70%{-moz-box-shadow:0 0 20px 5px rgba(255,0,0,0);box-shadow:0 0 20px 5px rgba(255,0,0,0);}100%{-moz-box-shadow:0 0 20px 5px rgba(255,170,0,.8);box-shadow:0 0 20px 5px rgba(255,0,0,.8);color:#fff;}}.textConsensed{font-family:'Roboto Condensed',sans-serif;}h1:focus{outline:none;}a,.btn-link{color:#0071c1;}.btn-primary{color:#fff;background-color:#1b6ec2;border-color:#1861ac;}.content{padding-top:1.1rem;}.valid.modified:not([type=checkbox]){outline:1px solid #26b050;}.invalid{outline:1px solid #f00;}.validation-message{color:#f00;}.watermark{position:absolute;top:250px;left:500px;opacity:.2;}.selBlock{background-color:#cfe2ff;}.textTrim{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.max5Char{white-space:nowrap;width:10rem;overflow:hidden;text-overflow:ellipsis;}.max10Char{white-space:nowrap;width:10rem;overflow:hidden;text-overflow:ellipsis;}.max20Char{white-space:nowrap;width:20rem;overflow:hidden;text-overflow:ellipsis;}.footer{line-height:1.8em;}#blazor-error-ui{background:#ffffe0;bottom:0;box-shadow:0 -1px 2px rgba(0,0,0,.2);display:none;left:0;padding:.6rem 1.25rem .7rem 1.25rem;position:fixed;width:100%;z-index:1000;}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;right:.75rem;top:.5rem;}.blazor-error-boundary{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem,#b32121;padding:1rem 1rem 1rem 3.7rem;color:#fff;}.blazor-error-boundary::after{content:"An error has occurred.";}.shortcuts{text-align:center;}.shortcuts .shortcut-icon{font-size:2rem;}.shortcuts .shortcut{min-width:9rem;min-height:5rem;display:inline-block;padding:2rem/3 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:1rem/2;}.shortcuts .shortcut-sm{min-width:4.5rem;min-height:3rem;display:inline-block;padding:1rem/4 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:1rem/2;}.shortcuts .shortcut .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut-sm .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut:hover{background:#e8e8e8;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fafafa),to(#e1e1e1));background-image:-webkit-linear-gradient(top,#fafafa,0%,#e1e1e1,100%);background-image:-moz-linear-gradient(top,#fafafa 0%,#e1e1e1 100%);background-image:linear-gradient(to bottom,#fafafa 0%,#e1e1e1 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa',endColorstr='#ffe1e1e1',GradientType=0);}.shortcuts .shortcut-sm:hover{background:#e8e8e8;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fafafa),to(#e1e1e1));background-image:-webkit-linear-gradient(top,#fafafa,0%,#e1e1e1,100%);background-image:-moz-linear-gradient(top,#fafafa 0%,#e1e1e1 100%);background-image:linear-gradient(to bottom,#fafafa 0%,#e1e1e1 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa',endColorstr='#ffe1e1e1',GradientType=0);}.shortcuts .shortcut:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut-sm:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut:hover .shortcut-icon{color:#c93;}.shortcuts .shortcut-sm:hover .shortcut-icon{color:#666;}.shortcuts .shortcut-label{display:block;margin-top:.75em;font-weight:400;color:#666;}@media(max-width:640px){.shortcuts .shortcut{min-width:8rem;min-height:4rem;}body{font-size:.7em;}}@media(max-width:800px){body{font-size:.8em;}}@media(max-width:1024px){body{font-size:.9em;}} \ No newline at end of file