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

@import 'typography';
@import 'z-index';
@import 'color';
@import 'breakpoint';
@import 'layout';
@import '../node_modules/leaflet.locatecontrol/dist/L.Control.Locate.css';
@import '../node_modules/leaflet/dist/leaflet.css';
@import '../node_modules/ngx-toastr/toastr';
@import '../node_modules/ag-grid-community/styles/ag-grid.css';
@import '../node_modules/ag-grid-community/styles/ag-theme-alpine.css';

html {
  height: -webkit-fill-available;
  margin: 0;
  padding: 0;
  background-color: $grey-9;
  @media print {
    background-color: $white;
  }
}
body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  color: $grey-1;
  background-color: $grey-10;
  ::-webkit-scrollbar {
    width: 8px;
    height: 4px;
  }
  /* Track */
  ::-webkit-scrollbar-track {
    background: $grey-8;
  }
  /* Handle */
  ::-webkit-scrollbar-thumb {
    background: $grey-1;
    border-radius: 8px;
  }
  /* Handle on hover */
  ::-webkit-scrollbar-thumb:hover {
    background: $grey-3;
  }
}

.root {
  display: flex;
  flex-direction: column;
  height: 100svh;
}

a {
  color: $grey-1;
  cursor: pointer;
}

.clickable {
  cursor: pointer;
}

:disabled {
  cursor: not-allowed !important;
}

.bold {
  font-weight: bold !important;
}
//Toastr
.ngx-toastr {
  background: white;
  box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.35) !important;
  border-radius: 0.5rem !important;
  padding: 0.5rem 0.75rem 0.5rem 3.5rem !important;
  background-size: 2.5rem !important;
  background-position: 0.5rem, center !important;
  min-height: 6.25rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: all 300ms ease;

  &:hover {
    box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.7) !important;
  }

  &.toast-warning {
    border: solid 1px $info-warning;
    color: $info-warning;
    background-image: url('/assets/ico/toast-warning.svg');
  }
  &.toast-success {
    border: solid 1px $info-success;
    color: $info-success;
    background-image: url('/assets/ico/toast-success.svg');
  }
  &.toast-error {
    border: solid 1px $info-error;
    color: $info-error;
    background-image: url('assets/ico/toast-error.svg');
    a {
      color: $info-error;
    }
  }
  &.toast-info {
    border: solid 1px $info-blue;
    color: $info-blue;
    background-image: url('assets/ico/toast-info.svg');
  }

  @media print {
    display: none;
  }
}

// Containers
.app-container {
  overflow-wrap: break-word;
}
.content-container {
  margin: 0;
  padding-top: 16px;
  padding-bottom: 16px;
  width: 100%;
  box-sizing: border-box;
  &.medium-pt {
    padding: 25px 0 30px 0;
  }
  &.small-pt {
    padding: 10px 0 30px 0;
  }
  &.no-pt {
    padding-top: 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;

  @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 **/
.formView {
  form {
    padding-bottom: 1rem;
    @media #{$tablet} {
      min-width: auto;
    }
  }
}

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

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

.flex {
  &.row {
    flex-direction: row;
  }
  &.row-wrap {
    flex-flow: row wrap;
  }
  &.column {
    flex-direction: column;
  }
  box-sizing: border-box;
  display: flex;
}

// PRINT
@media print {
  body,
  html,
  .root {
    height: auto;
  }

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

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

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

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

// AUTOCOMPLETE
.autocomplete-items {
  width: 100%;
  padding-right: 16px;
  border-radius: 8px;
  border: 0.0625rem solid #d4d4d4;
  box-shadow: $box-shadow;
  box-sizing: border-box;
  border-top: none;
  border-bottom: none;
  z-index: 99;
  background-color: #fff;
  cursor: pointer;
  max-height: 250px;
  overflow: auto;
  p {
    padding: 12px;
    &:not(:last-child) {
      border-bottom: 1px solid $grey-7;
    }
    &:hover {
      background-color: $grey-7;
      cursor: pointer;
    }
  }
}

:focus-visible {
  outline: 2px solid $blue-focus;
}

.visually-hidden {
  display: block !important;
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

// Status colors
.error {
  color: $info-error;
}
.success {
  color: $info-success;
}
.info {
  color: $info-blue;
}
.warning {
  color: $info-warning;
}
.warningBorder {
  border-color: $info-warning !important;
}

h1,
h2,
h3,
h4,
p {
  margin: 0;
}
.uppercase {
  text-transform: uppercase;
}

sup {
  font-size: $font-size-xxsmall;
  color: $red;
}

.formGroup {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 600px;
}

/* CONTAINERS */
div.inline {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

.tagList {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 12px 8px;
}

/* STORYBOOK */
.sb-colorRow {
  margin-block: 12px !important;
}

p.required-text-help {
  color: $grey-1;
  font-size: $font-size-xsmall !important;
}