/*
+
    ==========================
    AlfaDocs DESIGN GUIDELINES
    ==========================
    - All content has to be in a card or alert container except .block-headers
    - Every card has an <h2> card-header
        - Pages that have multiple cards, that are not in a card with tab navigation, need to have a .block-header instead
    - Icons without labels are allowed only for
        - edit, delete, add, print and v-dots-dropdown-menu functionality (agenda may have exceptions)
    - Icons without labels must be clearly allocated to one conten block or card
    - Filter and global settings in form of forms need to be placed in a .card-header, after the h2 and with .m-t-20 (margin top 20px)
    - Table with actions:
        - Last th for actions needs to be labled "Commandi"
        - .btn-icon can only be used for edit, delete and print
        - Sequence: first Edit, then Delete, then print
        - Other commands need to be placed in .btn-default with eventual dropdown if needed
        - If .btn-default and btn-icon are combined, .btn-default needs to be inline with .btn-icon or above .btn-icon with .m-b-5
    - Tables need to have the classes .table and only if larger than 3 columns the class .table-hover is added
+
*/



/*
+
    ==================
    CORE CLASS REWRITE
    ==================
+
*/

body {
    font-size: 15px;
    background-color: #FAFAFA;
    // background-color: #EDECEC;
    animation-name:none;
    padding-bottom: unset;
    /*  display: flex; flex-direction: column; */
}

label {
    font-weight: normal;
}

#header {
    background: #00BCD4;
    padding:0 !important;
}

#main {
    min-height: 90vh;
    /* flex-grow: 1;*/
}

#login {
    margin-top: 1vh;
}

body #content {
    padding: 30px 10px;
}

#doctor-archive-header {
    text-align:center;
    height:20px;
}
body.archive-mode #header {
    height:85px;
}
body.archive-mode #sidebar {
    top: 85px;
}
body.archive-mode #content {
    padding-top: 50px;
}

#sidebar {
    transition: none;
    z-index: 6;
}

.header-inner .logo a {
    padding-top: 0;
    text-transform: none;
    font-weight: bold;
    font-size: 20px;
}

#footer {
    height: unset;
    position: unset;
    bottom: unset;
}

#footer.ad-footer, #footer.alfa-footer {
    padding: 15px;
    background: #424242;
    color: #ffffff;
}

#footer.ad-footer h4, #footer.alfa-footer h4 {
    color: #ffffff !important;
}

#footer.ad-footer ul, #footer.alfa-footer ul {
    line-height: 200%;
}

#footer.ad-footer-public a, #footer.alfa-footer-public a {
    color: #ffffff;
}

#footer.ad-footer-public a:hover, #footer.alfa-footer-public a:hover {
    text-decoration: underline;
}

body.sw-toggled #footer.alfa-footer-public {
    padding-left: 0;
}

.blog-post .bp-header .bp-title {
    background: #0097A7;
}

.btn-float {
    background-color: #FF5722;
}

.m-btn.btn-float {
    width: 56px;
    height: 56px;
    line-height: 51px !important;
    box-shadow: 0 0 4px rgba(0,0,0,.13),0 4px 8px rgba(0,0,0,.27) !important;
}

.m-btn {
    bottom: 85px;
    right: 19px;
    z-index: 9999;
}

.btn-icon {
    margin-bottom: 3px;
}

/* Somehow .waves-circle is appended on a-tags with .btn-icon,
this causes the line-height to be overwritten. We fix this to center align icons for a.btn-icon elements'. */
a.waves-circle {
    line-height: 3.1em;
}

/* Table hover background color */
.table-hover tbody tr:hover td, .table-hover tbody tr:hover th {
    background-color: #E0F7FA; /* Md Cyan 50 */
}

/* Form field underlining color */
.fg-line:not([class*=has-]):after {
    background: #00B8D4; /* Md Cyan A700 */
}

/* Primary button and it's hover color */
.btn-primary {
    background: #00B8D4; /* Md Cyan A700 */
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .open > .dropdown-toggle.btn-primary {
    background: #00E5FF;  /* Md Cyan A400 */
}

.btn-primary.bgm-pink:hover {
    background: #F50057 !important;
}
.btn-primary.bgm-teal:hover {
    background: #1DE9B6 !important;
}
.btn-primary.bgm-green:hover {
    background: #00E676 !important;
}
.btn-primary.bgm-deeporange:hover {
    background: #FF3D00 !important;
}

.white-space-normal {
    white-space: normal;
}

/* Typeahead */
.tt-query {
    width: 396px;
    height: 30px;
    padding: 8px 12px;
    font-size: 24px;
    line-height: 30px;
    border: 2px solid #ccc;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    outline: none;
}

.tt-query {
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.tt-hint {
    color: #999
}

.tt-dropdown-menu {
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    width: 100%;
    min-width: 400px;
    background-color: #fff;
}

.tt-suggestion {
    padding: 4px 20px;
    font-size: 18px;
    line-height: 18px;
    cursor: pointer;
}

.tt-suggestion.tt-is-under-cursor {
    color: #fff;
    background-color: #0097cf;
}

.tt-suggestion p {
    margin: 0;
}

.twitter-typeahead .tt-suggestion:hover {
    background-color: transparent !important;
}

/* Turn off padding since we decided not to use official modal markup,
so we need to use a .card element in each modal instead (which has a padding of its own) */
.modal .modal-body {
    padding:0;
}

/*.card:not(.z-depth-2), .card:not(.z-depth-4)
{
    box-shadow:  0 2px 2px rgba(0,0,0,0.15);
}*/

.card {
    border-radius: 3px;
}
.card .card-header .actions {
    right: 20px;
    z-index: 1;
    padding: 4px;
}
.card .card-header h2 small  {
    color: #616161;
}


/* BEGIN Setup for grey card header */
.card:not([class*="ad-card-tabs"]):not([class*="ad-card-thumb"]) .card-header {
    margin-bottom:20px;
}
.card .card-header .actions {
    top:10px;
}
.card .card-header:not([class*="bgm-"]) {
    background-color: #f7f7f7;
}
.card .card-header {
    padding: 23px 26px;
}
/* END Setup for grey card header */

.card.ad-card-white .card-header {
    background-color: #ffffff;
    margin-bottom: 0!important;
}
.card.ad-card-white .card-header h2, .card.ad-card-white .card-header small {
    color: #000000;
}
.card.ad-card-white .card-header small {
    color: #9E9E9E;
}

.top-menu #toggle-width .toggle-switch {
    margin-right: 13px;
    margin-left: 15px;
}

.card .card-header h2 {
    text-transform: uppercase;
}

.text-left {
    text-align: left !important;
}

/* This is causing a display bug on the care plan add care row on the input-group-addon price col */
.input-group {
    margin-left:-10px !important;
}

.input-group.without-margin-left {
    margin-left:0 !important;
}

.input-group .input-group-addon {
    line-height:34px;
}


.text-warning {
    color: #F57C00 !important; /* Md Orange 700 */
}

/* Needed for using .text-warning in tfoot */
.table > tfoot > tr > td.text-warning {
    color: #F57C00; /* Md Orange 700 */
}

.text-danger {
    color: #D32F2F !important; /* Md Red 700 */
}

/* Needed for using .text-danger in tfoot */
.table > tfoot > tr > td.text-danger {
    color: #D32F2F; /* Md Red 700 */
}

.text-success {
    color: #388E3C; /* Md Green 700 */
}

/* Needed for using .text-success in tfoot */
.table > tfoot > tr > td.text-success {
    color: #388E3C; /* Md Green 700 */
}

.text-info {
    color: #0097A7 !important; /* Md Cyan 700 */
}

/* Needed for using .text-info in tfoot */
.table > tfoot > tr > td.text-info {
    color: #0097A7; /* Md Cyan 700 */
}

.alert {
    font-size: 15px;
}

.alert-warning {
    background-color: #FFFDE7; /* Yellow 50 */
    border-color: #FFF176; /* Yellow 300 */
    color: #F57F17; /* Yellow 900 */
}

.alert-danger {
    background-color: #FFEBEE; /* Red 50 */
    border-color: #FFCDD2; /* Red 100 */
    color: #B71C1C; /* Red 900 */
}

.alert-success {
    background-color: #E8F5E9; /* Cyan 50 */
    border-color: #C8E6C9; /* Cyan 100 */
    color: #1B5E20; /* Md Cyan 900 */
}

.alert-info {
    background-color: #E0F7FA; /* Cyan 50 */
    border-color: #B2EBF2; /* Cyan 100 */
    color: #006064; /* Md Cyan 900 */
}

.alert > h3 {
    margin-top: 0;
    color: inherit;
}

.alert > h3 {
    font-size: 20px;
}

.bg-warning{
    background-color: #FFFDE7; /* Yellow 50 */
    color: #F57F17; /* Yellow 900 */
}

.bg-danger {
    background-color: #FFEBEE; /* Red 50 */
    color: #B71C1C; /* Red 900 */
}

.bg-success {
    background-color: #E8F5E9; /* Cyan 50 */
    color: #1B5E20; /* Md Cyan 900 */
}

.bg-info {
    background-color: #E0F7FA; /* Cyan 50 */
    color: #006064; /* Md Cyan 900 */
}

.bg-muted {
    background-color: #E0E0E0; /* Grey 300 */
    color: #9E9E9E; /* Grey 500 */
}

/* td.fc-time span, th.fc-day-header {
    font-weight: bold;
} */
.fc-event {
    font-size: 13px;
}

.block-header .actions
{
    margin-right: 10px;
}

.block-header h2 {
    font-size:17px;
}

.form-horizontal .radio, .form-horizontal .radio-inline {
    padding-top: 0;
}


/* a :not(.btn), a:visited {
    color: #00BCD4;
}
a:hover, a:focus {
    color: #0097A7;
} */

/*
+
    ======================
    END CORE CLASS REWRITE
    ======================
+
*/






/*
+
    =======================
    AlfaDocs CUSTOM CLASSES
    =======================
+
*/

.profile-menu {
    margin-bottom:20px;
}

.main-menu {
    margin-top:0;
}

/* Expand menu if a sub-item is open */
.main-menu > li.sub-menu.toggled > ul {
    display:block;
}


/* OTHER */

.table > tfoot > tr > th, .table > tfoot > tr > td {
    /* background-color: #727272; */
    vertical-align: middle;
    font-weight: 500;
    color: #333;
    border-width: 1px;
    text-transform: uppercase;
}


.ad-demo {
    margin-bottom: 50px;
}
.ad-demo h1, .ad-demo p {
    // color: #fff;
}
.ad-demo h1 {
    margin-top:0;
    font-size: 51px;
}
.ad-demo h2 {
    margin-top:0;
    font-size: 43px;
}
.ad-demo p, .ad-splashtext {
    font-size:190%;
    line-height:150%;
    font-weight: 300;
}

/* Phones - XS */
@media (max-width: 768px) {
    body#ic_main_default_index {
        // background-image: url(../images/bg-xs.jpg);
        // background-image: none;
    }
    .ad-demo {
        margin-bottom: 20px;
    }
    .ad-demo h1 {
        font-size:31px;
        margin-top: 0;
    }
    .ad-demo h2 {
        font-size: 25px !important;
        line-height: 130% !important;
    }
    .ad-demo p {
        font-size:130%;
        line-height:130%;
        font-weight: 300;
    }
    .m-btn {
        right: 19px;
        bottom: 85px;
        z-index: 9999;
    }
    .ad-story-section {
        padding: 40px 0;
    }
}

/* Tablets - SM */
@media (min-width: 768px) and (max-width: 992px) {
    .ad-story-section {
        padding: 60px 0;
    }
    #ad-story-discover .ad-story-section:first-child {
        margin: 110px 0;
    }
}

/* Desktop - MD */
@media (min-width: 992px) and (max-width: 1200px) {
    .ad-story-section {
        padding: 85px 0;
    }
    #ad-story-discover .ad-story-section:first-child {
        margin: 150px 0;
    }
}

/* Desktop - LG */
@media (min-width: 1200px) {
    .ad-story-section {
        padding: 85px 0;
    }
    #ad-story-discover .ad-story-section:first-child {
       margin: 190px 0;
    }
}

.ad-story .ad-story-section:nth-child(even) {
   //background-color: rgba(0, 151, 167, 0.3);
   background-color: #EEEEEE;
}
.ad-story .ad-story-section:nth-child(odd) {
   //background-color: rgba(113, 113, 113, 0.3);
   background-color: #FAFAFA;
}
.ad-story-section:first-child {
    /* Remove the content-section container padding for consistent spacing */
    margin-top: -30px;
}
#ad-story-discover .ad-story-section:first-child {
   background-color: rgba(0, 0, 0, 0) !important;
}
.ad-full-height {
    min-height: calc(100vh - 50px);
}
@media (min-width: 768px) {
    .ad-story-section:last-child {
        margin-bottom: -10px;
    }
}
.ad-story-section .h2 {
    line-height: 150%;
    margin-top:0;
}
.ad-story-section .h3 {
    margin-top: 0;
    color: #4c4c4c;
    line-height: 150%;
}

.story-section {
      padding: 80px 0;
}
.story .story-section:first-child {

}
.story .hs-cos-wrapper .story-section {
    background-color: red;
}

@media (max-width: 767px) {
  .story-section {
      padding: 30px 0;
  }
  .story .story-section:first-child {

  }
}

.story-section-copy span.pre-header {
  font-size: 20px;
  text-transform: uppercase;
  color: #BF360C;
}

.story-section-copy h1 {
  font-size: 40px;
  color: #424242;
  margin-top: 5px;
  margin-bottom: 20px;
}

.story-section-copy h2 {
  font-size: 32px;
  color: #424242;
  margin-top: 5px;
  margin-bottom: 20px;
}

.story-section-copy p {
  font-size: 20px;
  font-weight: 200;
  color: #424242;
}

.story-section-header {
  margin-bottom: 40px;
}

.story-section-header h1 {
  font-size: 40px;
  color: #424242;
  margin-top: 0;
  margin-bottom: 20px;
}

.story-section-header p {
  font-size: 26px;
  font-weight: 200;
  color: #424242;
}

.story-section-space-1 {
  margin-top:20px;
}
.story-section-space-2 {
  margin-top:40px;
}
.story-section-space-3 {
  margin-top:80px;
}

@media (max-width: 767px) {
  .story-section-copy span.pre-header {
    font-size: 17px;
  }

  .story-section-copy h1 {
    font-size: 34px;
    color: #424242;
    margin-top: 5px;
    margin-bottom: 20px;
  }

  .story-section-copy h2 {
    font-size: 27px;
    color: #424242;
    margin-top: 5px;
    margin-bottom: 20px;
  }

  .story-section-copy p {
    font-size: 17px;
    font-weight: 200;
    color: #424242;
  }
  .story-section-space-1 {
    margin-top:10px;
  }
  .story-section-space-2 {
    margin-top:20px;
  }
  .story-section-space-3 {
    margin-top:40px;
  }
}


.ad-line-height-2x {
    line-height: 200%;
}

#ad-top-menu-public {
    margin-top: 3px;
}

#ad-top-menu-public a {
    padding: 8px 7px 6px 7px;
    color: #ffffff;
    text-transform: uppercase;
}

#ad-top-menu-public li {
    text-align: center;
}

#ad-top-menu-dcp li.ad-icon-entry a {
    font-size: 25px;
    color: #ffffff;
    text-align:center;
}

#ad-top-menu-dcp li.ad-icon-entry {
    position: relative;
}

#ad-top-menu-public .dropdown-menu li, #ad-top-menu-public .dropdown-menu li a {
    text-align: left;
    color: #4C4C4C !important;
}

.ad-text-white, .text-white {
    color: #ffffff !important;
}

.ad-text-thin, .text-thin {
    font-weight: 100;
}

.ad-text-light, .text-light {
    font-weight: 300;
}

.ad-text-medium, .text-medium {
    font-weight: 500;
}

.ad-text-bold, .text-bold {
    font-weight: 700;
}

.ad-text-roboto {
    font-family: 'Roboto', sans-serif;
}

.ad-btn-accent, .btn-accent {
    background-color: #FF5722;
}

.ad-card-tiny, .ad-tiny, .container-tiny {
    max-width: 360px;
}

.ad-card-slim, .ad-slim, .container-small {
    max-width: 520px;
}

.ad-card-medium, .ad-medium, .container-medium {
    max-width: 720px;
}

.ad-card-large, .ad-large, .container-large {
    max-width: 920px;
}

.container-medium, .container-large, .container-boxed {
    padding: 0 30px;
}

.container-boxed {
    max-width: 1170px;
}

.ad-card-deeporange {
    background-color: #FF5722;
    color: #ffffff;
}

.ad-card-deeporange .card-body h4 {
    color: #ffffff;
}

.ad-card-cyan {
    background-color: #00BCD4;
    color: #ffffff;
}

.ad-card-cyan .card-body h4 {
    color: #ffffff;
}

/* CSS for top-search-wrap und top-search-wrap-inline */
#top-search-wrap {
    background: #0097A7;
}

#top-search-wrap .fg-line:not([class*="has-"])::after {
    background-color: transparent !important;
}

#top-search-wrap #top-search-close {
    color: white;
}

#top-search-wrap input[type="text"] {
    width:100%;
    margin-left:0;
    margin-right:0;
    color: white;
}

/* Adjust position of indicator */
#top-search-wrap .typeahead-indicator {
    top:20px !important;
}

#top-search-wrap-inline input {
    border: 0;
    height: 35px;
    padding: 0 10px 0 40px;
    font-size: 15px;
    width: 300px;
    color: #ffffff;
    border-radius: 2px;
    background-color: rgba(255,255,255,0.26);
    background-image: url(../static/material/img/icons/search.png);
    background-repeat: no-repeat;
    background-position: 10px center;
}

#top-search-wrap .form-control::-moz-placeholder, #top-search-wrap-inline .form-control::-moz-placeholder {
  color: white;
  opacity: 1;
}
#top-search-wrap .form-control:-ms-input-placeholder, #top-search-wrap-inline .form-control:-ms-input-placeholder {
  color: white;
}
#top-search-wrap .form-control::-webkit-input-placeholder, #top-search-wrap-inline .form-control::-webkit-input-placeholder {
  color: white;
}

.ad-header-sa, h2.ad-header-sa,
.card .card-body h2.ad-heading-sa,
.modal-body h2.ad-heading-sa {
    margin: 0;
    line-height: 100%;
    font-weight: 400;
    text-transform: uppercase;
    font-size: 17px;
    // padding-top: 23px;
    padding-bottom: 11px;
}
.ad-header-sa small, h2.ad-header-sa small,
.card .card-header h2 small, .card .card-body h2.ad-header-sa small {
    text-transform: none;
}
.card .card-body h2.ad-header-sa small {
    display: block;
    margin-top: 8px;
    color: #AEAEAE;
    line-height: 160%;
}

.top-menu #da-select .da-select {
    margin: -23px 0 0 0;
    display: inline-block;
    vertical-align: top;
}

.current-user button, .current-user button:hover, .current-user button:focus,
.current-chain button, .current-chain button:hover, .current-chain button:focus,
.current-practice button, .current-practice button:hover, .current-practice button:focus {
    padding: 7px 14px;
    font-size: 15px;
}

.nowrap, .no-wrap {
    white-space: nowrap;
}

.card ul.actions {
    background: rgba(255,255,255,0.7);
}



#messages-main {
    background-color: #F5F5F5;
}
#messages-main .ms-menu {
    background-color: #F5F5F5;
}
.lv-body {
    min-height: 100px;
    background-color: #ffffff;
}
.lv-footer {
    margin-top:0;
    padding:0;
    text-align: left;
    background-color: #F5F5F5;
}
.lv-message .lv-item:not(.right) .ms-item {
    background: #FFE0B2;
    color: inherit;
}
.lv-actions.actions {
    background: rgba(255,255,255,0.0) !important;
}
.lv-header-alt .lv-actions
{
    position: absolute;
    top: 10px; right: 10px;
    z-index: 1;
}
.ms-item p {
    margin:0;
}
.ms-item.message-new {
    border: 2px solid #FF9800;
}

.ad-buttons-inline .btn {
    margin-bottom: 5px;
    margin-right: 3px;
}

.ad-buttons-inline .btn-group .btn {
    margin-bottom:0;
    margin-right:0;
}

#message_body, #notification_body {
    max-height:300px;
    overflow:auto;
}

#message_body .contact {
    border-top:0;
    cursor:pointer;
}

#message_body .contact:hover {
    background-color:#ecf9ff;
}


/*
    LV Stuff for the notification windows
*/
.lv-header {
    margin-bottom: 0;
}
.lv-item.new, .contact.new {
    background-color: #F5F5F5; /* Grey 200 */
}
.lv-item i.fa {
    padding-top:5px;
    color: #00BCD4;
}
.lv-item i.far, .lv-item i.fas, .lv-item i.fab, .lv-item i.fal{
    padding-top:5px;
    color: #00BCD4;
}
a.lv-item:hover {
    color: #0097A7;
}
a.lv-item.new:hover, a.contact.new:hover {
    background-color: #E0F7FA; /* Cyan 50 */
}
.lv-item.new .lv-title, .contact.new .lv-title {
    font-weight:bold;
    //color: #ffffff;
}
/* .lv-item.new .lv-small, .contact.new .lv-small, .lv-item.new i.fa, .contact.new i.fa {
    color: #ffffff;
}

a.lv-item.new:hover .lv-title, a.contact.new:hover {
    font-weight:bold;
    color: inherit;
}  */
a.lv-item.new:hover .lv-small, a.contact.new:hover, a.lv-item:hover i.fa, a.contact:hover i.fa {
    color: inherit;
}



.contact .contact-label-new {display:none}
.contact-new .contact-label-new {display:inline}
.contact-new {color:#31708F; background-color: #d9edf7; }

.contact .contact-label-open {display:none}
.contact-open .contact-label-open {display:inline}
.contact-open {color:#31708F}


.ad-card-testimonial {
    position: relative;
}
.ad-card-testimonial img {
    width:53px;
    padding-right: 10px;
}
.ad-card-testimonial i.fa {
    color: #00BCD4;
    font-size: 140%;
}
.ad-card-testimonial i.fa-quote-left {
    position: absolute;
    top:7px; left:7px;
}
.ad-card-testimonial i.fa-quote-right {
    position: absolute;
    bottom:7px; right:7px;
}
.ad-card-testimonial .card-body {
    text-align: justify;
}

/* Fix for typehead */
.typeahead-output-box {
    padding-top:7px;
}

/* Adjust sort links in tables */
.table a.sortable, .table a.asc, .table a.desc {color:#333}
.table a.sortable::after {
    font-family: "Font Awesome 5 Free";
    content: " \f0dc";
    font-weight: 900;
}
.table a.asc::after {
    font-family: "Font Awesome 5 Free";
    content: " \f0de";
    font-weight: 900;
}
.table a.desc::after {
    font-family: "Font Awesome 5 Free";
    content: " \f0dd";
    font-weight: 900;
}

.care-plan-entry-sort .sortable::before {
    padding-right: 10px;
    font-family: "Font Awesome 5 Free";
    content: " \f0dc";
    font-weight: 900;
}
.care-plan-entry-sort .asc::before {
    padding-right: 10px;
    font-family: "Font Awesome 5 Free";
    content: " \f0de";
    font-weight: 900;
}
.care-plan-entry-sort .desc::before {
    padding-right: 10px;
    font-family: "Font Awesome 5 Free";
    content: " \f0dd";
    font-weight: 900;
}

.ad-bg {
    background-color: #fafafa;
}

/* Form errors */
ul.form-errors {
    padding: 0;
}

ul.form-errors li {
    padding: 10px 0;
    color: red;
    list-style-type: none;
}


.carousel .carousel-indicators {
    bottom: 25px;
    background: none;
    padding-bottom:0;
}

.carousel .carousel-indicators li, .carousel .carousel-indicators li.active {
    height: 5px;
}

.carousel .carousel-indicators li.active {
    background: #FF9800;
}

.carousel .carousel-indicators li:not(.active) {
    background: #00BCD4;
}

.carousel-control.right, .carousel-control.left {
    background: none;
}


#ad-carousel-demo {
    padding:50px 0 30px 0;
}

#ad-cardousel-demo p, #ad-cardousel-demo h1, #ad-cardousel-demo p {
    padding-left: 20px;
    padding-right: 20px;
}

.ad-carousel-demo-image {
    margin: 0 auto;
    max-width:90%;
    max-height:400px;
}

.ad-fade-in.hide-opacity, .hide-opacity {
    opacity: 0 !important;
}

.ad-fade-in {
    -webkit-transition: opacity 700ms ease-in-out !important;
    -moz-transition: opacity 700ms ease-in-out !important;
    -ms-transition: opacity 700ms ease-in-out !important;
    -o-transition: opacity 700ms ease-in-out !important;
     opacity: 1;
}

.ad-cs-item-wrapper {
    position:relative;
    max-width:1200px;
    margin: auto auto;
    padding: 0 25px;
}

.ad-card-document .card-header .actions {
    top: 0;
    right: 0;
    padding: 3px;
    border-bottom-left-radius: 3px;
}

.ad-card-document-header {
    /* Do not use z-index here, because it creates a CSS stacking context and thus
       we cannot work with z-index on neighbor elements like a dropdown menu */
    /* z-index: 1; */
    display: block;
    min-height: 200px;
    background-color: #f7f7f7 !important;
    cursor: pointer;
}

.ad-card-document-body {
    min-height: 155px;
}

.ad-document-label {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.ad-bg-transparent-white-3 {
    background: rgba(255,255,255,0.3);
}
.ad-bg-transparent-white-7, .bg-transparent-white-7 {
    background: rgba(255,255,255,0.7);
}
.ad-bg-transparent-white-8 {
    background: rgba(255,255,255,0.8);
}

.ad-icon-with-text {
    padding-left: 20px;
    display:block;
}

.ad-icon-with-text i.fa, .ad-icon-with-text i.zmdi,
.ad-icon-with-text i.far, .ad-icon-with-text i.fas,
.ad-icon-with-text i.fal, .ad-icon-with-text i.fab {
    margin-left: -22px;
    padding-right: 2px;
    width: 1.28571429em;
    text-align: center;
}

.ad-icon-with-text i.fa-2x {
    margin-left: -43px;
}

#scheme-cares-done a {
    display:block;
    padding:10px;
    border:1px solid #ccc;
    border-right:0;
    float:left;
}

#scheme-cares-done a:nth-last-child(2) {
    border-right:1px solid #ccc;
}

#scheme-cares-done a:hover, #scheme-cares-done a.active {
    background-color:#2E7D32;
    color: #ffffff;
}

/* Wee need some smart solution for tooth scheme sizing on different screen sizes. This current is not ideal. */
#doctor_care_plan_scheme_svg, #doctor_finding_scheme_svg, #doctor_patient_history_scheme_svg {
    max-width: 1088px !important;
}

.ad-br-3 {
    border-radius: 3px;
}

.ad-table-clickable-cells td a:not(.btn-default), #ad-patient-list td a:not(.btn-default) {
    display:table;
    height:100%;
    width:100%;
    overflow:auto;
}

.ad-table-clickable-cells td, #ad-patient-list td {
    padding: 0 !important;
}

.ad-table-clickable-cells td a:not(.btn-default) div:not(.ad-contact-image-container),
#ad-patient-list td a:not(.btn-default) div:not(.ad-contact-image-container),
.ad-table-clickable-cells th,
#ad-patient-list th {
    display: table-cell;
    vertical-align: middle;
    padding: 15px 10px 15px 0 !important;
}

.ad-table-clickable-cells > thead > tr > th:first-child, .ad-table-clickable-cells > tbody > tr > th:first-child, .ad-table-clickable-cells > tfoot > tr > th:first-child, .ad-table-clickable-cells > thead > tr > td:first-child, .ad-table-clickable-cells > tbody > tr > td:first-child, .ad-table-clickable-cells > tfoot > tr > td:first-child {
    padding-left: 30px !important;
}

.table-valign-middle td, .table-valign-middle th {
    vertical-align: middle !important;
}

.message .message-label-new {display:none}
.message-new .message-label-box {color:#31708F}
.message-new .message-label {display:none}
.message-new .message-label-new {display:inline;}

.ad-profile-pic {
    width:47px;
    height:47px;
    margin: 0 0 34px 12px;
    border-radius:50%;
    border: 3px solid rgba(0,0,0,0.14);
    background-repeat: no-repeat;
    background-size: 125%!important;
}
.ad-profile-pic-wrapper {
    padding-top: 13px;
}

.ad-contact-image-container {
    background-repeat: no-repeat!important;
    background-size: 125%!important;
    width:37px;
    height:37px;
    border-radius:50%;
    border: 3px solid rgba(0,0,0,0.14);
}

.practice-logo-container {
    background-repeat: no-repeat!important;
    background-size: 125%!important;
    width:37px;
    height:37px;
    border-radius:25%;
    border: 3px solid rgba(0,0,0,0.14);
}

.ad-round-image-container {
    width: 100%;
    max-width:107px;
    height:107px;
    border-radius:50%;
    border: 3px solid rgba(0,0,0,0.14);
    margin-bottom:5px;
    background-size: 120%;
}

.ad-contact-image-tiny, .ad-round-image-w30 {
    width:30px;
    height:30px;
}

.ad-contact-image-medium, .ad-round-image-w45 {
    width:45px;
    height:45px;
}

.round-image-w60 {
    width:60px;
    height:60px;
}

.ad-contact-image-large, .ad-round-image-w75, .practice-logo-container-large {
    width:75px;
    height:75px;
}

.ad-contact-image-extra-large, .ad-round-image-w125 {
    width:125px;
    height:125px;
}

.appointment-times p {
    margin-bottom: 5px;
}

.appointment-times-header {
    padding: 10px 0;
    font-weight: bold;
}

.appointment-times-day-row {
    padding: 10px 0;
}

.appointment-times .appointment-times-day-row:nth-child(odd) {
    background-color: #EFEFEF;
}

.text-green {
    color: #4caf50 !important;
}
.text-grey {
    color: #9e9e9e !important;
}
.text-pink {
    color: #e91e63 !important
}
.text-cyan-700 {
    color: #0097A7 !important
}

.ad-video-wrapper, .custom-video-wrapper {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    padding-top: 25px;
    height: 0;
}
.ad-video-wrapper iframe, .custom-video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.ad-ul-aligned li {
    margin-left: -20px;
}

a.ad-toggle-filters {
    display:block;
    margin-bottom:20px;
    padding:3px 0;
}

/* Dropzone */
.dropzone {
    border: 1px solid #e1e1e1;
    border-radius: 3px;
}

.popover {
    max-width: 340px;
}

.popover-content {
    text-transform: none !important;
    color: #5e5e5e !important;
}

.btn-group {
    white-space: nowrap;
}
.btn-group .btn {
    float: none;
    display: inline-block;
}
.btn + .dropdown-toggle {
    margin-left: -4px;
}

.container {
    max-width: 1980px;
}

#ic_dcp_doctor_appointment_calendar_index .container {
    width: calc(100% - 30px) !important;
}

.color-teal {
    color: #009688;
}

.color-blue {
    color: #2196F3
}

.ad-zebra:nth-child(odd) {
    background-color: #FAFAFA;
}

.ad-filter-bar {
    border-bottom:1px solid #f5f5f5;
    margin-bottom:20px;
    padding:0 20px;
    box-shadow: 0 5px 7px -6px rgba(0,0,0,0.3);
}

.mini-charts-item {
    z-index:3;
    margin-bottom: 0;
}

.ad-mini-chart-item-container {
    position: relative;
    margin-bottom: 30px;
}

.ad-mini-chart-info-icon {
    display:block;
    position:absolute;
    top:5px; right:5px;
    color:#fff;
    z-index: 4;
}

span#ad-slogan {
    color:#fff;
    font-weight:200;
    font-size:22px;
    margin-top:24px;
}

@media (max-width: 1199px) {
    span#ad-slogan {
        margin-top:22px;
    }
}

.ad-card-header-image {
    width:100%;
    height:200px;
}

#registration-form-image {
    max-height: calc(100vh - 380px);
}

table.ad-table-valign-middle td {
    vertical-align: middle;
}

table.ad-table-valign-top td {
    vertical-align: top;
}
.ad-ob-item-done {
    color: #00C853;
}
a.ad-ob-item-done:hover {
    color: #388E3C;
}

.ad-ob-item-todo {
    color: #FF3D00;
}
.ad-ob-item-todo i.fa-check {
    display:none;
}
a.ad-ob-item-todo:hover {
    color: #BF360C;
}

.ad-transparent {
    background: rgba(0,0,0,0) !important;
}

#menu-trigger {
    width: 65px;
}

.redactor-toolbar {
    z-index: 1;
}

.appointment-color {
    display:block;
    height:22px;
    width:22px;
    float:left;
    margin-right:1px;
    margin-bottom: 1px;
    text-decoration:none;
}

.appointment-color-selected {
    border:3px solid black;
}

.ad-color-picker {
    display:block;
    height:22px;
    width:22px;
    float:left;
    margin-right:1px;
    margin-bottom: 1px;
    text-decoration:none;
}

.ad-color-picker-selected {
    border:3px solid black;
}


.table > thead > tr > th:first-child, .table > tbody > tr > th:first-child, .table > tfoot > tr > th:first-child, .table > thead > tr > td:first-child, .table > tbody > tr > td:first-child, .table > tfoot > tr > td:first-child {
    padding-left: 25px;
}

.form-field-collection input[type="file"] {
    background: #ffffff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.16),0 2px 10px rgba(0,0,0,0.12);
    text-transform: uppercase;
}

.visible-inline-xs {
    display: none!important;
}
@media (max-width: 767px) {
    .visible-inline-xs {
        display: inline-block!important;
    }
}



@media (min-width: 768px) and (max-width: 992px) {
    .visible-inline-sm {
        display: inline-block!important;
    }
}

/* Malihu Custom Scrollbar Plugin adjustments. Can be removed when we upgrade to new Material Admin */
.mCSB_scrollTools {
  width: 5px;
}
.mCSB_scrollTools .mCSB_dragger_bar {
  border-radius: 0 !important;
}
.mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCSB_scrollTools.mCSB_scrollTools_vertical {
  margin: 0 !important;
}
.mCSB_scrollTools.mCSB_scrollTools_horizontal {
  height: 10px;
}
html:not(.ie9) .mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background: rgba(0, 0, 0, 0.4);
}
html:not(.ie9) .mCS-minimal-dark.mCSB_scrollTools_onDrag .mCSB_dragger .mCSB_dragger_bar {
  background: rgba(0, 0, 0, 0.4);
}
html.ie9 .mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background: #000000;
}
html.ie9 .mCS-minimal-dark.mCSB_scrollTools_onDrag .mCSB_dragger .mCSB_dragger_bar {
  background: #000000;
}
.mCSB_inside > .mCSB_container {
  margin-right: 0;
}

.ad-round-corners-3 {
    border-radius: 3px;
}

.ad-feature-infoscreen {
    position: relative;
    max-width:70%;
}

.ad-feature-infoscreen-dot {
    z-index: 3;
    position: absolute;
    background-color: #FF5722;
    border: 3px solid #212121;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    // box-shadow: 0 2px 5px rgba(0,0,0,0.16), 0 2px 10px rgba(0,0,0,0.12);
    box-shadow: 0 8px 17px rgba(0,0,0,0.2), 0 6px 20px rgba(0,0,0,0.19);
    display: none;
}

.ad-feature-infoscreen-dot:hover {
    background-color: #006064;
    border: 3px solid #FF5722;
    box-shadow: 0 0 0;
}

#agenda-infoscreen-dot-1 {
    top: 22%;
    left: 29%;
}
#agenda-infoscreen-dot-2 {
    top: 35%;
    left: 21%;
}
#agenda-infoscreen-dot-3 {
    top: 68%;
    left: 25%;
}
#agenda-infoscreen-dot-4 {
    top: 60%;
    left: 51%;
}

#agenda-infoscreen-dot-5 {
    top: 22%;
    left: 66%;
}

#agenda-infoscreen-dot-6 {
    top: 62%;
    left: 91%;
}

.ad-feature-infoscreen video {
    background:transparent;
    visibility:visible;
    object-fit:contain;
    width:100%;
}

/* XS - SM */
@media (max-width: 992px) {
    .ad-feature-infoscreen {
        max-width:90%;
    }
    .ad-feature-infoscreen-dot {
        width: 17px;
        height: 17px;
    }
    .ad-feature-infoscreen-dot:hover {
        border: 2px solid #FF5722;
    }
}

@media (min-width: 1200px) {
    /* Normally, the condition is "body.sw-toggled #content > .container", but we also
       want to allow .container to be in sub-elements, thus we removed ">" */
    body.sw-toggled #content .container {
        width: calc(100% - 30px);
    }
}

/* Don't waste space in Bootstrap popovers */
.table-popover > tbody > tr > th:first-child, .table-popover > tbody > tr > td:first-child {
    padding-left:0 !important;
}

/* For the jQuery query builder */
.query-builder .rules-group-container {
    background:#FAFAFA none repeat scroll 0 0;
    border:1px solid #f0f0f0;
}

.ReactModal__Content .card {
    margin-bottom:0;
}

/* Maintain backward compatibility for ad-alert-icon for now */
.ad-alert-icon i.fa, .ad-text-w-icon i.fa, .ad-text-with-icon > i.fa, .text-with-icon > i.fa,
.ad-text-with-icon > i.far, .ad-text-with-icon > i.fas,
.text-with-icon > i.far, .text-with-icon > i.fas,
.ad-text-with-icon > i.fab, .ad-text-with-icon > i.fal,
.text-with-icon > i.fab, .text-with-icon > i.fal {
    float: left;
    margin-top:3px;
}
.ad-alert-icon, .ad-text-w-icon span, .ad-text-with-icon span,
.text-with-icon span {
    display: block;
    margin-left: 23px;
    line-height: 1.42857143;
}

.ad-customer-logos {
    text-align: center;
}
.ad-customer-logos img {
    height: 30px;
    margin: 20px;
}

dt {
    font-weight: bold;
}

dd {
    margin-bottom: 10px;
    text-align: justify;
}

.progress {
    background-color: #CFD8DC;
}

.ad-progress-lg {
    height:30px;
    width:100%;
    background-color: #CFD8DC;
}

/* For react-bootstrap-typeahead */
.rbt-input-main, .rbt-input-hint {
    height: 35px !important;
}

.rbt.focus {
    box-shadow:none !important;
    border-color: #39b6d3 !important;
    border-width: 1px;
}

.pt-inner .pti-header {
    padding: 30px 10px 70px;
}

.pt-inner .pti-header .ptih-title {
    padding: 15px 10px 15px;
}

.pt-inner .pti-body .ptib-item {
    padding: 5px 0;
}

.top-menu > li > a.tm-task {
    background-image: url('../static/material/img/icons/notification@2x.png');
    background-size: 24px 24px;
}

.top-menu > li > a.tm-lockscreen {
    background-image: url('../static/material/img/icons/lockscreen@2x.png');
    background-size: 24px 24px;
}

#lockscreen-container {
    width: 100%;
    height: 100%;
    z-index: 8;
    position: absolute;
    background-color: #006064;
}

.cc-window {
    z-index: 5 !important;
}

.tab-nav[data-tab-color=deep-orange]>li>a:after {
    background: #FF5722;
}

.ad-flex-center {
    display: flex;
    align-items: center;
}

.flex-center {
    display: flex;
    align-items: center;
}

/* Scroll fix for React-modal */
.ReactModal__Body--open {
  overflow-y: hidden;
}
.m-r-70 {
    margin-right: 70px !important;
}

#ic_dcp_doctor_care_plan_edit .signature-indicator {
    position: absolute;
    top: 50px;
    right: 20px;
}

#ic_main_doctor_document_show .signature-indicator {
    position: absolute;
    top: 37px;
    right: 20px;
}

/*
 * Link coloring
 *
 */
.alfa-body-public a:not(.btn),
.alfa-body-public a:not(.btn):focus,
.alfa-body-public a:not(.btn):visited
{
  color: #0097a7;
}
.alfa-body-public a:not(.btn):hover,
.alfa-body-public a:not(.btn):active
{
  color: #00B8D4;
}
.footer-container a:hover, .footer-container a:focus, .footer-container a:active, .footer-container a:visited {
  color: #ffffff;
}

.practice-header p {
    font-weight: 200;
    font-size: 24px;
}

.CircularProgressbar .CircularProgressbar-text {
    /* fill: #4caf50!important; */
    fill: #00BCD4 !important;
}

.CircularProgressbar .CircularProgressbar-path {
    /* fill: #4caf50!important; */
    fill: #00BCD4 !important;
}

@keyframes blinker {
    50% { opacity: 0; }
}
.CircularProgressbar .CircularProgressbar-trail {
    stroke: #FFF176 !important;
    animation: blinker 1s linear infinite;
    animation-delay: 3s;
}

/* Calendar now indicator css */
.fc-now-indicator {
    /* Change here for the straight line */
    border: 1px solid #FF5722;
}

.fc-ltr .fc-time-grid .fc-now-indicator-arrow {
    /* Change here for the indicator arrow */
    left: 0;
    border-width: 5px 0 5px 6px;
    border-top-color: transparent;
    border-bottom-color: transparent;
}

/* For our MultiSelectDropdownButton React component */
.multi-select-dropdown-button .dropdown-menu > li {
    padding: 7px 15px;
    user-select: none;
}
.multi-select-dropdown-button .dropdown-menu > li > label {
    display: block;
}

.color-box {
    height: 15px;
    width: 15px;
    border: 1px solid black;
    margin-right: 10px;
    display: inline-block;
    position: relative;
    text-align: center;
}

.color-box-rounded {
    height: 18px;
    width: 18px;
    margin-right: 10px;
    display: inline-block;
    position: relative;
    text-align: center;
    border-radius: 50%;
}

.empty-box {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: red;
    font-weight: 900;
}

.contact-image-square {
    border-radius: 5% !important;
    background-size: 100% !important;
}

.contact-image-40 {
    width: 40px;
    height: 40px;
}

.d-flex {
    display: flex;
}

.flex-fill {
    flex: 1 1 auto;
    margin-left: 5px;
    margin-right: 5px;
}

@media (min-width: 768px) {
    .d-flex-md {
        display: flex;
    }
    .bill-item-col {
        padding: 5px !important;
    }
    .bill-item-col:first-of-type {
        padding-left: 23px !important;
    }
    .bill-item-col:last-of-type {
        padding-right: 15px !important;
        padding-top: 15px !important;
    }
    .delete-link {
        padding-right: 15px;
    }
}

@media (max-width: 767px) {
    .bill-item-col {
        min-height: 60px;
    }
    .bill-item-col.action-col {
        min-height: 30px;
    }
    .bill-item-col .fa-search {
        display: none;
    }
}

.rbt-menu .dropdown-item {
    font-size: 15px !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

.bill-form-discount-input input {
    min-width: 35px;
}

#card-doctor-bill-edit .form-control:not(.fc-alt) {
    margin-bottom: 1px; /* to prevent overlapping */
}