﻿@import url("https://fonts.googleapis.com/css?family=Rubik:400,500,700,900&subset=&display=swap");
@import url("https://fonts.googleapis.com/css?family=Instrument+Sans:400,500,700,900&subset=&display=swap");
#blazor-error-ui {
  background-color: #fff;
}

:root {
  --default-font: "Instrument Sans",sans-serif;
  --menu-offset-x: 0px;
  --menu-offset-y: 0px;
  --default-panel-width: 30%;
  --menu-width-expanded: 200px;
  --backdrop-image: none;
  --item-hover:var(--body-colour);
}

* {
  transition: none;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body .pwa-updater[b-pwa-updater] {
  --pwa-updater-bar-backcolor: var(--primary-colour);
  --pwa-updater-bar-color: var(--black-colour);
  --pwa-updater-font-family: var(--default-font);
  --pwa-updater-bar-height: auto;
  padding: 1rem 2rem;
  justify-content: space-between;
  position: relative;
}
body .pwa-updater-close-button[b-pwa-updater] {
  color: var(--black-colour);
  position: relative;
}
body .pwa-updater-close-button[b-pwa-updater]:hover {
  color: var(--black-colour);
}
body .pwa-updater-updatenow-button[b-pwa-updater] {
  border: 2px solid var(--black-colour);
  padding: 0rem 2rem;
}
body .pwa-updater.waiting-for-reload .pwa-updater-updatenow-button[b-pwa-updater]::after {
  --size: 15px;
  content: "";
  width: var(--size);
  height: var(--size);
  position: absolute;
  inset: 0;
  margin: auto;
  border: solid 2px var(--pwa-updater-bar-color);
  border-radius: 50%;
  border-top-color: transparent;
  animation: --pwa-updater-waiting-for-reload-b-pwa-updater 1.5s linear 0s infinite;
}

.booking-info-sheet {
  display: grid;
  grid-gap: 0.5rem;
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
}

@media (max-width: 350px) {
  body .pwa-updater[b-pwa-updater] {
    flex-direction: column;
  }
  body .pwa-updater-close-button[b-pwa-updater] {
    color: var(--black-colour);
    position: relative;
  }
  body .pwa-updater-close-button[b-pwa-updater]:hover {
    color: var(--black-colour);
  }
  body .pwa-updater-updatenow-button[b-pwa-updater] {
    border: 2px solid var(--black-colour);
    padding: 0rem 2rem;
  }
}
.tl2-segmented button {
  width: 100%;
  border-bottom: 2px solid var(--primary-colour);
  border-top: 2px solid var(--primary-colour);
  border-left: 2px solid var(--primary-colour);
}
.tl2-segmented button:last-child {
  border-right: 2px solid var(--primary-colour);
}

.tl2-rounded {
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.tl2-btn-primary {
  color: #000;
}

.tl2-btn-secondary {
  color: #fff;
}

.app-user-avatar button {
  color: var(--white-colour);
}

.tl2-menu {
  background-color: var(--body-colour);
}

.tl2-menu-item:hover:not(tl2-divider) {
  background-color: var(--secondary-colour);
}
.tl2-menu-item:hover:not(tl2-divider) > div {
  color: var(--primary-colour);
}

main {
  padding: 0.5rem 1.5rem;
}

.selected {
  outline: 2px solid var(--primary-colour);
}

@media (max-width: 768px) {
  :root {
    --default-panel-width: 100%;
  }
  .tl-notification-container-bc {
    bottom: 100px;
  }
  .app-sidebar-collapsed ul {
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: row;
    height: auto !important;
    justify-content: space-between;
  }
  .mobile-icon {
    height: 5rem;
    width: 5rem;
    display: flex;
    image-rendering: auto;
  }
}
.tl2-segmented {
  white-space: nowrap;
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: 0;
  display: flex;
  justify-content: space-between;
}
.tl2-segmented button {
  width: 100%;
}

.tl2-segmented button.active {
  background-color: var(--primary-colour);
  color: var(--black-colour);
}

.app-sidebar img {
  /*max-width: 45px;*/
  width: 100%;
}

.client {
  padding: 0 !important;
}

.tl2-invert {
  filter: none;
}

.app-header {
  padding: 1rem;
  margin-bottom: 1rem;
}

.app-sidebar, .app-inner-layout .app-inner-layout__wrapper .app-inner-layout__sidebar.card {
  color: #fff;
}
.app-sidebar li, .app-inner-layout .app-inner-layout__wrapper .app-inner-layout__sidebar.card li {
  border-radius: var(--border-radius);
}

.chat-mine {
  max-width: 90%;
  min-width: 60%;
  width: auto;
  background-color: #E3FFD5;
  color: #000;
  border: 1px solid #D0EAC3;
  border-radius: 1rem;
}

.chat-other {
  max-width: 90%;
  min-width: 60%;
  width: auto;
  border-radius: 1rem;
}

.tl-simple-panel-footer {
  flex: 1 1;
  gap: 1rem;
}
.tl-simple-panel-footer > div {
  width: 100%;
}

.tl-dash-card {
  display: flex;
  flex-direction: column;
  padding: 2rem 3rem;
  background-color: var(--secondary-colour);
  border-radius: 0.6rem;
  width: 100%;
}

.timetable-date-control {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: 0.5rem;
}
.timetable-date-control > div {
  border-radius: 0.5rem;
  padding: 0.5rem 0.5rem;
}
.timetable-date-control > .today {
  background: var(--primary-colour);
  color: var(--black-colour);
  font-weight: 600;
}
.timetable-date-control > .selected {
  outline: 2px solid var(--primary-colour);
}

.eu-day {
  min-height: 12.5rem;
  border-radius: 0;
  text-align: center;
  position: relative;
  margin: 0.6rem;
  /*outline: 2px solid var(--body-colour);*/
  /*background-color: var(--body-colour);*/
  border-radius: 0.5rem 0.5rem 0 0;
  padding: 0 0.5rem 3rem 0.5rem;
  /*background-color: var(--secondary-colour);*/
}
.eu-day .eu-day-options {
  visibility: hidden;
  position: absolute;
  bottom: 0;
}
.eu-day:hover .eu-day-options {
  visibility: visible;
}
.eu-day > label:first-child {
  width: 100%;
  padding: 1rem;
  display: flex;
  text-align: center;
  /*background-color: var(--body-colour);*/
  /*border-bottom: 1px solid #eee;*/
  margin-bottom: 1rem;
}
.eu-day-selected {
  background-color: #dee5d7;
}

.eu-session {
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: pointer;
  background-color: var(--secondary-colour);
  margin-bottom: 0.4rem;
  margin-top: 0.4rem;
  margin-left: 0.3rem;
  margin-right: 0.3rem;
  text-align: left;
  padding: 0.6rem;
  max-height: 20rem;
  text-overflow: ellipsis;
  overflow-y: hidden;
  overflow-x: hidden;
  cursor: pointer;
  border-radius: 0.5rem;
  border: 0;
  border: 1px solid rgba(255, 255, 255, 0.05);
  /*border-top: 1px solid #E7E8EA;
  border-right: 1px solid #E7E8EA;
  border-bottom: 1px solid #E7E8EA;*/
}
.eu-session label {
  font-weight: 700;
}
.eu-session p {
  margin-bottom: 0.1rem;
  font-size: 1.2rem;
  font-weight: 500;
}
.mention {
  background-color: var(--warning-colour);
  padding: 0.2rem 0.4rem;
  font-weight: 500;
  user-select: none;
}

.ql-toolbar.ql-snow {
  border: 0 !important;
}

.ql-container.ql-snow {
  border: 0 !important;
  max-height: 400px;
  overflow-y: auto;
}

.eu-date-slider {
  width: calc(100vw - (100px + var(--menu-width-collapsed)));
  display: flex;
  flex-direction: row;
  overflow-x: auto;
  flex-wrap: nowrap;
  display: inline-flex;
  gap: 1rem;
  padding-bottom: 1rem;
  padding: 0.5rem 0.5rem;
}

.eu-date-day {
  width: auto;
  min-height: 75px;
  min-width: 100px;
  align-content: center;
  justify-items: center;
  cursor: pointer;
  border: 1px solid #eee;
  border-radius: 1rem;
}
.eu-date-day span {
  display: block;
  text-align: center;
}
.eu-date-day.auto {
  min-height: auto;
  min-width: auto;
  padding: 1rem;
}
.eu-date-day.active {
  outline: 2px solid var(--primary-colour);
}

@media (max-width: 768px) {
  .eu-day {
    min-height: auto;
    padding: 0rem;
    margin: 0;
    /*border-radius: 0;*/
    /*border-bottom: 0.2rem solid var(--body-colour);*/
    text-align: left;
    display: flex;
    flex-direction: column;
    background-color: transparent;
  }
  .eu-day > label:first-child {
    width: 100%;
    padding: 1rem 0rem;
    display: flex;
    text-align: center;
    /*background-color: var(--body-colour);*/
    /*border-bottom: 1px solid #eee;*/
    margin-bottom: 1rem;
  }
  .eu-date-slider {
    width: 100%;
  }
  .eu-session {
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
    background-color: var(--secondary-colour);
    border: 0;
    border: 1px solid rgba(255, 255, 255, 0.05);
  }
  .eu-session.is-class {
    border: 0;
  }
}
.user-profile {
  margin-left: auto;
  margin-right: auto;
  display: block;
  border-radius: 50%;
  height: 150px;
  width: 150px;
  max-width: 150px;
  object-fit: cover;
  border: 3px solid #fff;
}

.user-profile.small {
  height: 75px;
  width: 75px;
}

.user-profile.x-small {
  height: 50px;
  width: 50px;
}

.user-profile.fit {
  width: 100%;
  height: auto;
}

/* FILE UPLOAD */
.file-upload {
  /*  background-color: #ffffff;*/
  /*width: 600px;*/
  margin: 0 auto;
  height: 150px;
  /* padding: 20px;*/
}

.file-upload-btn:active {
  border: 0;
  transition: all 0.2s ease;
}

.file-upload-content {
  display: block;
  text-align: center;
  /*border: 4px dashed @primary-color;*/
}

.file-upload-input {
  position: absolute;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 150px !important;
  outline: none;
  opacity: 0;
  cursor: pointer;
}

.file-upload-image {
  max-width: 150px;
  margin-left: auto;
  margin-right: auto;
  display: block;
  border-radius: 50%;
  height: 150px;
  width: 150px;
  object-fit: cover;
}

.image-upload-wrap {
  /*margin-top: 20px;*/
  /*border: 4px dashed @primary-color;*/
  position: relative;
  /*background-color: #fff;*/
}

.image-dropping,
.image-upload-wrap:hover {
  /*border: 4px dashed #ffffff;*/
}

.image-title-wrap {
  padding: 0 15px 15px 15px;
  color: #222;
}
