/* You can add global styles to this file, and also import other style files */

@import 'assets/scss/typography';
@import 'assets/scss/z-index';
@import 'assets/scss/color';
@import 'assets/scss/breakpoint';
@import 'assets/scss/icons';
@import 'assets/scss/inputs';
@import 'assets/scss/hyperlink';
@import 'assets/scss/layout';
@import 'assets/scss/buttons';
@import '../node_modules/leaflet.locatecontrol/dist/L.Control.Locate.css';
@import '~ngx-toastr/toastr';

html {
  height: -webkit-fill-available;
  margin: 0;
  padding: 0;
  background-color: $grey-8;
}
body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background-color: $grey-8;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  overflow: hidden;
  ::-webkit-scrollbar {
    width: 8px;
  }
  /* Track */
  ::-webkit-scrollbar-track {
    background: $scrollbar-track;
  }
  /* Handle */
  ::-webkit-scrollbar-thumb {
    background: $scrollbar-thumb;
    border-radius: 8px;
  }
  /* Handle on hover */
  ::-webkit-scrollbar-thumb:hover {
    background: $grey-3;
    border-radius: 8px;
  }
}
a {
  color: $default-link-color;
  text-decoration: none;
  background-color: transparent;
  @include lato-regular-14;
  cursor: pointer;
  &:focus {
    text-decoration: none;
    outline-color: $primary-color;
  }
  &:hover {
    text-decoration: underline;
    outline-color: $primary-color;
  }
  &.primary {
    @include hyperlink;
    width: 100%;
  }
  &.right {
    text-align: right;
  }
}

.clickable {
  cursor: pointer;
}

.bold {
  font-weight: bold !important;
}

// Containers
.content-container {
  margin: 0;
  padding-top: 16px;
  width: 100%;
  box-sizing: border-box;
  &.medium-pt {
    padding: 25px 0 30px 0;
  }
  &.small-pt {
    padding: 10px 0 30px 0;
  }
  &.no-pt {
    padding: 0 0 30px 0;
  }
  &.full-screen {
    min-height: calc(100vh - #{$header-height} - #{$footer-height});
    @media #{$tablet} {
      min-height: calc(100vh - #{$header-height});
    }
  }
}
.section-container {
  width: 80%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 0;
  @media #{$tablet} {
    width: 95%;
    max-width: unset;
  }
  &.no-max-width {
    max-width: unset;
    margin-bottom: 1rem;
    width: unset;
  }
  &.news {
    max-width: 1080px;
  }
  &.no-padding {
    padding: 0;
  }
}

// Forms
.form-group {
  margin-bottom: 16px;
  label {
    color: $grey-1;
  }
}
form p.notRequired {
  margin-top: 0px;
  font-style: italic;
  color: $grey-3;
}

/** Inputs **/
input {
  margin-top: 4px;
}

/** Textarea **/
.textareaBlock {
  textarea {
    padding: 13px 8px;
    background: $grey-8;
    border: 1px solid $grey-5;
    border-radius: $input-radius;
    resize: none;
    outline: none;
    @include lato-regular-16;
    &:focus {
      border: 1px solid $grey-3;
    }
  }
}

/** Buttons **/
button {
  &:focus,
  &:focus-within {
    outline-color: $primary-color;
  }
}

/** Checkboxes **/
.checkbox {
  list-style-type: none;
  width: 100%;
  input {
    opacity: 0;
    display: none;
    &:checked ~ .customCheck {
      background-color: $grey-1;
      border-color: transparent;
    }
    &:checked ~ .customCheckPrimary {
      background-color: $primary-color;
      border-color: transparent;
    }
    &:checked ~ .customCheck:after {
      display: block;
    }
  }
  label {
    grid-template-columns: min-content auto;
    display: inline-grid;
    cursor: pointer;
  }
  .label {
    padding-left: 8px;
    padding-right: 10px;
    @include btn-pass;
    &.pass {
      @include lato-regular-16;
    }
  }
  .customCheck {
    display: inline-grid;
    width: 18px;
    height: 18px;
    min-width: 18px;
    min-height: 18px;
    background-color: $white;
    border: 1px solid $grey;
    cursor: pointer;
    position: relative;
    border-radius: 4px;
    top: 0;
    left: 0;
    &:hover {
      background-color: $grey-8;
    }
    &:after {
      content: '';
      position: absolute;
      display: none;
      left: 7px;
      top: 3px;
      width: 4px;
      height: 8px;
      border: solid $white;
      border-width: 0 2px 2px 0;
      transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
    }
  }
  &.no-width {
    width: unset;
  }
}

// Layout
.w-100 {
  width: 100%;
}

.mobile-column {
  @media #{$large-phone} {
    flex-direction: column;
  }
}

// PRINT

@media print {
  body,
  html,
  .forPrint {
    height: auto;
  }

  .content-container {
    display: none !important;
  }
}

// Modal

.modalBackground {
  width: 100%;
  height: 100%;
  z-index: $modal-z-index;
  position: fixed;
  content: '';
  top: 0;
  left: 0;
  background-color: $modal-background;
  .modal {
    max-height: 90%;
    overflow: auto;
    .contentModal {
      width: 100%;
      background: $white;
      padding-top: 20px;
    }
    .footerModal {
      width: 100%;
      margin-top: 14px;
      @include lato-bold-16;
      .btn {
        background: $primary-color;
        border-radius: 4px;
        outline: none;
        cursor: pointer;
        border: 0;
        color: $white;
        height: 40px;
        @include btn-bold;
        width: 149px;
        &.confirm {
          background: none;
          color: $grey-1;
          text-decoration: underline;
        }
      }
    }
    min-width: 350px;
    max-width: 560px;
    margin: auto;
    border-radius: 8px;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}

.structureCard {
  border: 1px solid $grey-4;
  border-radius: 6px;
  .structureInfo {
    border-radius: 6px;
    background: $white;
    min-height: 100px;
    padding: 33px 55px;
    @media #{$large-phone} {
      padding: 33px 25px;
    }
    a {
      margin: 0;
      &.structureName {
        @include lato-bold-26;
        color: $primary-color;
        text-decoration: underline;
      }
    }
    .ownerName {
      @include lato-regular-18;
      color: $grey-2;
    }
  }
  @include background-hash($grey-2);
}

.loader {
  width: 100%;
  text-align: center;
  .loader-gif {
    min-width: 10%;
    min-height: 10%;
  }
}

.no-margin {
  margin: 0 !important;
}

.backLink {
  cursor: pointer;
  color: $grey-2;
  margin-bottom: 40px;
  @include lato-bold-16;
  &:hover {
    opacity: 0.4;
  }
}

.userList {
  max-width: 50%;
}

.userBlock {
  max-width: 50%;
  margin: 0 auto;
}

[app-tooltipDirective] {
  position: relative;
}

.tooltip {
  position: absolute;
  bottom: 100%;
  white-space: nowrap;
  left: 0;
  padding: 10px;
  background: $grey;
  color: $white;
  box-shadow: 0 2px 1px rgba(0, 0, 0, 0.6);
}

.hide-on-desktop {
  display: none;
  @media #{$tablet} {
    display: block;
  }
}
.hide-on-mobile {
  @media #{$tablet} {
    display: none !important;
  }
}

.autocomplete-items {
  border: 0.0625rem solid #d4d4d4;
  box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.25);
  box-sizing: border-box;
  border-top: none;
  border-bottom: none;
  z-index: 99;
  background-color: #fff;
  cursor: pointer;
  max-height: 250px;
  overflow: auto;
}
.autocomplete-item {
  margin: 0;
  padding: 1em;
}
.autocomplete-item:hover {
  background-color: #dee6ee;
  cursor: pointer;
}