html,
body {
}

/* Default classes */
.cursor-pointer {
  cursor: pointer;
}

.margin-auto-8px {
  margin: auto 8px;
}

.top-42px {
  top: 42px;
}

.width-2 {
  width: 2%;
}

.width-3 {
  width: 3%;
}

.width-4 {
  width: 4%;
}

.width-5 {
  width: 5%;
}

.width-7 {
  width: 7%;
}

.width-8 {
  width: 8%;
}

.width-10 {
  width: 10%;
}

.width-12 {
  width: 12%;
}

.width-13 {
  width: 13%;
}

.width-16 {
  width: 16%;
}

.width-18 {
  width: 18%;
}

.width-20 {
  width: 20%;
}

.width-25 {
  width: 25%;
}

.width-30 {
  width: 30%;
}

.width-68 {
  width: 68%;
}

.width-72 {
  width: 72%;
}

.width-16px {
  width: 16px;
}

.width-32px {
  width: 32px;
}

.width-40px {
  width: 40px;
}

.width-80px {
  width: 80px;
}

.width-120px {
  width: 120px;
}

.width-140px {
  width: 140px;
}

.z-index-10000 {
  z-index: 10000;
}

.z-index-10001 {
  z-index: 10001;
}

.fnb-mark {
  padding: .1875em 0;
  color: var(--bs-highlight-color);
  background-color: var(--bs-highlight-bg);
  font-weight: bolder;
}

.fnb-sidebar {
  position: fixed;
  width: 250px;
  height: 100%;
}
.fnb-canvas {
  position: relative;
  left: 250px;
  margin-left: 36px;
  margin-top: 19px;
}

.fnb-draggable-modal {
  cursor: move;
}

.dropdown-toggle, .dropdown-bs-toggle { outline: 0; }

.btn-toggle {
  padding: .25rem .5rem;
  font-weight: 600;
  color: var(--bs-emphasis-color);
  background-color: transparent;
}
.btn-toggle:hover,
.btn-toggle:focus {
  color: rgba(var(--bs-emphasis-color-rgb), .85);
  background-color: var(--bs-tertiary-bg);
}

.btn-toggle::before {
  width: 1.25em;
  line-height: 0;
  content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%280,0,0,.5%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 14l6-6-6-6'/%3e%3c/svg%3e");
  transition: transform .35s ease;
  transform-origin: .5em 50%;
}

.btn-toggle[aria-expanded="true"] {
  color: rgba(var(--bs-emphasis-color-rgb), .85);
}
.btn-toggle[aria-expanded="true"]::before {
  transform: rotate(90deg);
}

.btn-toggle-nav a {
  padding: .1875rem .5rem;
  margin-top: .125rem;
  margin-left: 1.25rem;
}
.btn-toggle-nav a:hover,
.btn-toggle-nav a:focus {
  background-color: var(--bs-tertiary-bg);
}

.table-striped-inverse > tbody > tr:nth-child(even) > td, .table-striped > tbody > tr:nth-child(even) > th {
  background-color: rgba(var(--bs-emphasis-color-rgb), 0.05);
}

#btn-back-to-top {
  position: fixed;
  bottom: 25px;
  right: 25px;
  display: none;
  border: 1px solid rgba(0,0,0,.125);
}

.fnb-badge {
  font-size: 0.6em;
  border-radius: 0.3rem;
}

.x-small {
  font-size: 0.75em;
}

.fnb-alerts {
  position: fixed;
  z-index: 10000;
  top: 40px;
  text-align: center;
  max-width: max-content;
}

.alert {
  position: relative;
  display: none;
  z-index: 10001;
}

.form-signin {
  margin-top: 100px;
  max-width: 330px;
  padding: 1rem;
}

.form-signin .form-floating:focus-within {
  z-index: 2;
}

.form-signin input[type="text"] {
  margin-bottom: -1px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.form-signin input[type="password"] {
  margin-bottom: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"], .was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"] {
  padding-right: 0;
  background-position: right calc(.375em + .1875rem) center;
  background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

.fnb-callout {
  padding: 5px 10px;
  margin: 0;
  border-left: 1px solid var(--bs-primary-border-subtle);
  border-left-width: 5px;
  border-radius: 3px;
  background-color: var(--bs-tertiary-bg);
}

.fnb-modal-footer-sticky {
  position: sticky;
  bottom: 0;
  background-color: inherit; /* [1] */
  z-index: 1055; /* [2] */
}

/* Main navigation */
.navbar-nav {
  font-size: 1.25rem;
}

.nav-item.active .nav-link {
  border-bottom: 1px solid black;
}

.nav-item.active .nav-link {
  color: black !important;
}

/* Tab navigation */
.nav-tabs {
  font-size: 1.15rem;
}

.nav-link-no-click {
  cursor: default !important;
}

/* Side menu */
.side-menu {
  padding-top: 2.5rem;
}

/* Client index */
.fnb-index {
  --bs-nav-link-padding-x: 0.75rem !important;
}

.drop-zone {
  border-radius: 7px;
  padding: 10px;
  outline: 2px dashed var(--bs-border-color);
  outline-offset: 0px;
  transition:
    outline-offset 0.2s ease-out,
    outline-color 0.3s ease-in-out,
    background-color 0.2s ease-out;
}
.drop-zone.highlight {
  outline-offset: -5px;
  outline-color: var(--bs-link-color);
  background-color: var(--bs-secondary-bg);
}
.drop-zone-file {
  width: calc(33.333% - (2rem / 3));
  object-fit: contain;
}

.drop-zone-file p {
  overflow: hidden;
  text-overflow: ellipsis;
}

.new-td-elem {
  background-color: var(--bs-warning-bg-subtle) !important;
}

.fnb-searchbox {
  width: 250px;
}

.fnb-search-cancel-span {
  border-left: none;
  border-color: var(--bs-danger-border-subtle);
  background: none;
  cursor: pointer;
}

.fnb-search-active {
  border-right: none;
  border-color: var(--bs-danger-border-subtle);
}

.fnb-ajax-search:focus {
  border-color: var(--bs-danger-border-subtle);
}

.fnb-search-focus {
  border-left: 1px solid var(--bs-danger-border-subtle);
}

.fnb-li-toggle-voided {
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  white-space: nowrap;
}

.fnb-dropdown-favorite-center-div {
  border-right: 1px solid var(--bs-light-border-subtle);
  border-left: 1px solid var(--bs-light-border-subtle);
}

/* ********** */
/* Event list */
/* ********** */
.event-list th {
  font-size: 1.5rem;
}

.event-list-td-cw {
  border-top: 1px solid var(--bs-border-color);
  border-bottom: none;
}

.event-list-td-cw-empty {
  border-bottom: none;
}

.event-list-td-cw-last {
  border-bottom: 1px solid var(--bs-border-color);
}

.event-list-text-warning {
  color: #fd7e14;
}

/* ************ */
/* HTML notepad */
/* ************ */

.fnb-notepad-modal-dialog {
  height: calc(100vh - 100px);
}

.fnb-notepad-modal-content {
  height: 100%;
}

.fnb-notepad-warpper {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.fnb-notepad {
  border: 1px solid var(--bs-border-color);
	border-radius: 0 0 4px 4px;
  max-height: calc(100vh - 330px);
  text-overflow: clip;
  overflow-y: scroll;
}

.fnb-notepad-navbar {
  border-top: 1px solid var(--bs-border-color);
  border-right: 1px solid var(--bs-border-color);
  border-left: 1px solid var(--bs-border-color);
	border-radius: 4px 4px 0 0;
  background: var(--bs-light);
  width: 100%;
}

.navbar-nav > li > a:hover, .navbar-nav > li > a:focus {
    background-color: var(--bs-secondary-bg);
    cursor: pointer;
}

div[contenteditable]:focus{
  border:1px solid var(--bs-danger-border-subtle);
  outline: none;
}

/* ****************** */
/* Products accordion */
/* ****************** */
.accordion-item {
  position: relative;
}

.accordion-button:not(.collapsed) {
  color: #000000 !important;
  background-color: #f2f2f2 !important;
}

.accordion-button:focus {
  box-shadow: none;
  border-color: rgba(0,0,0,.125);
}

.accordion-button:after {
    order: -1;
    margin-left: 0; 
    margin-right: 0.5em;
}

.fnb-accordion-lnk {
  position: absolute;
  padding: 16px;
  top: 0;
  right: 0;
  z-index: 100;
  cursor: pointer;
  text-decoration: none;
}

.fnb-accordion-lnk:hover {
  text-decoration: underline;
}

.email-log-tooltip.tooltip > .tooltip-inner {
  max-width: none !important;
}

.fnb-spring {
  color: var(--bs-yellow);
}

.fnb-summer {
  color: var(--bs-red);
}

.fnb-autumn {
  color: #653208;
}

.fnb-winter {
  color: var(--bs-blue);
}

/* ************* */
/* Calendar view */
/* ************* */

.calendar-day-picker-width {
  width: 151px;
}

.calendar-day-picker {
  cursor: pointer;
  flex-grow: 0 !important;
  flex-basis: 110px !important;
}

.day-view {
  table-layout: fixed;
}

.day-view td {
  padding: 0.25rem 0;
}

.week-view {
  table-layout: fixed;
}

.cal-agenda-entry {
  background-color: var(--bs-gray-200) !important;
  border-right: 1px solid #fff;
  border-left: 1px solid #fff;
}

.cal-agenda-entry:hover {
  background-color: var(--bs-gray-300) !important;
}

.cal-agenda-entry-header-div-info {
  border-bottom: 3px solid var(--bs-secondary-border-subtle);
}

.cal-agenda-entry-header-div-blocked {
  border-bottom: 3px solid var(--bs-danger-border-subtle);
}

.cal-agenda-entry-footer-div-info {
  border-top: 3px solid var(--bs-secondary-border-subtle);
}

.cal-agenda-entry-footer-div-blocked {
  border-top: 3px solid var(--bs-danger-border-subtle);
}

.cal-row-border-bottom {
  border-bottom: 1px solid var(--bs-border-color);
}

.cal-row-border-top {
  border-top: 1px solid var(--bs-border-color);
}

.cal-row-border-top-dotted {
  border-top: 1px dotted var(--bs-border-color);
}

/* Style for room groups */
.cal-cell-bg-group {
  background-color: #f5fdff !important;
}

.cal-th-cell-group {
  position: relative;
}

.cal-badge-position {
  transform: translate(-10px,-50%) !important;
}

/* Style for blocked rooms */
.cal-cell-bg-blocked {
  background-color: rgba(var(--bs-danger-rgb), .06) !important;
}

.cal-row-event {
  height: 12px;
}

.cal-grid-left {
  text-align: left;
  border-left: 1px solid var(--bs-border-color);
}

.cal-grid-right {
  border-right: 1px solid var(--bs-border-color);
}

.cal-cell-weekend {
  background-color: var(--bs-light) !important;
}

.cal-subgrid-left {
  text-align: left;
  font-weight: normal;
  padding: 0.25rem 0.5rem !important;
  border-left: 1px solid var(--bs-border-color);
}

.cal-cell-border-start {
  padding: 0 !important;
  border-left: 1px solid var(--bs-border-color);
}

.cal-cell-border-intermediate {
  padding: 0 !important;
  border-left: 1px solid var(--bs-gray-100);
}

.cal-cell-border-end {
  padding: 0 !important;
  border-left: 1px solid var(--bs-gray-100);
  border-right: 1px solid var(--bs-border-color);
}

.cal-cell-subgrid-border-end {
  padding: 0 !important;
  border-left: 1px solid var(--bs-gray-100);
  border-right: 1px solid var(--bs-gray-200);
}

.cal-cell-div {
  height: 18px;
  padding-top: 1px;
}

.cal-spacer-border-start {
  border-left: 1px solid var(--bs-border-color);
}

.cal-spacer-border-intermediate {
  border-left: 1px solid var(--bs-gray-100);
}

.cal-spacer-border-end {
  border-left: 1px solid var(--bs-gray-100);
  border-right: 1px solid var(--bs-border-color);
}

.cal-spacer-subgrid-border-end {
  border-left: 1px solid var(--bs-gray-100);
  border-right: 1px solid var(--bs-gray-200);
}

.cal-spacer-sm {
  padding: 0 !important;
  height: 3px;
}

.cal-cell-div-bg-primary {
  background-color: var(--bs-primary-bg-subtle);
  border: 1px solid var(--bs-primary-border-subtle);
}

.cal-cell-div-bg-success {
  background-color: var(--bs-success-bg-subtle);
  border: 1px solid var(--bs-success-border-subtle);
}

.cal-cell-div-bg-warning {
  background-color: var(--bs-warning-bg-subtle);
  border: 1px solid var(--bs-warning-border-subtle);
}

.cal-cell-div-bg-hover {
  background-color: var(--bs-danger-bg-subtle);
  border: 1px solid var(--bs-danger-border-subtle);
}

.cal-cell-div-text {
  overflow: hidden;
  text-overflow: clip;
  font-size: 10px;
  white-space: nowrap;
}
/* ************* */
/* Event wizzard */
/* ************* */

.wizzard-link {
  border-bottom: 1px solid #ffffff;
}

.wizzard-link:hover {
  border-bottom: 0;
  color: var(--bs-gray-300);
  cursor: pointer;
}

.wizzard.active {
  font-size: 1.5rem;
  font-weight: bolder;
}

.wizzard-end.active {
  font-size: 1.5rem;
  font-weight: bolder;
}

.wizzard-muted {
  color: var(--bs-gray-300);
}

.wizzard-div {
  margin-top: 2px;
}
.wizzard {
  background-color: black;
  color: #ffffff;
  font-size: 1.25rem;
  background-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8" standalone="no"%3F><svg version="1.1" x="0px" y="0px" width="18" height="56" viewBox="0 0 19.8 61.6" enable-background="new 0 0 15 49" xml:space="preserve" id="svg6" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><defs id="defs10" /><line x1="0.00021465622" y1="-0.21987119" x2="19.249783" y2="31.862738" style="stroke:%239e9e9e;stroke-width:1.28331" id="line2" /><line x1="-0.0055538239" y1="61.95805" x2="19.255552" y2="31.140278" style="stroke:%239e9e9e;stroke-width:1.28407" id="line4" /></svg>');
  background-position: right;
  background-repeat: no-repeat;
}

.wizzard-end {
  background-color: black;
  color: #ffffff;
  font-size: 1.25rem;
  background-image: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8" standalone="no"%3F><svg version="1.1" x="0px" y="0px" width="18" height="56" viewBox="0 0 19.8 61.6" enable-background="new 0 0 15 49" xml:space="preserve" id="svg6" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><defs id="defs10" /><path style="fill:%23ffffff;fill-opacity:1;stroke-width:7.33796" d="M 0,61.6 H 19.8 V 0 H 2.1465622e-4 L 18.7,31.35 Z" id="path1489" /></svg>');
  background-position: right;
  background-repeat: no-repeat;
}

.col-form-label {
  line-height: 1;
  padding-top: calc(.1rem + var(--bs-border-width));
}

.col-form-label-2nd-line {
  font-size: 0.75rem;
}

.callout-info {
  padding: 1.25rem;
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
  border: 1px solid #e9ecef;
  border-left-width: 1px;
  border-left-color: #5bc0de;
  border-left-width: .25rem;
  border-radius: .25rem;
}

.fnb-wizzard-tabs {
  padding: 0 0.75rem;
}

.wizzard-link-txt {
  text-decoration: underline;
}

.wizzard-link-txt:hover {
  text-decoration: none;
}

.fnb-wizzard-total, .fnb-table-heading {
  margin-bottom: 0;
}

.fnb-step7-total {
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
}

.fnb-wizzard-pill-title {
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
}

.fnb-wizzard-pills .nav-link.active {
  color: white !important;
}

.fnb-wizzard-products-table tr:last-child td {
  border-bottom-width: 0px;
}

/* Agenda room selection */
.fnb-wizzard-room-group-top {
  border-top: 1px solid var(--bs-info-border-subtle) !important;
}

.fnb-wizzard-room-top {
  border-top: 1px solid var(--bs-border-color) !important;
}

.fnb-wizzard-room-group-bottom {
  border-bottom: 1px solid var(--bs-info-border-subtle) !important;
}

.fnb-wizzard-room-bottom {
  border-bottom: 1px solid var(--bs-border-color) !important;
}

/* Drag'n'drop elements */
.fnb-drag-drop, .fnb-edit-product {
  cursor: pointer;
}

td.fnb-drag-drop {
  background-color: var(--bs-secondary-bg) !important;
  color: var(--bs-tertiary-color);
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  border: 1px solid white;
  border-radius: var(--bs-border-radius);
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

/* ********************************** */
/* Wizzard event date selection modal */
/* ********************************** */

#wizzard-canvas {
  margin-top: -8px;
}

.fnb-wizzard-table th {
  font-size: 1rem;
}

.wizzard-month-picker-width {
  width: 131px;
}

.wizzard-month-picker {
  cursor: pointer;
  flex-grow: 0 !important;
  flex-basis: 90px !important;
}

.fnb-booked {
  font-size: 1.5em;
  font-weight: bold;
  cursor: pointer;
}

.fnb-blocked {
  color: var(--bs-danger) !important;
  font-weight: bold;
  cursor: pointer;
}

.fnb-wizzard-day {
  width: 13%;
  height: 90px;
}

.fnb-wizzard-day-bg {
  background-color: var(--bs-secondary-bg) !important;
}

.fnb-wizzard-day-we-bg {
  background-color: var(--bs-secondary-border-subtle) !important;
}

.fnb-blocked-all-bg {
  background-color: var(--bs-danger-bg-subtle) !important;
}

.fnb-wizzard-other-month {
  background-color: var(--bs-tertiary-bg) !important;
  color: var(--bs-tertiary-color) !important;
}

.fnb-wizzard-past-day {
  color: var(--bs-tertiary-color) !important;
}

.fnb-wizzard-cw {
  font-size: 0.75rem;
  width: 9%;
}

.fnb-wizzard-selectable {
  cursor: pointer;
}

.fnb-wizzard-selected {
  box-shadow: inset 0 0 0 2px var(--bs-primary) !important;
}

.fnb-wizzard-booked {
  background-color: var(--bs-warning-bg-subtle) !important;
  font-size: 0.75rem;
}

}.fnb-wizzard-accordion-first {
  border-top: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color) !important;
}

/* ******** */
/* Forecast */
/* ******** */

.fnb-echarts {
  width: 100%;
  height: 700px;
}

.fnb-legend-status-0 {
  margin: auto 4px;
  width: 12px;
  height: 12px;
  background-color: var(--bs-primary-bg-subtle);
  border: 1px solid var(--bs-primary-border-subtle);
}

.fnb-legend-status-1 {
  margin: auto 4px;
  width: 12px;
  height: 12px;
  background-color: var(--bs-success-bg-subtle);
  border: 1px solid var(--bs-success-border-subtle);
}

.fnb-legend-status-2 {
  margin: auto 4px;
  width: 12px;
  height: 12px;
  background-color: var(--bs-danger-bg-subtle);
  border: 1px solid var(--bs-danger-border-subtle);
}

.fnb-legend-status-4 {
  margin: auto 4px;
  width: 12px;
  height: 12px;
  background-color: var(--bs-warning-bg-subtle);
  border: 1px solid var(--bs-warning-border-subtle);
}