.align-bottom {
  vertical-align: bottom;
}

.c-pointer,
.cursor {
  cursor: pointer;
}

.inline {
  display: inline-block;
}

.uc-first:first-letter {
  text-transform: uppercase;
}

.callout.alert {
  border-top: none;
  border-right: none;
  border-bottom: none;
}

.label.inline {
  padding: 5px 5px 3px 5px;
}

/**
BUTTONS
 */

.btn-no-style {
  background: none;
  border: none;
  cursor: pointer;
}

/**
TABLES
 */

/* Remove first top border of tables within other tables. */

.table > thead > tr > th > .table > thead > tr:first-child > th,
.table > tbody > tr > th > .table > tbody > tr:first-child > th,
.table > tfoot > tr > th > .table > tfoot > tr:first-child > th,
.table > thead > tr > td > .table > thead > tr:first-child > td,
.table > tbody > tr > td > .table > tbody > tr:first-child > td,
.table > tfoot > tr > td > .table > tfoot > tr:first-child > td {
  border-top: none;
  padding-top: 0;
}

/**
FORMS.
 */

.checkbox {
  margin-top: 0;
}

.checkbox label {
  padding-left: 0;
}

/**
 SPINNER RING
 */

@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.spinner-ring {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-bottom: -3px;
  margin-left: 10px;
  z-index: 1;
  border: 2px solid #202947;
  border-radius: 50%;
  border-left-color: transparent;
  background: transparent;
  -webkit-animation: rotate 0.6s infinite linear;
          animation: rotate 0.6s infinite linear;
}

.spinner-ring.spinner-small {
  width: 14px;
  height: 14px;
  margin-bottom: -2px;
  margin-left: 7px;
  border-width: 1px;
}

.spinner-absolute {
  position: absolute;
  top: 4px;
  right: -6px;
}

/**
CAROUSEL
 */

.carousel-indicators .active,
.carousel-indicators li {
  background-color: #337ab7;
}

.carousel-inner img {
  margin: auto;
}

/**
AUTH SCREEN (login, forgot passw...)
 */

a, button, input, tr, th, td {
  transition: all .2s ease;
}

body.authPage {
  font-size: 1.6rem;
  font-family: "Noto Sans", sans-serif;
}
body.authPage .authLoading {
  z-index: 999;
  background: #FFF;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}

body.authPage .content-wrapper {
  background-color: #0049ab;
  margin-left: 0;
}

body.authPage .auth-pane_primary {
  padding: 0 50px;
  color: #FFF;
}

body.authPage .auth-pane_secondary {
  background-color: #FFFFFF;
}

body.authPage .auth-logo {
  font-size: 150px;
}

body.authPage .auth-logo a {
  color: #FFF;
}

body.authPage .auth-logo img {
    max-height: 200px;
}

body.authPage .btn {
    display: inline-block;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 0 solid transparent;
    padding: 0.7rem 2rem;
    -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    -o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
}
body.authPage .btn.input-lg {
  font-size: 1.8rem;
}


body.authPage .form-control:focus {
    border-color: #FFF;
}

body.authPage .btn-action {
    color: #fff;
    background-color: #040F0F;
    border-color: #040F0F;
}

body.authPage .btn-action:active, body.authPage .btn-action:focus, body.authPage .btn-action:hover {
    border-color: #FFF !important;
    background: #FFF !important;
    color: #0049ab !important;
}

body.authPage .rounded {
  border-radius: 5px;
}

body.authPage .auth-pane_primary .lockscreen-logo {
  text-transform: uppercase;
  margin-bottom: 60px;
}

body.authPage .help-block,
body.authPage .auth-pane_primary a {
  color: #FFF;
}

body.authPage section {
  width: 100%;
  max-width: 450px;
}

body.authPage .auth-pane_primary section {
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 1425px) {
  .auth-screen .auth-pane_primary section {
    margin-left: 80px;
  }
}

/**
Bootstrap treeview.
 */

.checkall-icon {
  position: relative;
  margin-left: 3px;
  width: 10px;
}

.checkall-icon .fa-check-square-o {
  position: absolute;
  height: 13px;
  background-color: #FFFFFF;
}

.checkall-icon.checked .fa-check-square-o {
  background-color: #3C8DBC;
}

.checkall-icon .fa-square-o {
  position: absolute;
  left: -3px;
  top: 4px;
}

/**
ADMIN . DATATABLES
 */
.tableActions {
  gap: 1rem;
  display: inline-flex;
}

@media screen and (min-width: 768px) {
  .dataTables_length,
  .dataTables_filter {
    display: inline-block;
    float: right;
    margin-left: 15px;
  }

  .tableActions {
    position: absolute;
    z-index: 1;
  }
}

.dataTables_sizing select {
  display: none;
}

/**
SIDEBAR
 */

.sidebar .contactItems {
  padding: 0;
}

.sidebar .contactItem {
  padding: 15px 25px;
  border-top: 1px solid #ececec;
  border-bottom: 1px solid #ececec;
}

.sidebar .contactItem:first-child {
  border-bottom: 0;
}

.sidebar .contactItem p {
  margin: 0;
  line-height: 24px;
}

.sidebar .contactItem p,
.sidebar .contactItem a {
  color: #666;
}

/**
PDF
 */

.pagePdf h1 {
  margin-top: 0;
  margin-bottom: 30px;
}

.pagePdf img {
  max-width: 250px;
  max-height: 250px;
}

.pagePdf table table > tr {
  page-break-inside: avoid;
}

.pagePdf .content,
.pagePdf .box-body {
  padding-bottom: 0;
}

/**
Utilities.
 */

.m-0 {
  margin: 0px !important;
}

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

.mb-0 {
  margin-bottom: 0px !important;
}

.ml-0 {
  margin-left: 0px !important;
}

.mr-0 {
  margin-right: 0px !important;
}

.m-2 {
  margin: 2px !important;
}

.mt-2 {
  margin-top: 2px !important;
}

.mb-2 {
  margin-bottom: 2px !important;
}

.ml-2 {
  margin-left: 2px !important;
}

.mr-2 {
  margin-right: 2px !important;
}

.m-5 {
  margin: 5px !important;
}

.mt-5 {
  margin-top: 5px !important;
}

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

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

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

.m-8 {
  margin: 8px !important;
}

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

.mb-8 {
  margin-bottom: 8px !important;
}

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

.mr-8 {
  margin-right: 8px !important;
}

.m-10 {
  margin: 10px !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.mb-10 {
  margin-bottom: 10px !important;
}

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

.mr-10 {
  margin-right: 10px !important;
}

.m-15 {
  margin: 15px !important;
}

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

.mb-15 {
  margin-bottom: 15px !important;
}

.ml-15 {
  margin-left: 15px !important;
}

.mr-15 {
  margin-right: 15px !important;
}

.p-0 {
  padding: 0px !important;
}

.pt-0 {
  padding-top: 0px !important;
}

.pb-0 {
  padding-bottom: 0px !important;
}

.pl-0 {
  padding-left: 0px !important;
}

.pr-0 {
  padding-right: 0px !important;
}

.p-2 {
  padding: 2px !important;
}

.pt-2 {
  padding-top: 2px !important;
}

.pb-2 {
  padding-bottom: 2px !important;
}

.pl-2 {
  padding-left: 2px !important;
}

.pr-2 {
  padding-right: 2px !important;
}

.p-5 {
  padding: 5px !important;
}

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

.pb-5 {
  padding-bottom: 5px !important;
}

.pl-5 {
  padding-left: 5px !important;
}

.pr-5 {
  padding-right: 5px !important;
}

.p-8 {
  padding: 8px !important;
}

.pt-8 {
  padding-top: 8px !important;
}

.pb-8 {
  padding-bottom: 8px !important;
}

.pl-8 {
  padding-left: 8px !important;
}

.pr-8 {
  padding-right: 8px !important;
}

.p-10 {
  padding: 10px !important;
}

.pt-10 {
  padding-top: 10px !important;
}

.pb-10 {
  padding-bottom: 10px !important;
}

.pl-10 {
  padding-left: 10px !important;
}

.pr-10 {
  padding-right: 10px !important;
}

.p-15 {
  padding: 15px !important;
}

.pt-15 {
  padding-top: 15px !important;
}

.pb-15 {
  padding-bottom: 15px !important;
}

.pl-15 {
  padding-left: 15px !important;
}

.pr-15 {
  padding-right: 15px !important;
}

.text-color-white {
  color: #FFFFFF !important;
}

.text-color-gray_dark {
  color: #ACACAC !important;
}

.text-color-red {
  color: #dd4b39 !important;
}

.text-color-orange {
  color: #f39c12 !important;
}

.text-shades-light {
  color: rgba(0, 0, 0, 0.1) !important;
}

.text-shades-strong {
  color: rgba(0, 0, 0, 0.5) !important;
}

.text-brand-base {
  color: #c08441 !important;
}

.text-brand-odd {
  color: #fff !important;
}

.text-sm {
  font-size: 10px !important;
}

.text-md {
  font-size: 14px !important;
}

.text-lg {
  font-size: 18px !important;
}

.pos-rel {
  position: relative;
}

.pos-abs {
  position: absolute;
}

/**
Sidebar.
 */

.sidebar {
  border-top: 1px solid rgba(210, 214, 222, 0.3);
}

.sidebar li.sep {
  border: 1px solid #ececec;
}

.sidebar .sidebar-menu > li:not(.active):not(:hover) > .treeview-menu:not(:hover) {
  background-color: transparent;
}

/**
MAPS.
 */
.guardMap {
    width: 100%;
    height: 100%;
    min-height: 250px;
}



/**
Planning.
 */

#datatable-planning thead, .dtfh-floatingparent, .dtfh-floatingparenthead {
  background-color: #fff;
}
.dataTables_scrollHead tr:first-child > th:first-child {
    top: 0;
    bottom: 0;
    z-index: 3;
    background-color: white;
    left: 0px;
    position: sticky;
}

.clickablePlanningSlot {
    cursor: pointer;
}

.planningSlotWrapper {
    width: 100%;
    white-space: nowrap;
    display: flex;
    align-items: stretch;
    margin-bottom: 8px;
    cursor: pointer;
    line-height: 1.2;
}
.planningSlotWrapper:last-child {
  margin-bottom: 0;
}

.planningLabelTimeSlotColor {
  width: 6px;
  border-radius: 50rem;
  transition: all .2s ease-in-out;
}

.planningLabelTimeSlot {
  flex-grow: 1;
  padding: 0 8px;
  transition: all .2s ease-in-out;
}

.planningCheckInStatus {
  flex-shrink: 0;
  align-self: start;
}

.planningSlotWrapper.clickablePlanningSlot:hover .planningLabelTimeSlotColor,
.planningSlotWrapper.clickablePlanningSlot:focus .planningLabelTimeSlotColor {
  width: 10px;
}
.planningSlotWrapper.clickablePlanningSlot:hover .planningLabelTimeSlot,
.planningSlotWrapper.clickablePlanningSlot:focus .planningLabelTimeSlot {
  padding-left: 4px;
}


.planningSlotWrapperRounded {
    border-radius: 25px;
    width: 150px;
    display: flex;
    margin-bottom: 3px;
    height: 80px;
}

.planningLabelTimeSlotRounded {
  flex-grow: 1;
  padding: 0 8px;
}

.planningCheckInStatusRounded {
    border-radius: 0px 25px 25px 0px;
    float: left;
    width: 10%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.planningSlotWrapperEmptyChannel {
    height: 80px;
    margin-bottom: 3px;
}

.bg-transparent {
  background: transparent !important;
}

/**
Planning print.
 */

@media print {
    .calendar {
        page-break-after: always;
        width: 100% !important;
    }

    .content {
        padding: 15px 0px !important;
    }

    body {
        width: 200mm !important;
    }
}

.fc .fc-scroller-liquid-absolute {
    position: static;
}

/*.fc-daygrid-event {
    white-space: normal;
    line-height: 1.1;
    font-size: 10px !important;
}*/

.submitBtn {
  padding: 1rem;
}

.tree-list > div + div {
  margin-top: 5px;
}

div.company-border {
  /*border-left: 1px solid #040F0F;*/
  /*padding-left: 12px;*/
  margin-left: 20px;
  position: relative;
}
div.company-border::before {
  border-left: 1px solid #040F0F;
  content: '';
  display: block;
  height: 100%;
  width: 1px;
  position: absolute;
  top: 0;
  left: 0;
}

.tree-list > div.company-border {
  margin-left: 6px;
}

.tree-list > div.company-border:has(+.tree-div)::before,
.tree-list > div.company-border:last-child::before,
div.company-border div.company-border:last-child::before {
  height: 10px;
}

.tree-list > div.company-border + div.company-border {
  margin-top: 0;
}

div.company-border > div:not(.company-border) {
  margin-top: 0;
}

div.company-border > div:not(.company-border)::before {
  border-top: 1px solid #040F0F;
  content: '';
  display: inline-block;
  width: 9px;
  height: 1px;
  margin-right: 2px;
  transform: translateY(-6px);
}

.fw-normal {
  font-weight: 400 !important;
}

@media (min-width: 1200px) {
    .border-right-lg-light {
      border-right: 1px solid #ccc;
    }
}

.d-flex {
  display: flex;
}
.flex-wrap {
  flex-wrap: wrap;
}
.align-center {
  align-items: center;
}
.gap-5 {
  gap: 5px;
}
.gap-10 {
  gap: 10px;
}
.gap-15 {
  gap: 15px;
}
.justify-between {
  justify-content: space-between;
}
.flex-row-reverse {
  flex-direction: row-reverse;
}
.align-items-end {
  align-items: flex-end;
}

@media (min-width: 768px) {
  .cards {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .cards + .dataTables_wrapper {
    display: none;
  }
}
.cards > div {
  padding: 12px 0;
  line-height: 1.1;
}
.cards > div + div {
  border-top: 1px solid #f4f4f4;
}
.cards > div > div {
  display: flex;
}
.cards > div > div + div {
  padding-top: 4px;
}
.showing-data-content[data-content]:before {
  content: attr(data-content);
  display: inline-block;
  padding-right: 5px;
  /*opacity: .5;*/
  /*font-size: 80%;*/
  color: #999;
  min-width: 22%;
}
.card-statut {
  text-align: right;
}
.card-statut small {
  display: inline-block;
}
.card-date {
  color: #999;
}
.card-icon-btns {
  font-size: 18px;
}

.collapse-with-fa .fa {
  transition: transform .5s ease;
  transform: translateY(3px);
}
.collapse-with-fa:not(.collapsed) .fa {
  transform: translateY(3px) rotate(90deg);
}

.custom-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0 none;
  border-bottom: 1px dotted #d2d6de;
  outline: none !important;
}

.custom-switch {
  height: 0;
  width: 0;
  visibility: hidden;
  position: absolute;
  margin: 0;
}
.custom-switch-label {
  cursor: pointer;
  text-indent: -9999px;
  font-size: 0;
  width: 32px;
  height: 16px;
  background: #d2d6de;
  display: block;
  border-radius: 16px;
  position: relative;
}
.custom-switch-label:after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 12px;
  height: 12px;
  background: #fff;
  border-radius: 12px;
  transition: 0.3s;
}
.custom-switch:checked + .custom-switch-label {
  background: #0049ab;
}
.custom-switch:checked + .custom-switch-label:after {
  left: calc(100% - 2px);
  transform: translateX(-100%);
}
.custom-switch-label:active:after {
  width: 32px;
}

.table-valign-middle td {
  vertical-align: middle !important;
}

.no-btn {
  border: 0 none !important;
  padding: 0 !important;
  background: transparent !important;
  outline: none !important;
}
