@font-face {
    font-family: 'Poppins';
    src: url('../fonts/Poppins.svg#Poppins') format('svg'),
    url('../fonts/Poppins.ttf') format('truetype'),
    url('../fonts/Poppins.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

:root {
    --container-width: 1620px;
    --color: #1E1E1E;
    --blue: #455AF7;
    --red: #D12020;
    --green: #2AB40F;
    --yellow: #DEC000;
    --violet: #C546AC;
    --grey: #878787;
    --font: 'VisbyCFBold';
    --font-huge: 28px;
    --font-big: 22px;
    --font-medium: 18px;
}

body {
    width: 100%;
    margin: 0;
    padding: 90px 0 0;
    background-color: #F7F9FB;
    color: var(--color);
    font-family: 'Poppins', Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.2;
    text-align: left;
    overflow-x: hidden;
}

.container-full {
    clear: both;
    position: relative;
    width: 100%;
}

.container {
    clear: both;
    position: relative;
    width: var(--container-width);
    margin: 0 auto;
}

header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    padding: 0 40px;
    font-size: 14px;
    z-index: 26;
}

header.fixed {
    background-color: #fff;
    box-shadow: 0 3px 10px #455AF724;
}

header a {
    text-decoration: none;
}

.logo {
    position: relative;
    width: 250px;
    padding: 0 20px 0 0;
    z-index: 13;
}
.logo img {
    height: 35px;
}

header > div {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header-service {
    display: flex;
    align-items: center;
}

.header-calendar {
    padding: 0 0 0 30px;
    color: var(--grey);
}

.header-calendar img {
    position: relative;
    top: 2px;
    max-height: 16px;
    margin: -1px 3px 0 0;
}

.header-search {
    position: relative;
}

#search-query {
    width: 230px;
    height: 30px;
    padding: 0 10px;
    border: 1px solid var(--blue);
    border-radius: 15px;
    background-color: transparent;
}

#search-btn {
    position: absolute;
    top: 17px;
    right: 4px;
    height: 24px;
    border: 0;
    background-color: transparent;
    font-size: 0;
    cursor: pointer;
    z-index: 2;
}
#search-btn:hover {
}
#search-btn img {
    width: 100%;
    transition: all 350ms linear;
}
#search-btn:hover img {
}

#search_results {
    display: none;
    position: absolute;
    top: 50px;
    left: -15px;
    right: -15px;
    min-width: 290px;
    max-height: 500px;
    padding: 5px 25px;
    border: 1px solid #ebebeb;
    border-radius: 10px;
    background-color: #fff;
    box-shadow: 0 2px 6px #e2e2e2;
    overflow: auto;
    z-index: 2;
}
#search_results.active {
    display: block;
}
#search_results ul {
    list-style-type: none;
}
#search_results li {
    padding-left: 10px;
}
#search_results .dropdown-header {
    padding-left: 0;
    padding-bottom: 3px;
    font-weight: bold;
}
#search_results .divider {
    margin: 8px 0;
    padding-left: 0;
    border-top: 1px solid #eaeaea;
}
#search_results .divider:first-child {
    display: none;
}

.header-right {
    display: flex;
    align-items: center;
}

.header-mail img {
    max-height: 20px;
}

.header-notice {
    position: relative;
    padding: 0 25px;
}
.header-notice img {
    max-height: 20px;
}
.notification-count {
    position: absolute;
    top: -8px;
    right: 20px;
    width: 18px;
    height: 18px;
    padding-top: 3px;
    border-radius: 20px;
    background-color: var(--yellow);
    color: #000;
    font-size: 10px;
    text-align: center;
    text-decoration: none;
    z-index: 2;
}
.header-notice .notifications {
    position: fixed;
    top: 55px;
    right: 0;
    width: 320px;
    max-height: 600px;
    /*padding: 5px 20px;*/
    border: 1px solid #ebebeb;
    border-radius: 10px;
    background-color: #fff;
    box-shadow: 0 2px 6px #e2e2e2;
    overflow: auto;
    z-index: 2;
}

.header-notice .notifications ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.header-notice .notifications li {
    padding: 10px 20px;
    border-top: 1px solid #ebebeb;
}

.header-notice .notifications li.unread {
    background-color: #455af7;
    color: white;
}

.header-notice .notifications li:first-child {
    border-top: 0;
}
.header-notice .notifications ul span {
    font-size: 11px;
}
.header-notice .notifications li a:hover {
    text-decoration: none;
    opacity: .6;
}

.header-user {
    position: relative;
    display: flex;
    align-items: center;
    margin: -10px 0;
    padding: 0 0 0 25px;
}
.header-user:before {
    position: absolute;
    left: 0;
    top: 26px;
    width: 1px;
    height: 25px;
    background-color: var(--grey);
    content: "";
}
.header-user img {
    max-height: 36px;
    margin-right: 10px;
    border-radius: 20px;
}
.header-user span {
    display: block;
    color: var(--grey);
}
.header-user a {
    color: var(--red);
    text-decoration: underline;
}
.header-user p + p {
    max-width: 170px;
}

.menu-responsive {
    display: none;
    position: fixed;
    top: 15px;
    right: 40px;
    padding: 10px;
    border-radius: 10px;
    background-color: #fff;
    box-shadow: 0 3px 10px #455AF724;
    z-index: 49;
}

.menu-responsive span {
    position: relative;
    display: block;
    width: 23px;
    height: 17px;
    border-top: 3px solid #000;
    border-bottom: 3px solid #000;
    font-size: 0;
}

.menu-responsive span:before {
    position: absolute;
    top: 4px;
    display: block;
    width: 100%;
    height: 3px;
    content: "";
    background-color: #000;
}

.login-pagee {
    width: 100vw;
    height: 100vh;
    background: #fff url("/assets/backend/img/bg-login.png") 0 0 no-repeat;
    overflow: hidden;
}
.site-login {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #858585;
    text-align: center;
}
.login-logo {
    position: fixed;
    top: 20px;
    left: 30px;
    z-index: 2;
}
.login-logo img {
    height: 30px;
}
.site-login > div {
    min-width: 330px;
    padding: 10px 30px;
    border-radius: 30px;
    background-color: #f8f8f8;
    box-shadow: 0 0 10px #e9e9e9;
}
.login-img {
    display: inline-block;
    margin-bottom: -10px;
    border-radius: 15px;
    background-color: #fff;
}
.login-title {
    color: initial;
    font-size: 18px;
}
.site-login input[type="text"], .site-login input[type="password"] {
    width: 100%;
    height: 38px;
    padding-left: 35px;
    border: 1px solid #eee;
    border-radius: 30px;
    background: #eee url("/assets/backend/img/login-email.svg") 10px center no-repeat;
    color: #454545;
}
.site-login input[type="password"] {
    background: #eee url("/assets/backend/img/login-lock.svg") 15px center no-repeat;
}
.site-login button {
    width: 100%;
    justify-content: center;
}
.login-pagee .menu-responsive {
    display: none;
}

.site-content {
    position: relative;
    display: flex;
    padding-top: 10px;
    padding-bottom: 25px;
}

.content-left {
    flex: 250px 0 0;
}

.content-left nav ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.content-left nav li {
    margin: 0 0 5px;
    border-top-right-radius: 25px;
    border-bottom-right-radius: 25px;
}

.content-left nav li a {
    display: block;
    padding: 13px 15px 13px 30px;
    border-left: 5px solid transparent;
    text-decoration: none;
}

.content-left nav li.active, .content-left nav li:hover {
    background-color: #fff;
    box-shadow: 0 3px 10px #455AF724;
    text-decoration: none;
}
.content-left nav li.active {
    font-weight: bold;
}

.content-left nav li img {
    position: relative;
    top: 3px;
    left: -7px;
}

.content-left nav ul ul {
    display: none;
}

.content-left nav ul .active ul {
    display: block;
}

.content-left nav li li, .content-left nav li.active li, .content-left nav li li:hover {
    margin: 0;
    border-radius: 0;
    background-color: transparent;
    font-weight: normal;
    box-shadow: none;
}

.content-left nav li li a {
    padding: 7px 15px 7px 30px;
}

.content-left nav li li a:hover {
    text-decoration: underline;
}

.content-left nav li.active a,
.content-left nav li.active li.active a,
.content-left nav li.active li.active li.active a {
    border-left: 5px solid var(--blue);
    font-weight: bold;
}

.content-left nav li.active li a,
.content-left nav li.active li.active li a,
.content-left nav li.active li.active li.active li a {
    border-left: 5px solid transparent;
    font-weight: normal;
}

.content-left nav li.active.sub-opened a {
    border-left: 5px solid transparent;
}

.content-right {
    flex-grow: 1;
    padding: 0 40px;
    overflow: hidden;
}

.state-wrapper {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    padding: 0 0 40px;
    text-align: center;
}

.state-wrapper > div {
    border-radius: 15px;
    background-color: #fff;
    box-shadow: 0 3px 10px #455AF724;
}

.table-white {
    clear: both;
    margin: 20px 0 40px;
    border-radius: 15px;
    background-color: #fff;
    box-shadow: 0 3px 10px #455AF724;
    overflow-x: auto;
}
.white-box .table-white {
    margin: 20px -20px;
    border-radius: 0;
    box-shadow: none;
}

.table-title {
    padding: 15px 20px 0;
}

.table-white table {
    width: 100%;
    border-collapse: collapse;
    empty-cells: show;
}

.table-white tr + tr {
    border-top: 1px solid #f2f2f2;
}

.table-white tbody tr {
    border-top: 1px solid #f2f2f2;
}

.table-white th,
.table-white td {
    padding: 8px 20px;
}

.tab-img img {
    max-height: 34px;
}

td.tab-user div {
    display: flex;
    align-items: center;
    gap: 10px;
}
td.tab-user span:first-child {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    border-radius: 20px;
    overflow: hidden;
}
td.tab-user img {
    transform: scale(120%);
}

.tab-icons {
    white-space: nowrap;
}
.tab-icons img {
    margin: 0 5px;
    cursor: pointer;
}

.change_status_service_prehled {
    white-space: nowrap;
}

.service-list {
    display: flex;
    justify-content: space-between;
}
.service-list > * {
    width: calc(50% - 10px);
}

.service-filter {
    margin: 0 0 40px;
    padding: 1px 20px 25px;
    border-radius: 15px;
    box-shadow: 0 3px 10px #455AF724;
    background-color: #fff;
}

.filter-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0 5px;
}

.filter-bottom {
    display: flex;
    justify-content: space-between;
    gap: 15px;
}

.filter-bottom form, .box-add form, .input-long {
    position: relative;
    margin-top: 0;
}

.box-add form p {
    position: relative;
}

.filter-bottom form p {
    margin: 0;
}

.filter-bottom input[type="text"], .box-add input[type="text"], .input-long input[type="text"] {
    width: 100%;
    height: 30px;
    padding: 0 10px;
    border: 1px solid var(--blue);
    border-radius: 20px;
    background-color: #fff;
}
.box-add input[type="text"], .input-long {
    width: 335px;
}

.filter-bottom button, .box-add button, .input-long button {
    position: absolute;
    top: 4px;
    bottom: 0;
    right: 3px;
    border: 0;
    background-color: transparent;
    z-index: 2;
    cursor: pointer;
}

.box-add {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.box-add > div > div {
    display: flex;
    align-items: center;
    gap: 30px;
}

.box-add-content {
    display: flex;
    gap: 35px;
    flex-wrap: wrap;
    margin-top: -20px;
}

.box-add-content > div:first-child {
    flex: 1;
}

.box-add-content > div + div {
    flex: 0 0 360px;
}

.total-price {
    display: grid;
    grid-template-columns: auto auto;
}

.dt-info {
    display: none;
    padding: 10px 15px;
}
body div.dt-container .dt-paging {
    padding: 10px;
    text-align: right;
}
body div.dt-container .dt-paging .dt-paging-button {
    position: relative;
    min-width: 26px;
    margin-left: 3px;
    padding: 1px 8px;
    border: 1px solid #f2f2f2;
    border-radius: 10px;
    background: transparent;
    cursor: pointer;
}
body div.dt-container .dt-paging .dt-paging-button.first,
body div.dt-container .dt-paging .dt-paging-button.previous,
body div.dt-container .dt-paging .dt-paging-button.next,
body div.dt-container .dt-paging .dt-paging-button.last {
    border: 1px solid #fff;
}
body div.dt-container .dt-paging .dt-paging-button.first {
    padding-left: 18px;
}
body div.dt-container .dt-paging .dt-paging-button.previous {
    padding-left: 14px;
}
body div.dt-container .dt-paging .dt-paging-button.next {
    padding-right: 14px;
}
body div.dt-container .dt-paging .dt-paging-button.last {
    padding-right: 18px;
}
body div.dt-container .dt-paging .dt-paging-button.first:before,
body div.dt-container .dt-paging .dt-paging-button.previous:before,
body div.dt-container .dt-paging .dt-paging-button.next:after,
body div.dt-container .dt-paging .dt-paging-button.last:after {
    position: absolute;
    top: -5px;
    font-size: 20px;
    z-index: 2;
}
body div.dt-container .dt-paging .dt-paging-button.first:before {
    left: 4px;
    content: "\00ab";
}
body div.dt-container .dt-paging .dt-paging-button.previous:before {
    left: 4px;
    content: "\2039";
}
body div.dt-container .dt-paging .dt-paging-button.next:after {
    right: 4px;
    content: "\203A";
}
body div.dt-container .dt-paging .dt-paging-button.last:after {
    right: 4px;
    content: "\00bb";
}
body div.dt-container .dt-paging .dt-paging-button.current,
body div.dt-container .dt-paging .dt-paging-button:hover {
    border: 1px solid #3598DB;
    background-color: #3598DB;
    color: #fff !important;
}

body table.dataTable > thead > tr > th, table.dataTable > thead > tr > td {
    border-bottom: 1px solid #f2f2f2;
}
body div.dt-container.dt-empty-footer tbody > tr:last-child > * {
    border-bottom: 1px solid #f2f2f2;
}

body .select2-dropdown,
body .select2-container--default .select2-selection--multiple,
body .select2-container--default.select2-container--focus .select2-selection--multiple {
    border: 1px solid var(--blue);
    border-radius: 15px;
}
body .select2-container--default .select2-selection--single {
    border: 1px solid var(--blue);
    border-radius: 15px;
}
body .select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid var(--blue);
}
body .select2-search--dropdown .select2-search__field {
    padding: 2px 5px;
}
body .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border: 0;
}
body .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border: solid black;
    border-width: 0 1px 1px 0;
    padding: 3px;
    height: auto;
    left: 50%;
    margin-left: -4px;
    margin-top: -5px;
    position: absolute;
    top: 50%;
    width: auto;
    transform: rotate(45deg);
}
body .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable:last-child {
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
}

body .blocker {
    z-index: 84;
}

body .modal {
    max-width: 1380px;
}

body .modal-small {
    max-width: 580px;
}

body .modal-large {
    max-width: 680px;
}

#add_deposit_modal,
#edit_deposit_modal,
#add_work_modal,
#edit_work_modal,
#add_shipping_modal,
#edit_shipping_modal,
#add_modal_car.modal,
#edit_modal_car.modal,
#add_modal_work.modal,
#edit_modal_work.modal,
#add_modal_shipping.modal,
#edit_modal_shipping.modal,
#add_modal_state.modal,
#edit_modal_state.modal,
#add_modal_division.modal,
#edit_modal_division.modal
{
    max-width: 580px;
}


.modal form h2 {
    padding-right: 90px;
}

#car_photo_add label, #car_photo_edit label,
#rea_photo_add label, #karcher_photo_add label,
#rea_photo_add button, #karcher_photo_add button,
#rea_photo_edit label, #karcher_photo_edit label,
#rea_photo_edit button, #karcher_photo_edit button,
#profile_photo_add label, #profile_photo_add button,
#profile_photo_edit label, #profile_photo_edit button {
    margin-right: 10px;
    border: 0;
    background-color: #fff;
    text-decoration: underline;
    cursor: pointer;
}

#edit_modal_user .image-background, #add_modal_user .image-background,
#edit_modal_division .image-background, #add_modal_division .image-background,
#edit_modal_car .image-background, #add_modal_car .image-background {
    width: 100%;
    height: 70px;
    background-repeat: no-repeat;
    background-size: contain;
}

#machine_images {
    display: flex;
}
#machine_images > div {
    position: relative;
    float: left;
    width: 10%;
    padding: 5px;
}
#machine_images > div a:first-child {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 2;
}
#machine_images > div img {
    transition: all 350ms linear;
}
#machine_images > div:hover > img {
    opacity: .5;
}

.selected-item {
    display: inline-block;
    background-color: #d9e6a5;
    padding: 5px 10px;
    margin: 5px;
    border-radius: 4px;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
}

.selected-item .remove-item {
    margin-left: 10px;
    color: red;
    text-decoration: none;
    cursor: pointer;
    font-weight: bold;
}

.is-active {
    position: absolute;
    top: 22px;
    right: 20px;
}

.grid-2-cols {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
}
.modal .grid-2-cols p {
    margin: 7px 0;
}

.box-thirds {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 15px;
}
.box-thirds > div {
    min-width: 0;
    margin: -10px 0;
}

.box-fourths {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-column-gap: 20px;
    align-items: center;
}
.box-fourths p + p,
.box-fifths p + p {
    margin-top: -10px;
}

.box-fifths {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-column-gap: 20px;
}

.bottom-buttons {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0 15px;
    margin-top: -15px;
}
.bottom-buttons p {
    margin: 5px 0;
}

.white-box {
    margin: 20px 0 40px;
    padding: 5px 20px 10px;
    border-radius: 15px;
    background-color: #fff;
    box-shadow: 0 3px 10px #455AF724;
}
.white-box + * {
    clear: both;
}

.tabs-menu {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 0;
    padding: 0;
    list-style-type: none;
}
.tabs-menu li {
    height: 48px;
    padding: 14px 0 0;
    background-color: #3598DB70;
    color: #fff;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
}
.tabs-menu li.active, .tabs-menu li:hover {
    background-color: #3598DB;
}
.tabs-menu li:first-child {
    border-top-left-radius: 20px;
}
.tabs-menu li:last-child {
    border-top-right-radius: 20px;
}

.tabs-content {
    margin: -68px 0 0;
}
.tabs-content > div {
    display: none;
}
.tabs-content > div.active {
    display: block;
}
.tabs-content > div > .white-box:first-child {
    padding-top: 55px;
}

button img {
    max-width: 80%;
}

.flexbox {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0 30px;
    margin-top: -15px;
}

.flexbox .input-long {
    padding: 35px 0 0;
}
.flexbox .input-long button {
    top: 44px;
}

.flexbox select, .flexbox input:not([type=checkbox]):not([type=radio]) {
    display: block;
    margin-top: 7px;
}

.layout-3 p {
    display: inline-grid;
}
.layout-3 p:first-child {
    width: 230px;
    text-align: right;
}

.flex-base {
    display: flex;
    align-items: baseline !important;
    gap: 30px;
}

.flex {
    display: flex;
    align-items: center;
    gap: 25px;
}
.flex img {
    max-height: 34px;
}

.circle-color {
    display: inline-block;
    width: 22px;
    height: 22px;
    margin: 0 5px -5px 0;
    border-radius: 20px;
}

.switch {
    position: relative;
    display: inline-block;
    width: 34px;
    height: 18px;
}
.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 18px;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
}
.slider:before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 1px;
    bottom: 1px;
    border-radius: 50%;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}
input:checked + .slider {
    background-color: #2196F3;
}
input:focus + .slider {
    box-shadow: 0 0 1px #2196F3;
}
input:checked + .slider:before {
    transform: translateX(16px);
}


/*menu autocomplete */

.twitter-typeahead {
}

.tt-menu {
    margin-top: -1px;
    padding: 10px 25px 25px;
    background-color: #fff;
    top: 110% !important;
    left: -21vw !important;
    right: -26vw !important;
    text-align: left;
}

.title_search_produkt {
    margin-bottom: 15px !important;
    padding-bottom: 12px;
    border-bottom: var(--blue);
    color: var(--blue);
    text-transform: uppercase;
}

.title_search_produkt span {
    text-transform: none;
}

.tt-menu .tt-suggestion {
    display: block;
    padding: 5px 0;
    color: var(--color);
    text-decoration: none;
}
.tt-menu .tt-suggestion:hover {
    background-color: #e5e5e5;
}

.tt-menu .result_container {
    display: flex;
    align-items: center;
}

.tt-menu .result_container img {
    width: 30px;
    max-height: 36px;
    margin-right: 10px;
}

.tt-menu .results_data {
    float: none;
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0;
    font-size: 13px;
}

.tt-menu .results_data .product_name_search {
    display: inline-block;
    width: calc(100% - 200px);
    padding-right: 20px;
}

.tt-menu .search_dostupnost {
    width: 100px;
    padding-right: 20px;
}

.tt-menu .search_dostupnost p {
    display: inline-block;
    margin: 0;
    color: #749b77;
}

.tt-menu .search_cena {
    width: 80px;
}

.tt-menu .search_cena p {
    /*    display: inline-block;*/
    margin: 0;
    color: #b92a37;
}

.title_search_produkt_celkem {
    display: none;
    padding: 0 25px 0 0;
    font-style: italic;
    text-transform: uppercase;
}

.title_search_produkt_celkem span {
    color: var(--red);
}

.show_all_result_menu {
    display: inline-block;
    padding: 10px 15px 7px;
    border: 1px solid var(--blue);
    border-radius: 10px;
    color: var(--color);
    text-transform: uppercase;
    text-decoration: none;
}
.tt-dataset-1 .show_all_result_menu {
    display: none;
}

.show_all_result_menu:hover {
    text-decoration: none;
}

.naseptavac-img {
    padding: 20px 0 0;
    text-align: center;
}

.naseptavac-img img {
    max-width: 320px;
}

.tt-menu .tt-suggestion.cat_naseptavac {
    display: inline-block;
    margin: 0 10px 10px 0;
    padding: 5px 10px;
    border: 1px solid #999;
    border-radius: 15px;
}

.tt-dataset-0 {
    float: left;
    width: 49%;
}

.tt-dataset-1, .tt-dataset-2 {
    float: right;
    width: 49%;
}

/* konec menu autocomplete*/

/* Slider */
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}
.slick-list:focus {
    outline: none;
}
.slick-list.dragging {
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after {
    display: table;
    content: '';
}
.slick-track:after {
    clear: both;
}
.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide {
    float: right;
}
.slick-slide img {
    display: block;
}
.slick-slide.slick-loading img {
    display: none;
}
.slick-slide.dragging img {
    pointer-events: none;
}
.slick-initialized .slick-slide {
    display: block;
}
.slick-loading .slick-slide {
    visibility: hidden;
}
.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

/* Dots */
.slick-dots {
    position: absolute;
    bottom: 50px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    z-index: 2;
}
.slick-dots li {
    position: relative;
    display: inline-block;
    margin: 0 10px;
}
.slick-dots li button {
    display: block;
    width: 25px;
    height: 25px;
    padding: 0;
    border: 0;
    border-radius: 20px;
    background: var(--purple);
    font-size: 0;
    transition: all 350ms linear;
    cursor: pointer;
    opacity: .6;
}
.slick-dots li.slick-active button,
.slick-dots li button:hover,
.slick-dots li button:focus {
    opacity: 1;
}

/* Arrows */
.slick-prev, .slick-next {
    position: absolute;
    top: 35%;
    border: 0;
    background-color: transparent;
    font-size: 0;
    transition: all 350ms linear;
    cursor: pointer;
    z-index: 3;
}
.slick-prev:hover, .slick-next:hover {
    opacity: .6;
}
.slick-prev {
    left: -35px;
}
.slick-next {
    right: -25px;
}
.slick-prev:after, .slick-next:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 23px;
    height: 40px;
    background: url("img/arrow-l.png") no-repeat 0 0;
    background-size: contain;
    content: "";
    z-index: 2;
}
.slick-next:after {
    transform: rotate(180deg);
    transform-origin: 45% 51%;
}

.title {
    font-size: var(--font-big);
    font-weight: bold;
}

.link a, .link button, .link-right a, .link-right button, .link-float-right a {
    display: inline-flex;
    align-items: center;
    height: 38px;
    margin: 0 0 5px 0;
    padding: 0 30px;
    border-radius: 20px;
    background: linear-gradient(90deg, #3598DB 0%, #0075C6 100%);
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
}
.link a:hover, .link button:hover, .link-right a:hover, .link-right button:hover, .link-float-right a:hover {
    box-shadow: 0 3px 10px #455AF775;
    text-decoration: none;
}
.link-right {
    margin-top: -10px;
    text-align: right;
}
.link-float-right {
    float: right;
    position: relative;
    top: -85px;
}
.link a + a {
    margin: 0 15px 5px 0;
}
table .link a {
    margin: 0 2px 5px 0;
    padding: 3px 10px;
    font-size: 14px;
    font-weight: normal;
}
#list_parts .link a {
    height: auto;
}

.halves {
    display: flex;
    justify-content: space-between;
}
.halves > * {
    width: calc(50% - 10px);
}

.thirds {
    display: flex;
    justify-content: space-between;
}
.thirds > * {
    width: 30%;
}

a[href^="tel:"] {
    text-decoration: none;
}

.font-normal {
    font-weight: normal;
}

footer {
    padding-top: 30px;
    padding-bottom: 30px;
    background-color: var(--blue);
    color: #fff;
    text-align: left;
}

footer .container {
    display: flex;
}

.footer-col {
    width: 21%;
    padding-right: 35px;
}

.footer-col:last-child {
    width: 16%;
    padding-right: 0;
}

.footer-col img {
    max-height: 50px;
}

.footer-title {
    padding-bottom: 5px;
    font-weight: bold;
}

footer ul {
    list-style-type: none;
}

footer li {
    padding: 2px 0;
}

footer li a {
    text-decoration: none;
}

.site-bottom {
    padding-top: 1px;
    padding-bottom: 1px;
}

.container:after,
.container-full:after {
    clear: both;
    display: block;
    content: '';
}

.clear, .cleaner {
    clear: both;
    display: block;
    height: 1px;
    border: 0;
    font-size: 0;
}

.black {
    color: #000;
}

.white {
    color: #fff;
}

.grey {
    color: #999;
}

.green {
    color: var(--green);
}

.blue {
    color: var(--blue);
}

.red {
    color: var(--red);
}

.yellow {
    color: var(--yellow);
}

.violet {
    color: #C546AC;
}

.uppercase {
    text-transform: uppercase;
}

.hidden {
    display: none;
}

.fl {
    float: left;
}

.fr {
    float: right;
}

.text-left {
    text-align: left;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

h1, .h1 {
    clear: both;
    margin-top: .7em;
    margin-bottom: .5em;
    font-size: var(--font-huge);
    font-weight: bold;
    line-height: 1.1em;
}

h2, .h2 {
    clear: both;
    margin-top: .8em;
    margin-bottom: .6em;
    font-size: var(--font-big);
    font-weight: bold;
    line-height: 1.1em;
}

h3, .h3 {
    margin-top: 1em;
    margin-bottom: .8em;
    font-size: var(--font-medium);
    font-weight: bold;
    line-height: 1.1em;
}

h4 {
    clear: both;
    margin: 25px 0 15px;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.1em;
}

.font10 {
    font-size: 10px;
}

.font11 {
    font-size: 11px;
}

.font12 {
    font-size: 12px;
}

.font14 {
    font-size: 14px;
}

.font16 {
    font-size: 16px;
}

.font18 {
    font-size: 18px;
}

.font20 {
    font-size: 20px;
}

.font22 {
    font-size: 22px;
}

.font24 {
    font-size: 24px;
}

.font28 {
    font-size: 28px;
}

.margin-top-5 {
    margin-top: 5px;
}

.margin-top-10 {
    margin-top: 10px;
}

.margin-top-20 {
    margin-top: 20px;
}

.margin-top-30 {
    margin-top: 30px;
}

.margin-top-40 {
    margin-top: 40px;
}

.margin-top-50 {
    margin-top: 50px;
}

.margin-top-60 {
    margin-top: 60px;
}

.margin-bottom-5 {
    margin-bottom: 5px;
}

.margin-bottom-10 {
    margin-bottom: 10px;
}

.margin-bottom-20 {
    margin-bottom: 20px;
}

.margin-bottom-30 {
    margin-bottom: 30px;
}

.margin-bottom-40 {
    margin-bottom: 40px;
}

.margin-bottom-50 {
    margin-bottom: 50px;
}

.margin-bottom-60 {
    margin-bottom: 60px;
}

.padding-top-5 {
    padding-top: 5px;
}

.padding-top-10 {
    padding-top: 10px;
}

.padding-top-20 {
    padding-top: 20px;
}

.padding-top-30 {
    padding-top: 30px;
}

.padding-top-40 {
    padding-top: 40px;
}

.padding-top-50 {
    padding-top: 50px;
}

.padding-top-60 {
    padding-top: 60px;
}

.padding-bottom-5 {
    padding-bottom: 5px;
}

.padding-bottom-10 {
    padding-bottom: 10px;
}

.padding-bottom-20 {
    padding-bottom: 20px;
}

.padding-bottom-30 {
    padding-bottom: 30px;
}

.padding-bottom-40 {
    padding-bottom: 40px;
}

.padding-bottom-50 {
    padding-bottom: 50px;
}

.padding-bottom-60 {
    padding-bottom: 60px;
}

.no-margin {
    margin: 0;
    padding: 0;
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    color: var(--grey);
    font-size: 14px;
    opacity: .7;
}
::-moz-placeholder { /* Firefox 19+ */
    color: var(--grey);
    font-size: 14px;
    opacity: .7;
}
:-ms-input-placeholder { /* IE 10+ */
    color: var(--grey);
    font-size: 14px;
    opacity: .7;
}
:-moz-placeholder { /* Firefox 18- */
    color: var(--grey);
    font-size: 14px;
    opacity: .7;
}

input, textarea, select, option, button {
    color: #000;
    font-family: 'Poppins', Arial, Helvetica, sans-serif;
    font-size: 14px;
}

select {
    width: 100%;
}

button {
    border-width: 0;
    transition: all 250ms linear;
}

input[type="text"], input[type="tel"], input[type="email"], input[type="number"], input[type="password"], input[type="date"],
select {
    height: 30px;
    padding: 0 10px;
    border: 1px solid var(--blue);
    border-radius: 20px;
    background-color: #fff;
}

/* input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}


input[type="number"] {
    -moz-appearance: textfield;
} */


textarea:not(.select2-search__field) {
    width: 100%;
    min-height: 90px;
    padding: 10px 11px;
    border: 1px solid var(--blue);
    border-radius: 20px;
    background-color: #fff;
    resize: none;
}

ul {
    margin: 15px 0;
    padding: 0;
    list-style-position: inside;
}

p {
    margin: 15px 0;
    padding: 0;
}

a {
    color: inherit;
    transition: all 250ms linear;
}

a:hover {
    text-decoration: underline;
}

img {
    max-width: 100%;
    border: 0;
}

*:focus {
    outline: none;
}

* {
    box-sizing: border-box;
}

#part_modal .custom_part_container {
    display: flex;
    gap: 20px;
}



#signatureCanvas,
#signatureCanvas_final {
  border: 1px solid #000;
}

canvas {
  touch-action: none;
  border: 1px solid #000;
}
  

@media (max-width: 1700px) {
    :root {
        --container-width: 100%;
    }
    .container {
        padding-left: 3vw;
        padding-right: 3vw;
    }
    .layout-3 p {
        display: block;
    }
    .layout-3 p:first-child {
        width: auto;
        margin-bottom: 0;
        text-align: left;
    }
}

@media (max-width: 1491px) {
    .state-wrapper {
        grid-template-columns: repeat(3, 1fr);
    }
    .service-list {
        display: block;
    }
    .service-list > * {
        width: auto;
    }
    .filter-bottom {
        flex-wrap: wrap;
        justify-content: normal;
    }
    .box-add-content > div:first-child {
        order: 2;
    }
    .box-add-content > div + div {
        flex: 0 0 100%;
        order: 1;
        margin-bottom: -60px;
    }
    .link-float-right {
        float: none;
        top: 0;
    }
    .box-fifths {
        grid-template-columns: repeat(4, 1fr);
    }

    #machine_images > div {
        width: 20%;
    }
}

@media (max-width: 1291px) {
    .header-calendar {
        display: none;
    }
    .box-add {
        display: block;
    }
    #search-query {
        width: 150px;
    }
    .box-fourths,
    .box-fifths {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 1086px) {
    body {
        padding: 60px 0 0;
    }
    header {
        padding: 0 100px 0 40px;
    }
    .logo {
        width: auto;
    }
    .header-service {
        display: none;
    }
    .menu-responsive {
        display: block;
    }
    .state-wrapper {
        padding-top: 20px;
    }
    .site-content {
        display: block;
    }
    .content-left {
        clear: both;
    }
    .content-left nav {
        position: fixed;
        top: 0;
        left: 0;
        display: block;
        width: 100vw;
        min-height: 100vh;
        padding: 70px 0 0;
        background-color: #fff;
        transform: translateX(-100%);
        transition: all 350ms linear;
        z-index: 48;
    }
    .content-left.active nav {
        transform: translateX(0);
    }
    .content-left nav ul {
        padding-top: 5px;
    }
    .content-left nav ul li {
        display: block;
        margin: 0;
        padding: 3px 20px;
        border-radius: 0;
    }
    .content-left nav ul li a {
        padding: 0;
        border-left: 0;
    }
    .content-left nav ul ul {
        display: block;
    }
    .content-left nav li.active, .content-left nav li:hover {
        box-shadow: none;
    }
    .content-left nav li.active a, .content-left nav li.active li.active a,
    .content-left nav li.active li.active li.active a,
    .content-left nav li.active.sub-opened a {
        border-left: 0;
    }
    .tabs-menu {
        margin-top: 20px;
    }
    .halves {
        display: block;
    }
    .halves > * {
        width: auto;
    }
    .thirds {
        display: block;
    }
    .thirds > * {
        width: auto;
    }

    #machine_images > div {
        width: 30%;
    }
}

@media (max-width: 922px) {
    .modal .box-thirds,
    .modal .box-fourths,
    .modal .box-fifths {
        grid-template-columns: repeat(2, 1fr);
    }
    .bottom-buttons {
        display: block;
        text-align: center;
    }
}

@media (max-width: 767px) {
    :root {
        --font-huge: 30px;
        --font-big: 24px;
        --font-medium: 22px;
    }
    .container {
        padding-left: 15px;
        padding-right: 15px;
    }
    header {
        padding: 0 70px 0 15px;
    }
    .header-notice {
        padding: 0 15px;
    }
    .header-user {
        padding: 0;
    }
    .header-user::before {
        display: none;
    }
    .logo img {
        height: 25px;
    }
    .menu-responsive {
        right: 15px;
    }
    .state-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
    .site-content {
        display: block;
    }
    .content-left {
        padding-right: 15px;
    }
    .content-right {
        padding: 5px 15px;
    }
    .filter-top {
        display: block;
    }
    .box-add > div > div {
        display: block;
    }
    .box-add input[type="text"], .input-long {
        width: 100%;
    }
    .box-add-content {
        display: block;
    }
    .box-add-content > div + div {
        margin-bottom: -30px;
    }
    .box-thirds,
    .box-fourths,
    .box-fifths {
        grid-template-columns: repeat(2, 1fr);
    }
    .flexbox {
        display: block;
    }
    .flexbox select, .flex-base select {
        width: 100%;
    }
    .flexbox .input-long {
        padding: 21px 0 0;
    }
    .flexbox .input-long button {
        top: 26px;
    }
    footer .container {
        display: block;
        text-align: center;
    }
    .footer-col, .footer-col:last-child {
        width: auto;
        padding: 0;
    }
    .footer-col + .footer-col {
        padding-top: 5px;
    }
}

@media (max-width: 659px) {
    .is-active {
        position: static;
    }
    .modal .box-thirds,
    .modal .box-fourths,
    .modal .box-fifths {
        grid-template-columns: repeat(1, 1fr);
    }
    .modal .grid-2-cols {
        display: block;
    }

    #machine_images > div {
        width: 50%;
    }

}

@media (max-width: 555px) {
    #search-query {
        display: none;
    }
    .tabs-menu {
        display: block;
    }
    .tabs-menu li {
        height: 38px;
        padding: 10px 0 0;
    }
    .tabs-menu li:first-child {
        border-top-right-radius: 20px
    }
    .tabs-content > div > .white-box:first-child {
        padding-top: 5px;
    }
    .tabs-menu li:last-child {
        border-radius: 0;
    }
    .tabs-content {
        margin-top: -20px;
    }
    .box-thirds,
    .box-fourths,
    .box-fifths {
        display: block;
    }
    .box-thirds > div {
        margin: 0;
    }
}
