@import '~perfect-scrollbar/css/perfect-scrollbar.css';
@import '~@angular/cdk/overlay-prebuilt.css';
@import 'scss/theme';

::-webkit-scrollbar {
  width: 0; // remove scrollbar space
  background: transparent; // optional: just make scrollbar invisible */
}

.width-100 {
  width: 100%;
}

body {
  font-family: 'Open Sans';
  margin: 0;
  height: 100vh;
  width: 100%;
  position: fixed;
  overflow: hidden;
  background-color: $isa-branch-bg;

  &.branch {
    background-color: #edeff0;
  }
}

.bg-branch {
  height: 100%;
  padding: 0 1rem;
  background-color: #edeff0;
}

.bg-customer {
  height: 100%;
  padding: 0 1rem;
  background-color: #e6eff9;
}

.hide {
  display: none;
}

.p-sticky {
  position: sticky;
  top: 0;
}

.position-absolute {
  position: absolute;
}

.align-left {
  text-align: left;
}

.align-center {
  text-align: center;
}

.align-right {
  text-align: right;
}

.pl-1 {
  padding-left: 1px;
}

.pt-1 {
  padding-top: 1px;
}

.pt-3 {
  padding-top: 3px;
}

.pt-4 {
  padding-top: 4px;
}

.pt-5 {
  padding-top: 5px;
}

.pt-12 {
  padding-top: 12px;
}

.pt-13 {
  padding-top: 13px;
}

.pt-17 {
  padding-top: 17px;
}

.pt-19 {
  padding-top: 19px;
}

.pt-39 {
  padding-top: 39px;
}

.pt-42 {
  padding-top: 42px;
}

.pr-4 {
  padding-right: 4px;
}

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

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

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

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

.pb-16 {
  padding-bottom: 16px;
}

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

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

.mx-8 {
  margin-left: 8px;
  margin-right: 8px;
}

.mx-16 {
  margin-left: 16px;
  margin-right: 16px;
}

.px-16 {
  padding-left: 16px;
  padding-right: 16px;
}

.py-20 {
  padding-top: 20px;
  padding-bottom: 20px;
}

.mr-5 {
  margin-right: 5px;
}

.ml-5 {
  margin-left: 5px;
}

.ml-8 {
  margin-left: 8px;
}

.ml-10 {
  margin-left: 10px;
}

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

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

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

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

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

.text-grey {
  color: $font-color-gray;
}

.ml-16 {
  margin-left: 16px;
}

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

.c-pointer {
  cursor: pointer;
}

.d-flex {
  display: flex;
}

.w-100 {
  width: 100%;
}

.flex-column {
  flex-flow: column;
}

.flex-grow-1 {
  flex-grow: 1;
}

.wrap-text-more {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

hr {
  height: 3px;
  background-color: #e0ebf5;
  width: 100%;
  outline: none;
  border: none;
  margin: 0;

  &.branch {
    background-color: #edeff0;
  }
}

.form-group {
  position: relative;
  margin-bottom: 2.5rem;
  width: 100%;
}

.form {
  display: flex;
  flex-direction: column;
  width: 100%;
  justify-content: center;
  align-items: center;
}

.form-group-split-container {
  display: flex;
  justify-content: space-between;
  align-items: center;

  .form-group-split {
    width: 47%;
    position: relative;
  }
}

.form-group-inline {
  position: relative;
  width: 100%;
  height: 63px;

  display: flex;
  justify-content: space-between;
  align-items: center;
}

.fixed-card-header {
  height: 130px;
  position: absolute;
  z-index: 32;
  background-color: #fff;
  box-shadow: 0 19px 25px -8px #fff;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  font-weight: bold;
  font-size: 26px;
  text-align: center;
}

.fixed-header-description {
  font-size: 22px;
  width: 359px;
  text-align: center;
  margin: 145px auto 45px auto;
}

.fixed-card-container {
  border-radius: 4px 4px 0 0;
  box-shadow: 0px -2px 24px 0px #dce2e9;
  height: 100%;
  background-image: linear-gradient(-180deg, #ffffff 0%, #ffffff 100%);
  -webkit-overflow-scrolling: touch;
  overflow-y: scroll;
  scroll-behavior: smooth;
  position: relative;
  z-index: 30;
  overflow-x: hidden;
}

// TODO: This will be updated when recommendations is implemented everywhere
.recommendations {
  background-color: #fff;
  box-shadow: 0px -2px 18px 0px #dce2e9;
  z-index: 60 !important;
  position: fixed;
  border-radius: 4px 4px 0 0;
  bottom: 78px;

  .header {
    width: 100%;
    text-align: left;
    color: #1f466c;
    display: flex;
    align-items: center;
    height: 60px;
    padding-left: 20px;
    cursor: pointer;

    .icon {
      height: 17px;
      width: 24px;
      background-image: url(/assets/images/Empfehlungen_Icon.svg);
      padding-top: 7px;
      background-repeat: no-repeat;
      background-position: center;
    }

    span {
      font-family: 'Open Sans';
      font-size: 15px;
      font-weight: bold;
      text-transform: uppercase;
      padding-top: 4px;
      position: absolute;
    }
  }
}

/*
  Tooltip directive
 */
.ng-tooltip {
  --pin-left: 50%;
  --pin-top: 50%;
  position: absolute;
  max-width: 450px;
  font-size: 14px;
  text-align: center;
  color: white;
  padding: 5px 10px;
  background: #1f466c;
  border-radius: 4px;
  z-index: 1000;
  opacity: 0;
  &::after {
    content: '';
    position: absolute;
    border-style: solid;
    border-width: 5px;
  }

  &.ng-tooltip-top:after,
  &.ng-tooltip-bottom:after {
    left: var(--pin-left);
    margin-left: -5px;
  }

  &.ng-tooltip-top:after {
    top: 100%;
    border-color: #1f466c transparent transparent transparent;
  }
  &.ng-tooltip-bottom:after {
    bottom: 100%;
    border-color: transparent transparent #1f466c transparent;
  }
  &.ng-tooltip-left:after,
  &.ng-tooltip-right:after {
    top: var(--pin-top);
    margin-top: -5px;
  }
  &.ng-tooltip-left:after {
    left: 100%;
    border-color: transparent transparent transparent #1f466c;
  }
  &.ng-tooltip-right:after {
    right: 100%;
    border-color: transparent #1f466c transparent transparent;
  }
  &.ng-tooltip-show {
    opacity: 1;
  }
}

/*
  ##Device = Big Desktops
*/
@media (min-width: 1281px) {
  .recommendations {
    width: 916px;
  }
}

/*
  ##Device = Laptops, Desktops, Ipad pro
*/
@media (min-width: 1025px) and (max-width: 1280px) {
  .recommendations {
    width: 916px;
  }
}

/*
  ##Device = Tablets, Ipads
*/
@media (min-width: 768px) and (max-width: 1024px) {
  .recommendations {
    width: 737px;
  }
}

.spinner {
  background-image: url('/assets/images/Icon_Loading_Grey.svg');
  background-size: 30px 30px;
  width: 30px;
  height: 30px;
  scale: 0.6;
  background-repeat: no-repeat;
  margin: auto;
  margin-top: 25px;

  animation: spin 1s infinite linear;
}

@keyframes spin {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}

.spinner {
  background-image: url('/assets/images/Icon_Loading_Grey.svg');
  background-size: 30px 30px;
  width: 30px;
  height: 30px;
  scale: 0.6;
  background-repeat: no-repeat;
  margin: auto;
  margin-top: 25px;

  animation: spin 1s infinite linear;
}

@keyframes spin {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
