@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

body {
    font-family: "Montserrat", sans-serif !important;
    background-color: #2E48B9 !important;
}

select,
button,
a,
input,
textarea,
img {
    outline: none !important;
    box-shadow: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
b,
strong {
    font-weight: 700 !important;
}

a,
button {
    text-decoration: none !important;
    transition: .3s all !important;
}

img {
    max-width: 100% !important;
    border: 0 !important;
}

input,
form button {
    border-radius: 1rem !important;
}

header {
    background-color: #2E48B9;
    border-radius: 0 0 1rem 1rem;
    height: 5rem;
    position: fixed;
    width: 100%;
    z-index: 99;
    transition: .3s all;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nav-up {
    top: -5rem;
}

header .col {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

header .col > div {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.logo {
    display: inline-flex;
    align-items: center;
    gap: 2rem;
    padding: 1rem;
    border-radius: 1rem;
    background-color: #fff;
}

header ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

header ul > li {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .75rem;
    font-weight: 600;
}

header ul > li a {
    color: #fff;
}

header ul > li a:hover,
header p a:hover {
    color: #ffffff75;
}

header ul li > div {
    position: absolute;
    top: 3rem;
    padding-top: 2rem;
    left: 0;
    width: 100%;
    display: none;
}

header ul li > div > div {
    width: 100%;
    background-color: #fff;
    border-radius: 2rem;
    padding: 2rem 0;
    box-shadow: 0 15px 35px rgba(0, 0, 0, .1);
}

header ul li:hover > div {
    display: block;
}

header ul li > div .col {
    display: flex;
    flex-wrap: wrap;
    gap: 40px 0;
    justify-content: start;
}

header ul li > div a {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 1rem;
    font-size: 14px;
    font-weight: 500;
    color: #323232;
    width: calc(25%);
}

header ul li > div a:hover {
    color: #2E48B9;
}

header ul li > div picture {
    display: block;
    width: 72px;
    height: 72px;
    border-radius: 1rem;
    overflow: hidden;
}

header ul li > div picture img {
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
    transition: .3s all;
}

header ul li > div picture:hover img {
    transform: scale(1.1);
}

header .col > div > picture {
    cursor: pointer;
    transition: .3s all;
}

header .col > div > picture:hover {
    transform: scale(1.1);
}

header p {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    line-height: 160%;
}

header p a {
    color: #fff;
}

header button {
    padding: 1rem 1.5rem;
    line-height: 100%;
    font-size: .75rem;
    color: #fff;
    border: 0;
    border-radius: 1rem;
    background-color: #3A8BEC;
    font-weight: 600;
}

header button:hover {
    background-color: #fff;
    color: #3A8BEC;
}

header .col > div > picture:last-child {
    display: none;
}

main {
    margin-top: 5rem;
}

#search {
    height: 136px !important;
    border-radius: 0 0 2rem 2rem !important;
}

#search form {
    display: flex;
    align-items: center;
    gap: 1rem;
}

#search form input {
    padding: 1rem;
    font-size: 1rem;
}

#search form button {
    padding: 1rem 2rem;
    border: 0;
    background-color: #3A8BEC;
    color: #fff;
    font-size: 1rem;
    font-weight: 500;
}

#search form button:hover {
    background-color: #2E48B9;
}

#search h4 {
    font-size: 1.2rem;
    font-weight: 600 !important;
    color: #323232 !important;
    margin: 0 0 1rem 0;
}

#search .btn-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
}

#menu ul {
    list-style: none;
    margin: 1rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 1.5rem;
}

#menu ul li > a {
    font-size: 1.3rem;
    font-weight: 500;
    color: #323232;
}

#menu ul li > a picture {
    display: none;
}

#menu ul li > div {
    padding: 1.5rem 0;
}

#menu ul li div .col {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    gap: 2rem 0;
}

#menu ul li div .col a {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    color: #323232;
    font-size: 1rem;
    width: 50%;
}

#menu ul li div .col a picture {
    width: 3rem;
    height: 3rem;
}

#menu ul li div .col a picture img {
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 1rem;
}

#menu .btn-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
}

.owl-carousel {
    position: relative;
}

.slider {
    border-radius: 2rem;
    overflow: hidden;
}

.slider .item {
    height: 740px;
    position: relative;
}

.slider .item > picture {
    position: absolute;
    width: 100%;
    height: 100%;
}

.slider .item > picture::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(to top, #000000, #00000000);
    opacity: .75;
}

.slider .item > picture img {
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
}

.slider .item .container {
    position: relative;
    z-index: 2;
    height: 100%;
}

.slider .item .container .row {
    height: 100%;
    display: flex;
    align-items: end;
    justify-content: center;
}

.slider .item .container .row .col {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    text-align: center;
    align-items: center;
    color: #fff;
    padding-bottom: 190px;
}

.slider .item .container .row .col h1 {
    margin: 0;
    font-size: 3rem;
    text-transform: uppercase;
}

.slider .item .container .row .col h2 {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 600 !important;
}

.slider .item .container .row .col a {
    font-size: .75rem;
    color: #fff;
    line-height: 100%;
    padding: 1rem 3rem;
    border-radius: 1rem;
    border: 1px solid #fff;
    font-weight: 600;
}

.slider .item .container .row .col a:hover {
    background-color: #fff;
    color: #3A8BEC;
}

.slider .owl-dots {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    width: 100%;
    bottom: 135px;
}

.slider .owl-dots button {
    width: 6px !important;
    height: 6px !important;
    background-color: #fff !important;
    border-radius: 100%;
}

.slider .owl-dots button.active {
    background-color: #ffffff30 !important;
}

.slider .owl-dots button.active:hover {
    background-color: #fff !important;
}

.slider .owl-nav {
    position: absolute;
    bottom: 122px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 100%;
    max-width: 238px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.slider .owl-prev,
.slider .owl-next {
    width: 2rem !important;
    height: 2rem !important;
    border-radius: 100% !important;
    font-size: 0 !important;
    z-index: 3 !important;
    transition: .3s all;
}

.slider .owl-prev:hover,
.slider .owl-next:hover {
    transform: scale(1.1);
}

.slider .owl-prev {
    background: url(../img/left.svg) center no-repeat #fff !important;
}

.slider .owl-next {
    background: url(../img/right.svg) center no-repeat #fff !important;
}

.benefits__block {
    position: relative;
    margin-top: -90px;
    z-index: 3;
}

.benefits__block .col {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}

.benefits__block .col a {
    width: 100%;
}

.benefits__block .col a:hover {
    transform: scale(1.05);
}

.benefits__card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: space-between;
    align-items: start;
    font-size: 1rem;
    color: #323232;
    font-weight: 500;
    background-color: #fff;
    border-radius: 2rem;
    padding: 1.5rem;
    width: 100%;
    height: 180px;
}

.benefits__card picture {
    flex-shrink: 0;
    width: 3.5rem;
    height: 3.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.benefits__card picture img {
    object-fit: contain !important;
    width: 100% !important;
    height: 100% !important;
}

.block__2 {
    margin-top: 3rem;
    background-color: #fff;
    border-radius: 2rem 2rem 0 0;
    padding-top: 3rem;
    padding-bottom: 5rem;
    position: relative;
}

.block__2__2 {
    border-radius: 2rem;
    padding-bottom: 2rem;
}

.block__2__2::after {
    display: none;
}

.block__2::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 2rem;
    background-color: #F5F5F5;
    border-radius: 2rem 2rem 0 0;
    left: 0;
    bottom: 0;
}

.block__2 h2 {
    font-size: 2rem;
    color: #323232;
    font-weight: 500 !important;
    margin: 0 0 3rem 0;
}

.category__card {
    border-radius: 2rem;
    overflow: hidden;
}

.category__card .ratio > div > picture {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 2rem;
    overflow: hidden;
}

.category__card .ratio > div > picture img {
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
    transition: .3s all;
}

.category__card:hover .ratio > div > picture img {
    transform: scale(1.1);
}

.category__card h3 {
    font-size: 14px;
    color: #323232;
    font-weight: 500 !important;
    margin: 0;
    transition: .3s all;
}

.category__card h3:hover {
    color: #3A8BEC;
}

.category__card .ratio > div {
    display: flex;
    align-items: end;
}

.category__card .ratio > div > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    z-index: 3;
    height: auto;
    position: relative;
    z-index: 3;
    width: 100%;
    margin: 1.5rem;
    padding: 1rem;
    background-color: #fff;
    border-radius: 1rem;
}

.category__card .ratio div > div > picture {
    flex-shrink: 0;
}

.carousel__1 .owl-nav {
    position: absolute;
    width: 100%;
    height: 1px;
    left: 0;
    right: 0;
    margin: 0 auto;
    max-width: 636px;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.carousel__1 .owl-nav button {
    width: 3.5rem !important;
    height: 3.5rem !important;
    border-radius: 100%;
    border: 1px solid #3A8BEC30 !important;
    font-size: 0 !important;
    position: absolute !important;
    margin-top: -130px;
}

.carousel__1 .owl-nav button:hover {
    border-color: #3A8BEC !important;
}

.carousel__1 .owl-prev {
    left: 0;
    background: url(../img/left2.svg) center no-repeat !important;
}

.carousel__1 .owl-next {
    right: 0;
    background: url(../img/right2.svg) center no-repeat !important;
}

.block__3 {
    background-color: #F5F5F5;
    border-radius: 0 0 2rem 2rem;
    padding-top: 1rem;
    padding-bottom: 3rem;
}

.zag__1 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
    margin-bottom: 3rem;
}

.zag__1 h2 {
    font-size: 2rem;
    font-weight: 500 !important;
    color: #323232;
    margin: 0;
    flex-shrink: 0;
}

.zag__1 hr {
    margin: 0;
    width: 100%;
    height: 1px;
    opacity: 1;
    border-color: #E1E1E1;
}

.zag__1 a {
    color: #323232;
    font-size: .75rem;
    font-weight: 600;
    padding: 1rem 3rem;
    border: 1px solid #32323215;
    border-radius: 1rem;
    flex-shrink: 0;
}

.zag__1 a:hover {
    border-color: #323232;
}

.service__card {
    display: flex;
    flex-direction: column;
    border-radius: 1.5rem;
    background-color: #fff;
    overflow: hidden;
}

.service__card .ratio picture {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 2rem;
    overflow: hidden;
}

.service__card .ratio picture img {
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
    transition: .3s all;
}

.service__card .ratio picture:hover img {
    transform: scale(1.1);
}

.service__card__text {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 1rem;
}

.service__card__text a {
    color: #323232;
    text-align: center;
    font-size: 1rem;
    font-weight: 500;
}

.service__card__text a:hover {
    color: #3A8BEC;
}

.service__card__text button {
    width: 100%;
    padding: 1rem;
    background-color: transparent;
    border: 1px solid #2E48B930;
    border-radius: 1rem;
    font-size: .75rem;
    font-weight: 600;
    color: #2E48B9;
}

.service__card__text button:hover {
    border-color: #2E48B9;
}

.carousel__2 .owl-nav,
.carousel__4 .owl-nav {
    width: 100% !important;
    height: 100% !important;
    top: 0;
    position: absolute;
    display: flex;
    align-items: center;
    z-index: -1;
}

.carousel__2 .owl-nav button,
.carousel__4 .owl-nav button {
    width: 3.5rem !important;
    height: 3.5rem !important;
    border-radius: 100% !important;
    background-color: #fff !important;
    font-size: 0 !important;
    position: absolute !important;
}

.carousel__2 .owl-nav button:hover,
.carousel__4 .owl-nav button:hover {
    transform: scale(1.1) !important;
}

.carousel__2 .owl-prev,
.carousel__4 .owl-prev {
    background: url('../img/left2.svg') center no-repeat !important;
    left: -5rem !important;
}

.carousel__2 .owl-next,
.carousel__4 .owl-next {
    background: url('../img/right2.svg') center no-repeat !important;
    right: -5rem !important;
}

.block__4 {
    margin-top: 3rem;
}

.block__4 h2 {
    color: #fff;
    font-size: 2rem;
    font-weight: 500 !important;
    margin: 0 0 3rem 0;
}

.project__card {
    border-radius: 2rem;
    overflow: hidden;
}

.project__cover {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 2rem;
    overflow: hidden;
}

.project__cover::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, #000000, #00000000);
    opacity: .75;
}

.project__cover img {
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
}

.more__arrow {
    position: absolute;
    width: 60px !important;
    height: 60px !important;
    z-index: 2;
    top: 1.5rem;
    right: 1.5rem;
    transition: .3s all;
}

.project__card:hover .more__arrow {
    transform: scale(1.2);
}

.project__card a {
    display: flex;
    align-items: end;
    justify-content: start;
    width: 100%;
    height: 100%;
}

.project__card a div {
    position: relative;
    z-index: 2;
    padding: 2rem;
    font-size: 1.5rem;
    font-weight: 600;
    color: #fff;
}

.carousel__3 .owl-nav {
    position: absolute;
    width: 100%;
    height: 1px;
    left: 0;
    right: 0;
    margin: 0 auto;
    max-width: 796px;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.carousel__3 .owl-nav button {
    width: 3.5rem !important;
    height: 3.5rem !important;
    border-radius: 100%;
    border: 1px solid #ffffff30 !important;
    font-size: 0 !important;
    position: absolute !important;
    margin-top: -130px;
}

.carousel__3 .owl-nav button:hover {
    border-color: #ffffff !important;
}

.carousel__3 .owl-prev {
    left: 0;
    background: url(../img/left3.svg) center no-repeat !important;
}

.carousel__3 .owl-next {
    right: 0;
    background: url(../img/right3.svg) center no-repeat !important;
}

.more__block {
    margin-top: 3rem !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 100px;
}

.more__block hr {
    opacity: 1;
    margin: 0;
    width: 100%;
    height: 1px;
    border-color: #ffffff30;
}

.more__block a {
    flex-shrink: 0;
    font-size: .75rem;
    font-weight: 600;
    color: #fff;
    padding: 1rem 3rem;
    border: 1px solid #ffffff30;
    border-radius: 1rem;
}

.more__block a:hover {
    border-color: #fff;
}

.more__block__2 a {
    color: #3A8BEC;
    border-color: #3A8BEC30;
}

.block__5 {
    margin-top: 3rem;
    background-color: #fff;
    border-radius: 2rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.new__card {
    position: relative;
    display: flex;
    flex-direction: column;
}

.new__card > a:first-child {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    z-index: 2;
}

.new__card > a:first-child:hover {
    transform: scale(1.2);
}

.new__card .ratio picture {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 1rem;
    overflow: hidden;
}

.new__card .ratio picture img {
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
    transition: .3s all;
}

.new__card .ratio picture:hover img {
    transform: scale(1.1);
}

.new__card__text {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 1.5rem;
    padding: 1.5rem 1.5rem 0 1.5rem;
    font-size: .75rem;
    color: #323232;
}

.new__card__text a {
    color: #323232;
    font-size: 1rem;
    font-weight: 600;
}

.new__card__text a:hover {
    color: #3A8BEC;
}

.block__6 {
    margin-top: 3rem;
}

.block__6 form {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 3rem;
    background-color: #0A2495;
    border-radius: 2rem;
    color: #fff;
}

.block__6 form h2 {
    font-size: 2rem;
    font-weight: 500 !important;
    margin: 0 0 1rem 0;
}

.block__6 input {
    padding: 1.5rem;
    background-color: transparent !important;
    color: #fff !important;
    border-color: #ffffff30;
}

.block__6 input::placeholder {
    color: #fff;
    font-weight: 300;
    font-size: 20px;
}

.block__6 button {
    background-color: #3A8BEC;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    border: 0;
    padding: 1.5rem;
}

.block__6 button:hover {
    background-color: #2E48B9;
}

.block__6 p {
    font-size: .75rem;
    margin: 1rem 0 0 0;
}

.block__6 p a {
    color: #3A8BEC;
}

.block__6 p a:hover {
    color: #fff;
}

.block__6 picture {
    width: 100%;
    height: 100%;
}

.block__6 picture img {
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 2rem;
}

.contacts__block {
    margin-top: 3rem;
}

.contacts__block .row {
    align-items: center;
}

.map {
    width: 100%;
    height: 470px;
    border-radius: 2rem;
    overflow: hidden;
}

.contacts__block__text {
    padding-left: 43px;
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 2rem;
    color: #fff;
}

.contacts__block__text h2 {
    font-size: 2rem;
    font-weight: 500 !important;
    margin: 0;
}

.contacts__block__text > div {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.contacts__block__text > div picture {
    flex-shrink: 0;
}

.contacts__block__text p {
    margin: 0;
}

.contacts__block__text p b {
    display: block;
    font-size: 20px;
    font-weight: 600 !important;
}

.contacts__block__text p b a:hover,
.contacts__block__text p a:hover {
    color: #3A8BEC;
}

.contacts__block__text p {
    font-size: 15px;
    font-weight: 500;
}

.contacts__block__text a {
    color: #fff;
}

.contacts__block__text > a {
    width: 100%;
    padding: 1rem;
    border: 1px solid #ffffff30;
    border-radius: 1rem;
    font-size: .75rem;
    text-align: center;
    font-weight: 600;
}

.contacts__block__text > a:hover {
    border-color: #fff;
}

footer a {
    color: #fff;
}

footer a:hover {
    color: #3A8BEC;
}

footer > div {
    margin-top: 3rem;
    background-color: #0A2495;
    color: #fff;
    padding-top: 3rem;
    border-radius: 2rem 2rem 0 0;
}

.footer__contacts {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.footer__contacts > div {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.footer__contacts > div picture {
    flex-shrink: 0;
}

.footer__contacts p {
    margin: 0;
}

.footer__contacts p b {
    display: block;
    font-size: 1rem;
    font-weight: 600 !important;
}

.footer__contacts p b a:hover,
.footer__contacts p a:hover {
    color: #3A8BEC;
}

.footer__contacts p {
    font-size: 15px;
    font-weight: 500;
}

footer .col-md-6 > b {
    font-size: 20px;
    font-weight: 600 !important;
    color: #3A8BEC;
    margin: 0 0 1.5rem 0;
    display: block;
}

footer ul {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 1rem;
    font-size: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
    max-width: 311px;
}

footer > div > div:last-child {
    background-color: #000E7F;
    padding-top: 2rem;
    padding-bottom: 2rem;
    font-size: 15px;
    border-radius: 2rem 2rem 0 0;
    margin-top: 3rem;
}

.inner__page {
    background-color: #fff;
    border-radius: 2rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.inner__header {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 1rem;
    position: relative;
    padding-bottom: 1rem;
    margin-bottom: 2rem;
}

.inner__header hr {
    position: absolute;
    bottom: 0;
    margin: 0;
    width: calc(100% - 1.5rem);
    height: 1px;
    border-color: #E1E1E1;
    opacity: 1;
}

.inner__header ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    font-size: .75rem;
    font-weight: 500;
    color: #999;
}

.inner__header ul a {
    color: #323232;
}

.inner__header ul a:hover {
    color: #3A8BEC;
}

.inner__header h1 {
    font-size: 2rem;
    font-weight: 500 !important;
    color: #323232;
    margin: 0;
}

.inner__page__text p {
    color: #323232;
    font-size: 1rem;
    line-height: 160%;
}

.sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.sidebar ul li a {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 14px;
    font-weight: 500;
    color: #323232;
    background-color: #F9F9F9;
    padding: 1rem;
    border-radius: 1rem;
    font-weight: 500;
}

.sidebar ul li a:hover {
    color: #3A8BEC;
}

.sidebar ul li a picture {
    width: 3rem;
    height: 3rem;
    flex-shrink: 0;
}

.sidebar ul li a picture img {
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: .5rem;
}

.sidebar ul li a svg {
    flex-shrink: 0;
    margin-left: auto;
}

.sidebar .active a {
    background-color: #2E48B9;
    color: #fff;
}

.sidebar .active a path {
    stroke: #fff;
}

.power__filters {
    margin-top: 2rem;
}

.power__filters button {
    display: flex;
    align-items: center;
    background-color: #F0F0F0;
    padding: 1rem;
    border-radius: 1rem;
    border: 0;
    gap: 1rem;
    font-size: 14px;
    font-weight: 500;
    color: #323232;
    width: 100%;
}

.power__filters button:hover {
    background-color: #e1e1e1;
}

.power__filters button picture {
    flex-shrink: 0;
}

.power__filters svg {
    flex-shrink: 0;
    margin-left: auto;
    transform: rotate(-90deg);
    transition: .3s all;
}

.power__filters button.collapsed svg {
    transform: rotate(90deg);
}

.power__filters > div > div {
    padding: 1rem;
}

.power__filters label {
    display: flex;
    align-items: center;
    font-size: 14px;
    color: #323232;
    cursor: pointer;
}

.power__filters label input {
    flex-shrink: 0;
    margin-right: 14px;
    -webkit-appearance: none;
    width: 1.5rem;
    height: 1.5rem;
    background: transparent;
    border: 1px solid #e1e1e1;
    border-radius: 4px !important;
    transition: .3s all;
}

.power__filters label input:hover {
    border-color: #2E48B9;
}

.power__filters input:checked {
    background: url(../img/check.svg) center no-repeat !important;
    border-color: #2E48B9;
}

#sidebar {
    display: none;
}

.sidebar__mobile {
    width: 100%;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    background-color: #f9f9f9;
    border-radius: 1rem;
    font-size: 1rem;
    color: #323232;
    font-weight: 500;
    display: none;
}

.product__card {
    display: flex;
    flex-direction: column;
    margin-bottom: 2rem;
}

.product__card .ratio picture {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 1rem;
    border: 1px solid #999999;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s all;
}

.product__card .ratio picture:hover {
    border-color: #555;
}

.product__card .ratio picture img {
    object-fit: contain !important;
    max-width: 80% !important;
    max-height: 80% !important;
}

.product__card__title {
    padding: 1rem 1.5rem;
    font-size: 1rem;
    font-weight: 500;
    line-height: 150%;
}

.product__card__title a {
    color: #323232;
}

.product__card__title a:hover {
    color: #3A8BEC;
}

.more__button {
    width: 100%;
    padding: 1rem;
    text-align: center;
    border-radius: 1rem;
    color: #2E48B9;
    line-height: 100%;
    font-size: .75rem;
    font-weight: 600;
    border: 1px solid #2E48B930;
}

.more__button:hover {
    background-color: #2E48B9;
    color: #fff;
}

.pagination ul {
    list-style: none;
    margin: .75rem 0 0 0;
    padding: 0;
    display: flex;
    gap: 14px;
}

.pagination ul a,
.pagination ul span {
    width: 3rem;
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    color: #323232;
    border-radius: .5rem;
    font-weight: 500;
}

.pagination ul span {
    background-color: #F0F0F0;
    font-weight: 600;
}

.pagination ul a:hover {
    background-color: #F0F0F0;
}

.product__photos {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.product__photos picture {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 1rem;
    border: 1px solid #F0F0F0;
    transition: .3s all;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product__photos picture:hover {
    border-color: #555;
}

.product__photos picture img {
    object-fit: contain !important;
    max-width: 80% !important;
    max-height: 80% !important;
}

.mini__photos {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.mini__photos > div {
    width: calc(20% - 1.2rem);
}

.product__description {
    display: flex;
    flex-direction: column;
    padding-left: 43px;
}

.pd__1 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: .5rem;
    padding-bottom: 40px;
    border-bottom: 1px solid #e1e1e1;
}

.pd__1 p {
    margin: 0;
    color: #323232;
    font-size: .75rem;
}

.pd__1 p b {
    font-size: 1rem;
    font-weight: 500 !important;
}

.pd__1 button {
    border: 0;
    background-color: #3A8BEC;
    color: #fff;
    border-radius: 1rem;
    padding: 1rem 1.5rem;
    font-weight: 600;
    line-height: 100%;
}

.pd__1 button:hover {
    background-color: #2E48B9;
}

.pd__2 {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-top: 36px;
}

.pd__2 h2 {
    font-size: 1.5rem;
    font-weight: 400 !important;
    color: #323232;
    margin: 0 0 .5rem 0;
}

.pd__table {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.pd__table > div {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 1rem;
    color: #323232;
    padding: 1rem;
    border-radius: 1rem;
    font-weight: 500;
    justify-content: space-between;
    background-color: #F9F9F9;
}

.pd__table > div > div:last-child {
    font-weight: 600;
}

.pd__table > div:nth-child(2n) {
    background-color: #F0F0F0;
}

.pd__links {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.pd__links a {
    font-size: .75rem;
    color: #323232;
    border-bottom: 1px solid #32323230;
    font-weight: 500;
}

.pd__links a:hover {
    border-color: #323232;
}

.pd__links button {
    background-color: transparent;
    font-size: .75rem;
    font-weight: 600;
    color: #2E48B9;
    padding: 1rem;
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 1rem;
    border: 1px solid #2E48B930;
}

.pd__links button:hover {
    border-color: #2E48B9;
}

.nav {
    margin: 3.5rem 0 2rem 0;
}

.nav {
    gap: 60px;
    border-bottom: 1px solid #e1e1e1;
}

.nav button {
    background-color: transparent;
    font-size: 1rem;
    color: #999;
    font-weight: 600;
    padding: 0 0 1rem 0;
    border: 0;
    border-bottom: 1px solid transparent;
}

.nav button.active {
    color: #323232;
    border-bottom: 1px solid #323232;
}

.tab-pane p {
    font-size: 1rem;
    color: #323232;
    line-height: 160%;
    margin: 0 0 1rem 0;
}

.tab-pane p:last-child {
    margin: 0;
}

.other__products {
    margin-top: 3rem;
    padding-top: 3rem;
    background-color: #F5F5F5;
    border-radius: 2rem;
    width: calc(100% + 1.5rem) !important;
    margin-left: -.75rem !important;
    margin-bottom: -2rem !important;
}

.other__services {
    padding-bottom: 3rem;
}

.other__products .product__card .ratio {
    background-color: #fff;
    border-radius: 1rem;
}

.other__products .product__card .ratio picture {
    border: 0;
}

.carousel__4 .product__card {
    margin-bottom: 0;
}

.service__card__2 .ratio picture {
    border: 0;
    border-radius: 1rem;
    overflow: hidden;
}

.service__card__2 .ratio picture img {
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    transition: .3s all;
}

.service__card__2 .ratio picture:hover img {
    transform: scale(1.1);
}

.service__inner__image {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    align-items: center;
}

.service__inner__image picture {
    position: absolute;
    width: 100%;
    height: 100%;
}

.service__inner__image picture img {
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 1.5rem;
}

.service__inner__image button {
    background-color: transparent;
    font-size: .75rem;
    font-weight: 600;
    color: #2E48B9;
    padding: 1rem 3rem;
    border: 1px solid #2E48B930;
    border-radius: 1rem;
}

.service__inner__image button:hover {
    border-color: #2E48B9;
}

.service__inner__text {
    padding-left: 43px;
}

.service__inner__text p {
    color: #323232;
    font-size: 1rem;
    line-height: 160%;
}

.submenu ul {
    list-style: none;
    margin: 0 0 3rem 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 1rem;
    font-weight: 500;
}

.submenu ul a {
    color: #c1c1c1;
}

.submenu ul a:hover {
    color: #3A8BEC;
}

.submenu .active a {
    font-weight: 600;
    color: #323232;
}

.numbers {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.numbers > div {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    color: #323232;
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 2rem;
    width: 100%;
}

.numbers > div b {
    font-size: 5rem;
    color: #2E48B9;
}

.history__list {
    margin-top: 3rem !important;
}

.history__list .row {
    position: relative;
}

.history__list .row::before {
    content: '';
    position: absolute;
    left: 2.2rem;
    top: 0;
    width: 2px;
    height: 100%;
    border: 1px dashed #2E48B9;
}

.history__list .row:first-child::before {
   margin-top: 4rem;
}

.history__list .row:last-child::before {
   height: 4rem;
}

.history__list h2 {
    font-size: 120px;
    color: #2E48B9;
    font-weight: 500 !important;
    position: relative;
    display: flex;
    align-items: center;
    margin-left: 3.5rem;
}

.history__list h2::before {
    content: '';
    position: absolute;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 100%;
    background-color: #2E48B9;
    margin-left: -3.5rem;
}

.history__text {
    padding: 0 0 80px 43px;
}

.history__text b {
    font-size: 1.5rem;
    font-weight: 500 !important;
    color: #323232;
}

.history__text p {
    font-size: 1rem;
    color: #323232;
    line-height: 150%;
    margin: 1.5rem 0 0 0;
}

.ratio-3x4 {
    --bs-aspect-ratio: calc(4 / 3 * 100%);
}

.cert picture {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 1rem;
    overflow: hidden;
    cursor: pointer;
}

.cert picture img {
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
    transition: .3s all;
}

.cert picture:hover img {
    transform: scale(1.1);
}

.project__inner__image picture {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 1.5rem;
    overflow: hidden;
    cursor: pointer;
}

.project__inner__image picture img {
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
    transition: .3s all;
}

.project__inner__image picture:hover img {
    transform: scale(1.1);
}

.article__text .ratio picture {
    position: absolute;
    width: 100%;
    height: 100%;
}

.article__text .ratio picture img {
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 1rem;
}

.article__text__info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.5rem;
    color: #323232;
    font-size: .75rem;
}

.article__text__info > div {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.article__text__info > div:first-child picture {
    flex-shrink: 0;
}

.article__text p {
    font-size: 1rem;
    color: #323232;
    line-height: 150%;
    margin: 1rem 0 0 0;
}

.other__news h3 {
    font-size: 1rem;
    color: #323232;
    font-weight: 600 !important;
    margin: 0 0 1.5rem 0;
}

.other__news .new__card__text {
    padding: 1rem 0 0 0;
    gap: .5rem;
}

.contacts__block__text__inner,
.contacts__block__text__inner a {
    color: #323232;
}

.contacts__block__inner__text p {
    color: #323232;
    line-height: 160%;
    font-size: 1rem;
}

.contacts__block__inner__text h2 {
    font-size: 1.5rem;
    color: #323232;
    font-weight: 600 !important;
    margin: 0 0 1.5rem 0;
}

@media (min-width: 1440px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        max-width: 1300px;
    }
}

@media (max-width: 1400px) {
    header ul {
        display: none;
    }

    header .col > div > picture:last-child {
        display: block;
    }
}

@media (max-width: 1200px) {
    .benefits__block .col {
        flex-wrap: wrap;
    }
    
    .benefits__block .col a  {
        width: calc(50% - .75rem);
    }

    .pd__links {
        flex-direction: column;
    }
}

@media (max-width: 992px) {
    header p {
        display: none;
    }

    .carousel__2 .owl-nav,
    .carousel__4 .owl-nav {
        align-items: end;
        justify-content: space-between;
    }

    .carousel__2 .owl-nav button,
    .carousel__4 .owl-nav button {
        position: relative !important;
        margin-bottom: -5.5rem !important;
        left: auto !important;
        right: auto !important;
    }

    .contacts__block__text {
        padding-left: 0;
    }

    .sidebar__mobile {
        display: flex;
        margin-bottom: 1.5rem;
    }

    .sidebar {
        display: none;
    }

    #sidebar:checked ~ .sidebar {
        display: block !important;
    }

    #sidebar:checked ~ .sidebar__mobile {
        background-color: #f1f1f1;
    }

    .product__description {
        padding-left: 0;
    }

    .pd__1 {
        margin-top: 40px;
    }

    .service__inner__text {
        padding-left: 0;
    }

    .numbers > div {
        width: 45%;
    }
}

@media (max-width: 768px) {}

@media (max-width: 576px) {
    header button {
        display: none;
    }

    header .col > div {
        gap: 1rem;
    }

    #search {
        height: 210px !important;
    }

    #search form {
        flex-direction: column;
    }

    #search form button {
        width: 100%;
    }

    .slider .item {
        height: 600px;
    }

    .slider .item .container .row .col h1 {
        font-size: 1.5rem;
    }

    .slider .item .container .row .col h2 {
        font-size: 1rem;
    }

    .benefits__card {
        padding: 1rem;
        font-size: .9rem;
        border-radius: 1.5rem;
        height: 140px;
    }

    .benefits__block .col a:last-child {
        width: 100%;
    }

    .block__2 h2 {
        margin-bottom: 2rem;
    }

    .carousel__1 .owl-nav {
        top: auto !important;
        bottom: 0 !important;
    }

    .carousel__1 .owl-nav button {
        position: relative !important;
        margin-bottom: -250px;
    }

    .zag__1 {
        margin-bottom: 2rem;
        justify-content: center;
    }

    .zag__1 hr,
    .zag__1 a {
        display: none;
    }

    .more__block {
        margin-top: 2.1rem !important;
    }

    .more__block hr {
        display: none;
    }

    .more__block a {
        padding: 1rem;
    }

    .carousel__3 .owl-nav {
        top: auto !important;
        bottom: 0 !important;
    }

    .carousel__3 .owl-nav button {
        margin: 0 !important;
        bottom: -5.5rem !important;
    }

    .block__6 form {
        padding: 2rem;
    }

    .block__6 form h2 {
        font-size: 1.7rem;
    }

    .map {
        height: 300px;
        margin-bottom: 1.5rem;
    }

    .inner__header ul {
        font-size: 10px;
    }

    .inner__header h1 {
        font-size: 1.5rem;
    }

    .product__card__title {
        padding: .5rem;
        font-size: .8rem;
    }

    .products__grid {
        padding: 0 .75rem !important;
    }

    .pagination ul {
        margin-left: .75rem;
        margin-right: .75rem;
    }

    .pd__1 {
        flex-direction: column;
        text-align: center;
        gap: 2rem;
    }
    
    .pd__table > div {
        font-size: .75rem;
    }

    .nav {
        gap: 1rem;
        justify-content: space-between;
    }

    .other__services {
        padding-bottom: 1rem;
    }

    .numbers > div b {
        font-size: 3rem;
    }

    .history__list h2 {
        font-size: 5rem;
    }

    .history__list .row:last-child::before {
        height: 3rem;
    }

    .submenu ul {
        white-space: nowrap;
        overflow-x: auto;
        gap: 3rem;
    }

    .history__list {
        margin-top: 0 !important;
    }

    .project__card a div {
        padding: 1.5rem;
        font-size: 1rem;
    }

    .article__text__info {
        padding: .5rem;
    }

    .article__text__info > div:last-child {
        font-size: 0;
    }
}