@keyframes spinning {
    0% {
        transform: none;
    }
    100% {
        transform: rotate3d(0, 0, 1, 360deg);
    }
}

.loader {
    position: absolute;
    left: calc(50% - 35px);
    top: 100px;
    color: var(--theme-color);
    font-size: 70px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity 300ms;
    animation: spinning 2s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    opacity: 0;
}

body .loader {
    opacity: 1;
}

.hide-loader.loader {
    opacity: 0;
}

.modal-content .loader {
    top: calc(50% - 35px);
}

.modal-content > div {
    transition: opacity 400ms;
}

.modal-content.waiting > div:not(.loader) {
    opacity: 0.3;
}

.index-body {
    overflow: hidden;
    height: 100vh;
    /*background: var(--theme-color);*/
}

body {
    margin: 0;
    background: #f5f5f5;
    --theme-color: #6831B3;
    --text-color: #777;
    --light-text-color: #ccc;
    --dark-text-color: #222;
    --border-color: #ddd;
    --green-color: #70d355;
}

.site-wrapper {
    color: var(--text-color);
    font-family: 'Roboto', sans-serif;
    position: relative;
    word-wrap: break-word;
    overflow: hidden;

}

section {
    min-height: calc(100vh - 140px);
}

* {
    outline: none !important;
}

a {
    color: var(--text-color);
    text-decoration: none;
}

.hidden-text {
    display: none;
}

a.disabled {
    opacity: 0.6;
    cursor: default;
}

.site-index a, .site-index {
    color: #fff;
}


/*button.show-more-btn {*/
/*    background: transparent;*/
/*    border: none;*/
/*    color: var(--text-color);*/
/*    font-size: 12px;*/
/*    float: right;*/
/*    padding: 10px 0;*/
/*}*/

a:hover {
    text-decoration: none !important;
}

h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    margin-bottom: 0px;
}

.best-item h3 {
    font-size: inherit;
}

img {
    max-width: 100%;
    height: auto;
}

.tiny-text {
    color: var(--text-color);
    word-break: break-word;
}

.site-index .tiny-text {
    color: #fff;
}
.site-index .tiny-text a{
    color: #fff;
}

.tiny-text h1 {
    font-size: 24px;
    margin-bottom: 40px;
    color: var(--dark-text-color);
}

.tiny-text h2, .tiny-text h3, .tiny-text h4, .tiny-text h5, .tiny-text h6 {
    font-size: 18px;
    margin: 0px 0 30px 0;
    color: var(--dark-text-color);
}

.site-index .tiny-text h1, .site-index .tiny-text h2, .site-index .tiny-text h3, .site-index .tiny-text h4, .site-index .tiny-text h5, .site-index .tiny-text h6 {
    color: #fff;
}

.tiny-text a {
    color: var(--text-color);
    font-weight: bold;
    text-decoration: underline;
}

.crop-text {
    overflow: hidden;
    line-height: 25px;
}

.crop-text p, .crop-text h1, .crop-text h2, .crop-text h3, .crop-text h4, .crop-text h5, .crop-text h6, .crop-text ul {
    margin: 0;
    margin-bottom: 0;
    padding-bottom: 25px;

}

ul {
    list-style-type: none !important;
    margin-left: 0;
    padding: 0;
}

.tiny-text li {
    word-break: break-word;
}

.tiny-text ul li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 15px;

}

.tiny-text ul, .tiny-text ol {
    margin: 30px 0;
}

.tiny-text ul li:before {
    content: "";
    width: 5px;
    height: 5px;
    position: absolute;
    top: 10px;
    left: 9px;
    right: auto;
    bottom: auto;
    background-color: var(--theme-color);
    border-radius: 100%;
}

.breadcrumbs li:not(:last-child):after {
    content: '/';
    margin: 0 7px;
}

.breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    margin: 40px 0;
    color: #fff;

}

.breadcrumbs li * {
    opacity: 0.8;
}

.breadcrumbs a {
    color: #fff;
    transition: opacity 300ms;

}

.breadcrumbs li a:hover {
    opacity: 1;
}

.modal-content {
    border-radius: 10px;
}

.bg-violet {
    background-color: var(--theme-color);
}

.bg-fff {
    background-color: #fff;
}

.bg-img-block {
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    overflow: hidden;

}


.screen-block {
    margin-top: 100px;
    margin-bottom: 100px;
}

.screen-block:last-child {
    margin-bottom: 0;
}


.upper-text {
    text-transform: uppercase;
}

.round-card {
    border-radius: 10px;
    overflow: hidden;
}

.card-block {
    margin-bottom: 10px;
}

.bg-img-block::before {
    content: '';
    float: left;
    padding-top: 70%;
}

.underline {
    text-decoration: underline;
}


.bold-text {
    font-weight: 600;
}

.bottom-line {
    border-bottom: 1px solid var(--border-color);
}


.mr-top-20 {
    margin-top: 20px;
}

.mr-bt-30 {
    margin-bottom: 30px;
}

.border-fff {
    border: 1px solid #fff;
}

.border-violet {
    border: 1px solid var(--theme-color);
}

.border-ddd {
    border: 1px solid var(--border-color);
}

.violet-text {
    color: var(--theme-color)
}

.violet-text a:hover, a.violet-text:hover {
    color: var(--text-color);
}

.violet-text a.disabled:hover, a.disabled.violet-text:hover {
    color: var(--theme-color);
}


.subline {
    position: relative;
    display: inline-block;
}

.subline::after {
    content: '';
    display: block;
    position: absolute;
    background: #fff;
    width: 70px;
    bottom: -5px;
    height: 2px;
    left: 0;
    max-width: 90%;

}

.opacity-text {
    opacity: 0.9;
}

.small-text {
    font-size: 12px;
}

.icon-text-group {
    opacity: 0.9;
    font-size: 12px;
}

.icon-text-group.color-grey {
    color: var(--light-text-color);
    opacity: 1;
}

a.color-grey {
    color: var(--light-text-color);
    transition: color 300ms;
}

a.color-dark-grey {
    color: var(--text-color);
    transition: color 300ms;
}

a.color-grey:hover {
    color: var(--text-color);
}

.icon-text-group span:first-child {
    margin-right: 10px;
}

.main-bg-screen {
    position: absolute;
    top: 0;
    height: 100vh;
    width: 100%;
    left: 0;
    z-index: -1;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: var(--theme-color);
    background-blend-mode: multiply;
    background-position: center center;
}

.main-bg-screen::before {
    position: absolute;
    content: '';
    display: block;
    width: 100%;
    height: 100%;

}

.page-header {
    padding-bottom: 20px;
    position: relative;
    color: #fff;
}

.page-header .main-bg-screen {
    height: auto;
    top: -100px;
    bottom: 0px;
}

/*HEADER*/
.logo-link {
    display: flex;
    align-items: center;
}

.logo-link, .logo-link:hover {
    color: #fff;
}

.logo-link .logo-text {
    line-height: 1;
    color: #fff;
    font-size: inherit;
}

.logo-link .logo-text span:nth-of-type(2) {
    font-size: 12px;
    opacity: 0.9;
}

.logo-link img {
    object-fit: contain;
    max-height: 50px;
}


.header-content {
    display: flex;
    justify-content: space-between;
    padding-top: 15px;
    align-items: center;

}

.header-controls-block {
    flex: 0 0 450px;
    max-width: 450px;
    padding: 0px 25px;
    border-radius: 10px 10px 0 0;
}

.header-controls {
    width: 100%;
    height: 55px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.social-dropdown button {
    background: transparent;
    border: none;
    font-size: 13px;
}

.social-dropdown .dropdown-menu {
    max-width: 50px;
    background: #fff;
    border-radius: 10px;
    min-width: 50px;
    top: 15px !important;
    left: -15px !important;
}

.social-dropdown .dropdown-item {
    color: var(--text-color);
    width: 100%;
    text-align: center;
    padding: 7px 0;
    background: transparent !important;
}

.social-dropdown .dropdown-item:hover {
    color: var(--theme-color);

}

.header-controls .header-control {
    text-transform: uppercase;
    color: var(--theme-color);
    font-size: 13px;
    font-weight: 500;
    transition: opacity 300ms, color 300ms;
    opacity: 1;
}

.header-controls .header-control:hover {
    color: var(--text-color);
}


.user-link-group {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    margin-right: 0 !important;
}

.user-link-group a:first-child {
    margin-right: 30px;
    max-width: calc(100% - 100px);
    display: flex;
    align-items: center;
}

.text-over {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.menu {
    display: flex;
    position: absolute;
    left: 0;
    right: 0;
    top: 70px;
    background: var(--theme-color);
    z-index: 900;
    box-shadow: inset 0px 10px 20px -11px rgba(0, 0, 0, 0.15);
    border-top: 1px solid rgba(0, 0, 0, 0.2);
    justify-content: center;
    padding: 50px 10px;
    transition: transform 250ms, opacity 250ms;
    transform: translateY(calc(-100% - 70px));
    height: calc(100vh - 70px);
    opacity: 0;
    overflow: auto;
}

.menu.active {
    transform: none;
    opacity: 1;
}

.menu .inner-menu {
    min-width: 40%;
}

.menu .close-menu {
    margin: 0 auto 30px auto;
    cursor: pointer;
    opacity: 0.8;
    color: #fff;
    width: 100%;
    display: block;
    font-size: 16px;
    text-transform: none;
    text-align: center
}

.menu .nav-menu-link {
    display: block;
    color: #fff;
    text-transform: uppercase;
    font-size: 20px;
    width: 100%;
    padding: 20px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.5);
    text-align: center;
    transition: opacity 300ms;
}

.menu a:last-child {
    padding-bottom: 0;
}

.menu .nav-menu-link:hover {
    opacity: 0.8;
}

/*HEADER*/

/*MAIN PAGE*/
.main-screen {
    height: calc(100vh - 70px);
    overflow: hidden;
    padding-bottom: 15px;
}

.index-content-wrapper {
    flex: 0 0 calc(100% - 450px);
    max-width: calc(100% - 450px);
    padding-right: 15px;
    height: 100%;
}

.index-content {
    height: 100%;
    overflow: auto;
    width: 100%;
    max-width: 100%;
    padding-right: 30px;
}

.search-result-wrapper {
    height: 100%;
    border-radius: 0 0 10px 10px;
    padding: 50px 0px 20px 0px;
    position: relative;

}

.search-result {
    max-width: 100%;
    height: 100%;
    overflow: auto;
    color: var(--theme-color);
    position: relative;
    padding: 0px 20px;
    transition: opacity 300ms;
}

.toggle-search {
    display: none;
}

.search-manual a, .search-manual a:hover {
    color: var(--theme-color);
    text-decoration: underline;
    font-weight: bold;
}

.main-screen-title {
    margin: 100px 0;
}

.main-page-title {
    font-weight: bold;
    font-size: 40px;
    line-height: 1.1;
    margin-bottom: 20px;
    letter-spacing: 2px;
}

.main-page-subtitle {
    font-size: 16px;
    opacity: 0.9;
    letter-spacing: 2px;
}

.screen-title {
    font-weight: 700;
    margin-bottom: 20px;
    word-break: break-word;
}

.block-title {
    color: var(--dark-text-color);
    font-weight: 600;
    word-break: break-word;
    font-size: inherit;
}

.search-form .search-line {
    display: flex;
    flex-wrap: nowrap;
    border: 2px solid #fff;
    border-radius: 10px;
}

.search-form .search-line > div {
    flex: 0 0 calc(100% - 45px);
    max-width: calc(100% - 45px);
    margin-bottom: 0;

}

.search-form input.form-control {
    background: transparent !important;
    width: 100%;
    max-width: 100%;
    border: none !important;
    padding: 10px 10px 10px 20px;
    box-shadow: none !important;
    color: #fff !important;
    font-size: 20px;
}

.search-form input::-webkit-input-placeholder {
    color: #fff;
    opacity: 0.8;
    letter-spacing: 2px;
}

.search-form input::-moz-placeholder {
    color: #fff;
    opacity: 0.8;
    letter-spacing: 2px;
}

.search-form input:-ms-input-placeholder {
    color: #fff;
    opacity: 0.8;
    letter-spacing: 2px;
}

.search-form input:-moz-placeholder {
    color: #fff;
    opacity: 0.8;
    letter-spacing: 2px;
}

.search-button {
    background: #fff;
    color: var(--theme-color);
    font-size: 18px;
    border: none;
    border-radius: 10px;
    width: 45px;
    height: 45px;
    position: relative;
    right: -3px;
}

.search-button:hover > span {
    transform: scale(1.1);
}

.search-button > span {
    transition: transform 250ms;
}

.search-result .search-manual {
    text-align: center;
    margin-top: 50px;
    letter-spacing: 2px;
}

.search-result .search-manual > div:first-child {
    font-size: 18px;
}

.tabs-content {
    margin-top: 100px;
}

.tabs-content .nav-tabs {
    border-bottom: 1px solid #dfccfa;
    margin-bottom: 50px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    font-weight: bold;
}

.nav-tabs .nav-link {
    border-radius: 10px 10px 0px 0px;
    position: relative;
}

.nav-tabs .nav-link.active {
    color: var(--theme-color);
    border-color: #fff
}

.nav-link::before {
    content: '';
    position: absolute;
    left: -1px;
    right: -1px;
    height: 1px;
    background: #dfccfa;
    bottom: -1px;
}

.category-item {
    padding: 30px 20px;
    text-align: center;
    height: 100%;
    display: flex!important;
    flex-flow: column;
    justify-content: center;
    align-items: center;

}
.category-item h3{
    font-size: 14px;
}

.flexible-div {
    position: relative;
}

.flexible-div::before {
    content: '';
    float: left;
    padding-top: 80%;
}

.flexible-div.per-40::before {
    padding-top: 40%;
}

.flexible-div.per-200::before {

    padding-top: 200%;
}

.flexible-div.per-150::before {

    padding-top: 150%;
}

.flexible-div.per-50::before {

    padding-top: 50%;
}

.flexible-div > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
}

.over-hidden {
    overflow: hidden;
}

.custom-row {
    margin: -5px 0;
}

.custom-col {
    padding: 0 5px;
}

.category-sorting {
    margin-bottom: 50px;
}

.category-sorting a {
    opacity: 0.9;
    font-size: 12px;
    transition: opacity 300ms;
    padding: 5px;
    line-height: 1;
}

.category-sorting a:hover {
    opacity: 1;

}


.category-sorting a.active {
    border-bottom: 1px solid #fff;
}

.color-dark, .color-dark a {
    color: var(--dark-text-color);
}

.shadow-block {
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
}

.popular-item {
    height: 100%;
    display: flex;
    flex-flow: column;
    word-break: break-word;
}

.popular-item .popular-name {
    padding: 25px 10px;
    text-align: center;
    font-weight: bold;
    justify-content: center;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
}

.feedback-item {
    display: flex;
    align-items: baseline;
    padding: 12px 20px;
    word-break: break-word;
}

.feedback-item a {
    color: var(--text-color)
}

.feedback-item a.color-dark, .feedback-item .color-dark a {
    color: var(--dark-text-color);
}

.site-index .feedback-item a {
    color: #fff;
}

.feedback-item .author-avatar {
    margin-right: 20px;
    background: #fff;
    color: var(--theme-color);
    padding: 3px 5px;
    border-radius: 100%;
    font-size: 11px;
}

.background-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*z-index: -1;*/
}

.background-img::before {
    content: '';
    display: block;
    position: absolute;
    background: #000;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    opacity: 0.5;
}

.best-item {

    padding: 15px;
    display: flex;
    flex-flow: column;
    position: relative;
    word-break: break-word;
    color: #fff;
}

.site-index .best-item {
    height: 100%;
}

.best-content {
    display: flex;
    align-items: center;
    position: relative;
    color: #fff;
}

.round-logo {
    border: 2px solid #fff;
    border-radius: 50%;
    overflow: hidden;
    background: #fff;
}

.round-logo.bg-logo {
    width: 100px;
    height: 100px;
    min-width: 100px;
}

.round-logo.md-logo {
    width: 80px;
    height: 80px;
    min-width: 80px;
}

.round-logo.sm-logo {
    width: 50px;
    height: 50px;
    min-width: 50px;
}

.round-logo.xs-logo {
    width: 30px;
    height: 30px;
    min-width: 30px;
}

.best-item .round-logo {
    margin-right: 20px;
}

.best-item a {
    color: #fff;
}

.best-item.bg-fff a {
    color: var(--text-color)
}

.best-item.bg-fff {
    color: var(--text-color)
}

.best-item .color-dark a {
    color: var(--dark-text-color);
}

.short-description {
    font-size: 14px;
    margin-top: 10px;
    position: relative;
}

.round-logo > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.background-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.amount-info {
    flex: 1 1 auto;
    align-items: flex-end;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 20px;
    color: #fff;
}

.icons-group {
    display: flex;
    padding-right: 10px;

}

.icons-group > *:first-child {
    padding-right: 20px;
    margin-right: 20px;
    position: relative;
}

.icons-group > *:first-child::after {
    content: '';
    display: block;
    position: absolute;
    background: #fff;
    opacity: 0.9;
    width: 1px;
    top: 0;
    right: 0;
    height: 100%;
}


.categorise-search {
    overflow: hidden;
    max-width: 100%;
}


#results.hidding .side-animate-block {
    transform: translateX(300px);
}

#results .side-animate-block {
    transform: none;
}

#results.hidding .top-animate-block > div {
    transform: translateY(200px);
}

#results .top-animate-block > div:first-child {
    transition-delay: 750ms;
}

#results .top-animate-block > div:nth-child(2) {
    transition-delay: 850ms;
}

#results .top-animate-block > div:nth-child(3) {
    transition-delay: 950ms;
}

#results .top-animate-block > div:nth-child(4) {
    transition-delay: 1050ms;
}

#results .top-animate-block > div:nth-child(5) {
    transition-delay: 1150ms;
}

#results .top-animate-block > div:nth-child(6) {
    transition-delay: 1250ms;
}

#results .top-animate-block > div:nth-child(7) {
    transition-delay: 1350ms;
}


#results .animate-block {
    opacity: 1;
    transition: opacity 600ms, transform 600ms;
}

#results.hidding .animate-block {
    opacity: 0;
}

#results .first-appear {
    transition-delay: 500ms;
}

#results .second-appear {
    transition-delay: 750ms;
}

.waiting > div:first-of-type {
    opacity: 0.3;
}

.waiting .search-result {
    opacity: 0.3;
}

.search-result-wrapper .loader {
    top: calc(50% - 35px);
}

.hide-empty .search-empty {
    display: none;
}

.search-result-wrapper.full-opacity .search-result {
    opacity: 0;
}


.carousel-controls {
    color: var(--light-text-color);
    font-size: 12px;

}

.carousel-control {
    cursor: pointer;
    transition: color 300ms;
    padding: 5px;
}

.carousel-control:hover {
    color: #aaa;
}

.carousel-controls > *:not(:last-child) {
    margin-right: 10px;

}


::-webkit-scrollbar {
    width: 7px;
    height: 4px;
}

/* Track */
::-webkit-scrollbar-track {

    border-radius: 10px;
    background: transparent;
    box-shadow: inset 5px 5px 12px #f4f4f4;
}

/* Track */
#main-scroll-screen::-webkit-scrollbar-track {

    box-shadow: inset 5px 5px 12px var(--theme-color);
}

/* Handle */
#main-scroll-screen::-webkit-scrollbar-thumb {
    background: #fff;

}

::-webkit-scrollbar-thumb {
    background: var(--border-color);
    border-radius: 4px;

}

::-webkit-scrollbar-track {

    box-shadow: inset 0px 0px 101px -31px #f4f4f4;


}

@media (max-width: 991px) {

    .search-result-wrapper {
        display: none;
    }

    .header-controls {
        justify-content: flex-end;
        align-items: baseline;
    }

    .header-controls > *:not(:last-child) {
        margin-right: 25px;
    }

    .toggle-search {
        display: block;
    }

    .user-link-group {
        display: none;
    }

    .header-controls {
        border-bottom: none;
        height: auto;
    }

    .header-controls-block {
        background: transparent;
        flex: 0 0 auto;
    }

    .header-controls .header-control, .social-dropdown button {
        color: #fff;
    }

    .user-link-group a:first-child {
        margin-right: 10px;
    }

    .main-screen {
        height: calc(100vh - 70px);
    }
}

@media (max-width: 575px) {
    .flexible-div:before {
        padding-top: 40%;
    }

    .search-result-wrapper {
        width: 320px;
        max-width: 320px;
    }
}

/*MAIN PAGE*/

/*COMPANY*/
.page-content {
    padding: 30px 0 100px;
}

.company .page-header {
    padding: 0;
}

.page-header-row {
    padding-bottom: 20px;
}

.page-title {
    color: #fff;
    font-size: 24px;
    font-weight: 600;
    word-break: break-word;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
}

.page-title h1, .page-title h2, .page-title h3, .page-title h4, .page-title h5, .page-title h6, h2.page-title {
    font-size: 24px;
    font-weight: 600;
}

.page-title a {
    color: #fff;
}

.page-search-form {
    padding: 50px 25px;
    border-radius: 0 0 10px 10px;
    color: var(--text-color);
    letter-spacing: 1px;

}

.company-title {
    display: flex;
    flex-wrap: nowrap;
    margin-top: 30px;
    /*margin-bottom: 20px;*/
}

.company-title .round-logo {

    margin-right: 30px;

}

.company-title .page-title {
    text-transform: uppercase;

}

.main-address {
    padding: 50px 0 40px;
    position: relative;
    justify-content: center;
}

.main-address:before {
    content: '';
    display: block;
    position: absolute;
    left: 15px;
    right: 15px;
    height: 1px;
    top: 0px;
    background: var(--border-color);
}

.page-header .item-contact {
    margin-bottom: 10px;
}

.item-contact {
    display: flex;
    word-break: break-word;
    color: var(--text-color);
}

.item-contact a {
    color: var(--text-color);
}

.item-contact:not(:last-child) {
    margin-bottom: 10px;
}

.page-header .item-contact, .page-header .item-contact a {
    color: #fff;
    opacity: 0.9;
}


.item-contact > span:first-child {
    font-size: 24px;
    margin-right: 20px;
    line-height: 1.4;
}

.item-contact .contact-values-list {
    display: flex;
    flex-flow: column;
}

.float-block {
    color: var(--text-color);
    margin-bottom: 30px;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
    border-radius: 10px;
    overflow: hidden;
    background-color: #fff;

}


.float-block-item {
    padding: 30px;
    word-break: break-word;
}

.float-block .block-title, .modal-content .block-title {
    text-align: center;
    padding: 20px 10px;
    text-transform: uppercase;
}

.block-title.no-upper {
    text-transform: none;
}

.company-gallery {
    display: flex;
    overflow: auto;
    padding-bottom: 15px;
}

.company-gallery .gallery-item {
    flex: 0 0 20%;
    max-width: 20%;
    margin-right: 10px;
    position: relative;
    cursor: pointer;
}

.company-gallery .gallery-item .img-label {
    display: none;
}

.company-gallery .gallery-item::before {
    content: '';
    float: left;
    padding-top: 80%;
}


.company-gallery .gallery-item:not(:last-child) {
    margin-right: 10px;
}

.company-gallery .gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    position: absolute;
    top: 0;
}
.slider-items .slider-item{
    cursor: pointer;
}
.slider-modal {
    background: transparent;
    box-shadow: none;
    border: none;
}

.slider-modal .close-modal {
    color: #fff;
}

.slider {
    position: relative;

}

.slider .slider-item {
    text-align: center;
    transition: transform 500ms;
    width: 100%;
    height: 100%;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;

}

.slider .slider-item .img-label {
    display: block;
    color: #fff;
    font-size: 16px;
    text-align: center;
    padding-top: 30px;
    /* flex: 1 1 auto; */
    font-weight: bold;
    word-break: break-word;
}

.slider img {
    width: auto;
    object-fit: contain;
    max-height: 80%;

}

.slider > .controls > div {
    position: absolute;
    top: 0;
    font-size: 40px;
    color: #fff;
    bottom: 0;
    transition: color 300ms;
    display: flex;
    align-items: center;
    z-index: 9;
    cursor: pointer;
    padding: 0 10px;
}

.slider .slider-inner {

    width: 100%;
    position: relative;
    height: calc(100vh - 60px);
    overflow: hidden;

}

.slider > .controls > div.disabled {
    opacity: 0.6;
}

.slider .left-control {
    left: 0px;
}

.slider .right-control {
    right: 0;
}

.slider > .controls > div:not(.disabled):hover {
    color: var(--theme-color);
}

.slider-inner .slider-item:nth-child(2) {
    top: 0;
    position: absolute;
}

.slider-inner.hide-next .slider-item:nth-child(2) {
    left: 100%;
}

.slider-inner.hide-prev .slider-item:nth-child(2) {
    left: -100%;
}

.slider-inner.go-prev .slider-item {
    transform: translateX(100%);
}

.slider-inner.go-next .slider-item {
    transform: translateX(-100%);
}

.slider-inner.no-tran .slider-item {
    transition: none;
}

#map {
    height: 300px;
}

.leaflet-control-zoom {
    border: none !important;
}

.leaflet-control-zoom a {
    background: #222;
    opacity: 0.7;
    color: #fff;
    border: none;
    font-size: 18px !important;
}

.leaflet-left {
    left: auto;
    right: 0;
}

.leaflet-control-attribution.leaflet-control {
    display: none;
}

.leaflet-top, .leaflet-bottom {
    z-index: 800;
}


.close-modal {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 20px;
    color: var(--theme-color);
    cursor: pointer;
    z-index: 10;
}

.company-answers {
    max-height: 800px;
    overflow: auto;
    padding-right: 20px;

}

.company-answers .answer-item {
    padding: 20px;
    transition: background-color 300ms;
}
.company-answers .question{
    text-align: center;
}
.question,
.answer {
    margin-top: 20px;
}

.answer .round-logo {
    margin-right: 20px;
}

.main-button {
    display: block;
    border: 1px solid var(--theme-color);
    color: var(--theme-color);
    text-transform: uppercase;
    text-align: center;
    font-weight: 600;
    border-radius: 10px;
    padding: 10px 40px;
    transition: color 300ms, border 300ms;
    width: max-content;
    width: -moz-fit-content;
    margin: 0 auto;
    background: transparent;

}

a.main-button {
    color: var(--theme-color);
}

.main-button.grey {
    border-color: var(--border-color);
    color: var(--text-color);
}

.main-button.green {
    border-color: var(--green-color);
    color: var(--green-color);
}

.main-button.white {
    border-color: #fff;
    color: #fff;
}

a.white, a.white:hover {
    color: #fff;
}

.main-button.full-width {
    width: 100%;
    padding: 10px;
}

.main-button.second-version {
    text-transform: none;

}

.main-button:hover {
    color: var(--text-color);
    border-color: var(--border-color);
}
.show-more-btn {
    margin-top: 10px;
}

span[class*="spinner"] {
    animation: spinning 2s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-play-state: paused;
}

*:hover > span[class*="spinner"] {
    animation-play-state: running;
}

.company-reviews .review-item {
    padding: 20px;
    transition: background-color 300ms;
}

.company-reviews .review-item:first-child {
    padding-top: 0;

}

.company-reviews .review-item:hover, .company-answers .answer-item:hover {
    background: rgba(104, 49, 179, 0.05);
}

.main-form .form-row {
    display: flex;
    justify-content: space-between;
}

.main-form .form-row > * {
    flex: 0 0 45%;
    max-width: 45%;
}

.main-form input.form-control, .main-form textarea.form-control {
    border-radius: 10px;
    padding: 12px 20px;
    height: auto;
}

.main-form .form-row .main-button {
    margin: 0;
    flex: 0 1 auto;
}

@media (max-width: 991px) {
    .main-form .form-row > * {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media (min-width: 992px) {
    .page-search-form .search-line {
        border-color: var(--theme-color);

    }

    .page-search-form input.form-control {
        color: var(--text-color) !important;
    }

    .page-search-form .search-button {
        background: var(--theme-color);
        color: #fff;
    }

    .page-search-form input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
        color: var(--theme-color);

    }

    .page-search-form input::-moz-placeholder { /* Firefox 19+ */
        color: var(--theme-color);

    }

    .page-search-form input:-ms-input-placeholder { /* IE 10+ */
        color: var(--theme-color);

    }

    .page-search-form input:-moz-placeholder { /* Firefox 18- */
        color: var(--theme-color);

    }

}

@media (max-width: 991px) {
    .page-search-form {
        position: absolute;
        top: 0px;
        left: 0;
        right: 0;
        background: var(--theme-color);
        z-index: 900;
        transition: transform 300ms;
        transform: translateX(100%);
        box-shadow: inset 0px 17px 11px -11px rgba(0, 0, 0, 0.15);
        border-radius: 0;
    }

    .page-search-form.active {
        transform: none;
    }

    .company-gallery .gallery-item {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .float-block-item {
        padding: 20px 15px;
    }
}

@media (max-width: 575px) {
    .company-gallery .gallery-item {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/*COMPANY*/

/*CATEGORY*/
#found-results {
    transition: opacity 400ms;
}

.page-title.two-part {

    letter-spacing: 2px;
}

.page-title.two-part span:first-child {
    font-weight: 300;
    margin-right: 10px;
}

.green-text {
    color: var(--green-color);
}

.tags-block {
    display: flex;
    flex-wrap: wrap;

}

.tag-scroll {
    max-height: 200px;
    overflow: auto;
}

.tags-block .tag {
    padding: 2px 5px;
    border: 1px solid var(--border-color);
    margin-right: 7px;
    margin-bottom: 5px;
    transition: color 250ms, border 250ms;
    color: var(--text-color);
    font-size: 11px;

}

.tags-block .tag:hover {
    color: var(--theme-color);
    border-color: var(--theme-color);
}

.best-item .tags-block {
    position: relative;
    padding-top: 7px;
    margin-top: 15px;
}

.best-item .tags-block:before {
    content: '';
    position: absolute;
    top: 0;
    left: -15px;
    right: -15px;
    height: 1.2px;
    background: var(--border-color);
}

.bg-fff.best-item .amount-info, .bg-fff.best-item .amount-info a {
    color: var(--text-color);
}

/*CATEGORY*/
/*SEARCH*/
.filter label, .filter .label {
    width: 100%;
    font-weight: normal;
    color: var(--text-color);
    margin-bottom: 10px;
    flex: 0 0 100%;
    padding-left: 0;
}

.filter input {
    background: transparent !important;
}

.filter .work-hours {
    display: flex;
    flex-wrap: wrap;
}

.filter .work-hours > div:not(:last-child) {
    margin-right: 5px;

}

.filter .work-hours > div {

    flex: 0 0 calc(33.3% - 3.3px);
    max-width: calc(33.3% - 3.3px);

}

.filter .work-hours select {
    padding: 0;
    font-size: 14px;
    max-width: 100%;
}

.filter input[type="time"] {
    padding: 0;
    font-size: 14px;
    max-width: 100%;
    min-width: auto;
    width: auto;
}

.filter .form-group {
    margin-bottom: 0;
}

#searchform-tags {
    display: flex;
    flex-wrap: wrap;
}

.filter #searchform-tags input[type='checkbox'] + label:before {
    display: none;
}

.filter #searchform-tags input[type='checkbox'] + label {
    padding: 2px 5px;
    border: 1px solid var(--border-color);
    margin-right: 7px;
    margin-bottom: 5px;
    transition: color 250ms, border 250ms;
    color: var(--text-color);
    font-size: 11px;
    width: max-content;
    width: -moz-fit-content;
    max-width: 100%;
    flex: 0 0 auto;
}

.filter #searchform-tags input[type='checkbox']:checked + label, .filter #searchform-tags input[type='checkbox'] + label:hover {
    border-color: var(--theme-color);
    color: var(--theme-color);
}

.sublined-title {
    font-size: 18px;
    color: var(--dark-text-color);
    font-weight: 600;
    word-break: break-word;
    border-bottom: 1px solid var(--border-color);
    margin-bottom: 30px;
    padding-bottom: 10px;
    letter-spacing: 1px;

}

.search-not-found {
    font-size: 24px;
}

/*SEARCH*/

/*CABINET*/
.cabinet-menu li {
    border-right: 1px solid var(--border-color);
    color: var(--dark-text-color);
    transition: background-color 300ms;
}

.cabinet-menu li:first-child {
    border-left: 1px solid var(--border-color);
}

.cabinet-menu li a {
    padding: 15px 40px;
    transition: color 300ms, border 300ms;
    color: var(--dark-text-color);
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    text-align: center;

}

.cabinet-menu li.active, .cabinet-menu li:hover {
    background-color: var(--theme-color);

}

.cabinet-menu li.active a, .cabinet-menu li:hover a {
    color: #fff;
}

.cabinet-menu a span {
    position: relative;
    text-align: center;
}

.cabinet-menu a span:after {
    content: attr(data-amount);
    position: absolute;
    color: var(--theme-color);
    border: 1px solid var(--theme-color);
    border-radius: 100%;
    top: -10px;
    transition: all 300ms;
    left: 100%;
    font-size: 11px;
    font-weight: 600;
    min-width: 19px;
    text-align: center;
}

.cabinet-menu li.active a span:after, .cabinet-menu li:hover a span:after {
    color: #fff;
    border-color: #fff;

}

.cabinet-menu {
    display: flex;
    justify-content: center;
    /*flex-wrap: wrap;*/

}

.cabinet-navigation .block-title {
    text-align: left;
    text-transform: none;
    font-size: 18px;
    padding-left: 30px;
}

.cabinet-navigation a {
    display: flex;
    align-items: baseline;
    transition: color 300ms;
    color: var(--text-color);
    padding: 10px 0;
}

.cabinet-navigation a:hover {
    color: var(--text-color);
}

.cabinet-navigation a.active:hover {
    color: var(--theme-color);
}


.cabinet-navigation a span:first-child {
    margin-right: 7px;
    font-size: 13px;
}

.cabinet-navigation a span:last-child {
    transition: transform 300ms;
}

.cabinet-navigation a.active {
    color: var(--theme-color);
}

.cabinet-navigation a.active span:last-child, .cabinet-navigation a:hover span:last-child {
    transform: translateX(10px);
}

.cabinet-navigation a.disabled:hover span:last-child {
    transform: none;
}

.warning-block {
    padding: 20px;
    border: 1px solid #bb7395;
    display: flex;
    line-height: 1.4;
}

.warning-block span:first-child {
    font-size: 55px;
    color: #bb7395;
    margin-right: 30px;
    opacity: 0.8;
}

.warning-block p:first-child {
    color: var(--dark-text-color);
    font-weight: 600;
}

.warning-block p:last-child {
    margin-bottom: 0;
}

.warning-block a, .warning-block a:hover {
    color: var(--text-color);
    text-decoration: underline;
}

.block-title.cabinet-title {
    background: var(--theme-color);
    color: #fff;
    text-align: left;
    padding-left: 30px;
    text-transform: none;
    font-size: 20px;
}

input, input.form-control, select, select.form-control, .select, textarea, textarea.form-control {
    box-shadow: none !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 0;
    padding: 10px 10px 10px 20px;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
}

label {
    color: var(--dark-text-color);
    font-weight: 600;
    padding-left: 20px;
    margin-bottom: 7px;
    width: 100%;
}

input::-webkit-input-placeholder {
    color: var(--text-color);

}

input::-moz-placeholder {
    color: var(--text-color);

}

input:-ms-input-placeholder {
    color: var(--text-color);

}

input:-moz-placeholder {
    color: var(--text-color);

}

input[type='checkbox'], input[type='file'] {
    display: none;
}

input[type='file'] + label {
    display: block;
    border: 1px solid var(--theme-color);
    color: var(--theme-color);
    text-align: center;
    font-weight: 600;
    border-radius: 10px;
    padding: 10px;
    transition: color 300ms, border 300ms;
    cursor: pointer;
}

input[type='checkbox'] + label {
    position: relative;
    padding-left: 25px;
    cursor: pointer;
    font-weight: normal;
    color: var(--text-color)
}

input[type='checkbox'] + label:before {
    position: absolute;
    content: '';
    width: 15px;
    height: 15px;
    border: 1px solid var(--border-color);
    left: 0;
    top: 3px;
    background-color: #fff;
    transition: all 300ms;
    box-shadow: inset 1px -1px #fff, inset -1px 1px #fff;
}

input[type='checkbox']:checked + label:before {
    border-color: var(--theme-color);
    background-color: var(--theme-color);
}

.form-group {
    margin-bottom: 25px;
}

.output-item {
    padding: 30px 0;
}


.output-item:first-child {
    padding-top: 0;
}

.output-item:not(.bottom-line):last-child {
    padding-bottom: 0;
}

.hidden-block-wrapper {
    height: 0;
    transition: height 300ms;
    overflow: hidden;
}

.hidden-block-wrapper.height-auto {
    height: auto;
}

.hidden-block-wrapper > div {
    position: relative;
}

.hidden-block-wrapper > div textarea {
    resize: none;
}

.hidden-block-wrapper > div .help-block {
    position: absolute;
    bottom: -25px;
}

.hidden-block-wrapper .form-group {
    position: relative;
}

.clone-parent {
    position: relative;
    margin-bottom: 15px;

}

.clone-parent > input {
    margin-bottom: 15px;
}

.clone-btn {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 13px;
}

.output-item .controls {
    display: flex;
    justify-content: flex-end;
    font-size: 13px;
}

.logo-wrapper {
    display: flex;
    flex-wrap: wrap;
}

.logo-wrapper > div {
    flex: 0 0 50%;
}

.logo-img-wrapper img:nth-of-type(1) {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    margin-right: 20px;
}

.logo-img-wrapper img:nth-of-type(2) {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    margin-right: 20px;
}

.logo-img-wrapper img:nth-of-type(3) {
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

.img-wrapper > span {
    display: none;
}
.img-wrapper{
    position: relative;
}

.img-wrapper > span:only-child {
    display: inline;
    font-size: 50px;
    color: var(--light-text-color);
}

.float-block .float-block-subtitle {
    color: var(--dark-text-color);
    font-weight: 600;
    margin-bottom: 20px;
    padding-left: 20px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}


ul.auth-clients {
    display: flex;
    justify-content: center;
}

.schedule-block {
    display: flex;
    flex-wrap: wrap;
    padding-top: 20px;
    justify-content: space-between;
}

.schedule-block > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.schedule-block > div:not(:last-child), .schedule-block > div > div:not(:last-child) {
    margin-right: 10px;
}


.schedule-block .form-group {
    margin-bottom: 0;
}

.schedule-block label {
    font-weight: normal;
    color: var(--dark-text-color);
    margin-bottom: 0;
    padding-left: 0;
    margin-right: 10px;
}

input[type="time"] {
    max-width: 100px;
    min-width: 100px;
    width: 100px;
    padding: 10px 7px 10px 10px;
}

.user-cabinet .gallery-wrapper {
    display: flex;
    flex-wrap: wrap;
}

.user-cabinet .gallery-wrapper > div {
    margin-bottom: 10px;
    margin-right: 10px;
    flex: 0 0 calc(25% - 10px);
    max-width: calc(25% - 10px);
    position: relative;
    transition: transform 500ms;
}

.user-cabinet .gallery-wrapper > div:before {
    content: '';
    padding-top: 100%;
    float: left;
}

.user-cabinet .gallery-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    transition: transform 500ms;
}
/*.user-cabinet .gallery-img:hover  {*/

/*    z-index: 2;*/
/*}*/
/*.user-cabinet .gallery-img:hover  img{*/
/*  transform: scale(2.5);*/
/*    !*z-index: 2;*!*/
/*}*/

.user-cabinet .gallery-wrapper > div .controls,
.user-cabinet .img-wrapper .controls,
.slider .slider-item .controls{
    position: absolute;

    right: 0px;
    top: 0px;
    display: flex;

}

.user-cabinet .gallery-wrapper > div a,
.user-cabinet .gallery-wrapper input[type='checkbox'] + label,
.user-cabinet .img-wrapper .controls a,
.slider .slider-item .controls a,
.slider .slider-item .controls input[type='checkbox'] + label{
    color: #fff;
    background: #222;
    width: 15px;
    height: 15px;
    font-size: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background-color 300ms;
}

.user-cabinet .gallery-wrapper input[type='checkbox'] + label,
.slider .slider-item .controls input[type='checkbox'] + label{
    margin: 0;
    padding: 0;
}

.user-cabinet .gallery-wrapper input[type='checkbox']:checked + label,
.slider .slider-item .controls input[type='checkbox']:checked + label{
    background-color: var(--theme-color);
}

.user-cabinet .gallery-wrapper input[type='checkbox'] + label:before,
.slider .slider-item .controls input[type='checkbox'] + label:before{
    display: none;
}

.user-cabinet .gallery-wrapper .prompt-img {
    border: 1px solid var(--border-color);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 30px;
    color: var(--light-text-color);
}

.slider .slider-item .controls{
    top: 50px;
    z-index: 10;
}

.tariff {
    display: flex;
    flex-flow: column;
    height: 100%;
}

.tariff .block-title, .tariff .price {
    font-size: 20px;
}

.tariff .traits {
    flex: 1 1 auto;
}

.tariff .traits > div:not(:last-child) {
    margin-bottom: 15px;
}


.user-cabinet .company-data .float-block-subtitle {
    padding-left: 0;
}

.user-cabinet .company-data {

    padding-left: 25px;
}

.user-cabinet .company-data a {
    color: var(--theme-color);
    font-weight: 600;
    text-decoration: underline;

}

.insert-into > .bottom-line {
    border-bottom: none;
}

.addresses-parent .insert-into > .output-item {
    padding: 0;
}

@media (max-width: 767px) {
    .cabinet-menu {
        border: none;
        flex-wrap: wrap;
    }

    .cabinet-menu li {
        flex: 0 0 50%;
    }

    .cabinet-menu li {
        border-bottom: 1px solid var(--border-color);
    }

    .cabinet-menu li:last-child:nth-child(odd) {

        flex: 0 0 100%;
    }

    .logo-wrapper > div {
        flex: 0 0 100%;
    }

    .schedule-block > * {
        flex: 0 0 100%;
        margin-bottom: 10px;
    }
}

/*CABINET*/


/*FOOTER*/
.footer-content {
    padding: 25px 0;
    border-top: 1px solid var(--border-color);
    color: var(--text-color);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;

}

.footer-content .footer-text {
    font-size: 13px;
}

.footer-content .footer-text a {
    text-decoration: underline;
    color: inherit !important;
}

/*FOOTER*/

/*ERROR*/
.site-error .page-content {
    background: #f4f4f4;
}

.error-title h1 {
    text-align: center;
    color: var(--theme-color);
    font-size: 200px;
}

.error-message {
    font-size: 24px;
    text-align: center;
}

@media (max-width: 374px) {
    .error-title h1 {

        font-size: 180px;
    }
}

/*ERROR*/
/*SHARE MODAL CONTENT*/
ul.social-share {
    margin-left: 30px;
    margin-bottom: 0px;
    font-size: 28px;
}

ul.social-share a {
    color: var(--theme-color);
}

/*SHARE MODAL CONTENT*/

.count-sym-block {
    margin-bottom: 15px;
}
.count-sym-block {
    display: flex;
    flex-wrap: wrap;
}
.sym-block span:nth-child(2) {
    margin: 0 3px;
}
.count-sym-block label {
    flex: 1 1 auto;
    width: auto;
}
.count-sym-block .sym-block.exceed span {
    color: var(--theme-color);
}
