.blog {
padding-bottom: 40px;
}
.blog h1 {
color: var(--color-black);
margin-bottom: 20px;
}
.blog__intro {
max-width: 760px;
font-size: 16px;
line-height: 1.5;
color: var(--color-black);
margin-bottom: 28px;
}
.blog__intro a {
color: var(--color-first);
text-decoration: none;
}
.blog__intro a:hover {
text-decoration: underline;
}
.blog__empty {
font-size: 16px;
color: var(--color-black);
opacity: 0.7;
margin: 40px 0;
} .blog-rubrics {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-bottom: 36px;
}
.blog-rubrics__item {
display: inline-flex;
align-items: center;
padding: 10px 18px;
border: 1px solid #d9d9e3;
border-radius: 100px;
background: var(--bg-white);
font-size: 14px;
font-weight: 600;
line-height: 1;
color: var(--color-black);
text-decoration: none;
transition: border-color 0.2s, color 0.2s, background 0.2s;
}
a.blog-rubrics__item:hover {
border-color: var(--color-first);
color: var(--color-first);
}
.blog-rubrics__item.is-current {
background: var(--color-first);
border-color: var(--color-first);
color: #fff;
} .blog-search {
display: flex;
gap: 10px;
max-width: 560px;
margin: 0 0 36px;
} .blog-search input.blog-search__input {
flex: 1 1 auto;
min-width: 0;
width: auto;
height: 48px;
padding: 0 18px;
border: 1px solid #d9d9e3;
border-radius: 100px;
background: var(--bg-white);
font-size: 15px;
line-height: normal;
color: var(--color-black);
}
.blog-search input.blog-search__input:focus,
.blog-search input.blog-search__input:focus-visible {
outline: none;
border-color: var(--color-first);
}
.blog-search__btn {
flex: 0 0 auto;
height: 48px;
padding: 0 26px;
border: none;
border-radius: 100px;
background: var(--color-first);
color: #fff;
font-size: 15px;
font-weight: 600;
cursor: pointer;
transition: background 0.2s;
}
.blog-search__btn:hover {
background: #b52424;
}
.blog-search__count {
font-size: 14px;
color: #8188a5;
margin: 0 0 20px;
} .blog-tag-archive__label {
font-size: 13px;
font-weight: 700;
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--color-first);
margin: 0 0 6px;
}
.blog-tag-archive__title {
color: var(--color-black);
margin: 0 0 20px;
}  .blog__grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}
.blog-card {
min-width: 0;
}
.blog-card__link {
display: flex;
flex-direction: column;
height: 100%;
background: var(--bg-white);
border: 1px solid #e6e6e6;
border-radius: 24px;
overflow: hidden;
text-decoration: none;
color: var(--color-black); box-shadow: 0 -5px 40px -1px rgba(79, 79, 79, 0.05), 0 30px 30px -15px rgba(79, 79, 79, 0.07);
transition: box-shadow 0.25s ease, border-color 0.25s ease;
}
.blog-card__link:hover {
border-color: #d5d5dd;
box-shadow: 0 -5px 40px -1px rgba(79, 79, 79, 0.08), 0 30px 34px -15px rgba(79, 79, 79, 0.12);
} .blog-card__img {
border-bottom: 1px solid #ececf2;
}
.blog-card__img {
aspect-ratio: 1200 / 630;
overflow: hidden;
background: #eef0f6;
}
.blog-card__img img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.blog-card__img-fallback {
display: block;
width: 100%;
height: 100%;
background: linear-gradient(135deg, #f2f3f8 0%, #e4e7f2 100%);
}
.blog-card__body {
display: flex;
flex-direction: column;
flex-grow: 1;
padding: 20px 24px 24px;
}
.blog-card__meta {
margin-bottom: 10px;
}
.blog-card__rubric {
display: inline-block;
font-size: 12px;
font-weight: 700;
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--color-first);
}
.blog-card__title {
font-size: 18px;
font-weight: 700;
line-height: 1.3;
color: var(--color-black);
margin: 0 0 10px;
}
.blog-card__descr {
font-size: 14px;
line-height: 1.5;
color: #4a4f6e;
margin: 0 0 16px;
}
.blog-card__bottom {
display: flex;
align-items: center;
gap: 8px;
margin-top: auto;
font-size: 13px;
color: #8188a5;
} .blog-pagination {
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
gap: 8px;
margin: 48px 0 8px;
}
.blog-pagination__num,
.blog-pagination__arrow {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 44px;
height: 44px;
padding: 0 14px;
border: 1px solid #d9d9e3;
border-radius: 10px;
font-weight: 600;
font-size: 16px;
line-height: 1;
color: inherit;
text-decoration: none;
transition: border-color 0.2s, color 0.2s, background 0.2s;
}
a.blog-pagination__num:hover,
a.blog-pagination__arrow:hover {
border-color: var(--color-first);
color: var(--color-first);
}
.blog-pagination__num.is-current {
background: var(--color-first);
border-color: var(--color-first);
color: #fff;
}
.blog-pagination__status {
margin: 0 0 8px;
text-align: center;
font-size: 14px;
opacity: 0.6;
} .blog-article {
padding-bottom: 20px;
} .blog-article__header {
margin-bottom: 28px;
}
.blog-article__rubric {
display: inline-block;
font-size: 13px;
font-weight: 700;
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--color-first);
text-decoration: none;
margin-bottom: 14px;
}
.blog-article__rubric:hover {
text-decoration: underline;
}
.blog-article__title {
color: var(--color-black);
margin: 0 0 16px;
}
.blog-article__meta {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 8px;
font-size: 14px;
color: #8188a5;
}
.blog-article__meta time {
color: #4a4f6e;
} .blog-article__layout {
display: grid; grid-template-columns: 350px minmax(0, 1fr);
gap: 40px;
align-items: start;
}
.blog-article__layout--no-toc {
grid-template-columns: 1fr;
}
.blog-article__aside {
position: sticky;
top: 90px;
max-height: calc(100vh - 110px);
overflow-y: auto;
}
.blog-article__main {
min-width: 0;
} .blog-toc {
background: var(--bg-white);
border: 1px solid var(--color-border-gray);
border-radius: 16px;
padding: 24px 28px;
margin-bottom: 32px;
}
.blog-toc--sidebar {
margin-bottom: 0;
} .blog-toc__item.is-current > a {
color: var(--color-first);
}
.blog-toc__item > a {
transition: color 0.2s ease;
}
.blog-toc__title {
font-size: 16px;
font-weight: 700;
color: var(--color-black);
margin: 0 0 12px;
}
.blog-toc__list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 8px;
counter-reset: toc;
}
.blog-toc__item a {
font-size: 15px;
line-height: 1.4;
color: var(--color-black);
text-decoration: none;
}
.blog-toc__item a:hover {
color: var(--color-first);
}
.blog-toc__item--l2 {
counter-increment: toc; counter-reset: tocsub;
}
.blog-toc__item--l2 a::before {
content: counter(toc) ". ";
font-weight: 600;
color: var(--color-first);
}
.blog-toc__item--l3 {
padding-left: 20px;
counter-increment: tocsub;
}
.blog-toc__item--l3 a {
font-size: 14px;
color: var(--color-black);
}
.blog-toc__item--l3 a::before {
content: counter(toc) "." counter(tocsub) " ";
font-weight: 600;
color: var(--color-first);
} .blog-article__content h2[id],
.blog-article__content h3[id] {
scroll-margin-top: 90px;
} .blog-article__content {
font-size: 16px;
} .blog-article__content h2 {
font-size: 30px;
margin-top: 56px;
margin-bottom: 20px;
}
.blog-article__content h3 {
font-size: 19px;
font-weight: 600;
margin-top: 32px;
margin-bottom: 12px;
}
.blog-article__content > h2:first-child {
margin-top: 0;
}
.blog-article__content img {
max-width: 100%;
height: auto;
border-radius: 16px;
}
.blog-article__content blockquote {
margin: 24px 0;
padding: 16px 24px;
border-left: 3px solid var(--color-first);
background: var(--bg-white);
border-radius: 0 12px 12px 0;
} .blog-article__content table {
width: 100%;
border-collapse: collapse;
margin: 24px 0;
font-size: 15px;
border-radius: 12px;
overflow: hidden;
}
.blog-article__content th,
.blog-article__content td {
border: 1px solid #e6e6ee;
padding: 12px 16px;
text-align: left;
vertical-align: top;
line-height: 1.45;
}
.blog-article__content thead th {
background: #f4f5f9;
color: var(--color-black);
font-weight: 700;
}
.blog-article__content tbody tr:nth-child(even) {
background: #fafafb;
}
@media (max-width: 767px) {
.blog-article__content table {
font-size: 13px;
}
.blog-article__content th,
.blog-article__content td {
padding: 9px 11px;
}
} .blog-form {
margin: 32px 0;
} @media (min-width: 1100px) {
.blog-article__layout:not(.blog-article__layout--no-toc) .blog-form .row--contacts {
flex-wrap: wrap;
}
.blog-article__layout:not(.blog-article__layout--no-toc) .blog-form .row--contacts .col {
flex: 1 1 100%;
width: 100%;
max-width: 100%;
}
}
.blog-form .project-form__wrapper {
padding: 24px 28px; border-radius: 16px;
}
.blog-form.project-form,
.blog-form .project-form__wrapper {
border-radius: 16px;
overflow: hidden;
} .blog-form .row--contacts .col,
.blog-form .form_input_wrap {
margin-bottom: 12px;
}
.blog-form .form_input_wrap input:not(.wpcf7-submit),
.blog-form input[type="text"],
.blog-form input[type="tel"],
.blog-form input[type="email"] {
padding-top: 11px;
padding-bottom: 11px;
}
.blog-form .form_input_wrap textarea,
.blog-form textarea { height: 84px !important;
min-height: 84px !important;
padding-top: 12px;
padding-bottom: 12px;
}
.blog-form .contact-method-wrap {
margin-top: 12px !important;
margin-bottom: 10px !important;
}
.blog-form .messengers-grid label {
padding: 8px 12px !important;
}
.blog-form input[type="submit"],
.blog-form button[type="submit"] {
margin-top: 10px;
padding-top: 12px;
padding-bottom: 12px;
}
.blog-form .descr {
margin-bottom: 14px;
}
.blog-form__title {
margin-top: 0;
} .blog-article__content .blog-form h2 {
margin-top: 0;
} .blog-related {
padding: 20px 0 50px;
}
.blog-related__title {
color: var(--color-black);
margin-bottom: 24px;
} @media (max-width: 1099px) {
.blog__grid {
grid-template-columns: repeat(2, 1fr);
} .blog-article__layout {
grid-template-columns: 1fr;
gap: 0;
}
.blog-article__aside {
position: static;
max-height: none;
overflow: visible;
margin-bottom: 28px;
}
}
@media (max-width: 767px) {
.blog__grid {
grid-template-columns: 1fr;
gap: 16px;
}
.blog-card__body {
padding: 16px 18px 20px;
}
.blog-rubrics {
gap: 8px;
margin-bottom: 28px;
}
.blog-rubrics__item {
padding: 9px 14px;
font-size: 13px;
}
.blog-toc {
padding: 18px 20px;
}
.blog-form .project-form__wrapper {
padding: 24px 18px;
}
.blog-article__content h2 {
font-size: 24px;
margin-top: 40px;
}
.blog-article__content h3 {
font-size: 17px;
margin-top: 26px;
}
} .blog-table-wrap {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
margin: 20px 0;
}
.blog-table-wrap .blog-article__content table,
.blog-table-wrap table {
min-width: 560px;
margin: 0;
}