Skip to content
Snippets Groups Projects
styles.scss 10.2 KiB
Newer Older
Hugo SUBTIL's avatar
Hugo SUBTIL committed
/* You can add global styles to this file, and also import other style files */
@import 'typography';
@import 'z-index';
@import 'color';
@import 'breakpoint';
@import 'inputs';
@import 'hyperlink';
@import 'layout';
@import 'buttons';
@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;
body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
Bastien DUMONT's avatar
Bastien DUMONT committed
  color: $grey-1;
  background-color: $grey-10;
  ::-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;
  }

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

Bastien DUMONT's avatar
Bastien DUMONT committed
  color: $grey-1;
  background-color: transparent;
  cursor: pointer;
  &:focus {
    outline-color: $primary-color;
  }
  &:hover {
    text-decoration: underline;
  &.primary {
    @include hyperlink;
    width: 100%;
    text-align: right;
  }
Hugo SUBTIL's avatar
Hugo SUBTIL committed
.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');
  }
  &.toast-info {
    border: solid 1px $info-blue;
    color: $info-blue;
    background-image: url('assets/ico/toast-info.svg');
// Containers
.content-container {
  margin: 0;
  padding-top: 16px;
  width: 100%;
  &.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;
Bastien DUMONT's avatar
Bastien DUMONT committed

  @media #{$tablet} {
    width: 95%;
    max-width: unset;
  }
  &.no-max-width {
    max-width: unset;
    margin-bottom: 1rem;
    width: unset;
// Forms
.form-group {
  margin-bottom: 16px;
    color: $grey-1;
  }
}
form p.notRequired {
  margin-top: 0px;
  font-style: italic;
Guilhem CARRON's avatar
Guilhem CARRON committed
.form-group .addressRow {
  padding-bottom: 1.5rem;
}
.formView {
  form {
    padding-bottom: 1rem;
Bastien DUMONT's avatar
Bastien DUMONT committed
    min-width: 600px;
    @media #{$tablet} {
      min-width: auto;
    }
textarea {
  padding: 13px 8px;
  background: $grey-9;
  border: 1px solid $grey-5;
  border-radius: $input-radius;
  resize: none;
  outline: none;
  &:focus {
    border: 1px solid $grey-3;
/** Buttons **/
button {
  &:focus,
  &:focus-within {
    outline-color: $primary-color;
/** Checkboxes **/
.checkbox {
  list-style-type: none;
  input {
    opacity: 0;
    display: none;
    &:checked ~ .customCheck {
      background-color: $grey-3;
      border-color: transparent;
    }
    &:checked ~ .customCheckPrimary {
      background-color: $grey-1;
      border-color: transparent;
    }
    &:checked ~ .customCheck:after {
      display: block;
    }
  }
  label {
    grid-template-columns: min-content auto;
    display: inline-grid;
    cursor: pointer;
  }
  .label {
Jérémie BRISON's avatar
Jérémie BRISON committed
    @include btn-pass;
Jérémie BRISON's avatar
Jérémie BRISON committed
    &.pass {
  }
  .customCheck {
    display: inline-grid;
    width: 18px;
    height: 18px;
    background-color: $white;
    border: 1px solid $grey-3;
    cursor: pointer;
    position: relative;
      background-color: $grey-9;
    }
    &: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);
    }
  }
.halfCheck {
  position: relative;
  &:before {
    content: '';
    position: absolute;
    display: block;
    width: 10px;
    left: 4px;
    top: 8px;
    transform: rotate(0deg);
    border-bottom: solid 2px $grey-2;
    border-radius: 0;
  }
}
// Layout
.w-100 {
  width: 100%;
}
Hugo SUBTIL's avatar
Hugo SUBTIL committed

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

Hugo SUBTIL's avatar
Hugo SUBTIL committed
@media print {
  body,
  html,
Hugo SUBTIL's avatar
Hugo SUBTIL committed
    height: auto;
  }

  .content-container {
    display: none !important;
  }
}
Hugo SUBTIL's avatar
Hugo SUBTIL committed
// MODAL

.maxModal .blockLigne {
  box-sizing: border-box;
  width: 360px;
  .smallList {
    display: block;
    box-sizing: border-box;
    background: $grey-9;
Hugo SUBTIL's avatar
Hugo SUBTIL committed
    max-width: 300px;
    padding: 0.5rem !important;
    margin-left: 1.2rem !important;
    margin-top: 1rem !important;
  }
}
.filterMenu {
Hugo SUBTIL's avatar
Hugo SUBTIL committed
  max-width: 360px;
  width: auto;
  z-index: $modal-z-index !important;
  position: fixed;
  box-shadow: $box-shadow;
Hugo SUBTIL's avatar
Hugo SUBTIL committed
  border-radius: 8px;
  margin-top: 25px;
  @media #{$large-phone} {
    height: 100%;
    max-height: auto;
    max-width: auto;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    border: none;
    padding: 0;
  }
  background: $white;
  .body-wrap {
    @media #{$large-phone} {
      height: 100vh;
      height: -webkit-fill-available;
    }
    .titleFilter {
      display: none !important;
      margin: 27px 25px 0px 25px;
Hugo SUBTIL's avatar
Hugo SUBTIL committed
      @media #{$large-phone} {
        display: flex !important;
      }
    }
  }

  .contentModal {
    max-width: 1100px;
    border-bottom: 1px solid $grey;
    @media #{$large-phone} {
      max-height: none;
      height: 100%;
    }
    .blockFiltre {
      width: auto;
      margin: 25px 0px;
      padding-inline: 1rem;
Hugo SUBTIL's avatar
Hugo SUBTIL committed
      margin-bottom: calc(25px - 1rem);
      min-width: 200px;

      @media #{$large-phone} {
        margin: 0 18px;
        padding: 25px 0;
        min-width: 0;
      }
    }
    .blockLigne {
      padding-left: 0;
      margin: 0px;
      padding-bottom: 0.5rem;
      li {
        margin-bottom: 1rem;
Bastien DUMONT's avatar
Bastien DUMONT committed
        &:last-child {
          margin-bottom: 0;
        }
Hugo SUBTIL's avatar
Hugo SUBTIL committed
      }
    }
    label {
Hugo SUBTIL's avatar
Hugo SUBTIL committed
      color: $grey-1;
    }

    .arrow {
      cursor: pointer;
      margin-left: auto;
      background-color: transparent;
      border-bottom: 1px solid $black;
      border-right: 1px solid $black;
      transform: translateY(-25%) rotate(45deg);
      height: 7px;
      width: 7px;
      transition: all 300ms ease;
      margin-top: -5px;
    }
    .toggled {
      transform: translateY(25%) rotate(-135deg);
    }
    &.max-height {
      max-height: 50vh;
Bastien DUMONT's avatar
Bastien DUMONT committed
      overflow-y: scroll;
Hugo SUBTIL's avatar
Hugo SUBTIL committed
    }
  }
  .footer {
    box-sizing: border-box;
    padding: 0.5rem;
    .reset {
      width: 45%;
      text-align: center;
      color: $grey-5;
Hugo SUBTIL's avatar
Hugo SUBTIL committed
    }
    .half-width {
      width: 50%;
    }
  }
}
Hugo SUBTIL's avatar
Hugo SUBTIL committed
.loader {
  width: 100%;
  text-align: center;
  .loader-gif {
    min-width: 10%;
    min-height: 10%;
  }
}

Hugo SUBTIL's avatar
Hugo SUBTIL committed
.no-margin {
  margin: 0 !important;
}
Bastien DUMONT's avatar
Bastien DUMONT committed
// V3REMOVE
.backLink {
  cursor: pointer;
  color: $grey-2;
  margin-bottom: 40px;
.userList {
  max-width: 50%;
}

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

.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;
  }
}
Hugo SUBTIL's avatar
Hugo SUBTIL committed
// AUTOCOMPLETE

.autocomplete-items {
  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;
}
.autocomplete-item {
  margin: 0;
  padding: 1em;
}
.autocomplete-item:hover {
  background-color: #dee6ee;
  cursor: pointer;
}

:focus-visible {
  outline-color: $red;
}

.visually-hidden {
  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;
}
Bastien DUMONT's avatar
Bastien DUMONT committed
.warningBorder {
  border-color: $info-warning !important;
}

h1,
h2,
Bastien DUMONT's avatar
Bastien DUMONT committed
h3,
h4,
Bastien DUMONT's avatar
Bastien DUMONT committed
p {
  margin: 0;
}
.uppercase {
  text-transform: uppercase;
}
Bastien DUMONT's avatar
Bastien DUMONT committed

sup {
  color: $red;
}

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

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