html, body {
  font-family: 'Exo 2', sans-serif;
  font-size: 13px;
  color: #333;
}

h2 {
  margin: 5px 0;
  font-size: 1.4rem;
}
h3 {
  margin: 10px 0 5px 0;
  font-size: 1.2rem;
}
h4 {
  margin: 10px 0 5px 0;
  font-size: 1.1rem;
}

input {
  background: transparent;
  border: none;
  border-bottom: 1px solid #666;
}
input:focus {
  outline: none;
  border-bottom-color: #0b891d;
}
input[type=text], input[type=password], input[type=date],
input[type=number], input[type=search] {
  font-family: 'Exo 2', sans-serif;
  font-size: 13px;
  color: #333;
  padding: 3px 5px;
  margin: 2px 0;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

input[type='number'],
input[type="number"]:hover,
input[type="number"]:focus {
    appearance: none;
    -moz-appearance: textfield;
}
select {
  font-family: 'Exo 2', sans-serif;
  font-size: 13px;
  color: #333;
  border: none;
  border-bottom: 1px solid #666666;
}
select:focus {
  outline: none;
  border-bottom-color: #0b891d;
}
button {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Exo 2', sans-serif;
  border: 1px solid #bbb;
  border-radius: 3px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  padding: 5px 10px;
  background-color: #d9d9d9;
  color: #333;
  cursor: pointer;
  transition: all 200ms ease-in-out;
}
button:hover {
  background-color: #BBC274;
  color: #ffffff;
}
button:focus {
  box-shadow: 0 0 5px #B0CB1F;
  -moz-box-shadow: 0 0 5px #B0CB1F;
  -webkit-box-shadow: 0 0 5px #B0CB1F;
}
button > span.mdi {
  font-size: 1.3em;
  margin-right: 3px;
}
button.icon {
  padding: 5px 15px;
  /*background-color: #fff;*/
}
button.icon > span.mdi {
  margin-right: 0;
}
button.icon:hover {
  background-color: #BBC274;
}
button.icon.edit:hover {
  background-color: #3D5AFF;
}
button.icon.remove:hover {
  background-color: #B72628;
}
button.att {
  background-color: #0b891d;
  color: #fff;
}
button.att:hover {
  background-color: #BBC274;
  color: #ffffff;
}
button.att:focus {
  box-shadow: 0 0 5px #B0CB1F;
  -moz-box-shadow: 0 0 5px #B0CB1F;
  -webkit-box-shadow: 0 0 5px #B0CB1F;
}
button[disabled], button[disabled]:hover {
  color: #999;
  background-color: #d9d9d9;
  border-color: #bbb;
  cursor: not-allowed;
}

div.inline.field {
  display: flex;
  align-items: center;
  margin: 1em 0;
}
div.inline.field > label {
  width: auto;
  padding-right: 0.5em;
}
div.inline.field > input,
div.inline.field > select {
  flex: 1;
}
div.inline.field > button {
  width: auto;
  margin-left: 0.5em;
}

div.center.page.loader {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 150px;
  height: 150px;
  margin-top: -75px;
  margin-left: -75px;
  background-color: #eee;
  border-radius: 20px;
  text-align: center;
}
div.center.page.loader span.mdi {
  font-size: 100px;
}
div.center.page.loader span.mdi-autorenew {
  margin-top: 0px;
}

div.float {
  float: left;
}
div.float::after {
  content: '';
  display: block;
  clear: both;
}
div.float.right {
  float: right;
}

span.label.block {
  display: inline-block;
  padding: 0.3em 0.5em;
  margin-right: 0.5em;
  border-radius: 1em;
  background-color: #999;
  color: #fff;
}
span.label.block.uppercase {
  text-transform: uppercase;
}
span.label.block.icon {
  padding: 0 0.3em;
}
span.label.block.icon > span.mdi {
  font-size: 1.1em;
}
span.label.block.icon:first-child {
  margin-left: 0.5em;
}
span.label.block:last-child {
  margin-right: 0;
}
span.label.block.warning {
  background-color: #B72628;
}

@media screen and (min-width: 550px) {
  div.inline.field {
    display: inline-flex;
    margin: 0.3em 0;
  }
  div.inline.right.field {
    text-align: right;
  }
}

div.btn_group {
  display: flex;
}

div.flex_centered {
  display: flex !important;
  align-items: center;
}

span.highlighted {
  color: #0b891d;
}
span.lower {
  text-transform: lowercase;
}
span.dim, div.dim {
  color: #666;
}
.small {
  font-size: 0.9em;
}
.small.dim {
  color: #666;
}
.center.aligned {
  text-align: center;
}
.right.aligned {
  text-align: right;
}
span.att {
  text-transform: uppercase;
  color: #fff;
  background-color: #B72628;
  padding: 0.3em;
}

/* Слайдер */
.switch_check {
  display: flex;
  align-items: center;
}
.switch_check .label {
  margin-left: 0.5em;
}
.switch {
  display: inline-block;
  height: 1.4em;
  position: relative;
  width: 3em;
}
.switch input {
  display:none;
}
.slider {
  background-color: #ccc;
  bottom: 0;
  cursor: pointer;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: .4s;
}
.slider:before {
  background-color: #fff;
  bottom: 4px;
  content: "";
  height: calc(1.4em - 8px);
  left: 4px;
  position: absolute;
  transition: .4s;
  width: calc(1.4em - 8px);
}
.slider.float.right {
  float: right;
}
input:checked + .slider {
  background-color: #66bb6a;
}
input:checked + .slider:before {
  transform: translateX(calc((1.4em - 8px) * 2));
}
.slider.round {
  border-radius: 1em;
}
.slider.round:before {
  border-radius: 50%;
}

/* Статусы заказов */
.state {
  display: block;
  color: #fff;
  background-color: rgb(150, 150, 150);
  padding: 3px 5px;
  text-align: center;
  align-items: center;
  width: auto;
}
.state.invoiced,
.state_sem.invoiced {
  background-color: rgb(255, 140, 0) !important;
}
.state.paid,
.state_sem.paid {
  background-color: rgb(46, 139, 87) !important;
}
.state.in_prod,
.state_sem.in_prod {
  background-color: rgb(70, 130, 180) !important;
}
.state.preready,
.state_sem.preready {
  background-color: rgb(212, 32, 137) !important;
}
.state.ready,
.state_sem.ready {
  background-color: rgb(215, 0, 0) !important;
}
.state.shiped,
.state_sem.shiped {
  background-color: rgb(87, 0, 127) !important;
}
.state.deleted,
.state_sem.deleted {
  background-color: rgb(0, 0, 0) !important;
}

/* Основное меню */
nav.menu#mainMenu {
  display: none;
  position: fixed;
  top: 45px;
  left: 0;
  background-color: #333;
  color: #ccc;
  height: 100%;
  z-index: 10;
}
nav.menu#mainMenu ul {
  margin: 0;
  padding: 0 5px;
}
nav.menu#mainMenu ul li {
  display: flex;
  align-items: center;
  list-style: none;
  padding: 5px;
  border-bottom: 1px solid #666;
  cursor: pointer;
  transition: all 200ms ease-in-out;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
}

nav.menu#mainMenu ul li.active span:first-child {
  color: #B0CB1F;
  background-color: #333;
  z-index: 12;
}
nav.menu#mainMenu ul li:hover, nav.menu ul li:hover a {
  color: #fff;
}
nav.menu#mainMenu ul li span.mdi {
  transition: all 200ms ease-in-out;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
}
nav.menu#mainMenu ul li a,
nav.menu#mainMenu ul li a:hover,
nav.menu#mainMenu ul li a:link,
nav.menu#mainMenu ul li a:visited {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: #ccc;
  width: 100%;
  transition: all 200ms ease-in-out;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
}
nav.menu#mainMenu ul li:hover span.mdi {
  color: #0b891d;
}
nav.menu#mainMenu ul li:last-child {
  border-bottom: none;
}
nav.menu#mainMenu ul li a span:first-child {
  font-size: 24px;
}
nav.menu#mainMenu ul li a span:last-child {
  display: inline-block;
  box-sizing: padding-box;
  transition: all 200ms ease-in-out;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  transition-delay: 0.3s;
}
nav.menu#mainMenu ul li a span:last-child::before {
  content: '\00A0\00A0\00A0';
}

/* Основной блок информации */
div#wrapper {
  display: block;
  padding: 0 10px 10px 10px;
  box-sizing: border-box;
  width: 100%;
}
div#wrapper div.page_header {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: space-between;
  height: 44px;
  border-bottom: 1px solid #cccccc;
  margin-bottom: 5px;
}
div#wrapper div.page_header span.client_id {
  color: #bbb;
}
div#wrapper div.page_header img.logo {
  height: 25px;
}
div#wrapper div.page_header img.logo.logo_mid {
  display: inline-block;
}
div#wrapper div.page_header img.logo.logo_big {
  display: none;
}
div#wrapper div.page_header img.logo.logo_short {
  display: none;
}
div#wrapper div.page_header > div {
  display: flex;
  align-items: center;
}
div#wrapper .s {
  display: inline;
}
div#wrapper .m {
  display: none;
}

div#btnToggleMenu {
  display: inline-block;
  font-size: 25px;
}
span#btnToggleAccountMenu {
  font-size: 22px;
  cursor: pointer;
}

div.top_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
  flex-wrap: nowrap;
}
div.top_header div.info {
  display: flex;
  align-items: center;
  font-size: 1.5rem;
  text-transform: uppercase;
}
div.top_header div.info span.ordernum {
  font-size: 1.2em;
}
div.top_header div.info span.mdi {
  font-size: 1.4em;
  color: #0b891d;
  margin-right: 5px;
}
div.top_header div.filter {
  flex-grow: 1;
}
#fldFilter {
  width: calc(100% - 3em);
}
div.top_header > div button.s {
  display: flex;
}
div.top_header > div button.m {
  display: none;
}

div#wrapper div.page_header div.account_info {
  position: relative;
  padding: 0 0 0 3px;
  transition: all 200ms ease-in-out;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: allS 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  z-index: 10;
}
div#wrapper div.page_header div.account_info a {
  display: flex;
  align-items: center;
  text-decoration: none;
}
div#wrapper div.page_header div.account_info ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
div#wrapper div.page_header div.account_info li {
  display: block;
  float: left;
  padding: 0.3rem 0 0.3rem 0.4rem;
  position: relative;
  text-decoration: none;
  transition: all 200ms ease-in-out;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
}
div#wrapper div.page_header div.account_info nav > ul > li {
  transition-property: all;
  transition-delay: 0.2s;
}
div#wrapper div.page_header div.account_info li a {
  color: #333;
}
div#wrapper div.page_header div.account_info li:hover {
  background-color: #ededed;
  border-left-color: #0b891d;
}
div#wrapper div.page_header div.account_info ul li ul {
  display: block;
  background-color: #ededed;
  visibility: hidden;
  opacity: 0;
  min-width: 5rem;
  position: absolute;
  transition: all 200ms ease-in-out;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  pointer-events: none;
  right: 0;
}
div#wrapper div.page_header div.account_info ul li > ul {
  transition-property: all;
  transition-delay: 0.2s;
}
div#wrapper div.page_header div.account_info ul li:hover > ul,
div#wrapper div.page_header div.account_info ul li:focus-within > ul,
div#wrapper div.page_header div.account_info ul li ul:hover {
  transition-property: all;
  transition-delay: 0.5s;
  visibility: visible;
  opacity: 1;
  pointer-events: all;
  border-radius: 0 0 4px 4px;
}
div#wrapper div.page_header div.account_info ul li ul li {
  clear: both;
  background-color: #ededed;
  box-sizing: border-box;
  border-left: 3px solid #ededed;
  border-top: 1px solid #ddd;
  width: 100%;
}
div#wrapper div.page_header div.account_info ul li ul li:first-child {
  border-top: none;
}
div#wrapper div.page_header div.account_info ul li ul li a {
  padding: 0.5rem 0.7rem;
  display: flex;
  align-items: center;
}
div#wrapper div.page_header div.account_info ul li ul li a:hover {
  color: #0b891d;
}
div#wrapper div.page_header div.account_info ul li ul li a span.mdi {
  font-size: 1.5em;
  margin-right: 0.4rem;
}

/* Меню действий на странице */
div.top_header div.page_do {
  position: relative;
  padding: 0 0 0 3px;
  transition: all 200ms ease-in-out;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: allS 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
}
div.top_header div.page_do a {
  display: flex;
  align-items: center;
  text-decoration: none;
}
div.top_header div.page_do ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
div.top_header div.page_do li {
  display: block;
  float: left;
  padding: 0.3rem 0 0.3rem 0.4rem;
  position: relative;
  text-decoration: none;
  transition: all 200ms ease-in-out;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
}
div.top_header div.page_do li a {
  color: #333;
}
div.top_header div.page_do li:hover {
  background-color: #ededed;
  border-left-color: #0b891d;
}
div.top_header div.page_do ul li ul {
  display: block;
  background-color: #ededed;
  visibility: hidden;
  opacity: 0;
  min-width: 16rem;
  position: absolute;
  transition: all 200ms ease-in-out;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  pointer-events: none;
  right: 0;
}
div.top_header div.page_do ul li:hover > ul,
div.top_header div.page_do ul li:focus-within > ul,
div.top_header div.page_do ul li ul:hover {
  visibility: visible;
  opacity: 1;
  pointer-events: all;
  border-radius: 0 0 4px 4px;
}
div.top_header div.page_do ul li ul li {
  clear: both;
  background-color: #ededed;
  box-sizing: border-box;
  border-left: 3px solid #ededed;
  border-top: 1px solid #ddd;
  width: 100%;
}
div.top_header div.page_do ul li ul li:first-child {
  border-top: none;
}
div.top_header div.page_do ul li ul li a {
  padding: 0.5rem 0.7rem;
  display: flex;
  align-items: center;
}
div.top_header div.page_do ul li ul li a:hover {
  color: #0b891d;
}
div.top_header div.page_do ul li ul li a span.mdi {
  font-size: 1.5em;
  margin-right: 0.4rem;
}
div.page_do a.s {
  display: flex !important;
}
div.page_do a.m {
  display: none !important;
  border-bottom: 2px solid #ededed;
}
span.btnTogglePageDoMenu {
    font-size: 22px;
    cursor: pointer;
}

[v-cloak] {
  display: none;
  padding: 50px 0;
}

@keyframes spinner {
  to {
    transform: rotate(360deg);
  }
}

[v-cloak]:before {
  content: '';
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  margin-left: -10px;
  border-radius: 50%;
  border: 2px solid #ccc;
  border-top-color: #333;
  animation: spinner .6s linear infinite;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

[v-cloak] > div {
  display: none;
}

div.loading {
  display: none;
  text-align: center;
  font-size: 1.1em;
  background-color: #eee;
  border: 1px solid #ccc;
  padding: 1em 0;
  margin: 0.3em 0;
}
div.loading > span.mdi-spin {
  font-size: 2.5em !important;
}

@media screen and (min-width: 550px) {
  .state {
    margin: 0 3px;
  }

  nav.menu#mainMenu {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #333;
    color: #ccc;
    height: 100%;
    z-index: 10;
  }
  nav.menu#mainMenu ul li a span:last-child {
    display: inline-block;
    width: 0;
    overflow: hidden;
    transition: all 200ms ease-in-out;
    -webkit-transition: all 200ms ease-in-out;
    -moz-transition: all 200ms ease-in-out;
    -ms-transition: all 200ms ease-in-out;
    -o-transition: all 200ms ease-in-out;
    transition-delay: 0.3s;
  }
  nav.menu#mainMenu:hover ul li a span:last-child {
    width: 150px;
  }

  button.icon {
    padding: 5px;
  }

  div#wrapper {
    margin-left: 44px;
    width: calc(100% - 52px);
  }
  div#wrapper div.page_header img.logo.logo_mid {
    display: inline-block;
  }
  div#wrapper div.page_header img.logo.logo_short,
  div#wrapper div.page_header img.logo.logo_big {
    display: none;
  }
  div#wrapper .s {
    display: none;
  }
  div#wrapper .m {
    display: inline;
  }

  div#btnToggleMenu {
    display: none;
    cursor: pointer;
  }

  div.top_header div.filter {
    flex-grow: inherit;
  }
  #fldFilter {
    width: auto;
  }
}

@media screen and (min-width: 730px) {
  div#wrapper div.page_header img.logo.logo_big {
    display: inline-block;
  }
  div#wrapper div.page_header img.logo.logo_short,
  div#wrapper div.page_header img.logo.logo_mid {
    display: none;
  }
  div.page_do a.s {
    display: none !important;
  }
  div.page_do a.m {
    display: flex !important;
  }
}
