/** font-awesome standard icon colours */
.fa.fa-check,
.fa.fa-plus, .fa.fa-plus:hover
{ color: #00B050; }
.fa.fa-ban, .fa.fa-ban:hover,
.fa.fa-times, .fa.fa-times:hover,
.fa.fa-user-times, .fa.fa-user-times:hover
{ color: red; }
.fa.fa-pencil, .fa.fa-pencil:hover { color: #fc6; }
.fa.fa-info-circle, .fa.fa-info-circle:hover { color: #0070C0; }
.fa.fa-info-circle.text-danger, .fa.fa-info-circle.text-danger:hover { color: #b94a48; }
.fa.fa-exclamation-triangle { color: orange; }

.fa.fa-ticket,
.fa.fa-ticket:hover
{ color: #00B050; }

/** client forms related icons */
.fa.fa-file-image-o,
.fa.fa-file-video-o { color: #FCB526; }
.fa.fa-file-word-o { color: #09C; }
.fa.fa-file-excel-o { color: #30C764; }
.fa.fa-file-pdf-o { color: #E63946; }
.fa.fa-file-archive-o { color: #AAA; }

/** show/hide toggle icon when used under details */
details[open] summary .fa-plus { display: none; }
details summary .fa-minus { display: none; }
details[open] summary .fa-minus { display: inline; }
summary.inline { display: inline; }

table .col-number { text-align: right; }

/** data tables sort icons */
table.dataTable thead th.sorting:after,
table.dataTable thead th.sorting_asc:after,
table.dataTable thead th.sorting_desc:after
{ font-family: FontAwesome; }
table.dataTable thead th.sorting:after { content: "\f0dc"; }
table.dataTable thead th.sorting_asc:after { content: "\f0de"; }
table.dataTable thead th.sorting_desc:after { content: "\f0dd"; }

/** notifications */
.alert-dismissable.list-group-item { padding-right: 35px; }


/** select2 overrides */
.form-group .select2-container--default .select2-selection--single
{
    height: 38px;
    padding: 4px 6px;
    border: 1px solid #ccc;
}
.form-group .select2-container--default .select2-selection--single .select2-selection__arrow
{
    top: 6px;
    right: 2px;
}
.form-group .select2-container--default .select2-selection--multiple
{
    min-height: 38px;
    border: 1px solid #ccc;
}
.form-group .select2-container--default .select2-selection--multiple ul li
{
    padding: 2px 7px;
}

/** form input overrides */
input[type="number"][size="1"].form-control { width: 1em; }
input[type="number"][size="2"].form-control { width: 2em; }
input[type="number"][size="3"].form-control { width: 3em; }
input[type="number"][size="4"].form-control { width: 4em; }
input[type="number"][size="5"].form-control { width: 5em; }
input[type="number"][size="6"].form-control { width: 6em; }
input[type="number"][size="7"].form-control { width: 7em; }
input[type="number"][size="8"].form-control { width: 8em; }
input[type="number"][size="9"].form-control { width: 9em; }
/** drop spinner elements on number fields */
input[type='number'] { -moz-appearance:textfield; }
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button
{ -webkit-appearance: none; }



input.noborder {
    border: 0;
    box-shadow: none;
}

/** dummy addon to stop input group breaking between multiple items on small screen */
.input-group-addon.nowrap {
    padding: 0;
    border: 0;
    width: 0;
}


/** email edit switcher */
.email-edit-toggle .default div {
    border: 1px solid black;
    background: white;
    padding: 0.5em;
    font-size: 1.2em;
    min-height: 150px;
}


/** calendar styles */
body .pika-single,
body .pika-lendar
{ width: auto; }
body .pika-button {
    padding: .75em;
    font-size: 1em;
    line-height: 1em;
    border: 1px solid white;
}
body .pika-prev,
body .pika-next
{
    color: #666;
    padding: .7em 1.2em;
    background-color: #f5f5f5;
    text-indent: -9999px;
}



/** navbar account switcher and options */
.account-switch,
.account-switch > *
{ display: inline-block; }
.account-switch .title-toggle { white-space: nowrap; }
.account-switch .title-toggle span,
.account-options span .jump-home
{
    font-size: 1.5em;
    line-height: 2.4em;
}
.navbar-header .btn-lg { margin: 0; }
.navbar-header .caret,
.navbar-header .fa
{ font-size: 1.3em; }
.navbar-header .btn-lg .caret { border-top-width: 8px; }


/* fluid layout styles */
.fluid-sidebar h3 { margin-top: 0; }
@media (min-width: 850px) {
    .container-fluid .fluid-sidebar {
        width: 480px;
    }
    .container-fluid .fluid-sidebar ~ .fluid-main {
        float: none;
        margin-left: 480px;
        padding-left: 20px;
        padding-right: 20px;
        width: auto;
    }
    .container-fluid .fluid-sidebar ~ .fluid-main .nav-tabs {
        max-height: 2.3em;
    }
}


#wrapper { background: #f1f4f5; }

#content-title { margin: 0; }


/** panel toggler*/
.panel-heading .collapser {
    background: url(../images/toggle-closed.png) center center no-repeat;
    margin-left: 0;
    margin-right: 0.5em;
    padding-top: 9px;
    padding-bottom: 9px;
}
.panel-heading .collapsed {
    background-image: url(../images/toggle-open.png);
    margin-left: 0;
    margin-right: 0.5em;
}


/** +/- toggle icon swap */
.collapsed > i.fa.fa-plus,
.toggle-content .fa.fa-minus
{ display: inline; }
.collapsed > i.fa.fa-minus,
.toggle-content .fa.fa-plus
{ display: none; }


/** ajax modal preload */
.preload.modal-dialog.modal-sm.modal-content {
    text-align: center;
    padding: 15px;
}
/** modal blur background */
dialog {
    border: 0;
    background: transparent;
    margin-top: 0;
}
#auto-logout::backdrop {
    background-color: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(0.5em);
}



/** pikaday inline */
.form-group .pika-single {
    margin-left: 0;
    width: auto;
    border: 0;
    padding: 0;
}


/** loader */
.spinner { visibility: hidden; }
.loading .spinner { visibility: visible; }

/** bootstrap select */
#modifybooking .bootstrap-select { width: 100%; }



/** booking item icons */
.icons + .icons {
    clear: right;
    margin-top: 1em;
}
.icons .fa.fa-user { color: lightblue; }
.icons .fa.fa-refresh { color: green; }
.icons .fa.fa-comment { color: purple; }

.status-scheduled { color: transparent; }
.status-didnotshow { color: red; }
.status-outstanding { color: orange; }
.status-completed { color: green; }
.status-cancelled { color: black; }

.status-unknown { color: transparent; }
.status-forfeited { color: black; }
.status-notpaid { color: red; }
.status-refund { color: orange; }
.status-paid,
.status-voucher { color: green; }

.panel-heading .fa.fa-user-plus { color: white; }



/** quick buttons */
#quickbook .fa,
#quickbook .fa:hover
{ color: inherit; }



/** quick book autocomplete */
.autocomplete-suggestions {
    overflow: auto;
    border: 1px solid #CBD3DD;
    background: #FFF;
}
.autocomplete-suggestion {
    overflow: hidden;
    padding: 10px 15px;
    white-space: nowrap;
    font-size: 16px;
    cursor: pointer;
}
.autocomplete-selected { background: #F0F0F0; }
.autocomplete-suggestions strong { color: #D33804; }



/** quick book load client details */
#cust_details .fa.fa-spin { display: none; }
#cust_details.loading .fa.fa-spin { display: inline-block; }

#quickbook #addnewclient { display: none; }
#quickbook #modifyclient { display: inline-block; }
#quickbook[data-clientid=""] #addnewclient { display: inline-block; }
#quickbook[data-clientid=""] #modifyclient { display: none; }



/** client edit general */
#clientadd .tab-content { display: none; }
#clientadd .tab-content.active { display: block; }
#clientadd .pull-right .fa.fa-times { color: #9c9c9c; }
#clientadd #save-indicator {
    vertical-align: middle;
    margin-right: .5em;
    visibility: hidden;
}
#clientadd h3 {
    margin-top: 5px;
    margin-bottom: 5px;
}
/** client detail edit form */
#client-details .account {
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
    margin-bottom:10px;
}
#client-details .xac,
#client-details .xfixed
{
    width: 20%;
    display: inline-block;
}
#client-details .xfixed { width: 77%; }
/** client notifications */
#client-settings legend { font-size: 1.3rem; }
/** client forms */
#clientadd tr > * { vertical-align: middle; }
@media screen and (max-width: 850px) {
    /** hide columns in responsive mode */
    #clientadd #forms tr > :nth-child(2),
    #clientadd #forms tr > :nth-child(3)
    { display: none; }
}
.qq-progress-bar { background-color: #959595; }
/** */
.client-custom-form {
    max-width: 800px;
    margin: 0 auto;
}


/** modify booking form */
#modifybooking h3 {
    margin-top: 5px;
    margin-bottom: 5px;
}
#modifybooking #notes {
    height: 15em;
}


/** modify event booking form */
#modifyeventbooking h2 {
    font-size: 24px;
    margin-top: 5px;
    margin-bottom: 5px;
}



/** remove booking form */
#removebooking h2 {
    margin-top: 5px;
    margin-bottom: 5px;
}


/** account preferences */
/*#new_password_fields { display: none; }*/
.hidden + #new_password_fields { display: block; }


/** daylight savings */
#daylight-savings .table th:nth-child(2),
#daylight-savings .table td:nth-child(2)
{
    border-right: 2px solid #333;
    border-left: 2px solid #333;
}
#daylight-savings .table td:nth-child(3) { white-space: nowrap; }
#daylight-savings .disabled .del,
#daylight-savings .table .readd
{ visibility: hidden; }
#daylight-savings .disabled .readd { visibility: visible; }


/** client fields */
#clientfields .fields {
    height: 30em;
    overflow-y: scroll;
    border-radius: 4px;
}
[name="required[email]"],
[name="required[password]"],
[name="required[iagree]"],
[name="required[contact_me]"]
{ visibility: hidden; }


/** notification settings */
.when-email-notifications-enabled { display: none; }
.email-notifications-enabled .when-email-notifications-enabled { display: block; }
.email-notifications-enabled .when-email-notifications-not-enabled { display: none; }
.when-custom-email-enabled { display: none; }
.custom-email-enabled .when-custom-email-enabled { display: block; }
.custom-email-enabled .when-custom-email-not-enabled { display: none; }


/** ckeditor */
#template_editor:focus,
.cke_focus
{ outline: 2px solid #3cf; }



/** thumbnails */
.thumbnail { position: relative; }
.thumbnail button.remove {
    visibility: hidden;
    color: red;
    position: absolute;
    top: 0;
    right: 0;
}
.thumbnail a:hover + button.remove,
.thumbnail:hover button.remove
{ visibility: visible; }


/** opening hours */
#openinghourswrap .well-lg h3 { display: none; }
#openinghourswrap .well-lg span > * { float: none ! important; }


/** clients search */
#client-filter .adv-filter-row .fa.fa-plus,
#client-filter .adv-filter-row:last-child .fa.fa-times
{
    display: none;
    cursor: pointer;
}
#client-filter .adv-filter-row:last-child .fa.fa-plus,
#client-filter .adv-filter-row .fa.fa-times
{
    display: inline-block;
    cursor: pointer;
}
#client-filter .date-range-entry .fa.fa-times { cursor: pointer; }
.processing #export_start,
.ready #export_start,
#export_wait,
#export_ready
{ display: none; }
.processing #export_wait,
.ready #export_ready
{ display: block; }
table.include tr.exclude > :first-child,
.clients .btn
{ margin-left: 0; }
.clients tr > :first-child > div {
    font-size: 1.3em;
    line-height: 1;
    cursor: pointer;
}
/** case where client ticked */
.include .exclude > :first-child div:after,
.clients tr > :first-child
{ color: #0c0; }
/** case where client not ticked */
.include tr > :first-child,
.clients .exclude > :first-child
{ color: #E64915; }
table.include tr.exclude > .detail:first-child div:after,
.clients tr > .detail:first-child div:after
{ content: "\2611"; }
.include tr > .detail:first-child div:after,
.clients tr.exclude > .detail:first-child div:after
{ content: "\2610"; }
.clients .email input {
    background: transparent;
    border: 0;
    outline: 0;
}
.clients .action { white-space: nowrap; }



/** client actions */
.client-action-other .text-right .fa.fa-spin { visibility: hidden; }
.processing .text-right .fa.fa-spin { visibility: visible; }

#bookings_tab_content table.table tr > :last-child { width: 185px; }



/** online payments */
#gateway .bookitlive .cc-type-paypal,
#gateway .frame .cc-type-amex,
#gateway .securepay.frame .cc-type-diners,
#gateway .securepay .cc-type-paypal
{ display: none; }
#gateway .frame .cc-type-paypal
{ display: inline; }
#gateway label img {
    width: 64px;
    margin-right: 1.5em;
}



/** integrations */
.category-integration-list .list-group-item-inner-wrap {
    padding-left: 80px;
    min-height: 64px;
    background-repeat: no-repeat;
    background-size: 64px auto;
}



/** vouchers */
.OWN_FIXED .OWN,
.OWN .OWN_FIXED,
.opt-section,
.adv-toggle
{ display: none; }
.OWN .basic-opts,
.OWN_FIXED .basic-opts,
.OWN .OWN,
.OWN_FIXED .OWN_FIXED,
.OWN .adv-toggle,
.OWN_FIXED .adv-toggle
{ display: block; }
.voucher-generated .voucher-manual,
.voucher-manual .voucher-generated
{ display: none; }



/** memberships */
x.subscription td:last-child { white-space: nowrap; }


/** reports */
#filter .fields {
    height: 15em;
    overflow-y: scroll;
}


/** remove availability */
.add-unavailable-days #fields {
    max-height: 15em;
    overflow-y: scroll;
}


/** services / resource */
.ui-sortable .panel-heading .collapser { visibility: hidden; }
.ui-sortable li { cursor: pointer; }
.ui-sortable + div .btn-add-item,
.ui-sortable + div .btn-success,
.ui-sortable .panel-body { display: none; }


/** resource timetable */
.timetable .checkbox { white-space: nowrap; }
.time-ranges { position: relative; }
.time-ranges .input-group:first-child > :first-child { visibility: hidden; }
.time-ranges-list { margin-right: 7em; }
.time-ranges .actions {
    position: absolute;
    bottom: 0;
    right: 0;
}

.capacity-constraints .panel {
    margin-bottom: 0;
    box-shadow: none;
}
.capacity-constraints .max-limit-single {
    display: none;
}

/** locations */
.locations-header .loader {
    float: right;
    visibility: hidden;
}
.switching .loader { visibility: visible; }
.switching + #provider-locations { opacity: .3; }
#provider-locations .checkbox { margin-top: 0; }
#provider-locations .checkbox label { width: 90%; }
#provider-locations .checkbox div small { display: block; }
#provider-locations .list .list-group {
    max-height: 50em;
    overflow-y: scroll;
}
/** location notes saving indicator (default hidden) */
#locations div a:before {
    content: " ";
    width: 16px;
    height: 16px;
    background: url('/images/spinner.gif') no-repeat;
    display: block;
    visibility: hidden;
    margin-left: -2em;
    margin-bottom: -1.5em;
}
#locations div.save a:before { visibility: visible; }











/** booking sheet */
#services-filter select {
    display: inline-block;
    width: auto;
    margin-left: .5em;
    max-width: 22em;
}

#calendarselecter { background-color: #333; }
#calendarselecter #months-wrapper {
    overflow: hidden;
    position: relative;
    width: 650px;
}
#calendarselecter #leftbutton,
#calendarselecter #rightbutton
{ color: white; }
#calendarselecter #months-wrapper i { color: white; }
#calendarselecter #months span.active {
    background: white;
    color: #333;
}

#calendarselecter #gototoday {
    margin: 0;
    font-size: 1em;
}
#calendarselecter #days {
    clear: left;
    color: #333;
    margin: 0;
    padding: 2px;
}
#calendarselecter #days li {
    float: left;
    margin: 1px 0 0 2px;
    text-align: center;
}
#calendarselecter #days span {
    background: white;
    display: block;
    width: 20px;
}
#calendarselecter #days span:hover  { background: #adadad; }
#calendarselecter #days span.active {
    background: #333;
    color: white;
}

#booking-sheet #thecontent,
#booking-sheet #topbar
{ min-width:54em; }
#thecontent { overflow-x: hidden; }


/** booking sheet times header */
#booking-sheet #times { margin-bottom: 0; }
#booking-sheet #times li {
    outline: 1px solid black;
    float: left;
    line-height: 2em;
    height: 2em;
    overflow-y: hidden;
}

#booking-sheet #resourcewrap { clear: both; }

/** booking sheet resource column */
#booking-sheet #resources li {
    height: 64px;
    overflow: visible;
    position: relative;
    border-radius: 0;
}
#booking-sheet #resources li .well-sm {
    border: 1px solid black;
    min-width: 100%;
    height: 64px;
    overflow: hidden;
}
#booking-sheet #resources li:hover .well-sm {
    position: absolute;
    z-index: 1;
    white-space: nowrap;
}

/** bookingsheet timeslot rows */
#booking-sheet .booking-row {
    /** note: layout fix for iOS 18 */
    display: list-item;
    width: 100%;
}
#booking-sheet .timeslot {
    min-height: 64px;
    height: 64px;
    max-height: 64px;
    overflow: visible;
    position: relative;
    float: left;
}
.timeslot .contents {
    border: 1px solid black;
    background: white;
    padding: 4px;
    min-width: 100%;
    font-size: 10px;
    color: #4d4d4d;
    min-height: 100%;
    white-space: nowrap;
}
.timeslot:hover .contents {
    position: absolute;
    z-index: 1;
    height: auto;
}
.timeslot .contents p {
    padding: 0 4px;
    margin-bottom: 0;
}

.timeslot.available .contents,
.timeslot.adhoc .contents
{ background-color: #afe45c; }
.timeslot.multiavailable .contents { background-color: #9999ff; }
.timeslot.semiavailable .contents { background-color: #9999ff; }
.timeslot.semiavailable .contents { background-color: #f88200; }

.timeslot.unavailable .contents ,
.timeslot.pasthoc .contents
{ background-color: #c6c6c6; }

.timeslot.closed .contents { background-color: #3c3c3c; }

.timeslot.booked .contents,
.timeslot.was_booked .contents
{ background-color: #ff6d62; }

.timeslot.booked-available .contents
{ background-color: #eeac00; }



/** manual booking modal */
#manual_booking #service optgroup {
    font-weight: normal;
    color: lightgrey;
}
#manual_booking .fa.fa-spin { visibility: hidden; }
#manual_booking.loading .fa.fa-spin { visibility: visible; }



/** member dashboard */
.providers .list-group-item > div {
    display: grid;
    grid-template-columns: auto 1em 15em;
    grid-template-rows: auto auto auto;
    grid-template-areas:
        "main . ."
        "main . button"
        "main . .";
}
.providers .form-control-static {
    grid-area: main;
}
.providers .btn-primary {
    grid-area: button;
}
@media only screen and (max-width : 600px) {
    .providers .list-group-item > div { display: block; }
}
.bookings-next .booking-cancel {
    white-space: nowrap;
}



/* Event Schedule */
#eventCreateEdit .panel-heading {
    padding:0px;
}

#eventCreateEdit .panel-heading a:not(:hover) {
    color: white;
}
#eventCreateEdit .panel-heading .disabled a:not(:hover) {
    color: #aea79f;
}

#eventCreateEdit .nav-pills > li > a {
    border-radius: 0px;
    padding:15px 15px;
}


/** no stepper when editing event booking */
#modifyeventbooking .step-container {
    display: none;
}
