form.validate .has-validation small.error {
    flex-shrink: 0;
    width: 100%;
}
form.validate .has-validation small.error label {
    font-weight:500;
}
.register-box {
    width:640px;
}
.brand-link .brand-image {
    float:none;
    max-height:68px;
}
.navbar-nav>.user-menu .user-image {
    margin-top: -4px;
}
.navbar-nav>.user-menu>.dropdown-menu {
    width:120px;
}
.image-upload .thumb .profilePicUpload {
    font-size: 0;
    opacity: 0;
}
.image-upload .thumb .profilePicPreview {
    width: 300px;
    height: 300px;
    display: block;
    border: 3px solid #f1f1f1;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.25);
    border-radius: 10px;
    background-size: cover !important;
    background-position: top;
    background-repeat: no-repeat;
    position: relative;
    overflow: hidden;
}

.image-upload .thumb .profilePicPreview.logoPicPrev {
    background-size: contain !important;
    background-position: center;
}
.image-upload .thumb .profilePicPreview .remove-image {
    position: absolute;
    top: -9px;
    right: -9px;
    text-align: center;
    width: 55px;
    height: 55px;
    font-size: 24px;
    border-radius: 50%;
    background-color: #df1c1c;
    color: #fff;
    display: none;
}
.event-custom-time {
    line-height:1;
    display:block;
    text-shadow: 0 0 3px #000000;
}
.view-doctor-work-calendar .fc .fc-col-header-cell-cushion {
    padding:2px 0;
}
.view-doctor-work-calendar .fc-day-sat,
.view-doctor-work-calendar .fc-day-sun,
.edit-doctor-work-calendar .fc-day-sat,
.edit-doctor-work-calendar .fc-day-sun,
.add-doctor-work-calendar .fc-day-sat,
.add-doctor-work-calendar .fc-day-sun,
.view-work-calendar .fc-day-sat,
.view-work-calendar .fc-day-sun,
.edit-work-calendar .fc-day-sat,
.edit-work-calendar .fc-day-sun,
.add-work-calendar .fc-day-sat,
.add-work-calendar .fc-day-sun{
    background-color: #EAEAEA !important;
}
.event-doctor-view-time {
    line-height:1;
    display:block;
    color:#000;
}
.event-popup-content {
    position: absolute;
    display: none;
    background: #fff;
    border-radius:5px;
    border:1px solid #eaeaea;
    z-index:990;
    padding:4px 5px;
}
.event-popup-content .p-info-box {
    margin-top: 10px;
    margin-bottom: 10px;
}
.event-popup-content .p-info-box button {
    border-radius: 99px;
    padding: 8px;
    margin-right: 10px;
    line-height: 16px;
}
.event-popup-content .p-info-box .pCallBtn {
    background: #fff;
    color: #198b3e;
    border: 2px solid #198b3e;
}
.event-popup-content .p-info-box .pPrintBtn {
    background: #fff;
    color: #0c92a8;
    border: 2px solid #0c92a8;
}
.event-popup-content .p-info-box .pInfoBtn {
    display: inline-block;
    border: 2px solid #0c92a8;
    border-radius: 99px;
    padding: 8px;
    line-height: 16px;
    width: 36px;
    text-align: center;
}
.event-popup-content .p-info-box .pCallBtn i {
    transform: rotate(90deg);
}
.image-upload .thumb .profilePicPreview.has-image .remove-image {
    display: block;
}
.mouth-block {
    display:flex;
    flex-wrap: wrap;
}
.mouth-block .block-jaw-1,
.mouth-block .block-jaw-2 {
    display:flex;
    flex-wrap:nowrap;
    width:100%;
}
.mouth-block .block-jaw-1 {
    margin-bottom: 16px;
}
.mouth-block .teeth-block-quarter {
    width:50%;
    display: flex;
}
.tooth-block {
    margin:0 4px;
    text-align: center;
}
.teeth-block-quarter .tooth-block .card-tooth {
    opacity: 0;
    display:block;
    width:1px;
    height: 1px;
    position:absolute;
}
.teeth-block-quarter .tooth-block label {
    margin: 0;
    background: #fff;
    font-weight: 500;
    border-radius: 4px;
    overflow: hidden;
    position: relative;
    padding-top: 4px;
    border: 1px solid #dadada;
}
.teeth-block-quarter .tooth-block .card-tooth:checked ~ label {
    border: 1px solid #007bff;
}
.teeth-block-quarter .tooth-block .card-tooth[data-info] ~ label {
    background: #d5e7d7;
}
.teeth-block-quarter .tooth-block label span {
    display:block;
    margin-top:3px;
}
.teeth-block-quarter .tooth-block label span.child-number {
    margin: 0;
    position: absolute;
    color: #c40101;
    line-height: 1;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 4px;
    padding: 2px 4px;
    font-size: 12px;
    top: 2px;
    left: 50%;
    transform: translateX(-50%);
}
.tooth-block img {
    width:auto;
    height:auto;
    max-width: 100%;
}
.tooth-block label:hover img {
    opacity: 0.7;
}
#product-row #add-more,
#product-row .remove-row {
    cursor: pointer;
}
.dash-info .small-box {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.overlay.vertical {
    flex-direction:column;
}
.available-times {
    list-style: none;
    padding: 0;
    margin: 0;
    column-count: 5;
}
.available-times label {
    cursor:pointer;
    border: 1px solid #acacac;
    border-radius: 5px;
    background: #fafafa;
    padding:0 6px
}
.available-times input {
    width:0;
    height:0;
    display:block;
    opacity:0;
}
.available-times input:checked ~ label {
    background-color: #17a2b8;
    color:#fff;
    border-color: #17a2b8;
}
.direct-chat-messages {
    height:350px;
}
.layout-fixed .wrapper .sidebar {
    height: calc(100% - 93px);
}
.todo-list li {
    position:relative;
}
.todo-list li .overlay {
    display: flex;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 1052;
    margin-left:-2px;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: rgba(0, 0, 0, .3);
    color: #666f76;
    border-radius: 2px;
}
.mailbox-messages [class*=icheck-] {
    min-height: 22px;
    margin-top: 2px !important;
    margin-bottom: 0 !important;
    padding-left: 0;
}
.otherInfo .btn-xs {
    margin-top: -0.25rem;
}
#teeth-info-block {
    padding: 0 10px;
    list-style: none;
    margin: 10px 0;
}
#teeth-info-block > li {
    position: relative;
    padding-left: 36px;
    margin-bottom: 10px;
    min-height: 78px;
}
#teeth-info-block .info-handle {
    position: absolute;
    width: 34px;
    font-weight: 500;
    left:0;
    border-radius: 4px;
}
#teeth-info-block .info-handle img {
    width: auto;
    height: auto;
    max-width: 100%;
}
#teeth-info-block .info-handle span {
    display: block;
    text-align: center;
}
#teeth-info-block li a {
    position:absolute;
    right:12px;
    bottom:6px;
    z-index:3;
}
#teeth-info-block .other-box {
    display: none;
}
#teeth-info-block .other .other-box {
    display:block;
    margin-top: 4px;
}
.print-frame {
    border: 0;
    width: 100%;
    min-height: 500px;
    display: block;
}

#contextMenu, #docContextMenu, #resContextMenu, #aptContextMenu {
    display: none;
    position: absolute;
    z-index: 999;
}
#contextMenu .allday .addAptClick,
#contextMenu .allday #addReserveClick {
    display: none;

}
#contextMenu .pasteDoc,
#contextMenu .pasteApt {
    display:none;
}
#contextMenu .showPaste .pasteDoc,
#contextMenu .showAptPaste .pasteApt {
    display:block;
}
.appointments .card-body {
    position: relative;
}
.appointments .card-body .overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.fc-view {
    background-color:#f3f3f3;
}
/*.fc .fc-timegrid-col-events .fc-event {
    margin-top: -30px;
    padding-top:30px;
}
.fc-timegrid-col-events .fc-timegrid-event-harness:not(:first-child) {*/
.fc-timegrid-col-events .fc-timegrid-event-harness {
    left: 0 !important;
    right: 0 !important;
}
.fc-timegrid-col-events .fc-timegrid-event-harness:hover {
    z-index: 2 !important;
}
.fc .fc-timegrid-col-bg .fc-bg-event:hover {
    z-index:10;
}
.fc-event .fc-event-main,
.fc-timegrid-event .fc-event-main {
    /*overflow:hidden;*/
}
.fc-timegrid-col-events .fc-timegrid-event-harness:first-child { z-index: 10; }
.fc-timegrid-col-events .fc-timegrid-event-harness.fc-event-priority-1 { z-index:1 !important;}
.fc-timegrid-col-events .fc-timegrid-event-harness.fc-event-priority-2 { z-index:3 !important;}
.fc-timegrid-col-events .fc-timegrid-event-harness.fc-event-priority-3 { z-index:3 !important;}
.fc-timegrid-col-events .fc-timegrid-event-harness.fc-event-priority-1:hover { z-index:3 !important;}
.fc-event .event-doctor-time {
    color:#fff;
    background: #1d6fa5;
    display:block;
    padding:2px 4px;
    position: absolute;
    border-radius: 3px 3px 0 0;
    margin:-1px;
    line-height:1;
    left:0;
    right:-2.5%;
    height: 41px;
    transform: translateY(-39px);
}
.fc-dayGridMonth-view .fc-event .event-doctor-time {
    position:static;
    height: auto;
    transform: translateY(0);
}
.fc-resourceTimeGridDay-view .fc-scroller .fc-timegrid-cols,
.fc-resourceTimeGridWeek-view .fc-scroller .fc-timegrid-cols {
    top:0px;
}
.fc-resourceTimeGridDay-view .fc-scroller .fc-timegrid-slots,
.fc-resourceTimeGridWeek-view .fc-scroller .fc-timegrid-slots {
    padding-top:40px;
}
.fc-timegrid-axis-chunk {
    padding-top:40px;
}
.fc .fc-scroller-liquid-absolute {
    /*padding-top:30px;*/
}
.appointment-page {
    min-height:100vh;
    height: auto;
}
.appointment-page .appointment-box {
    width:720px;
    max-width:100%;
}
#apt-errors {
    font-size: 14px;
    color: #f00;
}
#appointment-calendar {
    min-height: 100px;
    position: relative;
    padding: 1rem;
}
#registration-process .loader,
#appointment-calendar .loader {
    position: absolute;
    width:100%;
    height:100%;
    top:0;
    left: 0;
    background: rgba(0,0,0,0.25);
    display:none;
    z-index:9999;
}
#registration-process .loading .loader,
#appointment-calendar.loading .loader {
    display:block;
}
#registration-process .loader .spinner,
#appointment-calendar .loader .spinner {
    position:absolute;
    left:50%;
    top:50%;
    width:24px;
    height: 24px;
    transform: translate(-50%,-50%);
}
#registration-process .loader .spinner:after,
#appointment-calendar .loader .spinner:after {
    display:block;
    content: "";
    width: 24px;
    height:24px;
    -webkit-animation: button-spin .6s linear;
    animation: button-spin .6s linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    border-radius: 500rem;
    border-color: #29b8ce #B8D5D9 #B8D5D9;
    border-style: solid;
    border-width: 4px;
}
.ajaxServForm .list-group {
    min-height: 200px;
}
.ajaxServForm .list-group-item {
    padding:.55rem 1.25rem .55rem 40px;
}
.list-group-item .handle {
    display: inline-block;
    width: 20px;
    position: absolute;
    height: 20px;
    left: 16px;
    cursor: move;
}
.list-group-item .removeOffer {
    cursor:pointer;
}
.formeo.formeo-editor {
    min-height:400px;
}
#formeo-editor .form-actions {
    display:none;
}
.formeo-field .signature-pad {
    padding: 2px 12px;
    border: 1px solid #cacaca;
    border-radius: 4px;
    background: #eaeaea;
}
.formeo-field .signature-pad:after {
    content:"Signature Pad"
}
.signature-pad canvas {
    border:1px solid #dadada;
    cursor:crosshair;
}
.language-selector {
    position:absolute;
    right: 12px;
    bottom: 6px;
}
.reg-form-thanks {
    min-height: 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.mailbox-read-message {
    height:350px;
}
.mailbox-read-message iframe {
    border:none;
    width: 100%;
    height:100%;
}
#addTreatment .select2-container--default .select2-selection--single,
body.services .select2-container--default .select2-selection--single,
body.view-appointment .modal .select2-container--default .select2-selection--single {
    height:auto;
}
#treatmentSelection .select2-container--default .select2-selection--single {
    height:calc(2.25rem + 2px);
}
#addTreatment .select2-container .select2-selection--single .select2-selection__rendered,
body.services .select2-container .select2-selection--single .select2-selection__rendered,
body.view-appointment .modal .select2-container .select2-selection--single .select2-selection__rendered {
    white-space:normal;
}
#lookupModal .available-slots {
    list-style: none;
    padding: 0;
    column-count: 6;
}
#lookupModal .available-slots li {
    position: relative;
}
.available-slots li label {
    display:block;
    cursor: pointer;
    text-align: center;
    border: 2px solid #17a2b8;
    border-radius: 6px;
    color:#17a2b8;
}
.available-slots li input {
    opacity:0;
    position:absolute;
    width:0;
}
.available-slots li label:has(input[type="radio"]:checked) {
    background: #17a2b8;
    color:#fff;
}
#progress-container .item {
    position: relative;
}

#progress-container .item:hover .title {
    color: #252930
}

#progress-container .item .title {
    font-size: .875rem;
    font-weight: 500
}

#progress-container .item .meta {
    font-size: .875rem;
    color: #828d9f
}
#products-appointment {
    width:100%;
    overflow-x:hidden;
}
#products-appointment .products-appointment-wrapper {
    display:flex;
    flex-wrap:nowrap;
    align-items:start;
    overflow-y:clip;
    transition: transform 0.3s ease-in-out;
}
#products-appointment .products-appointment-wrapper .services-block,
#products-appointment .products-appointment-wrapper .selected-block {
    flex-shrink: 0;
    width:100%;
}
#service-header {
    border-bottom-width:2px !important;
}
#service-header .products-search-header {
    flex:1 1 auto;
    width:1%;
    border: none;
    outline: none;
    background:none;
}
#service-header .search-container {
    background: #f2f2f2;
    border-radius: 4px;
    border: 1px solid #dee2e6;
}
#selector-block .services-list {
    list-style: none;
    margin:0;
    padding:0;
    max-height: 260px;
    overflow: scroll;
}
#selector-block .services-list li {
    padding:8px 26px 8px 10px;
    background: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26 26"><path d="M20.404 11.36 9.637 1.6C8.806.76 7.459.76 6.629 1.6 5.798 2.43 5.798 3.77 6.629 4.6L15.885 13 6.629 21.4C5.798 22.23 5.798 23.57 6.629 24.4 7.459 25.24 8.806 25.24 9.637 24.4L20.404 14.64C20.854 14.19 21.052 13.59 21.015 13 21.052 12.41 20.854 11.81 20.404 11.36" fill="%23000000" stroke-width="1" stroke="%23000000"/></svg>') no-repeat calc(100% - 8px) center;
    background-size: 10px;
    border-bottom:1px solid #dee2e6;
    cursor:pointer;
    font-weight:700;
}
#selector-block .services-list li:hover {
    background-color:#f2f4f5;
}
#selector-block .services-list li.active {
    background-color: #e9ecef;
}
#selector-block .services-list li:last-child {
    border-bottom:none;
}
#selector-block .product-list {
    list-style:none;
    padding:0;
    margin:0;
    max-height: 260px;
    overflow: scroll;
}
#selector-block .product-list li {
    padding:6px 12px;
}
#selector-block .product-list label {
    display:flex;
    flex-wrap: nowrap;
    align-items: center;
    cursor:pointer;
}
.product-list label .product-check {
    flex-shrink: 0;
}
.product-list label .product-label {
    width:100%;
    line-height: 1.15;
    padding-left: 11px;
    padding-right: 12px;
    font-size:14px;
}
.product-list label .product-label p {
    margin-bottom: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
.product-list label .product-label span {
    font-weight: 400;
    color:#555;
}
.product-list label .product-label span.highlight {
    background: #fff20e;
    color: #000;
    font-weight: 700;
}
.product-list label .product-label span strong {
    color:#000;
}
.services-block #nav-block label {
    margin: 0;
    font-weight:400;
    font-size:14px;
    padding-left:8px;
}
.services-block #nav-block label span {
    vertical-align: 2px;
    padding-left: 6px;
}
@keyframes button-spin {
    from {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}
.passwordRow, .user-login-block {
    display:none;
}
.scroll {
    height:50vh;
}
.news-offers iframe,
.news-offers img {
    max-width:100%;
    height:auto;
}
@media all and (max-width: 767px) {
    .hidden-xs {
        display: none !important;
    }
    .tooth-block {
        margin:0 2px;
    }
    #vert-tabs-tabContent {
        margin-top: 20px;
    }
    .navbar-expand.navbar {
        flex-flow:row wrap;
    }
    .navbar-expand.navbar .navbar-nav {
        flex-wrap: wrap;
    }
    .card .navbar-expand.navbar .ml-auto {
        margin-left: 0 !important;
    }
    .card .navbar input[type=text] {
        width:100px;
    }
    .form-group.row {
        padding:0 10px;
    }
    .form-group.row label {
        text-align: left !important;
    }
    a {
        word-break:break-all;
    }
    .mailbox-name a, a.btn, .nav-sidebar a {
        word-break: normal;
    }
    div.dataTables_wrapper div.dataTables_paginate ul.pagination {
        white-space:break-spaces;
    }
    .event-popup-content {
        width:210px;
    }
}
@media all and (max-width: 480px) {
    .available-times {
        column-count: 4;
    }
    .tooth-block {
        margin:0;
    }
    .teeth-block-quarter .tooth-block label span {
        font-size:12px;
    }
}

