/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, input, select, textarea {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline;
    -moz-box-sizing: border-box; /* Для Firefox */
    -webkit-box-sizing: border-box; /* Для Safari и Chrome */
    box-sizing: border-box; /* Для IE и Opera */
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul, menu {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
/* END RESET */

.router-link-active {
    font-weight: bold;
}






html {
    height: 100%;
}
body {
    font-family: 'Ubuntu', Arial, sans-serif;
    font-size: 0;
    letter-spacing: -10px;
    color: #666;
    height: 100%;
}
*:focus {outline:none;}
*::-webkit-input-placeholder {color:#999;line-height:normal;}
*::-moz-placeholder          {color:#999;line-height:normal;}
*:-moz-placeholder           {color:#999;line-height:normal;}
*:-ms-input-placeholder      {color:#999;line-height:normal;}
:focus::-webkit-input-placeholder {color: #999}
:focus::-moz-placeholder          {color: #999}
:focus:-moz-placeholder           {color: #999}
:focus:-ms-input-placeholder      {color: #999}
.p-font-xs {
    font-size: 11px;
    letter-spacing: 0;
    line-height: 16px;
}
.p-font-s {
    font-size: 14px;
    letter-spacing: 0;
    line-height: 20px;
}
.p-font-m {
    font-size: 17px;
    letter-spacing: 0;
    line-height: 24px;
}
.p-font-l {
    font-size: 20px;
    letter-spacing: 0;
    line-height: 28px;
}
.p-font-xl {
    font-size: 23px;
    letter-spacing: 0;
    line-height: 32px;
}
.p-font-xxl {
    font-size: 28px;
    letter-spacing: 0;
    line-height: 32px;
}
.p-c-grey {
    color: #999;
}
.p-c-aaa {
    color: #a5a5a5;
}
.p-c-orange {
    color: #efa016;
}
.p-c-red {
    color: #ff9999 !important;
}
.p-bg-red {
    background-color: #ff9999;
}
.p-bg-yellow {
    background-color: #fff666;
}
.p-bg-green {
    background-color: #66ff66;
}
.p-w-100 {
    width: 100%;
}
.p-w-50 {
    width: 50%;
}
.p-w-33 {
    width: 33.33%;
}
.p-w-25 {
    width: 25%;
}
.p-cursor-pointer {
    cursor: pointer;
}
.p-d-inline-block {
    display: inline-block;
}
.p-d-block {
    display: block;
}
.p-va-top {
    vertical-align: top;
}
.p-va-middle {
    vertical-align: middle;
}
.p-a-left {
    text-align: left;
}
.p-a-right {
    text-align: right;
}
.p-a-center {
    text-align: center;
}
.p-padding-10 {
    padding: 10px;
}
.p-padding-0-10 {
    padding: 0 10px;
}
.p-padding-10-0 {
    padding: 10px 0;
}
.p-padding-10-0-0 {
    padding: 10px 0 0;
}
.p-padding-20 {
    padding: 20px;
}
.p-padding-0-20 {
    padding: 0 20px;
}
.p-padding-20-0 {
    padding: 20px 0;
}
.p-padding-20-0-0 {
    padding: 20px 0 0;
}

.p-opacity-0 {
    opacity: 0 !important;
}


a {
    color: #08b;
    text-decoration: none;
}
b {
    font-weight: bold;
}
input, select, textarea {
    border: 1px solid #ddd;
}
select {
    cursor: pointer;
}
table {
    border: none;
    border-collapse: collapse;
}
[v-cloak] {
    display: none !important;
}





#formLogin, #formSignup {
    max-width: 400px;
    margin: 0 auto;
}
#formLogin input, #formSignup input {
    width: 100%;
    margin: 10px 0;
}
#formLogin button, #formSignup button {
    margin: 20px 0 0;
    font-size: 19px;
    color: #08b;
    border: none;
    background: none;
    cursor: pointer;
}












.p-table-card tr td {
    padding: 5px 10px 5px 0;
}
.p-table-card tr td:first-child {
    color: #999;
    text-align: right;
}
.p-table-card select,
.p-table-card input,
.p-select,
.p-input {
    padding: 5px 10px;
    border-radius: 4px;
    /*box-shadow: inset 0 8px 10px -15px #000;*/
}
.p-table-cost tr td {
    padding: 5px 10px;
    border: 1px solid #ddd;
    vertical-align: middle;
}
.p-table-cost tr td:first-child {
    text-align: right;
}
.p-table-cost tr:last-child td {
    text-align: left;
    padding: 20px 0 0;
    vertical-align: top;
    border: none;
}
.p-table-cost tr:last-child td:last-child {
    text-align: right;
}
.p-main {
    width: 100%;
    height: 100%;
    min-width: 1280px;
}
.p-main-left {
    background-color: #f5f5f5;
    border-right: 1px solid #e6e6e6;
    min-width: 20px;
    width: 150px;
    position: relative;
}
.p-main-right {
    background-color: #eee;
}
.p-main-left-fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 150px;
    bottom: 0;
    background-color: #f5f5f5;
    z-index: 2;
}
.p-main-lang {
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
}
.p-scroll-top {
    position: absolute;
    bottom: 60px;
    left: 50%;
    border: 2px solid #e1e1e1;
    border-radius: 50%;
    margin-left: -33px;
    width: 66px;
    height: 0;
    line-height: 0;
    text-align: center;
    color: #e1e1e1;
    font-size: 30px;
    padding: 35px 0 25px;
    opacity: .5;
    letter-spacing: 0;
}
.p-scroll-top:hover {
    opacity: .7;
    cursor: pointer;
}



.p-menu-items {
    padding: 0;
    margin: 0;
    position: relative;
    z-index: 9;
}
.p-menu-items > li, .p-menu-items a {
    display: block;
    position: relative;
}
.p-menu-items a {
    padding: 20px 30px;
    color: #666;
}
.p-menu-items a:not(.active):hover {
    background-color: rgba(200,200,200,.2);
}
.p-menu-items a.active {
    font-weight: bold;
}
.p-menu-items a.active:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 3px;
    background-color: #efa016;
}




.p-page-title {
    background-color: #fff;
    padding: 20px 30px;
    border-bottom: 1px solid #ddd;
    box-shadow: 0 3px 10px -10px #999;
}
.p-content {
    padding: 30px;
}
.p-inp {
    background-color: #fff;
    font-size: 16px;
    letter-spacing: 0;
    color: #666;
    padding: 15px 20px;
    border: 1px solid #ddd;
    border-radius: 30px;
    box-shadow: inset 0 8px 10px -15px #000;
}






.p-list-items {
    width: 100%;
    margin: 30px 0;
}
.p-list-items > li {
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 5px;
    overflow: hidden;
    margin: 15px 0;
}
.p-list-items .p-list-items-content {
    padding: 10px 20px 0;
}

.p-list-items-more {
    border-top: 1px solid #ddd;
    position: relative;
}
.p-list-items-more:before {
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    height: 10px;
    box-shadow: inset 0 5px 10px -10px #999;
}


.p-inline-items {
    width: 100%;
}
.p-inline-items > li, .p-inline-items a, .p-inline-items button {
    display: inline-block;
    position: relative;
}
.p-inline-items a, .p-inline-items button {
    padding: 15px 20px;
    border: none;
    background-color: transparent;
    cursor: pointer;
    color: #08b;
    margin-top: 10px;
    border-radius: 5px;
}
.p-hover-scale:hover,
.p-inline-items a:not(.active):hover,
.p-inline-items button:not(.active):hover {
    transform: scale(1.1);
    transition: .1s;
}
.p-hover-scale:active,
.p-inline-items a:not(.active):active,
.p-inline-items button:not(.active):active {
    transform: scale(1.05);
}
.p-inline-items a.active {
    color: #666;
}
.p-inline-items a.active:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background-color: #efa016;
}


.p-scale:hover {
    transform: scale(1.1);
    transition: .1s;
}
.p-scale:active {
    transform: scale(1.05);
}


.p-history-left {
    background-color: #f5f5f5;
    width: 190px;
    /*border-right: 1px solid #ddd;*/
    box-shadow: inset -2px 0 0 -1px #ddd;
}
.p-history-items > li, .p-history-items a {

}


.p-history-items {
    padding: 0;
    margin: 0;
}
.p-history-items > li, .p-history-items a {
    display: block;
    position: relative;
}
.p-history-items a {
    padding: 15px 20px;
}
.p-history-items a:not(.active):hover {
    background-color: rgba(200,200,200,.2);
}
.p-history-items a.active {
    border-radius: 5px 0 0 5px;
    color: #666;
    background-color: #fff;
    border-bottom: 1px solid #ddd;
    position: relative;
}
/*.p-history-items a.active:before {*/
/*    content: '';*/
/*    position: absolute;*/
/*    top: 0;*/
/*    bottom: 0;*/
/*    right: -2px;*/
/*    background-color: #fff;*/
/*    width: 3px;*/
/*}*/

/********************/
.pi-container {
    display: inline-block;
    width: 5%;
    min-width: 45px;
    padding: 10px 5px;
}
.border-bottom {
    border-bottom: 2px solid #ddd !important;
}
.border-left {
    border-left: 2px solid #ddd !important;
}
.pi-item {
    display: inline-block;
    font-size: 0;
    line-height: 0;
    letter-spacing: -10px;
    width: 100%;
    height: 0;
    padding-top: 100%;
    box-shadow: 0 0 0 1px #bbb;
    border-radius: 50%;
    overflow: hidden;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    position: relative;
}
.pi-item-container {
    margin-top: -100%;
}
.pi-item-container.disable:before {
    content: '';
    width: 100%;
    height: 100%;
    background: #ddd;
    position: absolute;
    z-index: 9;
}
.pi-item .pi-item-t,
.pi-item .pi-item-l,
.pi-item .pi-item-b,
.pi-item .pi-item-r {
    display: inline-block;
    width: 50%;
    padding-top: 50%;
    cursor: pointer;
}
.pi-item .pi-item-t {
    box-shadow: inset -1px -1px 0 0 #bbb;
    border-radius: 100% 0 0 0;
}
.pi-item .pi-item-l {
    box-shadow: inset -1px 1px 0 0 #bbb;
    border-radius: 0 0 0 100%;
}
.pi-item .pi-item-b {
    box-shadow: inset 1px 1px 0 0 #bbb;
    border-radius: 0 0 100% 0;
}
.pi-item .pi-item-r {
    box-shadow: inset 1px -1px 0 0 #bbb;
    border-radius: 0 100% 0 0;
}
.pi-item_yellow .pi-item-t.active,
.pi-item_yellow .pi-item-l.active,
.pi-item_yellow .pi-item-b.active,
.pi-item_yellow .pi-item-r.active {
    background: #fff000;
}
.pi-item_yellow .pi-item-t:not(.active):hover,
.pi-item_yellow .pi-item-l:not(.active):hover,
.pi-item_yellow .pi-item-b:not(.active):hover,
.pi-item_yellow .pi-item-r:not(.active):hover {
    background: #fffbbb;
}
.pi-item_yellow .pi-item-c:hover {
    box-shadow: 0 0 0 20px rgba(255, 255, 0, .2);
}
.pi-item_red .pi-item-t.active,
.pi-item_red .pi-item-l.active,
.pi-item_red .pi-item-b.active,
.pi-item_red .pi-item-r.active {
    background: #ff6666;
}
.pi-item_red .pi-item-t:not(.active):hover,
.pi-item_red .pi-item-l:not(.active):hover,
.pi-item_red .pi-item-b:not(.active):hover,
.pi-item_red .pi-item-r:not(.active):hover {
    background: #ffeeee;
}
.pi-item_red .pi-item-c:hover {
    box-shadow: 0 0 0 20px rgba(255, 100, 100, .2);
}
.pi-item-c {
    position: absolute;
    top: 35%;
    bottom: 35%;
    left: 35%;
    right: 35%;
    background-color: #bbb;
    border-radius: 50%;
    cursor: pointer;
}
.pi-label {
    display: block;
    text-align: center;
    cursor: pointer;
    width: 105%;
}
.pi-label input {
    cursor: pointer;
}
/************************************/

.p-text-shadow {
    text-shadow: 1px 1px 1px #fff, -1px -1px 1px #fff, 2px 2px 1px #fff, -2px -2px 1px #fff, -1px 1px 1px #fff, 1px -1px 1px #fff, -2px 2px 1px #fff, 2px -2px 1px #fff;
}

.dd-table td {
    border: 1px solid #ddd;
    vertical-align: middle;
    padding: 5px;
    width: 35px;
    text-align: center;
}
.dd-implant {
    /*position: relative;*/
    /*box-shadow: inset 0 0 0 2px #999 !important;*/
    /*border: 2px solid #000 !important;*/
    background-image: url("../img/implant.png");
    background-repeat: no-repeat;
    background-position: center;
}
.dd-recession {
    /*border: 2px solid #f00 !important;*/
    background-image: url("../img/recession.png");
    background-repeat: no-repeat;
    background-position: center;
}
.dd-cell {
    /*padding: 20px;*/
    /*width: 0;*/
    /*height: 0;*/
    /*position: relative;*/
    cursor: pointer;
}
.dd-cell:hover {
    box-shadow: inset 0 0 5px 0 rgba(0,0,0,.2) !important;
}


.p-course-form input,
.p-course-form select {
    margin-top: 5px;
    padding: 5px 10px;
    border-radius: 4px;
    /*box-shadow: inset 0 7px 10px -15px #000;*/
}
.p-course-form select,
.p-course-form input[type=text]:not(.p-datepicker-input) {
    width: 500px;
}


.p-css-noselect {
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently supported by Chrome and Opera */
}


.p-list-more-item {
    margin: 0 30px 0;
}
.p-list-more-cont {
    max-height: 600px;
    padding-bottom: 30px;
    overflow-x: hidden;
}
.p-list-more-menu {
    position: relative;
    left: -20px;
}
.p-list-more-menu:before {
    content: '';
    position: absolute;
    top: -37px;
    left: 0;
    right: 0;
    height: 38px;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&0+0,1+92 */
    background: -moz-linear-gradient(top,  rgba(255,255,255,0) 0%, rgba(255,255,255,1) 92%, rgba(255,255,255,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 92%,rgba(255,255,255,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 92%,rgba(255,255,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */

}
.p-table-psr {
    margin: 30px 0;
}
.p-table-psr td {
    border: 1px solid #bbb;
}
.p-table-psr tr:first-child,
.p-table-psr tr:last-child {
    background-color: #ddd;
}
.p-table-psr tr:first-child td,
.p-table-psr tr:last-child td {
    padding: 10px 20px;
    font-weight: bold;
}
.p-table-psr select {
    padding: 10px;
    border: none;
    cursor: pointer;
    width: 100%;
}

.p-table-psr-dscr tr:first-child td {
    font-weight: bold;
}
.p-table-psr-dscr td {
    padding: 5px 10px;
}



.p-datepicker-input {
    width: 150px;
    padding: 5px 10px;
    border-radius: 4px;
    margin-top: 0 !important;
}
.p-datepicker-block {
    display: inline-block;
    position: relative;
}
.p-datepicker-block:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 10px;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    background: url("/img/datepicker.svg") no-repeat;
}





.p-new-card {
    background-color: #fff;
    padding: 20px;
    border-radius: 5px;
    position: relative;
    top: -60px;
}


.ns-spinner {
    position: absolute;
    top: 50%;
}
.spin-small-left {
    left: -20px;
    margin-top: -8px;
}
.spin-small-right {
    right: -20px;
    margin-top: -8px;
}
.spin-medium-left {
    left: -30px;
    margin-top: -11px;
}
.spin-medium-right {
    right: -30px;
    margin-top: -11px;
}
.spin-big-left {
    left: -45px;
    margin-top: -16px;
}
.spin-big-right {
    right: -45px;
    margin-top: -16px;
}
.spin-big-center {
    left: 50%;
    margin-left: -15px;
    margin-top: -16px;
}
.spin-small > *,
.spin-medium > *,
.spin-big > * {
    animation: spin-rotate 1.4s linear infinite;
}
.spin-small > * > *,
.spin-medium > * > *,
.spin-big > * > * {
    stroke-dashoffset: 0;
    transform-origin: center;
    stroke-width: 2;
    stroke-linecap: round;
}
.spin-small > * > * {
    stroke-dasharray: 28px;
    animation: spin-dash-small 1.4s ease-in-out infinite;
}
.spin-medium > * > * {
    stroke-dasharray: 58px;
    animation: spin-dash-medium 1.4s ease-in-out infinite;
}
.spin-big > * > * {
    stroke-dasharray: 88px;
    animation: spin-dash-big 1.4s ease-in-out infinite;
}
@keyframes spin-rotate {
    0% {transform: rotate(0);}
    100% {transform: rotate(270deg);}
}
@keyframes spin-dash-small {
    0% {stroke-dashoffset: 28px;}
    50% {stroke-dashoffset: 6px; transform: rotate(135deg);}
    100% {stroke-dashoffset: 28px; transform: rotate(450deg);}
}
@keyframes spin-dash-medium {
    0% {stroke-dashoffset: 58px;}
    50% {stroke-dashoffset: 7px; transform: rotate(135deg);}
    100% {stroke-dashoffset: 58px; transform: rotate(450deg);}
}
@keyframes spin-dash-big {
    0% {stroke-dashoffset: 88px;}
    50% {stroke-dashoffset: 8px; transform: rotate(135deg);}
    100% {stroke-dashoffset: 88px; transform: rotate(450deg);}
}


/**************************************/
.btn-act {
    display: inline-block;
    font-size: 19px;
    position: relative;
    cursor: pointer;
    transform: scale(.95);
}
.btn-act:hover {
    transform: scale(1);
}
.btn-act:active {
    transform: scale(.9);
    opacity: .5;
    transition: .1s;
}
.btn-act.action {
    transform: scale(.8) translate(0, 2px);
    opacity: .5;
}










