html {
    height: 101%;
}

body {
    min-height: 100vh;
    font-family: Arial, Tahoma, Verdana, sans-serif;
    background: #FCFCFC;
}

#anamnesis table td:last-child {
    word-break: break-all;
}

.dropzone .dz-preview .dz-image {
    width: inherit !important;
    height: inherit !important;
}

.chart {
    font-family: Arial, sans-serif;
    font-size: 12px;
}

.axis path,.axis line {
    fill: none;
    stroke: #000;
    shape-rendering: crispEdges;
}

.bar-failed {
    padding: 5rem;
    fill: #CC0000;
}

.bar-succeeded {
    padding: 5rem;
    fill: #669900;
}

/*ddd*/

.d3-tip {
    line-height: 1;
    font-weight: bold;
    padding: 12px;
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    border-radius: 2px;
}

/* Creates a small triangle extender for the tooltip */
.d3-tip:after {
    box-sizing: border-box;
    display: inline;
    font-size: 10px;
    width: 100%;
    line-height: 1;
    color: rgba(0, 0, 0, 0.8);
    content: "\25BC";
    position: absolute;
    text-align: center;
}

/* Style northward tooltips differently */
.d3-tip.n:after {
    margin: -1px 0 0 0;
    top: 100%;
    left: 0;
}
/*ddd*/
button:focus {
    outline: 0;
}

header .container {
    background: #F1F0EE;
}

header .container ._title {
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    color: #852842;
}

@media (max-width: 991.98px) {
    header .container ._title {
        font-size: 1.5rem;
    }
}

header .container ._top-login {
    height: 2rem;
}

header .container ._top-login button {
    display: flex;
    align-items: center;
    padding: 0.25rem 1rem;
    font-size: 1rem;
    background: transparent;
    color: #020202;
    border: none;
    transition: color 0.3s;
    cursor: pointer;
}

header .container ._top-login button:after {
    margin-left: .5rem;
    display: inline-flex;
    width: 1.5rem;
    height: 1.5rem;
    content: '';
    background: url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAy NCcgZmlsbD0nIzAyMDIwMic+PHBhdGggZD0nTTEyLDRBNCw0IDAgMCwxIDE2LDhBNCw0IDAgMCwxIDEyLDEyQTQsNCAwIDAsMSA4LDhBNCw0IDAgMCwxIDEyLDRNMTIsMTRDMTYuNDIsMTQgMjAsMTUuNzkgMjAsMThWMjBINFYxOEM0LDE1Ljc5IDcuNTgsMTQgMTIsMTRaJyAvPjwvc3ZnPg==");
    transition: background 0.3s;
}

header .container ._top-login button:hover {
    color: #852842;
}

header .container ._top-login button:hover:after {
    background: url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nIzg1Mjg0Mic+PHBhdGggZD0nTTEyLDRBNCw0IDAgMCwxIDE2LDhBNCw0IDAgMCwxIDEyLDEyQTQsNCAwIDAsMSA4LDhBNCw0IDAgMCwxIDEyLDRNMTIsMTRDMTYuNDIsMTQgMjAsMTUuNzkgMjAsMThWMjBINFYxOEM0LDE1Ljc5IDcuNTgsMTQgMTIsMTRaJyAvPjwvc3ZnPg==");
}

header .container-fluid {
    background: #852842;
}

header .container-fluid nav {
    padding: 0;
    background: #852842;
}

header .container-fluid nav ._nav-item {
    display: flex;
    align-items: center;
    padding: 0.75rem 1.5rem;
    font-size: 1.25rem;
    text-decoration: none;
    color: #FCFCFC;
    transition: background-color 0.3s;
}

header .container-fluid nav ._nav-item:hover,
header .container-fluid nav .active {
    text-decoration: none;
    background: #6C1C33;
}

@media (max-width: 991.98px) {
    header .container-fluid nav ._nav-item {
        font-size: 1rem;
    }
}

header .container-fluid nav ._nav-md span._title-md {
    padding: 0.75rem 1rem;
    font-size: 1.25rem;
    color: #FCFCFC;
}

header .container-fluid nav ._nav-md button {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    font-size: 1rem;
    background: transparent;
    color: #FCFCFC;
    border: none;
    transition: background, color .8s;
}

header .container-fluid nav ._nav-md button._icon-menu:before {
    margin-right: .5rem;
    display: inline-flex;
    width: 1.5rem;
    height: 1.5rem;
    content: '';
    background: url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAy NCcgZmlsbD0nI0ZDRkNGQyc+PHBhdGggZD0nTTMsNkgyMVY4SDNWNk0zLDExSDIxVjEzSDNWMTFN MywxNkgyMVYxOEgzVjE2WicgLz48L3N2Zz4=");
    transition: background 0.3s;
}

@media (max-width: 575.98px) {
    header .container-fluid nav ._nav-md button._icon-menu span {
        display: none;
    }

    header .container-fluid nav ._nav-md button._icon-menu:before {
        margin-right: 0;
    }
}

header .container-fluid nav ._nav-md button._icon-user:after {
    margin-left: .5rem;
    display: inline-flex;
    width: 1.5rem;
    height: 1.5rem;
    content: '';
    background: url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nI0ZDRkNGQyc+PHBhdGggZD0nTTEyLDRBNCw0IDAgMCwxIDE2LDhBNCw0IDAgMCwxIDEyLDEyQTQsNCAwIDAsMSA4LDhBNCw0IDAgMCwxIDEyLDRNMTIsMTRDMTYuNDIsMTQgMjAsMTUuNzkgMjAsMThWMjBINFYxOEM0LDE1Ljc5IDcuNTgsMTQgMTIsMTRaJyAvPjwvc3ZnPg==");
    transition: background 0.3s;
}

@media (max-width: 575.98px) {
    header .container-fluid nav ._nav-md button._icon-user span {
        display: none;
    }

    header .container-fluid nav ._nav-md button._icon-user:after {
        margin-left: 0;
    }
}

header .container-fluid nav ._nav-md button:hover {
    background: #6C1C33;
}

main.container {
    flex: 1;
    padding-top: 2rem;
    padding-bottom: 2rem;
    background: #F1F0EE;
}

main.container h3 {
    margin-bottom: 1.5rem;
    text-align: center;
}

main.container p {
    font-size: 1rem;
    color: #020202;
}

main.container article p {
    margin-bottom: .25rem;
}

footer {
    padding-top: 1.5rem;
    background: #852842;
}

footer ._copyright img {
    padding: 0.25rem 0.3rem 0.25rem 0.25rem;
    max-width: 64px;
    max-height: 64px;
    width: 100%;
    height: 100%;
    background: #FCFCFC;
    border-radius: 100%;
}

footer ._copyright span {
    margin-left: 15px;
    font-size: .9rem;
    line-height: 1rem;
    text-align: center;
    text-shadow: 1px 1px 5px #000;
    font-weight: bold;
    color: #FCFCFC;
}

form button {
    padding: 0.5rem 1rem;
    width: 100%;
    font-size: 1rem;
    background: #852842;
    color: #FCFCFC;
    border: none;
    border-radius: .25rem;
    transition: background 0.3s;
}

form button:hover {
    background: #6C1C33;
}


/* Стили раскрывающейся категории упражнений */

td.details-control, td.details-control + td {
    cursor: pointer;
}
td.details-control i {
    color: #852842;
    transition: transform .3s;
}

tr.shown td.details-control i {
    transform: rotate(-180deg);
}

/* Стили раскрывающейся категории упражнений */


.carousel-item .carousel-caption {
    text-align: center;
    padding: 1rem 1.5rem;
    background: rgba(0, 0, 0, 0.4);
    border-radius: 1rem;
}

.carousel-item .carousel-caption p {
    margin: 0;
    padding: 0;
    color: #FCFCFC;
}

#loader {
    border: 16px solid #f3f3f3;
    border-radius: 50%;
    border-top: 16px solid #3498db;
    width: 90px;
    height: 90px;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
    margin: auto;
    z-index: 9999;
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* --START-- Стили для сообщений */
div#messages {
    padding: 0;
    background-color: #fff;
    border: 1px solid #dee2e6 !important;
    border-radius: .25rem !important;
}

@media (max-width: 991.98px) {
    div#messages {
        margin-bottom: -2rem;
    }
}

div#messages > header {
    position: relative;
    padding: 1rem;
    text-align: center;
}

div#messages > header * {
    display: block;
}

div#messages > header button {
    display: none;
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translate(0, -50%);
}

div#messages > header.action * {
    display: none;
}

div#messages > header.action button {
    display: block;
}

div#messages ul#history {
    margin: 0;
    padding: 0;
    height: 60vh !important;
    overflow-x: hidden;
    overflow-y: auto;
    list-style: none;
    background-color: transparent;

    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;

    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
}

div#messages ul#history:empty::before {
    content: 'Здесь будет выводиться история переписки.';
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%);
}

div#messages ul#history li {
    padding: 1rem;
    cursor: pointer;
}

div#messages ul#history li.pressed {
    background: rgba(0, 0, 0, .125);
}

div#messages ul#history li section {
    max-width: 80%;
    min-width: 25%;
}

div#messages ul#history li section header b {
    margin: 0 .25rem;
}

div#messages ul#history li section.left,
div#messages ul#history li section.left header b {
    float: left;
}

div#messages ul#history li section.right {
    float: right;
}

div#messages ul#history li section.right header {
    text-align: right;
}

div#messages ul#history li section div:not(.attach) {
    padding: .5rem 1rem;
    background-color: #f8f9fa !important;
    border: 1px solid #dee2e6 !important;
    border-radius: .25rem !important;
}

div#messages ul#history li section div pre {
    margin: 0;
    font-family: Arial, Tahoma, Verdana, sans-serif;
    font-size: 16px;

    white-space: pre-wrap; /* css-3 */
    white-space: -moz-pre-wrap; /* Mozilla, с 1999 */
    white-space: -o-pre-wrap; /* Opera 7 */
    word-wrap: break-word; /* Internet Explorer 5.5+ поддерживается в IE, Safari, и Firefox 3.1.*/
}

div#messages ul#history li section div pre:not(:last-child) {
    margin-bottom: .5rem;
}

div#messages ul#history li section div div.attach,
div#messages ul#history li section div div.attach > img,
div#messages ul#history li section div div.attach > video {
    width: auto;
    height: auto;
    max-height: 320px;
    max-width: 320px;
}

@media (max-width: 991.98px) {
    div#messages ul#history li section div div.attach,
    div#messages ul#history li section div div.attach > img,
    div#messages ul#history li section div div.attach > video {
        max-height: 240px;
        max-width: 240px;
    }
}

@media (max-width: 575.98px) {
    div#messages ul#history li section div div.attach,
    div#messages ul#history li section div div.attach > img,
    div#messages ul#history li section div div.attach > video {
        max-height: 160px;
        max-width: 160px;
    }
}


div#messages form {
    margin: 0;
    padding: 0;
    align-items: flex-start;
    background-color: #f8f9fa !important;
}

div#messages form label {
    margin: 0;
}

div#messages form .col-auto {
    margin: 0;
    padding: 0;
}

div#messages form .col-auto button#dropdownFile {
    padding: 30px 31px;
    background: url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Crect%20width%3D%2224%22%20height%3D%2224%22%2F%3E%0A%20%20%20%20%3Cpath%20stroke%3D%22%23828A99%22%20stroke-width%3D%221.8%22%20d%3D%22M20.0291094%2C15.0279907%20L14.6443834%2C20.2583795%20L14.6443834%2C20.2583795%20C12.0566785%2C22.7719155%207.93029511%2C22.7421861%205.37907548%2C20.1916257%20L5.37907548%2C20.1916257%20L5.37907548%2C20.1916257%20L5.37907548%2C20.1916257%20C2.76745218%2C17.5806772%202.76690514%2C13.3469463%205.37785362%2C10.735323%20C5.38546336%2C10.7277113%205.39309146%2C10.720118%205.40073787%2C10.7125431%20L13.4673115%2C2.72143747%20L13.4673115%2C2.72143747%20C15.2274317%2C0.977784268%2018.0678013%2C0.991133451%2019.8114545%2C2.7512537%20C19.8205797%2C2.76046506%2019.8296649%2C2.76971594%2019.8387099%2C2.77900608%20L19.8387099%2C2.77900608%20L19.8387099%2C2.77900608%20C21.5887922%2C4.57652514%2021.569373%2C7.4467765%2019.7951292%2C9.22045114%20L11.6642625%2C17.3487092%20L11.6642625%2C17.3487092%20C10.8163456%2C18.196354%209.46403082%2C18.26344%208.53638318%2C17.5038779%20L8.40267048%2C17.3943933%20L8.40267048%2C17.3943933%20C7.50791768%2C16.6617656%207.37648933%2C15.342513%208.10911705%2C14.4477602%20C8.14767542%2C14.4006692%208.18826865%2C14.3552816%208.23078109%2C14.311727%20L13.6981137%2C8.71035836%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E') 50% no-repeat;
    opacity: 0.7;
}

div#messages form .col-auto button#dropdownFile:hover {
    opacity: 1;
}

div#messages form div.col {
    padding: 1rem 0;
}

div#messages form div.col textarea {
    width: 100%;
    min-height: 30px;
    height: 30px;
    background-color: #fff;
    border: 1px solid #dee2e6 !important;
    border-radius: .25rem !important;
    max-height: 200px;
}

div#messages form div.col textarea:not(:last-child) {
    margin-bottom: .5rem;
}

div#messages form div.col textarea:focus {
    outline: 0;
}

div#messages form div.col div.preview {
    display: table;
    position: relative;
}

div#messages form div.col div.preview img,
div#messages form div.col div.preview video {
    max-height: 300px;
    max-width: 400px;
}

@media (max-width: 991.98px) {
    div#messages form div.col div.preview img,
    div#messages form div.col div.preview video {
        height: 200px;
        max-height: 200px;
        max-width: 300px;
    }
}

@media (max-width: 575.98px) {
    div#messages form div.col div.preview img,
    div#messages form div.col div.preview video {
        height: 100px;
        max-height: 100px;
        max-width: 200px;
    }
}

div#messages form div.col div.preview button {
    position: absolute;
    top: 0;
    right: 0;
    background: rgba(29, 32, 34, .6);
    border-radius: 0 0 0 2px;
    padding: 5px;
    cursor: pointer;
    outline: none;
}

div#messages form button[type=submit] {
    padding: 30px 31px;
    background: url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22%23828A99%22%20d%3D%22M4.7%2015.8c-.7%201.9-1.1%203.2-1.3%203.9-.6%202.4-1%202.9%201.1%201.8%202.1-1.1%2012-6.7%2014.3-7.9%202.9-1.6%202.9-1.5-.2-3.2-2.3-1.4-12.2-6.8-14-7.9s-1.7-.6-1.2%201.8c.2.8.6%202.1%201.3%203.9.5%201.3%201.6%202.3%203%202.5l5.8%201.1c.1%200%20.1.1.1.1s0%20.1-.1.1l-5.8%201.1c-1.3.4-2.5%201.3-3%202.7z%22%2F%3E%3C%2Fsvg%3E') 50% no-repeat;
    opacity: 0.7;
}

div#messages form button[type=submit]:hover:not(.disabled) {
    opacity: 1;
}

div#messages form button[type=submit].disabled {
    opacity: 0;
    cursor: default;
}

div#messages form input#message_file {
    display: none;
}

/* --END-- Стили для сообщений */

/* --START-- Цвет nav-pills */
.nav-pills .nav-link.active, .nav-pills .nav-link.active:hover, .nav-pills .nav-link.active:focus {
    background-color: #6c757d;
    color: white;
}

.nav-link {
    color: #656565;
    transition: background-color .3s, color .3s;
}

.nav-link:focus, .nav-link:hover {
    background-color: #6c757d22;
    color: #40454a;
}

/* --END-- Цвет nav-pills */

/* --START-- Стили плавающей панели кнопок формы */
#btn-action-fixed {
    position: relative;
    z-index: 1000;
}
#btn-action-fixed.scrolled {
    position: fixed;
    top: 0;
    width: 100%;
    max-width: inherit;
    background-color: #00000022;
}
/* --END-- Стили плавающей панели кнопок формы */

.ui-datepicker {
    z-index: 1001 !important
}