/*==============================================================================
============================== 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;
}

.uppercase {
  text-transform: uppercase;
}


.ml-3 {
  margin-left: 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;
}

.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: 1.2rem;
}

.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-left {
  width: calc( 100% - 100px );
  padding-left: 10px;
  padding-right: 10px;
}

.warenkorb-item-right {
  width: 50px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

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

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

#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;
  }
}

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

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

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

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


.content-inner {
  width: 100%;
  max-width: 620px;
  padding-left: 10px;
  padding-right: 10px;
}


.table-row {
  display: flex;
  margin-bottom: 10px;
}

.table-col-3 {
  width: 30px;
}

.table-col-1 {
  width: 150px;
}

.table-col-2 {
  width: calc( 100% - 180px );
}

.dot {
  width: 16px;
  height: 16px;
  border-radius: 8px;
  background-color: green;
}

.dot.error {
  background-color: red;
}

.ok {
  color: green;
}

.error {
  color: red;
}