/* main */

@font-face {
    font-family: 'FiraSans';
    src: url(fonts/FiraSans-Book.ttf) format('truetype');
}

@font-face {
    font-family: 'FiraSans-Medium';
    src: url(fonts/FiraSans-Medium.ttf) format('truetype');
}

*{
    font-family: 'FiraSans' !important;
}

.tw-bold{
    font-family: 'FiraSans-Medium' !important;
}

.wrapper .page-content{
    padding: 1.25rem .625rem .625rem .625rem;
}

.wrapper .page-content .container-fluid{
    padding: 0;
}

.logo{
    width: auto;
    height: 3.25rem;
}

.fc .fc-scrollgrid-liquid, .fc-theme-standard td, .fc-theme-standard th{
    border: var(--bs-border-width) solid var(--bs-border-color);
}

.alert{
    top: 1rem; 
    right: 0.5rem;
    z-index: 1060; 
}

.form-switch.form-switch-md .form-check-input {
    height: 1.3rem;
    width: 2rem;
    border-radius: 2.6rem;
}

table.bigger-checkbox input[type='checkbox']{
    height: 1.3rem;
    width: 1.3rem;
}

.hide-input input{
    display: none;
}

.charts-container{
    min-width: 37rem;
}

/* calendar */

#calendar-container{
    height: calc(100vh - 9rem);
    overflow: hidden;
    touch-action: pan-y;
}

#calendar {
  height: 100%;
}

.fc-day-sun a:not(.fc-event){
    color: var(--bs-danger) !important;
}

.fc-day-sun .fc-daygrid-day-number{
    background-color: rgba(var(--bs-danger-rgb), 0.18) !important;
}

.fc-view-harness{
    touch-action: pan-y !important;
}

.fc-daygrid-day-number{
    font-size: 0.875rem;
    width: 1.438rem;
    height: 1.438rem;
    line-height: 1.438rem;
}

.fc-done-checkbox{
    display: none;
    cursor: pointer;
}

.fc-event:hover .fc-done-checkbox{
    display: inline-block;
}

/* quill editor */

.ql-editor ol li:is([data-list="ordered"])::before{
    line-height: 1.6rem;
}

.ql-editor ol li:is([data-list="bullet"])::before{
    content: "•";
    font-size: 1.6rem;
    line-height: 1.6rem;
    vertical-align: middle;
}

.ql-editor li:is([data-list="unchecked"])::before{
    content: "☐";
    cursor: pointer;
    font-size: 1.3rem;
    vertical-align: middle;
}

.ql-editor li:is([data-list="checked"])::before{
    content: "☑";
    cursor: pointer;
    font-size: 1.3rem;
    vertical-align: middle;
}

/* shake for error notes (replaces the jQuery UI effect) */

@keyframes wx-shake{
    0%, 100%{ transform: translateX(0); }
    16%, 50%, 83%{ transform: translateX(-20px); }
    33%, 66%{ transform: translateX(20px); }
}

.wx-shake{
    animation: wx-shake .8s ease-in-out;
}

@media (prefers-reduced-motion: reduce){
    .wx-shake{
        animation: none;
    }
}


/* icons: boxicons are not loaded any more, the glyphs used by app.css come from bootstrap-icons */

.wrapper .main-nav .menu-arrow::after,
.dropdown-toggle::after,
.choices[data-type*=select-one]:after{
    font-family: bootstrap-icons;
    content: "\f282"; /* chevron-down */
}

.dropup .dropdown-toggle::after{
    content: "\f286"; /* chevron-up */
}

.dropend .dropdown-toggle::after{
    content: "\f285"; /* chevron-right */
}

/* menu arrow: the bootstrap-icons chevron fills its box, so it is drawn smaller than the old boxicons one */
.wrapper .main-nav .menu-arrow::after{
    font-size: calc(var(--bs-main-nav-item-font-size) * 0.8);
}

/* button dropdown arrow: smaller and vertically centred with the button text */
.btn.dropdown-toggle::after{
    top: 0;
    font-size: 0.75em;
    vertical-align: middle;
}

.dropstart .dropdown-toggle::before{
    font-family: bootstrap-icons;
    content: "\f284"; /* chevron-left */
}

.breadcrumb{
    --bs-breadcrumb-divider: "\f285";
}

.breadcrumb-item+.breadcrumb-item::before,
.swiper-button-next::after,
.swiper-button-prev::after{
    font-family: bootstrap-icons;
}

.swiper-button-prev::after{
    content: "\f284";
}

.swiper-button-next::after{
    content: "\f285";
}

.gridjs-search::before{
    font-family: bootstrap-icons;
    content: "\f52a"; /* search */
}


/* menu: plain scroll area (the hard coded simplebar markup is gone, simplebar itself was never loaded) */

.wrapper .main-nav .main-nav-scroll{
    position: relative; /* the menu arrows are positioned absolutely, they must scroll together with the menu */
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
}
