:root {
	--bs-red: #c00;
	--bs-danger-rgb: 220, 12, 21;
	--bs-primary-rgb: 39, 68, 112;
	--bs-info-rgb: 240, 247, 255;
	--bs-body-color: #2d2d2d;
	--bs-light-rgb: 17, 98, 57;
    --bs-navbar-active-color: #c00;
    --bs-link-color: #3366cc;
    --bs-link-color-rgb: 51, 102, 204;
}
body {
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
}
body.path-user {
    height: 100%;
}

.path-user {
    background: var(--bs-light);
}
header .icon, footer .icon {
    display: none;
}
header.sticky-top {
    z-index: 1021;
}
.navbar-brand img {
    height: 30px;
}
.navbar-brand a.site-title {
    font-size: 1.25rem;
    line-height: 1;
    letter-spacing: 1px;
    font-weight: 900;
}
.navbar-brand .site-slogan {
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: gray;
}
.navbar-nav .nav-link.active {
    color: var(--bs-danger);
}
.text-red {color:var(--bs-red);}
.bg-light {
    --bs-bg-opacity: 0.05;
    background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
	background: #f6f6f6 !important;
}
.owl-item {
    overflow: hidden;
}
.dropdown-item.active, .dropdown-item:active {
    background-color: var(--bs-body-color) !important;
}
.dropdown-item {
    text-decoration: none !important;
}
.dropdown-item small {
    display: block;
    color: var(--bs-gray);
}
.dropdown-item.active small, .dropdown-item:active small {
    color: var(--bs-gray-500);
}
.dropdown-item:hover, .dropdown-item:focus {
    background-color: var(--bs-gray-200);
}
.dropdown-menu li.nav-item {
    border-bottom: 1px solid var(--bs-gray-300);
}
.dropdown-menu li.nav-item:last-child {
    border: 0;
}
.bef-exposed-form legend {
    display: none;
}
.bef-exposed-form fieldset .fieldset-wrapper {
    padding: 0;
}
.bef-exposed-form .form-radios.form--inline {
    display: flex;
    justify-content: center;
}
.bef-exposed-form .form--inline > .form-item, 
.bef-exposed-form .form--inline .js-form-wrapper > .form-item {
    float: left;
    border: 0;
    background: transparent;
}
.bef-exposed-form input[type="radio"] {
    display: none;
}
.bef-exposed-form input[type="radio"]:checked+label {
    background: var(--bs-danger) !important;
    color: white;
}
.bef-exposed-form input[type="radio"]+label {
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    cursor: pointer;
}
.bef-exposed-form input[type="radio"]+label:hover {
    background: var(--bs-light);
}
.bef-exposed-form .form--inline {
    justify-content: center;
}
.bef-exposed-form .form-radios.bef-nested ul {
    padding: 0;
    display: inline-flex;
    list-style: none;
}
.view-use .bef-exposed-form .form--inline {
    justify-content: left;
}
.card-hover:hover {
    background-color: var(--bs-light);
}
nav.sticky-top .nav-item a.nav-link {
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: .5px;
}
nav.sticky-top .nav-item:hover {
    background: transparent;
    color: var(--bs-danger) !important;
    border-radius: 0;
} 
nav.sticky-top .nav-item .nav-link.active {
    color: var(--bs-danger);
}
.toolbar-vertical .sticky-top {
    top: 39px;
}
.toolbar-tray-open.toolbar-horizontal .sticky-top {
    top: 79px;
}
.product-body h3[id] {
    padding-top: 120px;
    margin-top: -100px;
}
#anchor-menu .nav-link {
  transition: all 0.3s ease;
}
#anchor-menu .nav-link.active,
#anchor-menu .nav-item.active .nav-link {
  color: var(--bs-danger);
}
h1.display-3 span {
    display: block;
}
.front-title {font-size: 6rem;}
header .nav-item .nav-link {
	align-items: center;
    display: flex;
    text-transform: uppercase;
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: .5px;
}
.navbar-toggler:focus {
    box-shadow: none;
}
.region-footer, 
.region-content {
    padding: 0;
}
#block-social a:hover {
    opacity: 0.9;
}
#block-social a {
    color: var(--bs-dark);
    transition: 0.2s;
}
.page-node-type-project #block-credits {
    background: var(--bs-light) !important;
}
.node--type-object .field--name-field-images .field__item {
    overflow: hidden;
    border-radius: 0.5rem;
}
.pager {
    text-align: center;
    margin: 2rem 0;
}
#block-get-cost,
#block-get {
    display: none;
    position: fixed;
    top: 0;
    width: 100vw;
    z-index: 9999;
    background: rgb(165 165 165 / 85%);
}
#block-get-cost .form-box,
#block-get .form-box {
    max-width: 24rem;
    margin: auto;
    text-align: center;
    padding: 2rem 3rem;
    position: relative;
    font-size: 16px;
}
.field--name-field-links .field__item:not(:last-child)::after {
    content: ", ";
}
.field--name-field-links .field__item {
    display: inline-block;
}
.field--name-field-links {
    font-size: 0.95rem;
    margin: 1rem 0;
}
a {
    text-decoration: none; 
}
a:hover {
    color: var(--bs-danger);
    text-decoration: underline;
}
.btn-lg {
    padding: 0.75rem 1.25rem;
    font-size: 1.15rem;
}
.btn:last-child {
    margin-left: 0;
}
.btn:hover {
    text-decoration: none;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    font-weight: 500;
    line-height: 1.2;
    margin-bottom: 1rem;
}
h4, .h4 {
    font-size: 1.33rem;
}
h5.card-title {
    margin-top: 1rem;
}
h3, .h3, h2, .h2 {
    margin-top: 2rem;
}
.me-n3 {
    margin-right: -3rem;
}
.ms-n3 {
    margin-left: -3rem;
}
.path-frontpage .page-title {
    text-align: center;
    margin: 1.5rem 0 0.5rem;
}
hr {
    margin: 1.5rem 0;
    background-color: var(--bs-gray-500);
}
.view-reviews .img-circle img {
    width: 100px;
    height: 100px;
    max-width: none;
}
.view-reviews .views-field-field-images {
    margin: 1.5rem 0;
}
.view-reviews .views-field-field-images .field-content>* {
    margin-right: 1rem;
}
.field--name-field-project {
    font-size: 1.25rem;
    margin-bottom: 2rem;
}
.list-group-item {
    border: 1px solid rgba(0, 0, 0, 0.05);
}
.form-control {
    height: 42px;
    border-color: var(--bs-gray-300);
}
.btn-text {
    text-decoration: none !important;
    border: 0 !important;
}
.btn-text:focus {
    box-shadow: none;
}
.text-hover-red:hover [class^="display-"],
.text-hover-red:focus [class^="display-"] {
    color: var(--bs-red);
    transition: all 0.3s;
}
/*.btn:focus, .button:focus {
    box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);
}
.btn:focus, .button:focus {
    box-shadow: 0 0 0 0.25rem rgb(180 206 201);
}
.form-control:focus,
.form-select:focus {
    outline: 0;
    box-shadow: 0 0 0 0.25rem hsl(150 70% 23% / 0.25);
    box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);
}*/
.paragraph .accordion-header {
    margin-top: 0;
    border-top: 1px solid rgb(0 0 0 / 5%) !important;
}
.paragraph .accordion-button {
    padding: 1rem 3rem;
    font-size: 1.33rem;
}
.paragraph .accordion-body {
    padding: 1.25rem 3rem;
}
.grid-2 {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(2,1fr);
}

.grid-3 {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(3,1fr);
}

.grid-4 {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(4,1fr);
}
.leaflet-control-attribution {
    display: none;
}
.user-form .form-actions {
    margin-top: 1.5rem;
}
.user-form {
    max-width: 520px;
}
.ajax-progress-fullscreen {
	padding: 15px;
    border-radius: 50%;
}
.look-pass {
    position: absolute;
    cursor: pointer;
    right: 0.75rem;
    bottom: 0.75rem;
    color: var(--bs-gray-500);
}
.form-item-pass {
    position: relative;
}
.user-form .description {
    display: none;
}
.link:hover {
    color: var(--bs-red);
}

.link:hover span {
    margin-left: 5px;
}
.link span {
    transition: all 0.2s;
}
#user-info .form-item {
    margin: 0;
}
#user-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1rem;
}
#user-login-form .description {
    display: none;
}
.form-managed-file {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#edit-field-approval-wrapper .form-item input {
    margin: 0 0.5rem;
}
#edit-field-approval-wrapper .form-item .option {
    margin: 0;
}
#edit-field-approval-wrapper .form-item {
    display: flex;
    align-items: center;
}
.bg_image .field--name-body {
    width: 100%;
}
.slick-autoplay-toggle-button {
    display: none;
}
.slick-slider.slick-dotted {
    margin-bottom: 0;
}
.slick-dots {
    position: absolute;
    bottom: 0;
}
.node--type-project .tab-content {
    background: white;
    padding: 2rem 0;
    border-top: 0;
    border-radius: 0 .25rem .25rem .25rem;
}
.card.project .btn {width: 100%;}
.card.project .field__item {
    text-align: right;
}
.card .field__label {
    font-weight: 400;
    color: var(--bs-gray);
}
.card .node__links {
    margin-top: .75rem;
}
.card .node-readmore {
    padding: 0;
}
.leaflet-popup-content-wrapper {
    padding: 0;
    margin-bottom: -1px;
    overflow: hidden;
}
.leaflet-popup-content {
    margin: 0;
    line-height: 1.4;
}
.leaflet-popup-content .card-body {
    padding: 1rem;
}
.leaflet-popup-content .card-body h5 {
    margin-bottom: 0;
    font-size: 1rem;
    font-weight: 600;
}
.img-circle img {
    border-radius: 50%;
}
.svg-icon {
    display: block;
}
.svg-icon>svg {
    width: 3rem;
    height: 3rem;
}
.field--label-inline .field__items .field__item:after {
    content: ",";
    margin-right: .25rem;
}
.field--label-inline .field__items .field__item:last-child:after {
    content: "";
    margin-right: 0;
}
.field--label-inline .field__items {
    display: flex;
}
.paragraph--type--mkb-10 {
    display: flex;
}
.field--name-field-code {
    margin-right: 1rem;
}
.field--name-field-mkb-10 {
    margin: 1rem 0;
}
.user-form legend, 
.user-form label, 
.user-form .label {
    margin-bottom: 0.25rem;
    font-size: 80%;
    font-weight: normal;
    display: block;
    line-height: inherit;
}
.node--type-algorithms-page .field--name-field-image {
    margin: 1.5rem 0;
}
.node--unpublished {
    background-color: transparent;
}
.node__meta {
    padding: 0;
    color: var(--bs-gray);
}
.view-page-algorithms .view-filters label {
    display: none;
}
.nav-pills a.active {
    color: white;
}
.nav-pills .nav-item:not(.active):hover {
    background: var(--bs-white);
}
#block-submenu ul {
    border: 1px solid var(--bs-gray-300);
    border-radius: 0.25rem;
    background: var(--bs-white);
    overflow: hidden;
}

#block-submenu ul > li > a {
    border-bottom: 1px solid var(--bs-gray-300);
}
#block-submenu ul > li > a {
    color: var(--bs-dark);
    padding: 0.5rem 1rem;
}
#block-submenu ul > li > a:hover {
    background: var(--bs-light);
}
#block-submenu ul > li > a.active {
    background: var(--bs-success);
    color: var(--bs-white);
}
#search-block-form {
    border: 1px solid var(--bs-gray-200);
    border-radius: 30px;
    padding: 0 .25rem 0px .75rem;
    background: var(--bs-light);
}
#search-block-form:active,
#search-block-form:focus-within {
    background: white;
}
#search-block-form input {
    box-shadow: none;
    height: 42px;
    background: transparent;
}
#search-block-form input.fa-search {
    background: transparent;
    border: 0;
    color: var(--bs-gray-500);
    font-weight: bold;
    border-radius: 30px;
    transition: all 0.2s;
}
#search-block-form input.fa-search:hover {
	color: var(--bs-primary);
}
#search-block-form input#edit-keys {
    border: 0;
    padding: 0 0 0 .5rem;
}
#search-block-form input::placeholder {
    color: var(--bs-gray-500) !important;
    opacity: 1;
}
#search-block-form .form-item-keys {
    width: 100%;
}
.fa, .fas {
    font-weight: 900 !important;
}
.field--type-entity-reference .field__items {
    display: flex;
}
.field--type-entity-reference .field__items .field__item {
    margin-right: 0.25rem;
}
.field--type-entity-reference .field__items .field__item:after {
    content: ",";
}
.field--type-entity-reference .field__items .field__item:last-child:after {
    content: none;
}
.field--name-field-tags a,
.field--name-field-category a {
	color: var(--bs-gray);
	background: var(--bs-light);
	padding: .5rem;
	font-size: 0.85rem;
	border-radius:0.25rem;
	margin-right: .5rem;
	display: inline-block;
}
.field--name-field-tags {
    display: flex;
}
.field--name-field-files {
    border-radius: .25rem;
    overflow: hidden;
    border: 0 solid var(--bs-gray-200);
}
.field--name-field-files .field__item {
    padding: .5rem 1rem;
    border: 1px solid var(--bs-gray-200);
    margin: -1px;
}
.file {
  display: flex;
  align-items: baseline;
  padding-left: 0; /* LTR */
  background-image:none;
  background-repeat: no-repeat;
  background-position: left center; /* LTR */
}
.file:before {
    font-family: bootstrap-icons !important;
	margin-right: 0.5rem;
    color: var(--bs-primary);
    font-size: 1.25rem;
    position: relative;
    top: .25rem;
}
.card {
    overflow: hidden;
    border:0;
}
#block-project-form {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    height: 100%;
    z-index: 1099;
    background: rgb(255 255 255 / 75%);
}
#block-project-form form {
    background: var(--bs-gray-100);
    box-shadow: 0 0.5rem 2rem rgb(0 0 0 / 15%);
    margin:auto;
    position: relative;
    padding: 0;
}
.project-img {
    margin-left: -0.5rem !important;
}

[dir="rtl"] .file {
  padding-right: 20px;
}
.file--general:before,
.file--application-octet-stream:before {
	content:"\f1c6";
	color: var(--bs-teal);
}
.file--package-x-generic:before {
	content:"\f1c6";
	color: var(--bs-teal);
}
.file--x-office-spreadsheet:before {
	content:"\f1c3";
	color: var(--bs-success);
}
.file--x-office-document:before {
	content: "\F3BA";
	color: var(--bs-primary);
}
.file--x-office-presentation:before {
	content:"\f1c4";
	color: var(--bs-orange);
}
.file--text-x-script:before {
	content:"\f1c9";
	color: var(--bs-dark);
}
.file--text-html:before {
	content:"\f15b";
	color: var(--bs-gray);
}
.file--text-plain:before  {
    content:"\f15c";
	color: var(--bs-gray-500);
}
.file--application-pdf:before {
    content: "\F63F";
    color: var(--bs-red);
}
.file--application-x-executable:before {
    content:"\f15c";
}
.file--audio:before  {
	content:"\f1c7";
	color: var(--bs-purple);
}
.file--video:before  {
	content:"\f1c8";
	color: var(--bs-pink);
}
.file--text:before {
    content:"\f15c";
	color: var(--bs-gray-500);
}
.file--image:before {
	content:"\f1c5";
	color: var(--bs-yellow);
}
blockquote {
    background: var(--bs-light);
    padding: 1rem;
    border-left: 4px solid var(--bs-gray-400);
}
blockquote p {
    margin: 0;
    font-size: 1.15rem;
}
ol, ul {
    padding-left: 1.5rem;
}
.form--inline {
    display: flex;
    align-items: center;
}
/*.form--inline .form-control {
    height: 48px;
    font-size: 1.2rem;
}*/
.name.search {
    line-height: 1.5rem;
    margin-bottom: 0.25rem;
}
.small > .paragraph--type--mkb-10 {
    display: flex;
    line-height: 1.5rem;
}
.owl-theme .view-content {
    position: relative;
}
.owl-nav {
    text-align: center;
    margin-top: 2rem;
}

.owl-nav button {
    font-size: 1rem !important;
    width: 3rem;
    height: 3rem;
    background: var(--bs-gray-200) !important;
    margin: 0.5rem;
    border-radius: 50%;
    -webkit-transition: all 150ms linear;
    transition: all 150ms linear;
}

.owl-nav button:hover {
    color: var(--bs-danger) !important;
}

.owl-nav button.disabled,.owl-nav button.disabled:hover {
    color: var(--bs-gray) !important;
}

.owl-nav button.owl-next:hover i {
    -webkit-animation: animate-icon-right 225ms linear forwards;
    animation: animate-icon-right 225ms linear forwards;
}

.owl-nav button.owl-prev:hover i {
    -webkit-animation: animate-icon-left 225ms linear forwards;
    animation: animate-icon-left 225ms linear forwards;
}

.owl-nav button.disabled:hover i {
    animation: none !important;
}

.owl-dots {
    position: absolute;
    width: 100%;
    bottom: 0;
    text-align: center;
    padding-top: 0.5rem;
}

.owl-dots .owl-dot.active span,.owl-dots .owl-dot:hover span {
    background: var(--bs-gray-500);
}

.owl-dots .owl-dot span {
    background: var(--bs-gray-300);
}

.owl-theme .owl-dots .owl-dot span {
    width: 10px;
    height: 10px;
    -webkit-backface-visibility: visible;
    transition: opacity 200ms ease;
    border-radius: 5px;
    margin: 5px 7px;
    display: block;
}

.owl-catalog .owl-nav {
    width: 260px;
    justify-content: space-between;
    display: flex;
    margin: 2rem auto;
    position: relative;
    z-index: 99;
}

.owl-carousel button.owl-dot {
    position: relative;
    z-index: 101;
}

.owl-catalog .owl-dots {
    bottom: 1rem;
    width: 100%;
    left: 0;
}

.owl-catalog .owl-dots .owl-dot.active span,.owl-catalog .owl-dots .owl-dot:hover span {
    background: var(--bs-gray-500);
}

.owl-catalog .owl-dots .owl-dot.active span {
    width: 12px;
}

.owl-card .owl-dots {
    bottom: 0.25rem;
}

.node--type-project nav.slick__arrow {
    top: Calc(50% - 52px);
}
.slide-image .slick-dots li button .slick-dot-icon,
.slide-image .slick-dots li.slick-active button .slick-dot-icon {
        color: #fff;
}
.slick-dots li.slick-active button .slick-dot-icon:before {
    margin-top: 0;
    margin-left: 0;
    font-size: 12px;
}
.slick-arrow {
    text-align: center;
    font-size: 3rem;
    color: var(--bs-gray-200);
}
.mb-n3 {
    margin-bottom: -1rem;
}
.d-flex .field--name-field-image {
    flex-shrink: 0;
    order: 1;
}
.d-flex .field--name-field-body {
    flex-grow: 1;
    order: 2;
}
/*
.img-left .field--name-field-body {
    margin-left: 1.5rem;
}
.img-right .field--name-field-body {
    margin-right: 1.5rem;
    order: 0;
}
.img-right.bg-white {
    padding-left: 4.5rem;
}
*/
.image-front {
    position: relative;
}
.image-slide img {
    opacity:0;
    transition: all 0.3s;
}
.image-slide.on img {
	opacity:1;
}
.image-slide {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom:0;
}
.step-number {
	transition: all 0.3s;
    position: relative;
    width: 7.625rem;
    height: 7.625rem;
    flex-shrink: 0;
    padding-top: 1rem;
    padding-left: 1rem;
    border-radius: 50%;
    background-color: #f3f6ff;
    color: var(--bs-primary);
    font-size: 2rem;
    font-weight: 800;
    z-index: 2;
}
.step-number .step-number-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5.625rem;
    height: 5.625rem;
    border-radius: 50%;
    background-color: #fff;
    box-shadow: 0 0.275rem 0.75rem -0.0625rem rgba(19,16,34,.06), 0 0.125rem 0.4rem -0.0625rem rgba(19,16,34,.03);
}
.step {
    position: relative;
}
.step:hover .step-number {
    color: var(--bs-danger);
}
.step:not(:first-child)::before,
.step:not(:last-child)::after {
    --bs-bg-opacity: 0.1;
    background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity));
}
.step::before {
    top: 0;
}
.step::after {
    top: 50%;
}
.step::before, .step::after {
    position: absolute;
    left: 3.8125rem;
    width: 1px;
    height: 50%;
    content: "";
}
.step p {margin-bottom:0;}
.node--type-object .field--name-field-images {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 1.5rem;
    margin-bottom: 1.5rem;
}
.node--type-object .field--name-field-images img {
    border-radius: 0.25rem;
}
#block-problem {
    background-image: url(/sites/default/files/images/front/bg-problem.jpg);
    background-position: 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-blend-mode: color;
}
.form-item-sort-by label,
.form-item-sort-bef-combine label {
    display: none;
}
#block-press .view-filters label {
    display:none;
}
.view-press {
    position: relative;
}
.press-block {
	transition: all 0.2s;
}
.press-block:hover {
    background: #fff;
    box-shadow: 0 0.25rem 1rem rgb(0 0 0 / 5%);
}
.card .field--name-field-images img,
.card .field--name-field-image img {
    transition: all 1s;
    transform: 0;
}
.teaser:hover .field--name-field-images img,
.card:hover .field--name-field-images img,
.card:hover .field--name-field-image img {
    transform: scale(1.1);
    transition: all 3s;
}
.teaser .field--name-field-images,
.card .field--name-field-images,
.card .field--name-field-image {
    overflow: hidden;
}
.view-algorithms .card-img-top {
    max-height: 170px;
    overflow: hidden;
}
.back-top.back-top-show {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
}
.back-top {
    cursor: pointer;
    position: fixed !important;
    bottom: 30px;
    right: 30px;
    display: block;
    z-index: 99;
    visibility: hidden;
    opacity: 0;
    -webkit-transform: translateY(50%);
    transform: translateY(50%);
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    background: #cde1f4;
    border-radius: 10%;
    width: 52px;
    height: 52px;
    line-height: 52px;
    text-align: center;
}
.back-top:hover {
    background: var(--bs-dark);
    color: #fff;
}
.card-form label {
    padding: .25rem .5rem;
    color: var(--bs-gray-500);
}
.card-form {
    height: 40px;
    transition: all 0.3s;
}
.card-form.on {
    height: auto;
}
.card-form:hover label {
    cursor: text;
    color:var(--bs-gray-700);
}
.card-form.on label {
    cursor: none;
    color:var(--bs-gray-700);
}
.card-form textarea:focus  {
    box-shadow: none;
}
.card-form textarea {
    border: 0;
}
.card-form.focus {
	color: #212529;
    background-color: #fff;
    border-color: #809ee2;
    box-shadow: 0 0 0 0.25rem rgba(0, 60, 197, 0.25);
}
.node--type-project .paragraph--type--price {
    display: flex;
    gap: 1rem;
    background: #fff;
    padding: 0 3rem;
}
.node--type-project .nav-tabs button {
    padding: 0.75rem 2rem;
    font-size: 1.2rem;
    font-weight: bold;
    color: var(--bs-dark);
}
.node--type-project .nav-tabs .nav-link.active {
    color: var(--bs-red);
}
.node--type-project .field--name-body ul {
    padding: 0;
    list-style: none;
    margin:0;
}
.node--type-project .field--name-body ul li {
    display: flex;
    justify-content: space-between;
    width: 100%;
    text-align: right;
    line-height: 1.5rem;
    border-top: 1px solid #ececec;
    padding: 0.5rem 0;
}
.node--type-project .field--name-body ul li strong {
    text-align: left;
}
.node--type-project .project-info .field--label-inline:after,
.node--type-project .field--name-field-cost:after {
    content: none;
}
.node--type-project .project-info .field--label-inline,
.node--type-project .field--name-field-cost {
    display: flex;
    justify-content: space-between;
    width: 100%;
    text-align: right;
    border-top: 1px solid #ececec;
    padding: 0.5rem 0;
}
.node--type-project .project-info .field--label-inline .field__item,
.node--type-project .field--name-field-cost .field__item {
    padding: 0;
}
.node--type-project .project-info .field.field--name-body {
    margin-bottom: 1rem;
}
#block-send .grid {
    display: grid;
    grid-template-columns: 1fr auto;
}
#block-projects-tabs .view-projects {
    margin-top: -54px;
}
#block-projects-tabs .nav-tabs {
    border-color: transparent;
}
.grid-gap-1>* {    grid-gap: 0.5rem;}
.grid-gap-2>* {    grid-gap: 1rem;}
.grid-gap-3>* {    grid-gap: 2rem;}
.grid-gap-4>* {    grid-gap: 3rem;}
.grid-gap-5>* {    grid-gap: 6rem;}
.paragraph--type--advantages .field__items {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 2rem;
}
.paragraph--type--advantages .field--name-field-body {
    margin-left: 2rem;
}
.paragraph--type--advantages .field--name-field-body p:last-child {
    margin: 0;
}
.paragraph--type--advantages .field--name-field-image img {
    border-radius: 50%;
}
.paragraph--type--images a {
    overflow: hidden;
    cursor: zoom-in;
}
.paragraph--type--images a:hover img {
    transform: scale(1.05);
}
.paragraph--type--images img {
    transition: all 0.3s;
}
.process-step {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
}
.h1.large-heading {
    margin-bottom: 0.5714285714em;
    font-size: 4.375em;
    line-height: 1.2;
}
.process-title {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    text-decoration: none;
    margin-bottom: 1rem;
}
.avatar img {
    width: 170px;
    height: auto;
    margin: auto;
}
.avatar {
    width: 170px;
    height: 170px;
    overflow: hidden;
    border-radius: 50%;
    margin:auto;
}
.slick-slider {
    margin-bottom: 0;
}
.slick--skin--boxed > .slick__slider > .slick-list {
    margin: 0 -0.25rem;
}
.card-transition:focus, .card-transition:hover {
    -webkit-transform: translateY(-0.1875rem)!important;
    transform: translateY(-0.1875rem)!important;
}
.card-transition {
    transition: all .2s ease-in-out;
}
#block-article h5.card-title {
    height: auto;
}
.region-sidebar-second h2 {
    font-size: 1.5rem;
    padding-left: 0.5rem;
}
.shadow {
    box-shadow: 0 0.375rem 1.5rem 0 rgb(140 152 164 / 13%) !important;
}
.bg-secondary {
    --bs-bg-opacity: 0.12;
    background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
}
textarea.form-control {
    height: auto;
}
#block-order .form-control {
    border-color: #a0bfb9;
    font-size: 1.1rem;
}
footer .social img {
    filter: grayscale(1) invert(1) brightness(1.5);
}
footer .region-footer .navbar-nav {
    flex-direction: revert;
}
footer .region-footer,
footer .region-footer a {
    color: var(--bs-white);
    text-decoration: none;
}
footer .region-footer a:hover,
footer .region-footer a:focus {
	--bs-text-opacity: 0.75;
    color: rgba(var(--bs-white-rgb), var(--bs-text-opacity));
}

@media (min-width: 992px) {
    .navbar .dropdown > .dropdown-menu:before, .navbar .dropdown > .dropdown-menu:after {
        margin-left: 0.25em;
        vertical-align: 0.25em;
        content: "";
        border-bottom: 0.5em solid var(--bs-gray-400);
        border-right: 0.5em solid transparent;
        border-top: 0;
        border-left: 0.5em solid transparent;
        position: absolute;
        top: -9px;
        left: 3rem;
        z-index: 98;
    }
    .navbar .dropdown > .dropdown-menu:after {
        border-bottom: 0.5em solid white;
        top: -8px;
        z-index: 99;
    }
	.navbar {
	    padding-top: 0.5rem;
	    padding-bottom: 0.5rem;
	}
    #block-slogan {
        width: 300px;
        font-size: .875rem;
    }
	.page-title {
	    margin: 1.5rem 0;
	}
    .vw-lg-50 {
        width: 50vw;
        overflow: hidden;
    }
    .h-lg-100 {
        height: 100%;
    }
    .main-contact {
        overflow: hidden;
    }
    .img-right .image {
        order: 2;
    }
    .bg-lg-light {
        background: var(--bs-light);
    }
    .slide-image .field,
    .slide-image .owl-dots {
        width: 50vw;
        max-width: inherit;
    }
	.card-body {
	    padding: 1rem 1.5rem;
	}
    .product-info {
        top: 110px;
    }
    #block-objects-brus .slick-slide,
	#block-objects .slick-slide {
	    padding: 1rem;
	}
    #block-project-form {
	    display: flex;
	    align-items: center;
	    justify-content: center;
	}
        #block-title .slide-image {
        height: 640px;
        width: 100%;
        align-items: center;
        display: flex;
    }
    .service-img, .art-img {
        width: 200px;
        height: 200px;
        display: flex;
        overflow: hidden;
        align-items: center;
        justify-content: center;
        text-align: center;
        flex-shrink: 0;
    }
    .art-img img {
        height: 200px;
        max-width: fit-content;
    }
    .service-img img {
        transition: all 0.3s;
    }
    .service:hover .service-img img {
        width: 165px;
    }
	.grid-lg-2 {
	    display: grid;
	    grid-template-columns: repeat(2, 1fr);
	}
	.grid-lg-3 {
	    display: grid;
	    grid-template-columns: repeat(3, 1fr);
	}
	.grid-lg-4 {
	    display: grid;
	    grid-template-columns: repeat(4, 1fr);
	}
	.grid-lg-5 {
	    display: grid;
	    grid-template-columns: repeat(5, 1fr);
	}
	.grid-lg-6 {
	    display: grid;
	    grid-template-columns: repeat(6, 1fr);
	    grid-gap: 1rem;
	}
	.navbar-expand-lg .navbar-nav {
	    align-items: center;
	}
	#block-press .view-filters {
	    position: absolute;
	    top: -80px;
	    right: 0;
	}
    .page-node-type-photo .field--name-field-images {
        margin: 0 -1%;
    }
    .page-node-type-photo .field--name-field-images .field__item {
        width: 33.33%;
        padding: 1%;
    }
    .view-row .views-infinite-scroll-content-wrapper,
	.row-view .view-content {
	    --bs-gutter-x: 1.5rem;
	    --bs-gutter-y: 0;
	    display: flex;
	    flex-wrap: wrap;
	    margin-top: calc(-1 * var(--bs-gutter-y));
	    margin-right: calc(-0.5 * var(--bs-gutter-x));
	    margin-left: calc(-0.5 * var(--bs-gutter-x));
	}
    .field--name-field-categories {
        display: flex;
        gap: 1.5rem;
    }
	.view-algorithms fieldset {
	    margin-top: 0;
	    width: 100%;
    		border: 0;
    		background: transparent;
	}
	.view-algorithms fieldset legend {
	    display: none;
	}
	.page-node-type-project .page-title {
	    margin: 1rem 0 2rem 0;
	}
	.view-algorithms fieldset .fieldset-wrapper {
	    padding: 0;
	}
	.view-algorithms fieldset .bef-checkboxes {
	    display: grid;
	    grid-template-columns: repeat(4, auto);
	}
	.h1.large-heading {
		    font-size: 3.75em;
	}
	.node--type-article.node--view-mode-full {
	    margin-bottom: 3rem;
	}
	.node--type-article .paragraph--type--body {
	    padding: 1.5rem 3rem;
	}
	.btn-lg {
	    padding: 0.75rem 1.25rem;
	    font-size: 1rem;
	}
	#edit-contact {
	    margin: 0 -0.5rem;
	}
	footer {
		    padding: 3rem 0;
	}
	footer .region-footer {
	    flex-direction: row;
	    --bs-gutter-x: 1.5rem;
	    --bs-gutter-y: 0;
	    display: flex;
	    flex-wrap: wrap;
		justify-content: space-between;
	    margin-top: calc(-1 * var(--bs-gutter-y));
	    margin-right: calc(-0.5 * var(--bs-gutter-x));
	    margin-left: calc(-0.5 * var(--bs-gutter-x));
	}
	footer .region-footer > * {
	    flex-shrink: 0;
	    padding-right: calc(var(--bs-gutter-x) * 0.5);
 	   padding-left: calc(var(--bs-gutter-x) * 0.5);
 	   margin-top: var(--bs-gutter-y);
	}
}
@media (min-width: 1200px) {
    nav.sticky-top .nav-item a.nav-link {
    	letter-spacing: .25px;
	}
	.press-title {
	    height: 48px;
	    line-height: 1.5rem;
	}
	.btn-lg {
	    padding: 0.75rem 1.5rem;
	    font-size: 1.15rem;
	}
	.xl-lead {
	    font-size: 1.25rem;
	    font-weight: 300;
	}
    .paragraph--type--images-text .field.field--name-field-body {
        padding: 0 1.5rem;
    }
	.h1.large-heading {
	    font-size: 4.375em;
	}
    .grid-xl-2 {
	    display: grid;
	    grid-template-columns: repeat(2, 1fr);
	}
	.grid-xl-3 {
	    display: grid;
	    grid-template-columns: repeat(3, 1fr);
	}
	.grid-xl-4 {
	    display: grid;
	    grid-template-columns: repeat(4, 1fr);
	}
}
@media (min-width: 1400px) {
	body {
		font-size: 1.1rem;
	}
	nav.sticky-top .nav-item a.nav-link {
	    font-size: 0.9rem;
	    padding: 0.5rem 0.5rem;
	    letter-spacing: 1px;
	}
	.navbar-brand {
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
	}
	#block-slogan {
	    width: 315px;
	    font-size: 1rem;
	}
    .paragraph--type--images-text .field.field--name-field-body {
        padding: 0 2rem;
    }
    .grid-xxl-2 {
	    display: grid;
	    grid-template-columns: repeat(2, 1fr);
	}
	.grid-xxl-3 {
	    display: grid;
	    grid-template-columns: repeat(3, 1fr);
	}
	.grid-xxl-4 {
	    display: grid;
	    grid-template-columns: repeat(4, 1fr);
	}
}
@media (max-width: 767px) {
    .site-logo img {
        height: 44px;
    }
	.region-nav-main .dropdown-menu {
	    border: 0;
	    background: transparent;
	    font-size: 1.1rem;
	    line-height: 2rem;
	    padding-top: 0;
	}
	.navbar {
	    padding-top: 0;
	    padding-bottom: 0;
	}
	.navbar > .container {
	    flex-wrap: nowrap;
	}
	.region-nav-main {
	    padding: 0;
	}
	.navbar-toggler {
	    width: 48px;
	    height: 48px;
	    line-height: 48px;
	    padding: 0;
        border: 0;
	    font-size: 32px;
	}
	.navbar .nav-item {
	    font-size: 1.1rem;
	}
	.slide-info {
		text-align: center;
	}
    .owl-catalog .owl-dots {
        display: none;
    }
    .owl-catalog .owl-nav {
        width: auto;
        margin: 1rem auto;
    }
	#block-login ul {
	    flex-direction: row;
	    align-items: center;
	    margin-bottom: .5rem;
	}
	.node--type-project .nav-tabs button {
	    padding: 0.5rem 1rem;
	    font-size: 1rem;
	}
	#block-projects-tabs .view-projects {
	    margin-top: -42px;
	}
	#block-projects-tabs {
	    margin-top: 42px;
	}
	.node--type-project .tab-content {
	    background: white;
	    padding: 1rem 0;
	}
	.view-projects .view-content {
	    --bs-gutter-x: 0.5rem;
	    --bs-gutter-y: 0;
	    display: flex;
	    flex-wrap: wrap;
	    margin-top: calc(-1 * var(--bs-gutter-y));
	    margin-right: calc(-0.5 * var(--bs-gutter-x));
	    margin-left: calc(-0.5 * var(--bs-gutter-x));
	}
	.view-projects .card-body .field {
	    font-size: .9rem;
	}
	#block-project-form {
	    overflow: auto;
	    text-align: center;
	}
	#block-project-form .btn-close {
	    background-color: #fff;
	    padding: 0.5rem;
	}
	.project-img {
	    margin: 0;
	}
	.view-projects .node__links .btn {
	    font-size: 0.9rem;
	}
	.order-3.col-12.col-lg-3 {
	    margin: 0;
	}
	.node--type-article.node--view-mode-full {
	    margin-left: -0.75rem;
	    margin-right: -0.75em;
	}
	iframe {
	    width: 100%;
	    height: 47vw;
	}
	#block-problem ul {
	    margin: 0;
	}
	#block-problem .fs-3 {
	    font-size: 1rem !important;
	}
	.step-number {
	    width: 5.5rem;
	    height: 5.5rem;
	    padding-top: 0.75rem;
	    padding-left: 0.75rem;
	}
	.step-number .step-number-inner {
	    	width: 4rem;
 	   	height: 4rem;
	}
	.step::before, .step::after {
	    position: absolute;
	    left: 2.75rem;
	}
	.node--type-article .paragraph--type--body {
	    padding: 1.5rem !important;
	    background: white;
	}
	.mb-n3 {
	    margin-bottom: 0;
	}
	.grid-gap-3>* {
	    grid-gap: 1rem;
	    display: grid;
	}
	.node--type-object .field--name-field-images {
	    display: grid;
 	   grid-template-columns: repeat(2, 1fr);
	    grid-gap: 1rem;
	}
	.view-algorithms fieldset {
	    width: 100%;
	    margin: 0 0 0.75rem !important;
	}
	.view-algorithms fieldset .fieldset-wrapper {
	    display: none;
	}
	.user-form {
	    width: 100%;
	    min-height: 100vh;
    	border-radius: 0 !important;
	}
	.user-form .region-content {
	    overflow: hidden;
	}
	#user-info {
	    grid-template-columns: 1fr;
	}
	#contact-message-feedback-form {
	    text-align: center;
	}
	#block-team .card {
	    flex-direction: row;
	    text-align: left;
	}
	#block-team .card-body {
	    flex: 1;
		padding: 0 0 1rem 1.5rem;
	}
	.avatar img {
	    width: 110px;
	}
	.avatar {
	    width: 110px;
	    height: 110px;
	    text-align: left;
	    margin:0;
	}
	.view-article h5.card-title,
	.view-taxonomy-term h5.card-title {
	    font-size: 1.25rem;
	}
	.slick .slick-dots--thumbnail-grid li {
	    width: 22%;
	}
	footer .region-footer {
	    flex-direction: row;
	    align-items: center;
	    display: flex;
	    flex-wrap: wrap;
 	    margin-right: 0.5rem;
	    margin-left: 0.5rem;
	}
	footer .region-footer .navbar-nav {
	    flex-direction: revert;
	    margin-left: -0.5rem;
	}
}
@media (max-width: 574px) {
    header {
        box-shadow: 0 1px 3px 0 rgb(0 0 0 / 15%);
    }
    .navbar-brand .site-title {
        font-size: 1.15rem;
    }
    .navbar-brand {
        width: 58vw;
    }
    #navbarSupportedContent {
        position: absolute;
        width: 100%;
        background: white;
        left: 0;
        height: Calc(100vh - 54px);
        top: 54px;
        z-index: 99;
    }
    .site-logo img {
        height: 24px;
    }
    .service-img img {
        max-width: 150px;
        height: auto;
    }
    .small.text-muted {
        font-size: 12px;
        line-height: 1rem;
    }
    h5.card-title {
        margin-top: 0;
        font-size: 1.15rem;
    }
    .btn-text {
        font-size: 0.95rem;
    }
    .front-title {
        font-size: calc(2.75rem + 1.5vw);
    }
   
    header .icon {
        display: block;
    }
    header .phone {
        display: none;
    }
    header .nav-item a.nav-link {
        padding: 0.75rem 1rem;
        border-top: 1px solid var(--bs-gray-200);
    }
    header .dropdown-item {
        padding: 0.5rem 1rem;
        line-height: 1.5rem;
    }
    .nav-item.dropdown .show {
        background: var(--bs-light);
        margin: 0;
    }
	.js-form-item-sort-bef-combine {
	    display: none;
	}
    .grid-4,.grid-3 {
        gap: 0.75rem;
        grid-template-columns: repeat(2,1fr);
    }
    .paragraph .accordion-button {
    	padding: 1rem 1.5rem;
	}
	.paragraph .accordion-body {
	    padding: 1.25rem 1.5rem;
	}
	.node--type-object .field--name-field-images {
	    display: grid;
 	    grid-template-columns: repeat(1, 1fr);
	    grid-gap: 1rem;
	}
    #block-title h1.display-5 {
        font-size: calc(1.25rem + 2.1vw);
        margin-top: 2rem !important
    }
    #block-title .fs-5 {
        font-size: 1.15rem !important;
    }
    #block-gallery .owl-dots {
        display: none;
    }
	.col-xs-6 {
	    flex: 0 0 auto;
	    width: 50%;
	}
    .owl-nav {
        margin: 0;
    }
    dt p {
        margin: 0;
    }
}