/*!
 * *  Licensed to the Apache Software Foundation (ASF) under one or more
 * *  contributor license agreements.  See the NOTICE file distributed with
 * *  this work for additional information regarding copyright ownership.
 * *  The ASF licenses this file to You under the Apache License, Version 2.0
 * *  (the "License"); you may not use this file except in compliance with
 * *  the License.  You may obtain a copy of the License at
 * *
 * *      http://www.apache.org/licenses/LICENSE-2.0
 * *
 * *  Unless required by applicable law or agreed to in writing, software
 * *  distributed under the License is distributed on an "AS IS" BASIS,
 * *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * *  See the License for the specific language governing permissions and
 * *  limitations under the License.
 * */
@namespace j "library://ns.apache.org/royale/jewel";
@namespace "http://www.w3.org/1999/xhtml";
.jewel.application {
  background: #e2e3e1;
  font-family: "Lato", sans-serif;
  color: #808080;
  padding: 0px;
  margin: 0px;
}

j|Form {
  gap: 3;
}

input, select, textarea, button {
  font-family: inherit;
}

hr {
  background-color: #d9d9d9;
}

.jewel.xsmall {
  font-size: 0.6em;
}

.jewel.small {
  font-size: 0.8em;
}

.jewel {
  font-size: 1em;
}

.jewel.large {
  font-size: 1.2em;
}

.jewel.xlarge {
  font-size: 1.4em;
}

.jewel.imagebutton {
  outline: 0;
}

.jewel.alert {
  transform: translate(-50%, -60%);
  margin: 0;
  padding: 0;
  min-width: 320px;
  min-height: 240px;
  border: 0px solid;
  background: #fbfcfb;
  box-shadow: 0px 20px 65px 0px rgba(0, 0, 0, 0.8);
  border-radius: 3px;
  opacity: 0;
  will-change: opacity, transform;
}
.jewel.alert.open {
  opacity: 1;
  transform: translate(-50%, -50%);
  transition: opacity 0.4s 0ms, transform 0.4s 0ms;
}
.jewel.alert.open + .backdrop {
  opacity: 1;
  transition: opacity 0.4s 0ms;
}
.jewel.alert .jewel.titlebar {
  padding: 20px 20px 0px 20px;
  height: 50px;
  color: #8CC63C;
}
.jewel.alert .jewel.titlebar .jewel.label {
  font-size: 1.45em !important;
  font-weight: bold;
  font-color: #8CC63C;
}
.jewel.alert .content {
  padding: 20px;
  top: 50px;
  bottom: 84px;
}
.jewel.alert .content .jewel.label {
  white-space: normal;
  color: #808080;
  font-size: 1.1em;
  font-weight: 400;
}
.jewel.alert .jewel.controlbar {
  background: linear-gradient(#e6e6e6, #cccccc);
  border-top: 1px solid #b3b3b3;
  box-shadow: inset 0 1px 0 white;
  border-radius: 0px 0px 3px 3px;
  padding: 20px;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 84px;
}
.jewel.alert + .backdrop {
  opacity: 0;
  will-change: opacity;
  background-color: rgba(0, 0, 0, 0.5);
}

.jewel.badge {
  border-radius: 500em;
  color: #808080;
  font-size: 0.85em !important;
  line-height: 1em;
}
.jewel.badge.primary {
  background: #8CC63C;
  color: #FFFFFF;
}

.jewel.button {
  margin: 0;
  padding: 0.679em 1.12em;
  background: linear-gradient(#e6e6e6, #cccccc);
  border: 1px solid #b3b3b3;
  box-shadow: inset 0 1px 0 white;
  border-radius: 0.25rem;
  color: #808080;
  text-shadow: none;
  font-weight: bold;
  text-transform: uppercase;
}
.jewel.button:hover, .jewel.button:hover:focus {
  background: linear-gradient(#d9d9d9, silver);
  border: 1px solid #a6a6a6;
  color: #808080;
}
.jewel.button:active, .jewel.button:active:focus {
  background: linear-gradient(silver, #a6a6a6);
  border: 1px solid #8d8d8d;
  box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
  color: #808080;
}
.jewel.button:focus {
  border: 1px solid #b3b3b3;
  box-shadow: inset 0px 0px 0px 1px rgba(255, 255, 255, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.6);
  color: #808080;
}
.jewel.button[disabled] {
  background: #f3f3f3 !important;
  border: 1px solid #d9d9d9 !important;
  box-shadow: none !important;
  color: silver;
  text-shadow: unset;
}
.jewel.button[disabled]:hover, .jewel.button[disabled]:hover:focus {
  color: silver;
}
.jewel.button[disabled] {
  font-weight: 400;
}
.jewel.button.icon {
  padding: 0.429em 0.87em;
}
.jewel.button.icon span {
  margin-left: 0px;
  margin-right: 0px;
}
.jewel.button.left-space span {
  margin-left: 8px;
  margin-right: 0px;
}
.jewel.button.right-space span {
  margin-left: 0px;
  margin-right: 8px;
}

.jewel.button.primary {
  background: linear-gradient(#98cc50, #7eb435);
  border: 1px solid #638c29;
  box-shadow: inset 0 1px 0 #bbdd8b;
  border-radius: 0.25rem;
  color: #FFFFFF;
  text-shadow: 0 -1px 0 rgba(57, 81, 24, 0.7);
}
.jewel.button.primary:hover, .jewel.button.primary:hover:focus {
  background: linear-gradient(#8CC63C, #71a02f);
  border: 1px solid #557923;
  color: #FFFFFF;
}
.jewel.button.primary:active, .jewel.button.primary:active:focus {
  background: linear-gradient(#71a02f, #557923);
  border: 1px solid #395118;
  box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
  color: #FFFFFF;
}
.jewel.button.primary:focus {
  border: 1px solid #638c29;
  box-shadow: inset 0px 0px 0px 1px rgba(255, 255, 255, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.6);
  color: #FFFFFF;
}
.jewel.button.primary[disabled] {
  background: #f3f3f3 !important;
  border: 1px solid #d9d9d9 !important;
  box-shadow: none !important;
  color: silver;
  text-shadow: unset;
}
.jewel.button.primary[disabled]:hover, .jewel.button.primary[disabled]:hover:focus {
  color: silver;
}

.jewel.button.outlined {
  background: rgba(179, 179, 179, 0.05);
  border: 1px solid #999999;
  box-shadow: none;
  color: #8d8d8d;
  text-shadow: none;
}
.jewel.button.outlined:hover, .jewel.button.outlined:hover:focus {
  background: rgba(179, 179, 179, 0.15);
  border: 1px solid #8d8d8d;
  color: #737373;
}
.jewel.button.outlined:active, .jewel.button.outlined:active:focus {
  background: rgba(179, 179, 179, 0.25);
  border: 1px solid #858585;
  box-shadow: none;
  color: #737373;
}
.jewel.button.outlined:focus {
  border: 1px solid gray;
  box-shadow: none;
  color: #737373;
}
.jewel.button.outlined[disabled] {
  background: rgba(243, 243, 243, 0.1) !important;
  border: 1px solid #d9d9d9 !important;
  color: silver;
  text-shadow: unset;
}
.jewel.button.outlined[disabled]:hover, .jewel.button.outlined[disabled]:hover:focus {
  color: silver;
}

.jewel.button.primary.outlined {
  background: rgba(140, 198, 60, 0.05);
  border: 1px solid #71a02f;
  box-shadow: none;
  color: #638c29;
  text-shadow: none;
}
.jewel.button.primary.outlined:hover, .jewel.button.primary.outlined:hover:focus {
  background: rgba(140, 198, 60, 0.15);
  border: 1px solid #638c29;
  color: #47651e;
}
.jewel.button.primary.outlined:active, .jewel.button.primary.outlined:active:focus {
  background: rgba(140, 198, 60, 0.25);
  border: 1px solid #5a8126;
  box-shadow: none;
  color: #47651e;
}
.jewel.button.primary.outlined:focus {
  border: 1px solid #557923;
  box-shadow: none;
  color: #47651e;
}
.jewel.button.primary.outlined[disabled] {
  background: rgba(243, 243, 243, 0.1) !important;
  border: 1px solid #d9d9d9 !important;
  color: silver;
  text-shadow: unset;
}
.jewel.button.primary.outlined[disabled]:hover, .jewel.button.primary.outlined[disabled]:hover:focus {
  color: silver;
}

.jewel.button.unboxed {
  background: rgba(179, 179, 179, 0);
  border: 1px solid transparent;
  box-shadow: none;
  color: #8d8d8d;
  text-shadow: none;
}
.jewel.button.unboxed:hover, .jewel.button.unboxed:hover:focus {
  background: rgba(179, 179, 179, 0.15);
  border: 1px solid transparent;
  color: #737373;
}
.jewel.button.unboxed:active, .jewel.button.unboxed:active:focus {
  background: rgba(179, 179, 179, 0.25);
  border: 1px solid transparent;
  box-shadow: none;
  color: #737373;
}
.jewel.button.unboxed:focus {
  background: rgba(179, 179, 179, 0.15);
  border: 1px solid transparent;
  box-shadow: none;
  color: #737373;
}
.jewel.button.unboxed[disabled] {
  background: rgba(243, 243, 243, 0) !important;
  border: 1px solid transparent !important;
  color: silver;
  text-shadow: unset;
}
.jewel.button.unboxed[disabled]:hover, .jewel.button.unboxed[disabled]:hover:focus {
  color: silver;
}

.jewel.button.primary.unboxed {
  background: rgba(140, 198, 60, 0);
  border: 1px solid transparent;
  box-shadow: none;
  color: #638c29;
  text-shadow: none;
}
.jewel.button.primary.unboxed:hover, .jewel.button.primary.unboxed:hover:focus {
  background: rgba(140, 198, 60, 0.15);
  border: 1px solid transparent;
  color: #47651e;
}
.jewel.button.primary.unboxed:active, .jewel.button.primary.unboxed:active:focus {
  background: rgba(140, 198, 60, 0.25);
  border: 1px solid transparent;
  box-shadow: none;
  color: #47651e;
}
.jewel.button.primary.unboxed:focus {
  background: rgba(140, 198, 60, 0.15);
  border: 1px solid transparent;
  box-shadow: none;
  color: #47651e;
}
.jewel.button.primary.unboxed[disabled] {
  background: rgba(243, 243, 243, 0) !important;
  border: 1px solid transparent !important;
  color: silver;
  text-shadow: unset;
}
.jewel.button.primary.unboxed[disabled]:hover, .jewel.button.primary.unboxed[disabled]:hover:focus {
  color: silver;
}

.jewel.card {
  font-size: 1em;
  font-weight: 400;
  background: #fbfcfb;
  border: 1px solid #c3c3c3;
  border-radius: 0.25rem;
}
.jewel.card.simple {
  padding: 20px;
}
.jewel.card .card-header {
  border-bottom: 1px solid #c3c3c3;
  padding: 12px 20px;
}
.jewel.card .card-title {
  font-size: 1.5em;
  margin: 0.408rem 0rem;
  letter-spacing: 0.0125em;
}
.jewel.card .card-primary-content {
  padding: 20px;
}
.jewel.card .card-actions {
  border-top: 1px solid #c3c3c3;
  padding: 18px 20px;
}

j|Card {
  gap: 3;
}

j|CardHeader {
  gap: 3;
}

j|CardPrimaryContent {
  gap: 3;
}

j|CardActions {
  gap: 3;
}

.jewel.checkbox input + span::before {
  background: linear-gradient(white, #f3f3f3);
  border: 1px solid #b3b3b3;
  border-radius: 3px;
}
.jewel.checkbox input + span::after {
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%238CC63C' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
  border: 1px solid transparent;
  border-radius: 3px;
  transition: all 0.3s ease;
  transform: scale(0);
}
.jewel.checkbox input:checked + span::after, .jewel.checkbox input:checked:active + span::after {
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%238CC63C' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
  transform: scale(1);
}
.jewel.checkbox input:indeterminate + span::after, .jewel.checkbox input:indeterminate:active + span::after {
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%238CC63C' /%3E%3C/svg%3E") no-repeat center center;
  opacity: 1;
  transform: scale(1);
}
.jewel.checkbox input:focus + span::before, .jewel.checkbox input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus + span::before, .jewel.checkbox input:indeterminate:focus + span::before, .jewel.checkbox input:indeterminate:active:focus + span::before {
  background: linear-gradient(#d2e9b2, #bbdd8b);
  border: 1px solid #638c29;
  border-radius: 3px;
}
.jewel.checkbox input[disabled] + span {
  color: silver;
}
.jewel.checkbox input[disabled] + span::before {
  background: #f3f3f3;
  border: 1px solid #d9d9d9;
  border-radius: 3px;
}
.jewel.checkbox input:checked[disabled] + span::after {
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cpolygon fill='%23cccccc' points='3.50018311 12.4854126 8.48547363 17.4989624 18.4641113 7.47589111 15.5010376 4.51739502 8.48547363 11.5650024 6.52087402 9.47265625'/%3E%3C/svg%3E") no-repeat center center;
}
.jewel.checkbox input:indeterminate[disabled] + span::after {
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Crect stroke-width='0' stroke='%23FFFFFF' height='12' width='12' y='5' x='5' fill='%23cccccc' /%3E%3C/svg%3E") no-repeat center center;
}
.jewel.checkbox span {
  padding-left: 8px;
}
.jewel.checkbox.rejected input:indeterminate + span::after, .jewel.checkbox.rejected input:indeterminate:active + span::after {
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%238CC63C' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
  opacity: 1;
  transform: scale(1);
}
.jewel.checkbox.rejected input:indeterminate[disabled] + span::after {
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Cline stroke-width='4' stroke='%23cccccc' stroke-linecap='undefined' stroke-linejoin='undefined' y2='10.9375' x2='17' y1='11.0625' x1='5' fill='none' /%3E%3C/svg%3E") no-repeat center center;
}

.jewel.switch input:checked + .switch {
  background: linear-gradient(#8cc63c, #a3d263);
  box-shadow: 0px 0px 0px 1px #7eb435;
}
.jewel.switch input:focus + .switch {
  box-shadow: 0px 0px 0px 1px #71a02f;
}
.jewel.switch input:checked + .switch::before {
  background: #f5faee;
  box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.1);
  transform: translateX(20px);
}
.jewel.switch input[disabled]:checked + .switch {
  background: #d9d9d9;
  box-shadow: 0px 0px 0px 1px #cccccc;
}
.jewel.switch input[disabled] + .switch {
  background: #f3f3f3;
  box-shadow: 0px 0px 0px 1px #e6e6e6;
}
.jewel.switch input[disabled] + .switch::before {
  background: white;
  box-shadow: none;
}
.jewel.switch .switch {
  background: linear-gradient(#d9d9d9, #f3f3f3);
  box-shadow: 0px 0px 0px 1px #cccccc;
  transition: 0.4s;
  border-radius: 3px;
}
.jewel.switch .switch::before {
  background: #f5faee;
  box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.1);
  transition: 0.4s;
  border-radius: 3px;
}
.jewel.switch .label {
  padding-left: 8px;
}
.jewel.switch.radio .switch {
  border-radius: 20px;
}
.jewel.switch.radio .switch::before {
  border-radius: 50%;
}

.jewel.combobox .jewel.textinput input {
  border-radius: 0.25rem 0px 0px 0.25rem;
}
.jewel.combobox .jewel.button {
  color: transparent;
  border-bottom-left-radius: 0px;
  border-top-left-radius: 0px;
  border-left: 0px;
}
.jewel.combobox .jewel.button::before {
  line-height: 22px;
}
.jewel.combobox .jewel.button::after {
  background-size: 66%;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 8' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(0.000000, -1.000000)' fill='%238CC63C' fill-rule='nonzero'%3E%3Cg transform='translate(-2.000000, 0.000000)'%3E%3Cpolygon transform='translate(8.000000, 4.705000) scale(1, -1) translate(-8.000000, -4.705000) ' points='3.41 8.41 8 3.83 12.59 8.41 14 7 8 1 2 7'%3E%3C/polygon%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E") no-repeat center center;
  width: 14px;
  height: 22px;
  left: calc(50% - 8px);
  top: calc(50% - 11px);
}
.jewel.combobox .jewel.button[disabled] {
  border-left: 0px !important;
}
.jewel.combobox .jewel.button[disabled]::after {
  background-size: 66%;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 8' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(0.000000, -1.000000)' fill='%23cccccc' fill-rule='nonzero'%3E%3Cg transform='translate(-2.000000, 0.000000)'%3E%3Cpolygon transform='translate(8.000000, 4.705000) scale(1, -1) translate(-8.000000, -4.705000) ' points='3.41 8.41 8 3.83 12.59 8.41 14 7 8 1 2 7'%3E%3C/polygon%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E") no-repeat center center;
}

.jewel.datagrid {
  background: linear-gradient(white, #f3f3f3);
  border-bottom: 1px solid #b3b3b3;
  box-shadow: inset 0 1px 0 white;
  border-radius: 0.25rem;
}
.jewel.datagrid .jewel.buttonbar.header {
  background: linear-gradient(#f3f3f3, #e6e6e6);
  border: 0 none;
  box-shadow: none;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}
.jewel.datagrid .jewel.buttonbar.header .jewel.button.first {
  border-bottom-left-radius: 0;
}
.jewel.datagrid .jewel.buttonbar.header .jewel.button.last {
  border-bottom-right-radius: 0;
}
.jewel.datagrid .listarea {
  border-top-width: 0px;
  border-left-width: 0px;
  border-right-width: 0px;
  border-bottom-width: 0px;
  border-bottom-left-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
  border-style: solid;
  border-color: #b3b3b3;
}
.jewel.datagrid .listarea:focus {
  border: 1px solid #638c29;
}
.jewel.datagrid .jewel.list:focus {
  border-color: inherit;
}
.jewel.datagrid .jewel.list.column {
  border-radius: 0px;
  border-bottom-width: 0px;
  box-shadow: inset 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
}
.jewel.datagrid .jewel.list.column.first {
  border-bottom-left-radius: 0.25rem;
}
.jewel.datagrid .jewel.list.column.last {
  border-bottom-right-radius: 0.25rem;
}
.jewel.datagrid .jewel.list.column .jewel.item.datagrid {
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid #ededed;
  border-right: 0;
  border-radius: 0;
  box-shadow: none;
}
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.primary.hovered {
  background: #a8d46b;
}
.jewel.datagrid .jewel.list.column .jewel.item.datagrid.primary.selected, .jewel.datagrid .jewel.list.column .jewel.item.datagrid.primary.selectable:active {
  background: #9cce58;
}

.jewel.datechooser .jewel.table {
  background: white;
  border: 1px solid #d9d9d9;
  border-radius: 0.25rem;
  box-shadow: none;
}
.jewel.datechooser .jewel.table .jewel.button {
  background: transparent;
  border: none;
  box-shadow: none;
}
.jewel.datechooser .jewel.table .jewel.tableheadercell {
  padding: 12px 0px;
  background: white;
  box-shadow: none;
  border-left: 0px;
}
.jewel.datechooser .jewel.table .jewel.tableheadercell.buttonsRow {
  border-bottom: 1px solid #d9d9d9;
}
.jewel.datechooser .jewel.table .jewel.tableheadercell.buttonsRow .previousButton, .jewel.datechooser .jewel.table .jewel.tableheadercell.buttonsRow .nextButton {
  border-radius: 50%;
  color: transparent;
}
.jewel.datechooser .jewel.table .jewel.tableheadercell.buttonsRow .viewSelector:hover, .jewel.datechooser .jewel.table .jewel.tableheadercell.buttonsRow .previousButton:hover, .jewel.datechooser .jewel.table .jewel.tableheadercell.buttonsRow .nextButton:hover {
  background: #f3f3f3;
}
.jewel.datechooser .jewel.table .jewel.tableheadercell.buttonsRow .viewSelector:active, .jewel.datechooser .jewel.table .jewel.tableheadercell.buttonsRow .previousButton:active, .jewel.datechooser .jewel.table .jewel.tableheadercell.buttonsRow .nextButton:active {
  background: #e6e6e6;
}
.jewel.datechooser .jewel.table .jewel.tableheadercell.buttonsRow .viewSelector::after {
  width: 14px;
  height: 8px;
  padding-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 8' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(0.000000, -1.000000)' fill='%238CC63C' fill-rule='nonzero'%3E%3Cg transform='translate(-2.000000, 0.000000)'%3E%3Cpolygon transform='translate(8.000000, 4.705000) scale(1, -1) translate(-8.000000, -4.705000) ' points='3.41 8.41 8 3.83 12.59 8.41 14 7 8 1 2 7'%3E%3C/polygon%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-position: right 0 center;
  background-repeat: no-repeat;
}
.jewel.datechooser .jewel.table .jewel.tableheadercell.buttonsRow .previousButton::after, .jewel.datechooser .jewel.table .jewel.tableheadercell.buttonsRow .nextButton::after {
  width: 14px;
  height: 14px;
  top: calc(50% - 7px);
}
.jewel.datechooser .jewel.table .jewel.tableheadercell.buttonsRow .previousButton::after {
  left: calc(50% - 9px);
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 8 12' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-7.000000, -5.000000)'%3E%3Crect x='0' y='0' width='22' height='22'%3E%3C/rect%3E%3Cpath d='M14.9911518,6.4116803 C14.9876664,5.88503401 14.7746504,5.53560917 14.5762939,5.35284424 C14.3779375,5.17007931 14.0808684,5.04951371 13.4608967,5.00170898 L7.01066011,11.0034834 L13.4822102,17.0014648 C14.1196233,16.9113382 14.3962441,16.8099967 14.5762939,16.6435547 C14.7563438,16.4771126 14.9881385,16.1084637 15.0074566,15.5914935 L10.0769967,11.0034834 L14.9911518,6.4116803 Z' fill='%238CC63C' fill-rule='nonzero'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E") no-repeat center center;
}
.jewel.datechooser .jewel.table .jewel.tableheadercell.buttonsRow .nextButton::after {
  left: calc(50% - 5px);
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 8 12' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-7.000000, -5.000000)'%3E%3Crect x='0' y='0' width='22' height='22'%3E%3C/rect%3E%3Cpath d='M14.9911518,6.4116803 C14.9876664,5.88503401 14.7746504,5.53560917 14.5762939,5.35284424 C14.3779375,5.17007931 14.0808684,5.04951371 13.4608967,5.00170898 L7.01066011,11.0034834 L13.4822102,17.0014648 C14.1196233,16.9113382 14.3962441,16.8099967 14.5762939,16.6435547 C14.7563438,16.4771126 14.9881385,16.1084637 15.0074566,15.5914935 L10.0769967,11.0034834 L14.9911518,6.4116803 Z' fill='%238CC63C' fill-rule='nonzero' transform='translate(11.009058, 11.001587) scale(-1, 1) translate(-11.009058, -11.001587) '%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E") no-repeat center center;
}
.jewel.datechooser .jewel.table .jewel.tablecell {
  border-top: 0px;
  border-left: 0px;
  padding: 4px;
}
.jewel.datechooser .jewel.table .jewel.tableheadercell.buttonsRow {
  padding: 4px;
}
.jewel.datechooser[disabled] {
  pointer-events: none;
}
.jewel.datechooser[disabled] .jewel.table {
  color: silver;
  text-shadow: unset;
  background: #f3f3f3;
  border: 1px solid #d9d9d9;
}
.jewel.datechooser[disabled] .jewel.table .jewel.button {
  color: silver;
  text-shadow: unset;
  font-weight: normal;
}
.jewel.datechooser[disabled] .jewel.table .jewel.tableheadercell {
  background: none;
  color: silver;
  text-shadow: unset;
}
.jewel.datechooser[disabled] .jewel.table .jewel.tableheadercell.buttonsRow .viewSelector::after {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 8' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(0.000000, -1.000000)' fill='%23cccccc' fill-rule='nonzero'%3E%3Cg transform='translate(-2.000000, 0.000000)'%3E%3Cpolygon transform='translate(8.000000, 4.705000) scale(1, -1) translate(-8.000000, -4.705000) ' points='3.41 8.41 8 3.83 12.59 8.41 14 7 8 1 2 7'%3E%3C/polygon%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.jewel.datechooser[disabled] .jewel.table .jewel.tableheadercell.buttonsRow .previousButton::after, .jewel.datechooser[disabled] .jewel.table .jewel.tableheadercell.buttonsRow .nextButton::after {
  background-size: 40%;
}
.jewel.datechooser[disabled] .jewel.table .jewel.tableheadercell.buttonsRow .previousButton::after {
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 8 12' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-7.000000, -5.000000)'%3E%3Crect x='0' y='0' width='22' height='22'%3E%3C/rect%3E%3Cpath d='M14.9911518,6.4116803 C14.9876664,5.88503401 14.7746504,5.53560917 14.5762939,5.35284424 C14.3779375,5.17007931 14.0808684,5.04951371 13.4608967,5.00170898 L7.01066011,11.0034834 L13.4822102,17.0014648 C14.1196233,16.9113382 14.3962441,16.8099967 14.5762939,16.6435547 C14.7563438,16.4771126 14.9881385,16.1084637 15.0074566,15.5914935 L10.0769967,11.0034834 L14.9911518,6.4116803 Z' fill='%23cccccc' fill-rule='nonzero'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E") no-repeat center center;
}
.jewel.datechooser[disabled] .jewel.table .jewel.tableheadercell.buttonsRow .nextButton::after {
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 8 12' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-7.000000, -5.000000)'%3E%3Crect x='0' y='0' width='22' height='22'%3E%3C/rect%3E%3Cpath d='M14.9911518,6.4116803 C14.9876664,5.88503401 14.7746504,5.53560917 14.5762939,5.35284424 C14.3779375,5.17007931 14.0808684,5.04951371 13.4608967,5.00170898 L7.01066011,11.0034834 L13.4822102,17.0014648 C14.1196233,16.9113382 14.3962441,16.8099967 14.5762939,16.6435547 C14.7563438,16.4771126 14.9881385,16.1084637 15.0074566,15.5914935 L10.0769967,11.0034834 L14.9911518,6.4116803 Z' fill='%23cccccc' fill-rule='nonzero' transform='translate(11.009058, 11.001587) scale(-1, 1) translate(-11.009058, -11.001587) '%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E") no-repeat center center;
}
.jewel.datechooser[disabled] .jewel.tableitem {
  height: 38px;
}
.jewel.datechooser[disabled] .jewel.tableitem.selected, .jewel.datechooser[disabled] .jewel.tableitem.selectable:active {
  background: #cccccc;
}

.calendar.item {
  padding: 10px;
  font-size: 1em;
}
.calendar.item.dayName {
  font-weight: 600;
}
.calendar.item.date {
  color: grey;
}

.jewel.datefield .jewel.textinput input {
  border-radius: 0.25rem 0px 0px 0.25rem;
}
.jewel.datefield .jewel.button {
  color: transparent;
  border-bottom-left-radius: 0px;
  border-top-left-radius: 0px;
  border-left: 0px;
}
.jewel.datefield .jewel.button::after {
  background-size: 66%;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Crect x='0' y='0' width='22' height='22'%3E%3C/rect%3E%3Cpath d='M18.3333333,2.75 L17.4166667,2.75 L17.4166667,0.916666667 L15.5833333,0.916666667 L15.5833333,2.75 L6.41666667,2.75 L6.41666667,0.916666667 L4.58333333,0.916666667 L4.58333333,2.75 L3.66666667,2.75 C2.65833333,2.75 1.83333333,3.575 1.83333333,4.58333333 L1.83333333,19.25 C1.83333333,20.2583333 2.65833333,21.0833333 3.66666667,21.0833333 L18.3333333,21.0833333 C19.3416667,21.0833333 20.1666667,20.2583333 20.1666667,19.25 L20.1666667,4.58333333 C20.1666667,3.575 19.3416667,2.75 18.3333333,2.75 Z M18.3333333,19.25 L3.66666667,19.25 L3.66666667,7.33333333 L18.3333333,7.33333333 L18.3333333,19.25 Z' fill='%238CC63C' fill-rule='nonzero'%3E%3C/path%3E%3C/g%3E%3C/svg%3E") no-repeat center center;
}
.jewel.datefield .jewel.button[disabled] {
  border-left: 0px !important;
}
.jewel.datefield .jewel.button[disabled]::after {
  background-size: 66%;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Crect x='0' y='0' width='22' height='22'%3E%3C/rect%3E%3Cpath d='M18.3333333,2.75 L17.4166667,2.75 L17.4166667,0.916666667 L15.5833333,0.916666667 L15.5833333,2.75 L6.41666667,2.75 L6.41666667,0.916666667 L4.58333333,0.916666667 L4.58333333,2.75 L3.66666667,2.75 C2.65833333,2.75 1.83333333,3.575 1.83333333,4.58333333 L1.83333333,19.25 C1.83333333,20.2583333 2.65833333,21.0833333 3.66666667,21.0833333 L18.3333333,21.0833333 C19.3416667,21.0833333 20.1666667,20.2583333 20.1666667,19.25 L20.1666667,4.58333333 C20.1666667,3.575 19.3416667,2.75 18.3333333,2.75 Z M18.3333333,19.25 L3.66666667,19.25 L3.66666667,7.33333333 L18.3333333,7.33333333 L18.3333333,19.25 Z' fill='%23cccccc' fill-rule='nonzero'%3E%3C/path%3E%3C/g%3E%3C/svg%3E") no-repeat center center;
}

.jewel.divider {
  border-bottom-color: #d9d9d9;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.jewel.drawer.float {
  color: rgba(0, 0, 0, 0.8);
}
.jewel.drawer.float::before {
  background-color: rgba(0, 0, 0, 0.65);
  will-change: opacity;
  transition: opacity 0.4s 0ms;
}
.jewel.drawer.float .drawermain {
  box-shadow: 0px 0px 6px 1px rgba(1, 1, 1, 0.7);
  transform: translateX(-104%);
  will-change: transform;
  width: calc(100% - 54px);
  max-width: 280px;
  background-color: white;
  transition: transform 250ms 0ms;
}
.jewel.drawer.float.open .drawermain {
  transform: none;
  transition: transform 300ms 0ms;
}
.jewel.drawer.fixed .drawermain {
  width: 240px;
  transform: translateX(-104%);
  will-change: transform;
  transition: transform 250ms 0ms;
  background-color: white;
  border-left: 0;
  border-right: 1px solid #d9d9d9;
}
.jewel.drawer.fixed.open {
  width: auto;
}
.jewel.drawer.fixed.open .drawermain {
  transition: transform 300ms 0ms;
}

.jewel.drawerheader {
  background: linear-gradient(#98cc50, #7eb435);
  border-bottom: 1px solid #557923;
  color: #FFFFFF;
  padding: 16px;
}
.jewel.drawerheader div {
  padding: 16px;
}

.jewel.drawerfooter {
  background: linear-gradient(#404040, #262626);
  border-top: 1px solid #595959;
  border-bottom: 1px solid black;
  color: #FFFFFF;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.7);
}
.jewel.drawerfooter .jewel.barsection {
  padding: 8px 12px;
}
.jewel.drawerfooter .jewel.barsection button {
  background: transparent;
  box-shadow: none;
  border: none;
  padding: 12px;
  fill: #FFFFFF;
  color: inherit;
  text-shadow: 0 -1px 0 rgba(57, 81, 24, 0.7);
}
.jewel.drawerfooter .jewel.barsection button:hover, .jewel.drawerfooter .jewel.barsection button:hover:focus, .jewel.drawerfooter .jewel.barsection button:active, .jewel.drawerfooter .jewel.barsection button:active:focus, .jewel.drawerfooter .jewel.barsection button:focus {
  background: transparent;
  box-shadow: none;
  border: none;
}
.jewel.drawerfooter .jewel.barsection button[disabled] {
  background: transparent;
  box-shadow: none;
  border: none;
}

.jewel.dropdownlist {
  background-color: white;
  border: 1px solid #b3b3b3;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 8' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(0.000000, -1.000000)' fill='%238CC63C' fill-rule='nonzero'%3E%3Cg transform='translate(-2.000000, 0.000000)'%3E%3Cpolygon transform='translate(8.000000, 4.705000) scale(1, -1) translate(-8.000000, -4.705000) ' points='3.41 8.41 8 3.83 12.59 8.41 14 7 8 1 2 7'%3E%3C/polygon%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-size: 1.08em;
  background-position: right 0.7em center;
  background-repeat: no-repeat;
  border-radius: 0.25rem;
}
.jewel.dropdownlist[disabled] {
  background-color: #f3f3f3;
  border: 1px solid #d9d9d9;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 8' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(0.000000, -1.000000)' fill='%23cccccc' fill-rule='nonzero'%3E%3Cg transform='translate(-2.000000, 0.000000)'%3E%3Cpolygon transform='translate(8.000000, 4.705000) scale(1, -1) translate(-8.000000, -4.705000) ' points='3.41 8.41 8 3.83 12.59 8.41 14 7 8 1 2 7'%3E%3C/polygon%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  box-shadow: none;
  color: silver;
}
.jewel.dropdownlist[disabled]::placeholder, .jewel.dropdownlist[disabled]:-ms-input-placeholder {
  color: silver;
}
.jewel.dropdownlist[disabled] + i {
  color: silver;
}
.jewel.dropdownlist:focus {
  border: 1px solid #638c29;
}

.jewel.footerbar .footerBarAppHeader {
  background: linear-gradient(#404040, #262626);
  border-top: 1px solid #595959;
  border-bottom: 1px solid black;
  color: #FFFFFF;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.7);
}
.jewel.footerbar .footerBarAppHeader.has-drawer {
  width: calc(100% - 240px);
}
.jewel.footerbar .jewel.barsection {
  padding: 8px 12px;
}
.jewel.footerbar .jewel.barsection button {
  background: transparent;
  box-shadow: none;
  border: none;
  padding: 12px;
  fill: #FFFFFF;
  color: inherit;
  text-shadow: 0 -1px 0 rgba(57, 81, 24, 0.7);
}
.jewel.footerbar .jewel.barsection button:hover, .jewel.footerbar .jewel.barsection button:hover:focus, .jewel.footerbar .jewel.barsection button:active, .jewel.footerbar .jewel.barsection button:active:focus, .jewel.footerbar .jewel.barsection button:focus {
  background: transparent;
  box-shadow: none;
  border: none;
}
.jewel.footerbar .jewel.barsection button[disabled] {
  background: transparent;
  box-shadow: none;
  border: none;
}

.jewel.formheading {
  color: #71a02f;
  font-size: 1.4em !important;
}
.jewel.formheading .jewel.label.spacerLabel {
  width: 115px;
}
.jewel.formheading .jewel.label.requiredSpacerLabel {
  width: 10px;
}

j|FormHeading {
  gap: 2;
}

.jewel.formitem .jewel.label.formlabel {
  width: 115px;
}
.jewel.formitem .jewel.label.required {
  color: #EC1C24;
  font-size: 1.6em !important;
  width: 10px;
}
j|FormItem {
  gap: 2;
  itemsVerticalAlign: itemsCentered;
}

.fonticon.dark {
  color: #676767;
}
.fonticon.dark.inactive {
  color: rgba(128, 128, 128, 0.3);
}
.fonticon.light {
  color: white;
}
.fonticon.light.inactive {
  color: rgba(255, 255, 255, 0.5);
}

.jewel.item {
  background: transparent;
}
.jewel.item.hovered {
  color: #FFFFFF;
}
.jewel.item.selected, .jewel.item.selectable:active {
  color: #FFFFFF;
}
.jewel.item.primary.hovered {
  background: #8CC63C;
}
.jewel.item.primary.selected, .jewel.item.primary.selectable:active {
  background: #7eb435;
}

.jewel.label {
  line-height: 1em;
}
.jewel.label.multiline {
  line-height: normal;
  max-width: 100%;
}

.jewel.list {
  color: #808080;
  background: linear-gradient(white, #f3f3f3);
  border: 1px solid #b3b3b3;
  box-shadow: inset 0 1px 0 white;
  border-radius: 3px;
}
.jewel.list:focus {
  border: 1px solid #638c29;
}
.jewel.list[disabled] {
  pointer-events: none;
  color: silver;
  text-shadow: unset;
  font-weight: normal;
  background: #f3f3f3;
  border: 1px solid #d9d9d9;
  box-shadow: none;
}
.jewel.list[disabled] .jewel.item.selected, .jewel.list[disabled] .jewel.item.selectable:active {
  background: #cccccc !important;
}

.jewel.loader {
  border: 16px solid #f3f3f3;
  border-radius: 50%;
}
.jewel.loader.segment {
  border-top-color: silver;
}
.jewel.loader.primary.segment {
  border-top-color: #8CC63C;
}

.jewel.navigation {
  background-color: #ffffff;
}
.jewel.navigation .layout.vertical {
  align-items: stretch;
}

.jewel.navigationlink {
  margin: 0;
  padding: 0 16px;
  font-size: 1em;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.6);
}
.jewel.navigationlink.hovered {
  background: #f3f3f3 !important;
}
.jewel.navigationlink .hint.fonticon {
  margin-left: auto;
}

.jewel.navigationgroup.no-submenu.hovered {
  background: #f3f3f3 !important;
}

.navigation-section-group {
  transition: height 0.5s;
  overflow: hidden !important;
}
.navigation-section-group .navigationlink {
  padding-left: 34px;
}

.jewel.numericstepper {
  height: 38px;
}
.jewel.numericstepper .jewel.textinput {
  width: calc(100% - 33px);
}
.jewel.numericstepper .jewel.textinput input {
  border-radius: 0.25rem 0px 0px 0.25rem;
}
.jewel.numericstepper .jewel.button {
  border-radius: 0 0.25rem 0.25rem 0;
  border-left: 0px;
  width: 12%;
  width: 33px;
  height: 50%;
}
.jewel.numericstepper .jewel.button, .jewel.numericstepper .jewel.button:hover, .jewel.numericstepper .jewel.button:hover:focus, .jewel.numericstepper .jewel.button:active, .jewel.numericstepper .jewel.button:active:focus {
  color: transparent;
}
.jewel.numericstepper .jewel.button.up {
  border-bottom-right-radius: 0px;
}
.jewel.numericstepper .jewel.button.up::after {
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 8' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(0.000000, -1.000000)' fill='%238CC63C' fill-rule='nonzero'%3E%3Cg transform='translate(-2.000000, 0.000000)'%3E%3Cpolygon points='3.41 8.41 8 3.83 12.59 8.41 14 7 8 1 2 7'%3E%3C/polygon%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E") no-repeat center center;
  width: 12px;
  height: 7px;
}
.jewel.numericstepper .jewel.button.down {
  border-top-right-radius: 0px;
  border-top-style: groove;
}
.jewel.numericstepper .jewel.button.down::after {
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 8' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(0.000000, -1.000000)' fill='%238CC63C' fill-rule='nonzero'%3E%3Cg transform='translate(-2.000000, 0.000000)'%3E%3Cpolygon transform='translate(8.000000, 4.705000) scale(1, -1) translate(-8.000000, -4.705000) ' points='3.41 8.41 8 3.83 12.59 8.41 14 7 8 1 2 7'%3E%3C/polygon%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E") no-repeat center center;
  width: 12px;
  height: 7px;
}
.jewel.numericstepper .jewel.button.up, .jewel.numericstepper .jewel.button.down {
  padding: 8.5px 16px;
}

@media (max-width: 992px) {
  .jewel.numericstepper .jewel.textinput input {
    border-radius: 0;
  }
  .jewel.numericstepper .jewel.button.up {
    border: 1px solid #b3b3b3;
    border-radius: 0 0.25rem 0.25rem 0;
    margin-left: -1px;
    height: 100%;
  }
  .jewel.numericstepper .jewel.button.down {
    border: 1px solid #b3b3b3;
    border-radius: 0.25rem 0 0 0.25rem;
    border-top-style: solid;
    margin-right: -1px;
    height: 100%;
  }
}
.popup-content::before {
  background-color: rgba(0, 0, 0, 0.65);
  will-change: opacity;
  transition: opacity 0.4s 0ms;
}
.popup-content .jewel.popupcontent {
  border: 0px;
  border-radius: 10px;
  padding: 20px;
  background: white;
  box-shadow: 0px 0px 6px 1px rgba(1, 1, 1, 0.7) !important;
}
@media (min-width: 992px) {
  .popup-content .jewel.popupcontent {
    box-shadow: none !important;
  }
}
.jewel.radiobutton input + span::before {
  background: linear-gradient(white, #f3f3f3);
  border: 1px solid #b3b3b3;
  border-radius: 50%;
}
.jewel.radiobutton input + span::after {
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Ccircle fill='%238CC63C' cx='11' cy='11' r='6'/%3E%3C/svg%3E") no-repeat center center;
  border: 1px solid transparent;
  border-radius: 50%;
  transition: all 0.3s ease;
  transform: scale(0);
}
.jewel.radiobutton input:checked + span::after, .jewel.radiobutton input:checked:active + span::after {
  transform: scale(1);
}
.jewel.radiobutton input:focus + span::before, .jewel.radiobutton input:checked:focus + span::before, .jewel.radiobutton input:checked:active:focus + span::before {
  background: linear-gradient(#d2e9b2, #bbdd8b);
  border: 1px solid #638c29;
  border-radius: 50%;
}
.jewel.radiobutton input[disabled] + span::before {
  background: #f3f3f3;
  border: 1px solid #d9d9d9;
  border-radius: 50%;
}
.jewel.radiobutton input[disabled] + span {
  color: silver;
}
.jewel.radiobutton input[disabled] + span::after {
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='22' height='22' fill-opacity='0'/%3E%3Ccircle fill='%23cccccc' cx='11' cy='11' r='6'/%3E%3C/svg%3E") no-repeat center center;
}
.jewel.radiobutton span {
  padding-left: 8px;
}

.jewel.slider input::-ms-fill-lower {
  background: linear-gradient(#93c948, #84bc37);
  border: 1px solid #638c29;
  box-shadow: inset 0 1px 0 #bbdd8b;
  border-radius: 3px;
}
.jewel.slider input::-ms-fill-upper {
  background: linear-gradient(white, #e6e6e6);
  border: 1px solid #b3b3b3;
  border-radius: 3px;
}
.jewel.slider input::-webkit-slider-thumb {
  width: 18px;
  height: 18px;
  background: linear-gradient(#93c948, #84bc37);
  border: 1px solid #638c29;
  box-shadow: inset 0 1px 0 #bbdd8b, 0 0 0 1px rgba(255, 255, 255, 0.3);
  border-radius: 50%;
}
.jewel.slider input::-moz-range-thumb {
  width: 18px;
  height: 18px;
  background: linear-gradient(#93c948, #84bc37);
  border: 1px solid #638c29;
  box-shadow: inset 0 1px 0 #bbdd8b, 0 0 0 1px rgba(255, 255, 255, 0.3);
  border-radius: 50%;
}
.jewel.slider input::-ms-thumb {
  width: 18px;
  height: 18px;
  background: linear-gradient(#93c948, #84bc37);
  border: 1px solid #638c29;
  box-shadow: inset 0 1px 0 #bbdd8b, 0 0 0 1px rgba(255, 255, 255, 0.3);
  border-radius: 50%;
}
.jewel.slider input:active::-webkit-slider-thumb, .jewel.slider input:active::-moz-range-thumb {
  transform: scale(1.4);
}
.jewel.slider input:active::-ms-thumb {
  transform: scale(0.8);
}
.jewel.slider input[disabled]::-ms-fill-lower {
  background: #e6e6e6;
  border: 1px solid silver;
  box-shadow: none;
}
.jewel.slider input[disabled]::-ms-fill-upper {
  background: #f3f3f3;
  border: 1px solid #d9d9d9;
  box-shadow: none;
}
.jewel.slider input[disabled]::-webkit-slider-thumb, .jewel.slider input[disabled]::-moz-range-thumb, .jewel.slider input[disabled]::-ms-thumb {
  background: #f3f3f3;
  border: 1px solid silver;
  box-shadow: none;
}
.jewel.slider input[disabled]:active::-webkit-slider-thumb, .jewel.slider input[disabled]:active::-moz-range-thumb, .jewel.slider input[disabled]:active::-ms-thumb {
  transform: scale(1);
}
.jewel.slider input[disabled] + .slider-track-container > .slider-track-fill {
  background: #e6e6e6;
  border: 1px solid silver;
  box-shadow: none;
}
.jewel.slider input[disabled] + .slider-track-container > .slider-track {
  background: #f3f3f3;
  border: 1px solid #d9d9d9;
  box-shadow: none;
}

.slider-track-container {
  top: 50%;
}

.slider-track-fill {
  background: linear-gradient(#93c948, #84bc37);
  border: 1px solid #638c29;
  box-shadow: inset 0 1px 0 #bbdd8b;
  border-radius: 3px;
}

.slider-track {
  background: linear-gradient(white, #e6e6e6);
  border: 1px solid #b3b3b3;
  border-radius: 3px;
}

.jewel.snackbar {
  will-change: transform;
  transform: translate(0, 100%);
  transition: transform 0.4s 0ms;
}
.jewel.snackbar.open {
  transform: translate(0);
  transition: transform 0.4s 0ms;
}
.jewel.snackbar.primary .jewel.snackbar-content {
  background: linear-gradient(#98cc50, #7eb435);
  border: 1px solid #638c29;
  box-shadow: inset 0 1px 0 #bbdd8b;
  border-bottom: none;
}
.jewel.snackbar.primary .jewel.snackbar-message {
  color: #FFFFFF;
}
.jewel.snackbar.primary .jewel.snackbar-action {
  color: #E2D70B;
}
.jewel.snackbar.primary .jewel.snackbar-action:hover {
  background: linear-gradient(#8CC63C, #71a02f);
}

.jewel.snackbar-content {
  background: #2C3E50;
  border-radius: 0.25rem 0.25rem 0px 0px;
}

.jewel.snackbar-message {
  color: #FFFFFF;
}

.jewel.snackbar-action {
  color: #FFD740;
}
.jewel.snackbar-action:hover {
  background-color: #3C4E60;
}

@media (max-width: 992px) {
  .jewel.snackbar-content {
    border-radius: 0px;
  }
}
.jewel.tabbar.sameWidths > * {
  flex: 1 0 0% !important;
}

j|TabBar {
  itemsExpand: true;
}

.jewel.tabbarbutton {
  font-size: 1em;
  font-weight: 500;
  border: none;
  background: transparent;
  outline: none;
  color: rgba(0, 0, 0, 0.6);
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: 0.1em;
  font-weight: 600;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
.jewel.tabbarbutton .indicator > .indicator-content {
  background-color: #8CC63C;
}
.jewel.tabbarbutton.hovered {
  background: rgba(140, 198, 60, 0.2);
}
.jewel.tabbarbutton.selected, .jewel.tabbarbutton.selectable:active {
  color: #638c29;
  background: rgba(140, 198, 60, 0.4);
}

.jewel.tabbar.layout.horizontal .indicator > .indicator-content {
  height: 2px;
}
.jewel.tabbar.layout.vertical .indicator > .indicator-content {
  width: 2px;
}

.jewel.simpletable {
  background: linear-gradient(white, #f3f3f3);
  border: 1px solid #b3b3b3;
  box-shadow: inset 0 1px 0 white;
  border-radius: 0.25rem;
}
.jewel.simpletable .jewel.tableheadercell:first-of-type {
  border-left: 0px;
}
.jewel.simpletable .jewel.tableheadercell {
  padding: 12px;
  background: linear-gradient(white, #f3f3f3);
  box-shadow: inset 0 1px 0 white;
  font-weight: 700;
  line-height: normal !important;
  font-size: 1em;
  color: #808080;
  border-left: 1px solid #d9d9d9;
}
.jewel.simpletable .jewel.tablecell:first-of-type {
  border-left: 0px;
}
.jewel.simpletable .jewel.tablecell {
  border-top: 1px solid #d9d9d9;
  border-left: 1px solid #d9d9d9;
}
.jewel.simpletable .jewel.tablecell > * {
  padding: 12px;
}
.jewel.simpletable .jewel.tfoot .jewel.tablecell {
  border-left: 0px;
  background: linear-gradient(white, white);
  box-shadow: inset 0 1px 0 white;
}

.jewel.table {
  background: linear-gradient(white, #f3f3f3);
  border: 1px solid #b3b3b3;
  box-shadow: inset 0 1px 0 white;
  border-radius: 0.25rem;
}
.jewel.table .jewel.tableheadercell:first-of-type {
  border-left: 0px;
}
.jewel.table .jewel.tableheadercell {
  padding: 12px;
  background: linear-gradient(white, #f3f3f3);
  box-shadow: inset 0 1px 0 white;
  font-weight: 700;
  line-height: normal !important;
  font-size: 1em;
  color: #808080;
  border-left: 1px solid #d9d9d9;
  border-bottom: 1px solid #d9d9d9;
}
.jewel.table .jewel.tablerow:first-child .jewel.tablecell {
  border-top: 0px solid transparent;
}
.jewel.table .jewel.tablecell:first-of-type {
  border-left: 0px;
}
.jewel.table .jewel.tablecell {
  border-top: 1px solid #d9d9d9;
  border-left: 1px solid #d9d9d9;
}
.jewel.table .jewel.tfoot .jewel.tablecell {
  border-left: 0px;
  background: linear-gradient(white, white);
  box-shadow: inset 0 1px 0 white;
}
.jewel.tableitem {
  height: 100%;
}
.jewel.tableitem.hovered {
  color: #FFFFFF;
  background: #8CC63C;
}
.jewel.tableitem.selected, .jewel.tableitem.selectable:active {
  color: #FFFFFF;
  background: #7eb435;
}
.jewel.tableitem.calendar {
  border-radius: 4px;
}
.jewel.tableitem.calendar[disabled] {
  color: silver;
  pointer-events: none;
}
.jewel.tableitem.calendar.selected {
  font-weight: bold;
}
.jewel.tableitem.calendar.selected[disabled] {
  color: #FFFFFF;
  background: #cccccc;
}

a:link {
  color: #8CC63C;
}

a:active {
  color: #638c29;
}

.primary-lightest {
  color: #e9f4da;
}

.primary-light {
  color: #bbdd8b;
}

.primary-normal {
  color: #8CC63C;
}

.primary-dark {
  color: #557923;
}

.primary-darkest {
  color: #1d2a0c;
}

.weight-lightest {
  font-weight: 100;
}

.weight-light {
  font-weight: 300;
}

.weight-regular {
  font-weight: 400;
}

.weight-bold {
  font-weight: 600;
}

.weight-bolder {
  font-weight: 800;
}

h1 {
  font-size: 2em;
  margin: 0.8rem 0rem;
}

h2 {
  font-size: 2em;
  margin: 0.58rem 0rem;
}

h3 {
  font-size: 1.5em;
  margin: 0.408rem 0rem;
}

h4 {
  font-size: 1.25em;
  margin: 0.35rem 0rem;
}

h5 {
  font-size: 1em;
  margin: 0.2rem 0rem;
}

span {
  font-size: 1em;
}

div {
  font-size: 14px;
}

@media (min-width: 992px) and (max-width: 1200px) {
  .jewel {
    font-size: 100%;
  }
  h1 {
    font-size: 2em;
  }
  h2 {
    font-size: 2em;
  }
  h3 {
    font-size: 1.5em;
  }
  h4 {
    font-size: 1.25em;
  }
  h5 {
    font-size: 1em;
  }
}
@media (min-width: 768px) and (max-width: 992px) {
  .jewel {
    font-size: 99%;
  }
  h1 {
    font-size: 1.9em;
  }
  h2 {
    font-size: 1.9em;
  }
  h3 {
    font-size: 1.4em;
  }
  h4 {
    font-size: 1.1em;
  }
  h5 {
    font-size: 0.98em;
  }
}
@media (min-width: 0px) and (max-width: 768px) {
  .jewel {
    font-size: 97%;
  }
  h1 {
    font-size: 1.7em;
  }
  h2 {
    font-size: 1.7em;
  }
  h3 {
    font-size: 1.3em;
  }
  h4 {
    font-size: 1em;
  }
  h5 {
    font-size: 0.97em;
  }
}
.jewel.textinput {
  font-weight: 400;
  color: #808080;
}
.jewel.textinput input {
  background: linear-gradient(white, #f3f3f3);
  border: 1px solid #b3b3b3;
  border-radius: 0.25rem;
  transition-duration: 0.3s;
  transition-timing-function: easein;
}
.jewel.textinput input:focus {
  border: 1px solid #638c29;
}
.jewel.textinput input::placeholder, .jewel.textinput input:-ms-input-placeholder {
  color: #a6a6a6;
}
.jewel.textinput input[disabled] {
  background: #f3f3f3;
  border: 1px solid #d9d9d9;
  box-shadow: none;
  color: silver;
}
.jewel.textinput input[disabled]::placeholder, .jewel.textinput input[disabled]:-ms-input-placeholder {
  color: silver;
}
.jewel.textinput input[disabled] + i {
  color: silver;
}
.jewel.textinput input {
  margin: 0;
  padding: 0.679em 14px;
}
.jewel.textinput.icon input {
  padding-left: 42px;
  padding-right: 14px;
}
.jewel.textinput.icon i.fonticon {
  left: 14px;
}
.jewel.textinput.icon i.fonticon.material-icons {
  left: 10px;
}
.jewel.textinput.icon.right input {
  padding-left: 14px;
  padding-right: 42px;
}
.jewel.textinput.icon.right i.fonticon {
  right: 14px;
}
.jewel.textinput.icon.right i.fonticon.material-icons {
  right: 10px;
}
.jewel.textinput.errorBorder input {
  border: 1px #EC1C24 solid;
}

.jewel.textarea {
  font-weight: 400;
  color: #808080;
}
.jewel.textarea textarea {
  margin: 0;
  padding: 0.72em 1.12em;
  background: linear-gradient(white, #f3f3f3);
  border: 1px solid #b3b3b3;
  border-radius: 0.25rem;
  transition-duration: 0.3s;
  transition-timing-function: easein;
}
.jewel.textarea textarea:focus {
  border: 1px solid #638c29;
}
.jewel.textarea textarea::placeholder, .jewel.textarea textarea:-ms-input-placeholder {
  color: #a6a6a6;
}
.jewel.textarea textarea[disabled] {
  background: #f3f3f3;
  border: 1px solid #d9d9d9;
  box-shadow: none;
  color: silver;
}
.jewel.textarea textarea[disabled]::placeholder, .jewel.textarea textarea[disabled]:-ms-input-placeholder {
  color: silver;
}

.jewel.togglebutton {
  margin: 0;
  padding: 0.679em 1.12em;
  background: linear-gradient(#e6e6e6, #cccccc);
  border: 1px solid #b3b3b3;
  box-shadow: inset 0 1px 0 white;
  border-radius: 0.25rem;
  color: #808080;
  text-shadow: none;
  font-weight: bold;
  text-transform: uppercase;
}
.jewel.togglebutton:hover, .jewel.togglebutton:hover:focus {
  background: linear-gradient(#d9d9d9, silver);
  border: 1px solid #a6a6a6;
  color: #808080;
}
.jewel.togglebutton:active, .jewel.togglebutton:active:focus {
  background: linear-gradient(silver, #a6a6a6);
  border: 1px solid #8d8d8d;
  box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
  color: #808080;
}
.jewel.togglebutton:focus {
  border: 1px solid #b3b3b3;
  box-shadow: inset 0px 0px 0px 1px rgba(255, 255, 255, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.6);
  color: #808080;
}
.jewel.togglebutton[disabled] {
  background: #f3f3f3 !important;
  border: 1px solid #d9d9d9 !important;
  box-shadow: none !important;
  color: silver;
  text-shadow: unset;
}
.jewel.togglebutton.selected {
  background: linear-gradient(silver, #a6a6a6);
  border: 1px solid #8d8d8d;
  box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
  color: #808080;
}
.jewel.togglebutton[disabled] {
  font-weight: 400;
}
.jewel.togglebutton.icon {
  padding: 0.429em 0.87em;
}
.jewel.togglebutton.icon i {
  margin-left: 0px;
  margin-right: 0px;
}
.jewel.togglebutton.left-space i {
  margin-left: 0px;
  margin-right: 8px;
}
.jewel.togglebutton.right-space i {
  margin-left: 8px;
  margin-right: 0px;
}

.jewel.togglebutton.primary {
  background: linear-gradient(#98cc50, #7eb435);
  border: 1px solid #638c29;
  box-shadow: inset 0 1px 0 #bbdd8b;
  border-radius: 0.25rem;
  color: #FFFFFF;
  text-shadow: 0 -1px 0 rgba(57, 81, 24, 0.7);
}
.jewel.togglebutton.primary:hover, .jewel.togglebutton.primary:hover:focus {
  background: linear-gradient(#8CC63C, #71a02f);
  border: 1px solid #557923;
  color: #FFFFFF;
}
.jewel.togglebutton.primary:active, .jewel.togglebutton.primary:active:focus {
  background: linear-gradient(#71a02f, #557923);
  border: 1px solid #395118;
  box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
  color: #FFFFFF;
}
.jewel.togglebutton.primary:focus {
  border: 1px solid #638c29;
  box-shadow: inset 0px 0px 0px 1px rgba(255, 255, 255, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.6);
  color: #FFFFFF;
}
.jewel.togglebutton.primary[disabled] {
  background: #f3f3f3 !important;
  border: 1px solid #d9d9d9 !important;
  box-shadow: none !important;
  color: silver;
  text-shadow: unset;
}
.jewel.togglebutton.primary.selected {
  background: linear-gradient(#71a02f, #557923);
  border: 1px solid #395118;
  box-shadow: inset 0px 1px 3px 0px rgba(50, 50, 50, 0.5);
  color: #FFFFFF;
}

.jewel.togglebutton.outlined {
  background: rgba(179, 179, 179, 0.05);
  border: 1px solid #999999;
  box-shadow: none;
  color: #8d8d8d;
  text-shadow: none;
}
.jewel.togglebutton.outlined:hover, .jewel.togglebutton.outlined:hover:focus {
  background: rgba(179, 179, 179, 0.15);
  border: 1px solid #8d8d8d;
  color: #737373;
}
.jewel.togglebutton.outlined:active, .jewel.togglebutton.outlined:active:focus {
  background: rgba(179, 179, 179, 0.25);
  border: 1px solid #858585;
  box-shadow: none;
  color: #737373;
}
.jewel.togglebutton.outlined:focus {
  border: 1px solid gray;
  box-shadow: none;
  color: #737373;
}
.jewel.togglebutton.outlined[disabled] {
  background: rgba(243, 243, 243, 0.1) !important;
  border: 1px solid #d9d9d9 !important;
  color: silver;
  text-shadow: unset;
}
.jewel.togglebutton.outlined.selected {
  background: rgba(179, 179, 179, 0.25);
  border: 1px solid #858585;
  box-shadow: none;
  color: #737373;
}

.jewel.togglebutton.primary.outlined {
  background: rgba(140, 198, 60, 0.05);
  border: 1px solid #71a02f;
  box-shadow: none;
  color: #638c29;
  text-shadow: none;
}
.jewel.togglebutton.primary.outlined:hover, .jewel.togglebutton.primary.outlined:hover:focus {
  background: rgba(140, 198, 60, 0.15);
  border: 1px solid #638c29;
  color: #47651e;
}
.jewel.togglebutton.primary.outlined:active, .jewel.togglebutton.primary.outlined:active:focus {
  background: rgba(140, 198, 60, 0.25);
  border: 1px solid #5a8126;
  box-shadow: none;
  color: #47651e;
}
.jewel.togglebutton.primary.outlined:focus {
  border: 1px solid #557923;
  box-shadow: none;
  color: #47651e;
}
.jewel.togglebutton.primary.outlined[disabled] {
  background: rgba(243, 243, 243, 0.1) !important;
  border: 1px solid #d9d9d9 !important;
  color: silver;
  text-shadow: unset;
}
.jewel.togglebutton.primary.outlined.selected {
  background: rgba(140, 198, 60, 0.25);
  border: 1px solid #5a8126;
  box-shadow: none;
  color: #47651e;
}

.jewel.togglebutton.unboxed {
  background: rgba(179, 179, 179, 0);
  border: 1px solid transparent;
  box-shadow: none;
  color: #8d8d8d;
  text-shadow: none;
}
.jewel.togglebutton.unboxed:hover, .jewel.togglebutton.unboxed:hover:focus {
  background: rgba(179, 179, 179, 0.15);
  border: 1px solid transparent;
  color: #737373;
}
.jewel.togglebutton.unboxed:active, .jewel.togglebutton.unboxed:active:focus {
  background: rgba(179, 179, 179, 0.25);
  border: 1px solid transparent;
  box-shadow: none;
  color: #737373;
}
.jewel.togglebutton.unboxed:focus {
  background: rgba(179, 179, 179, 0.15);
  border: 1px solid transparent;
  box-shadow: none;
  color: #737373;
}
.jewel.togglebutton.unboxed[disabled] {
  background: rgba(243, 243, 243, 0) !important;
  border: 1px solid transparent !important;
  color: silver;
  text-shadow: unset;
}
.jewel.togglebutton.unboxed.selected {
  background: rgba(179, 179, 179, 0.25);
  border: 1px solid transparent;
  box-shadow: none;
  color: #737373;
}

.jewel.togglebutton.primary.unboxed {
  background: rgba(140, 198, 60, 0);
  border: 1px solid transparent;
  box-shadow: none;
  color: #638c29;
  text-shadow: none;
}
.jewel.togglebutton.primary.unboxed:hover, .jewel.togglebutton.primary.unboxed:hover:focus {
  background: rgba(140, 198, 60, 0.15);
  border: 1px solid transparent;
  color: #47651e;
}
.jewel.togglebutton.primary.unboxed:active, .jewel.togglebutton.primary.unboxed:active:focus {
  background: rgba(140, 198, 60, 0.25);
  border: 1px solid transparent;
  box-shadow: none;
  color: #47651e;
}
.jewel.togglebutton.primary.unboxed:focus {
  background: rgba(140, 198, 60, 0.15);
  border: 1px solid transparent;
  box-shadow: none;
  color: #47651e;
}
.jewel.togglebutton.primary.unboxed[disabled] {
  background: rgba(243, 243, 243, 0) !important;
  border: 1px solid transparent !important;
  color: silver;
  text-shadow: unset;
}
.jewel.togglebutton.primary.unboxed.selected {
  background: rgba(140, 198, 60, 0.25);
  border: 1px solid transparent;
  box-shadow: none;
  color: #47651e;
}

.jewel.tooltip {
  color: #FFFFFF;
  background: #404040;
  box-shadow: 0px 3px 3px 0 rgba(0, 0, 0, 0.4);
  animation: slide-up 0.4s ease;
}
.jewel.tooltip.error {
  background: #EC1C24;
}
.jewel.tooltip::before {
  border: solid 8px transparent;
}
.jewel.tooltip.left-top::before {
  left: 8px;
  border-top-color: #EC1C24;
}
.jewel.tooltip.middle-top::before {
  margin-bottom: -8px;
  margin-left: -8px;
  border-top-color: #EC1C24;
}
.jewel.tooltip.left-middle::before {
  margin-top: -8px;
  margin-right: -8px;
  border-left-color: #EC1C24;
}
.jewel.tooltip.right-middle::before {
  margin-top: -8px;
  margin-left: -8px;
  border-right-color: #EC1C24;
}
.jewel.tooltip.middle-bottom::before {
  margin-top: -8px;
  margin-left: -8px;
  border-bottom-color: #EC1C24;
}
@keyframes slide-up {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.jewel.topappbar .topBarAppHeader {
  background: linear-gradient(#98cc50, #7eb435);
  border-top: 1px solid #afd777;
  border-bottom: 1px solid #557923;
  color: #FFFFFF;
  text-shadow: 0 -1px 0 rgba(57, 81, 24, 0.7);
}
.jewel.topappbar .topBarAppHeader.has-drawer {
  width: calc(100% - 240px);
}
.jewel.topappbar .jewel.barsection {
  padding: 8px 12px;
}
.jewel.topappbar .jewel.barsection button {
  background: transparent;
  box-shadow: none;
  border: none;
  padding: 12px;
  fill: #FFFFFF;
  color: inherit;
  text-shadow: 0 -1px 0 rgba(57, 81, 24, 0.7);
}
.jewel.topappbar .jewel.barsection button:hover, .jewel.topappbar .jewel.barsection button:hover:focus, .jewel.topappbar .jewel.barsection button:active, .jewel.topappbar .jewel.barsection button:active:focus, .jewel.topappbar .jewel.barsection button:focus {
  background: transparent;
  box-shadow: none;
  border: none;
}
.jewel.topappbar .jewel.barsection button[disabled] {
  background: transparent;
  box-shadow: none;
  border: none;
}
.jewel.topappbar .jewel.bartitle {
  font-size: 1.4em !important;
  font-weight: 800;
  padding-left: 20px;
  padding-right: 0;
}

.jewel.label.wizardTitle {
  color: #8CC63C;
  font-size: 2em !important;
}
.jewel.next, .jewel.previous {
  min-width: 44px;
}
.jewel.next:hover, .jewel.previous:hover {
  background: rgba(0, 0, 0, 0.1);
  border-radius: 5px;
}
.jewel.next .jewel.button, .jewel.previous .jewel.button {
  width: calc(100% - 10px);
}
j|Wizard {
  gap: 3;
  itemsVerticalAlign: itemsCentered;
}

/*# sourceMappingURL=defaults.css.map */
