/*==============================================================================
============================== ALLGEMEIN =======================================
==============================================================================*/

html {
  height: 100%;
}

body {
  width: 100%;
  min-height: 100%;
  height: 100%;
  margin: 0px;
}

.flex-center-center {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}


.display-none {
  display: none;
}

.align-center-left {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.align-center-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.align-center-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.align-right {
  display: flex;
  justify-content: flex-end;
}

.ml-3 {
  margin-left: 1rem!important;
}

.mr-2 {
  margin-right: 0.5rem!important;
}

.mr-3 {
  margin-right: 1rem!important;
}

.mt-20 {
  margin-top: 20px;
}

.mt-40 {
  margin-top: 40px;
}

.mb-10 {
  margin-bottom: 10px;
}


@media (min-width: 576px){
  .mt-sm-20 {
    margin-top: 20px;
  }
  .mt-sm-40 {
    margin-top: 40px;
  }
}

@media (min-width: 768px){
  .mt-md-0 {
    margin-top: 0px;
  }
}

@media (min-width: 992px){
  .mt-lg-0 {
    margin-top: 0px;
  }
}

/*==============================================================================
============================== HEADER ==========================================
==============================================================================*/

#header {
  height: 100px;
  width: 100%;
  position: fixed;
  top: 0px;
  box-shadow: 0px 4px 14px #dbeaff;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  background: #dbeaff;
  z-index: 100;
}

#header > .row {
  height: 100%;
  padding: 0px 20px;
}

/*==============================================================================
============================== MENU ============================================
==============================================================================*/

#menu {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  background-color: #edf5ff;
  z-index: 10;
  left: -100%;
  padding-top: 120px;
}

.menu-inner {
  padding-left: 20px;
  padding-right: 20px;
}

.menu-inner > a {
  display: block;
  padding: 20px;
  text-decoration: none;
  color: #000000;
}

.menu-inner > a:hover {
  background-color: #a8adb3;
}

/*==============================================================================
============================== LOGIN ===========================================
==============================================================================*/


.login-header {
  margin-bottom: 30px;
}

.login-container {
  padding: 30px;
  background-color: #ffffff;
  box-shadow: 0px 1px 6px #0000001F;
  border-radius: 4px;
  width: 100%;
  max-width: 400px;
}

/*==============================================================================
============================== KUNDEN ==========================================
==============================================================================*/

a.card {
  height: 100%;
  color: inherit;
  text-decoration: none;
  border-color: #cfe2ff;
}

a.card:hover {
  box-shadow: 0px 4px 14px #dbeaff;
}

div.card-img-top {
  width: 100%;
  height: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 50px;
  color: #0d6efd;
  background: #dbeaff;
}

/*==============================================================================
============================== WARENKORB =======================================
==============================================================================*/

.warenkorb {
  position: absolute;
  z-index: 200;
  max-width: 800px;
  width: calc( 100% - 40px );
  padding: 30px;
  border-radius: 10px;
  background: #ffffff;
  right: 20px;
  top: 95px;
  box-shadow: 3px 3px 11px #a4a5a7;
  display: none;
}

.warenkorb::before {
  content: " ";
  position: absolute;
  width: 20px;
  height: 20px;
  background: #ffffff;
  top: -8px;
  right: 28px;
  transform: rotate( 45deg );
}

.warenkorb-items {
  overflow-y: auto;
  margin-top: 10px;
  margin-left: 0px;
  margin-right: 0px;
  max-height: 400px;
}

.warenkorb-item {
  display: flex;
  border-bottom: 1px solid #cfe2ff;
  padding-top: 10px;
  padding-bottom: 10px;
}

.warenkorb h1 {
  font-size: 1.4rem;
}

.warenkorb-item h2 {
  font-size: 1rem;
}

.warenkorb-item h3 {
  font-size: 1rem;
  font-weight: 400;
  margin-bottom: 0px;
}

.warenkorb-item h3 > strong {
  font-weight: 500;
}

.warenkorb-item-img {
  width: 50px;
  display: flex;
  align-items: center;
}

.warenkorb-item-img img {
  width: 100%;
  height: auto;
}

.warenkorb-item-main {
  width: calc( 100% - 170px );
  padding-left: 10px;
  padding-right: 10px;
}

.warenkorb-item-menge {
  display: flex;
  justify-content: space-between;
}

.warenkorb-item-menge .warenkorb-item-menge-preis {
  width: 150px;
}

.warenkorb-item-mengecontrol,
.warenkorb-item-del {
  display: flex;
  width: 50px;
  flex-direction: column;
  justify-content: center;
}

.warenkorb-item-del {
  margin-left: 20px;
}

#warenkorb-notiz {
  width: 100%;
  resize: none;
  border: 1px solid #cfe2ff;
}

#warenkorb-overlay {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: transparent;
  z-index: 100;
}

@media (max-width: 576px){
  .warenkorb {
    width: 100%;
    right: 0px;
  }
  .warenkorb::before {
    right: 45px;
  }
  .warenkorb h1 {
    font-size: 1.2rem;
    margin-bottom: 0.3rem;
  }
  .warenkorb h6 {
    font-size: 0.9rem;
    margin-bottom: 0.15rem;
  }
}

/*==============================================================================
============================== CONTENT =========================================
==============================================================================*/

.content-margin-top {
  margin-top: 140px;
}

.content-padding-top {
  padding-top: 140px;
  padding-bottom: 40px;
}


/*==============================================================================
============================== ORDER ===========================================
==============================================================================*/

.order {
  width: 100%;
  box-shadow: 4px 4px 14px #cfe2ff;
  border-radius: 10px;
}

.order .order-header {
  padding: 1.5rem;
  border: 1px solid #cfe2ff;
  background: #cfe2ff;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.order .order-body,
.order .order-item:last-child {
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

.order .order-item {
  padding: 1.5rem;
  border-left: 1px solid #cfe2ff;
  border-right: 1px solid #cfe2ff;
  border-bottom: 1px solid #cfe2ff;
}

.order .order-item a {
  color: #212529;
}

.order-item-img {
  height: auto;
  width: auto;
  max-width: 100%;
  max-height: 100%;
}

.order-item-img-big {
  display: none;
  position: absolute;
  background-color: #ffffff;
  z-index: 5;
  border-radius: 10px;
  max-width: 400px;
}

.order-item-img-big img {
  width: 100%;
}



.order .order-title {
  margin-bottom: 0px;
}

.order-item-title h5 {
  margin-bottom: 0px;
  line-height: 38px;
}

.order .order-item .order-item-title h3,
.order .order-item-menge h5 {
  margin-bottom: 0px;
  word-break: break-word;
}

.order-button-file-button {
  max-width: 100%;
  width: 100%;
}

.order-item-desc[data-toggle='0'] {
  max-height: 110px;
  overflow: hidden;
}

.order-item-desc[data-toggle='1'] {
  max-height: auto;
}

.order-item-desc-toggle {
  padding-top: 20px;
}

.order-item-desc-toggle-button {
  color: #0055a1;
  text-decoration: underline;
  cursor: pointer;
}

.order-item-masseh-text {
  width: 70px;
}

@media (max-width: 992px) {
  .order-item-img-big {
    display: none !important;
  }
  .order-item-img {
    width: auto !important;
    max-width: 200px;
    margin-bottom: 30px;
    margin-left: auto;
    margin-right: auto;
  }
}

/*==============================================================================
============================== ARTIKEL KATALOG =================================
==============================================================================*/

#artikel-katalog .modal-body {
  padding: 0px;
}

#artikel-katalog .modal-search,
#artikel-katalog .modal-items {
  padding: 30px;
}

#artikel-katalog .modal-items {
  border-top: 1px solid #dee2e6;
}

#artikel-katalog .modal-content {
  height: 100%;
}

#artikel-katalog .modal-dialog-scrollable .modal-body {
  overflow-y: hidden;
  height: 100%;
}

#artikel-katalog .modal-items {
  height: calc( 100% - 98px );
  overflow-y: auto;
}

.card.artikel {
  height: 100%;
}

.card.artikel div.card-img-top {
  background-color: transparent;
  height: auto;
}

.card.artikel .card-img-top-inner {
  height: 180px;
  display: flex;
  align-items: center;
  max-width: calc( 100% - 40px );
  overflow: hidden;
}

.card.artikel .card-body {
  display: flex;
  height: 100% ;
  flex-direction: column;
  justify-content: space-between;
}

.card.artikel .card-text-title {
  font-weight: 500;
}


/*==============================================================================
============================== BTN =============================================
==============================================================================*/

.btn-fluid {
  width: 100%;
}

.btn-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  width: 50px;
  padding: 0px;
  border-radius: 50%;
  font-size: 22px;
}

.btn-fs {
  display: block;
  width: 100%;
}

.order .order-item a.btn-primary,
.btn-primary {
  color: #ffffff;
}

.btn-blue {
  background-color: #7e9cd0;
  color: #ffffff;
}

.btn-blue:hover {
  background-color: #57585a;
  color: #ffffff;
}

.btn-grey {
  background-color: #ffffff;
  color: #57585a;
  border-color: #57585a;
}

.btn-grey:hover {
  background-color: #57585a;
  color: #ffffff;
}

.btn-dual {
  line-height: 1rem;
  padding-top: .3rem;
  padding-bottom: .3rem;
}

.btn-dual:first-child {
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
}

.btn-dual:last-child {
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}


/*==============================================================================
============================== OFFENER POSTEN ==================================
==============================================================================*/

.offener-posten {
  border: 1px solid #cfe2ff;
  padding-top: 10px;
  padding-bottom: 10px;
}



.offener-posten-col h6 {
  margin-bottom: 4px;
}

@media (max-width: 992px) {
  .offener-posten-col {
    margin-bottom: 10px;
  }
}

/*==============================================================================
============================== BARCODE SCANNER =================================
==============================================================================*/

#interactive.viewport {
  width: 100%;
  position:relative;
}


#interactive.viewport video {
  width: 100%;
  height: 100%;
}

#interactive.viewport canvas {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 100%;
  height: calc( 100% - 6px );
}


/*==============================================================================
============================== HAMBURGER =======================================
==============================================================================*/

.hamburger {
	padding: 15px 0px;
	display: inline-block;
	cursor: pointer;
	transition-property: opacity, filter;
	transition-duration: 0.15s;
	transition-timing-function: linear;
	font: inherit;
	color: inherit;
	text-transform: none;
	background-color: transparent;
	border: 0;
	margin: 0;
	overflow: visible;
}
.hamburger:hover {
	opacity: 0.7;
}
.hamburger.is-active:hover {
  opacity: 0.7;
}
.hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner::before, .hamburger.is-active .hamburger-inner::after {
  background-color: #0d6efd;
}
.hamburger-box {
  width: 40px;
  height: 24px;
  display: inline-block;
  position: relative;
}
.hamburger-inner {
   display: block;
   top: 50%;
   margin-top: -2px;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 40px;
  height: 4px;
  background-color: #0d6efd;
  border-radius: 4px;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}
.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block;
}
.hamburger-inner::before {
  top: -10px;
}
.hamburger-inner::after {
  bottom: -10px;
}

.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--squeeze .hamburger-inner::before {
  transition: top 0.075s 0.12s ease, opacity 0.075s ease;
}
.hamburger--squeeze .hamburger-inner::after {
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--squeeze.is-active .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--squeeze.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease;
}
.hamburger--squeeze.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}
