.top_phone_desc{
	font-size:16px;
	color:#262626
}

.top_phone_mobile{
	display:none
}
@media screen and (max-width: 768px) {
	.top_phone_desc{
		display:none;
	}

	.top_phone_mobile{
		display:inline-block;
	}
}
@media screen and (min-width: 1441px) {
    .header-main:not(.header-fixed) {
        border-color: transparent;
    }
}

.main-banner {
    margin-bottom: 60px;
}

.main-banner-slide {
    position: relative;
    width: 100%;
    background-color: #515151;
    overflow: hidden;
}

.main-banner-background img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.main-banner-background-top {
    object-position: top;
}

.main-banner-wrapper {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
    min-height: 380px;
    z-index: 2;
}

.main-banner-content {
    max-width: 650px;
    padding-top: 50px;
    padding-bottom: 50px;
}

.main-banner-title {
    font-weight: 500;
    font-size: 48px;
    line-height: 110%;
}

.main-banner-text {
    font-size: 16px;
    line-height: 140%;
    margin-top: 16px;
}

.main-banner-button {
    margin-top: 32px;
}

.main-banner-button a {
    display: inline-flex;
    align-items: center;
    height: 52px;
    padding-left: 24px;
    background-color: #262626;
    color: #fff;
    border-radius: 12px;
    font-weight: 500;
    font-size: 16px;
    transition: padding 300ms;
}

.main-banner-button a:hover {
    padding-right: 24px;
}

.main-banner-button a svg {
    flex: none;
    width: 12px;
    opacity: 0;
    margin-left: 12px;
    transition: opacity 300ms;
}

.main-banner-button a:hover svg {
    opacity: 1;
}

.main-banner-nav-wrapper {
    position: relative;
    margin-top: -40px;
    height: 40px;
    text-align: right;
    pointer-events: none;
}

.main-banner-nav {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 0 8px;
    background-color: #fff;
    border-radius: 12px 12px 0 0;
    height: 100%;
    gap: 16px;
    pointer-events: auto;
}

.main-banner-nav:before {
    content: '';
    display: block;
    position: absolute;
    height: 16px;
    width: 1px;
    right: 50%;
    background-color: #E6E6E6;
}

.main-banner-nav span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: #262626;
    transition: color 300ms;
    cursor: pointer;
}

.main-banner-nav span:hover {
    color: #939393;
}

.main-banner-nav svg {
    width: 14px;
    height: auto;
}

.main-banner-nav span.slider-nav-disabled {
    color: #CFCFCF;
}

.main-banner-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    padding: 18px;
    gap: 8px;
}

.main-banner-pagination span {
    width: 8px;
    height: 8px;
    background-color: #E6E6E6;
    border-radius: 50%;
    flex: none;
    transition: background 300ms;
}

.main-banner-pagination .slider-pagination-active {
    background-color: #515151;
}

.main-banner-slider {
    overflow: hidden;
}

@media screen and (min-width: 1441px) {
    .main-banner {
        margin-bottom: 60px;
        max-width: 1440px;
        margin-left: auto;
        margin-right: auto;
    }

    .main-banner-slider {
        position: relative;
        z-index: 1;
        border-radius: 32px;
    }
}

@media screen and (max-width: 1279px) {
    .main-banner {
        margin-bottom: 32px;
    }

    .main-banner-content {
        max-width: 400px;
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .main-banner-wrapper {
        min-height: 374px;
    }

    .main-banner-slide:before {
        position: absolute;
        content: '';
        width: 100%;
        height: 100%;
        inset: 0;
        background: linear-gradient(90deg, rgb(0 0 0 / 30%) 0%, rgba(0, 0, 0, 0) 82.64%);
        z-index: 1;
    }

    .main-banner-title {
        font-size: 42px;
    }

    .main-banner-button {
        margin-top: 24px;
    }

    .main-banner-button a {
        height: 45px;
        padding-left: 20px;
        font-size: 14px;
    }

    .main-banner-pagination {
        padding: 12px;
    }

    .main-banner-pagination span {
        width: 6px;
        height: 6px;
    }
}

@media screen and (max-width: 767px) {
    .main-banner-wrapper {
        min-height: 240px;
    }

    .main-banner-content {
        max-width: 200px;
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .main-banner-title {
        font-size: 22px;
    }

    .main-banner-text {
        font-size: 14px;
        margin-top: 8px;
    }

    .main-banner-button {
        margin: 0p
    }

    .main-banner-button a {
        display: block;
        padding: 0;
        height: 100%;
        width: 100%;
        font-size: 0;
        background-color: transparent;
        color: transparent;
        border-radius: 0;
        position: absolute;
        inset: 0;
    }

    .main-banner-nav-wrapper {
        display: none;
    }
}

.main-gallery-header {
    margin-bottom: 32px;
}

.main-gallery-title {
    font-weight: 500;
    font-size: 42px;
    line-height: 105%;
    color: #262626;
}

.main-gallery-text {
    font-size: 18px;
    line-height: 150%;
    margin-top: 20px;
    max-width: 900px;
}

.main-gallery-tabs {
    margin-bottom: 20px;
}

.main-gallery-slider-container {
    overflow: hidden;
}

.main-gallery-slide {
    width: calc(33.33333% - 8px);
}

.main-gallery-slide:not(:last-child) {
    margin-right: 12px;
}

.main-gallery-photo {
    position: relative;
    height: 0;
    padding-top: 100%;
    margin-bottom: 12px;
    border-radius: 8px;
    overflow: hidden;
    background-color: #f5f5f5;
    transition: border-radius 300ms;
    z-index: 1;
}

.main-gallery-slide a:hover .main-gallery-photo {
    border-radius: 40px;
}

.main-gallery-photo img {
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    object-fit: cover;
}

.main-gallery-photo-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    opacity: 0;
    background-color: rgb(0 0 0 / 50%);
    transition: opacity 300ms;
}

.main-gallery-slide a:hover .main-gallery-photo-arrow {
    opacity: 1;
}

.main-gallery-photo-arrow svg {
    width: 26px;
    height: auto;
}

.main-gallery-content {
    padding-right: 24px;
}

.main-gallery-label {
    font-size: 14px;
    line-height: 140%;
    text-transform: uppercase;
    color: #767676;
    margin-bottom: 4px;
}

.main-gallery-name {
    font-weight: 500;
    font-size: 24px;
    line-height: 120%;
    color: #262626;
}

.main-gallery-description {
    display: -webkit-box;
    font-size: 16px;
    line-height: 140%;
    margin-top: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

.main-gallery-button {
    margin-top: 24px;
    text-align: center;
}

.main-gallery-button a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    height: 44px;
    font-weight: 500;
    font-size: 16px;
    text-transform: uppercase;
    color: #262626;
    transition: color 300ms;
}

.main-gallery-button a:hover {
    color: #939393;
}

.main-gallery-button svg {
    flex: none;
    width: 12px;
    margin-left: 12px;
}

@media screen and (max-width: 1279px) {
    .main-gallery-header {
        margin-bottom: 24px;
    }

    .main-gallery-title {
        font-size: 36px;
    }

    .main-gallery-text {
        font-size: 16px;
        line-height: 140%;
        max-width: 800px;
    }

    .main-gallery-tabs {
        margin-right: 0;
        padding-right: 0;
    }

    .main-gallery-slide {
        min-width: 338px;
    }

    .main-gallery-slider-container {
        margin: 0 -40px;
        padding: 0 40px;
    }

    .main-gallery-label {
        font-size: 12px;
    }

    .main-gallery-name {
        font-size: 20px;
    }

    .main-gallery-description {
        font-size: 14px;
        line-height: 130%;
    }

    .main-gallery-button a {
        font-size: 14px;
    }
}

@media screen and (max-width: 767px) {
    .main-gallery-title {
        font-size: 26px;
    }

    .main-gallery-text {
        margin-top: 12px;
    }

    .main-gallery-tabs {
        margin-bottom: 16px;
    }

    .main-gallery-slider-container {
        margin: 0 -16px;
        padding: 0 16px;
    }

    .main-gallery-slide {
        min-width: 288px;
    }

    .main-gallery-name {
        font-size: 18px;
    }

    .main-gallery-description {
        margin-top: 8px;
    }

    .main-gallery-button {
        margin-top: 16px;
    }

    .main-gallery-button a {
        width: 100%;
    }
}

.main-products {
    margin-top: 60px;
}

.main-products-header {
    margin-bottom: 32px;
}

.main-products-title {
    font-weight: 500;
    font-size: 42px;
    line-height: 105%;
    color: #262626;
}

.main-products-text {
    font-size: 18px;
    line-height: 150%;
    margin-top: 20px;
    max-width: 930px;
}

.main-products-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.main-products-item {
    width: calc(25% - 9px);
}

.main-products-item a {
    position: relative;
    display: block;
    height: 0;
    padding-top: 100%;
    background-color: #F5F7F7;
    border-radius: 20px;
    overflow: hidden;
}

.main-products-name {
    position: absolute;
    font-weight: 500;
    font-size: 18px;
    line-height: 115%;
    color: #262626;
    inset: 20px auto auto 20px;
}

.main-products-img {
    position: absolute;
    object-fit: cover;
    transition: transform 300ms;
}

.main-products-item-full .main-products-img {
    width: 100%;
    height: 100%;
    inset: 0;
}

.main-products-item .main-products-img {
    width: 291px;
    height: 291px;
    inset: auto 0 0 auto;
}

@media screen and (min-width: 1025px) {
    .main-products-item-full a:hover .main-products-img {
        transform: scale(1.05);
    }

    .main-products-item a:hover .main-products-img {
        transform: scale(1.08);
    }
}

.main-products-item-full {
    width: calc(50% - 6px);
}

.main-products-item-full a {
    background-color: #515151;
    position: relative;
    display: block;
    border-radius: 20px;
    overflow: hidden;
    height: 100%;
}

.main-products-item-full .main-products-name {
    color: #fff;
}

@media screen and (max-width: 1279px) {
    .main-products {
        margin-top: 46px;
    }

    .main-products-title {
        font-size: 36px;
    }

    .main-products-text {
        font-size: 16px;
        line-height: 140%;
        max-width: 700px;
    }

    .main-products-header {
        margin-bottom: 24px;
    }

    .main-products-list>div:not(.main-products-item-full) .main-products-img {
        width: 221px;
        height: 221px;
        inset: auto 0 0 auto;
    }
}

@media screen and (max-width: 1023px) {
    .main-products-item-full {
        width: 100%;
        height: 290px;
    }

    .main-products-item {
        width: calc(33.33333% - 8px);
    }

    .main-products-text {
        margin-top: 12px;
    }
}

@media screen and (max-width: 768px) {
    .main-products-item-full {
        position: relative;
        height: 0;
        padding-top: 42.15222%;
    }

    .main-products-item-full a {
        position: absolute;
        width: 100%;
        inset: 0;
    }

    .main-products-name {
        font-size: 16px;
    }

    @media screen and (min-width: 651px) {
        .main-products-item:nth-child(1) {
            width: calc(50% - 6px);
        }

        .main-products-item:nth-child(1) a {
            padding-top: 65.48222%;
        }

        .main-products-item:nth-child(1) img {
            width: 100% !important;
            height: 100% !important;
        }

        .main-products-item:nth-child(2) {
            width: calc(50% - 6px);
        }

        .main-products-item:nth-child(2) a {
            padding-top: 65.48222%;
        }

        .main-products-item:nth-child(2) img {
            width: 100% !important;
            height: 100% !important;
        }
    }
}

@media screen and (max-width: 767px) {
    .main-products {
        margin-top: 32px;
    }

    .main-products-title {
        font-size: 30px;
    }
}

@media screen and (max-width: 650px) {
    .main-products-item-full a {
        border-radius: 16px;
    }

    .main-products-item {
        width: calc(50% - 6px);
    }

    .main-products-item a {
        border-radius: 16px;
    }
}

@media screen and (max-width: 428px) {
    .main-products-item-full {
        padding-top: 50%;
    }

    .main-products-name {
        inset: 12px auto auto 12px;
    }

    .main-products-list>div:not(.main-products-item-full) .main-products-img {
        width: 100%;
        height: 100%;
    }
}

.main-features {
    position: relative;
    margin-top: 80px;
    padding: 100px 0;
    background-color: #010101;
    overflow: hidden;
}

.main-features-background {
    position: absolute;
    width: 1690px;
    height: auto;
    left: 50%;
    top: 0;
    transform: translatex(-50%);
}

.main-features-wrapper {
    position: relative;
}

.main-features-title {
    font-weight: 500;
    font-size: 42px;
    line-height: 105%;
    margin-bottom: 160px;
    color: #fff;
}

.main-features-pagination {
    display: none;
}

.main-features-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    margin-bottom: 20px;
}

.main-features-icon img {
    height: auto;
}

.main-features-icon-1 img {
    width: 66px;
}

.main-features-icon-2 img {
    width: 68px;
}

.main-features-icon-3 img {
    width: 72px;
}

.main-features-icon-4 img {
    width: 73px;
}

.main-features-icon-5 img {
    width: 74px;
}

.main-features-icon-6 img {
    width: 75px;
}

.main-features-name {
    font-weight: 500;
    font-size: 24px;
    line-height: 120%;
    color: #fff;
}

.main-features-description {
    font-size: 16px;
    line-height: 140%;
    color: #fff;
    margin-top: 16px;
}

@media screen and (min-width: 768px) {
    .main-features-slider-wrapper {
        flex-wrap: wrap;
        gap: 56px 20px;
        cursor: default;
    }

    .main-features-slide {
        width: calc(33.33333% - 14px);
    }
}

@media screen and (min-width: 1441px) {
    .main-features {
        max-width: 1440px;
        margin-left: auto;
        margin-right: auto;
        border-radius: 32px;
    }
}

@media screen and (max-width: 1279px) {
    .main-features {
        margin-top: 60px;
        padding: 64px 0;
    }

    .main-features-name {
        font-size: 20px;
    }

    .main-features-description {
        font-size: 14px;
        line-height: 130%;
    }
}

@media screen and (max-width: 1023px) {
    .main-features-slider-wrapper {
        column-gap: 24px;
    }

    .main-features-slide {
        width: calc(50% - 12px);
    }
}

@media screen and (max-width: 768px) {
    .main-features-background {
        width: 768px;
    }

    .main-features-title {
        margin-bottom: 94px;
    }
}

@media screen and (max-width: 767px) {
    .main-features {
        margin-top: 40px;
        padding-bottom: 32px;
    }

    .main-features-slider-wrapper {
        gap: 0;
    }

    .main-features-name {
        font-size: 18px;
    }

    .main-features-slide {
        min-width: auto;
        width: 100%;
    }

    .main-features-slide:not(:last-child) {
        margin-right: 24px;
    }

    .main-features-title {
        font-size: 26px;
    }

    .main-features-description {
        padding-right: 50px;
    }

    .main-features-pagination {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        padding: 12px;
        margin-top: 40px;
        gap: 8px;
    }

    .main-features-pagination span {
        width: 6px;
        height: 6px;
        background-color: #515151;
        border-radius: 50%;
        flex: none;
        transition: background 300ms;
    }

    .main-features-pagination .slider-pagination-active {
        background-color: #CFCFCF;
    }
}

@media screen and (max-width: 428px) {
    .main-features-background {
        width: 100%;
        left: 0;
        transform: none;
    }

    .main-features-title {
        margin-bottom: 40px;
    }

    .main-features-description {
        padding-right: 0;
    }
}

.main-about {
    margin-top: 80px;
}

.main-about-columns {
    display: flex;
    align-items: center;
    gap: 80px;
}

.main-about-photo {
    flex: none;
}

.main-about-photo span {
    display: inline-block;
    width: 470px;
}

.main-about-photo picture {
    position: relative;
    height: 0;
    padding-top: 100%;
    border-radius: 24px;
    overflow: hidden;
    background-color: #f5f5f5;
}

.main-about-photo img {
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    object-fit: cover;
}

.main-about-content {
    flex: 1;
}

.main-about-title {
    font-weight: 500;
    font-size: 42px;
    line-height: 105%;
    color: #262626;
}

.main-about-text {
    font-size: 16px;
    line-height: 140%;
    margin-top: 24px;
}

.main-about-text p:not(:last-child) {
    margin-bottom: 18px;
}

.main-about-statics {
    display: flex;
    margin-top: 60px;
    gap: 20px;
}

.main-about-static {
    flex: 1;
}

.main-about-static-title {
    font-weight: 500;
    font-size: 24px;
    line-height: 120%;
    color: #262626;
}

.main-about-static-text {
    font-size: 16px;
    line-height: 140%;
    margin-top: 20px;
    max-width: 280px;
}

@media screen and (max-width: 1279px) {
    .main-about {
        margin-top: 60px;
    }

    .main-about-columns {
        gap: 24px;
    }

    .main-about-photo span {
        width: 334px;
    }

    .main-about-title {
        font-size: 36px;
    }

    .main-about-text {
        font-size: 14px;
        line-height: 130%;
    }

    .main-about-content {
        padding-right: 50px;
    }

    .main-about-statics {
        margin-top: 32px;
    }

    .main-about-static-title {
        font-size: 20px;
    }

    .main-about-static-text {
        font-size: 14px;
        line-height: 130%;
        margin-top: 12px;
        max-width: 250px;
    }
}

@media screen and (max-width: 1024px) {
    .main-about-content {
        padding-right: 0px;
    }
}

@media screen and (max-width: 767px) {
    .main-about {
        margin-top: 32px;
    }

    .main-about-columns {
        flex-direction: column;
    }

    .main-about-photo {
        width: 100%;
    }

    .main-about-photo span {
        width: 100%;
    }

    .main-about-photo picture {
        padding-top: 0;
        height: 288px;
    }

    .main-about-title {
        font-size: 26px;
    }

    .main-about-text {
        margin-top: 12px;
    }

    .main-about-statics {
        flex-direction: column;
    }
}

.main-blog {
    margin-top: 80px;
}

.main-blog-title {
    font-weight: 500;
    font-size: 42px;
    line-height: 105%;
    margin-bottom: 40px;
    color: #262626;
}

.main-blog-columns {
    display: flex;
    gap: 12px;
    height: 420px;
}

.main-blog-content {
    position: absolute;
    z-index: 1;
}

.main-blog-column-big {
    display: flex;
    flex: 1;
}

.main-blog-column-big a {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    background-color: #515151;
    flex: 1;
    z-index: 1;
}

.main-blog-column-big img,
.main-blog-column img {
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    object-fit: cover;
    transition: transform 300ms;
}

.main-blog-column-big a:hover img {
    transform: scale(1.05);
}

.main-blog-column-big a:before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    z-index: 1;
    background: linear-gradient(359.53deg, #000000 0.4%, rgba(0, 0, 0, 0) 64.4%);
    opacity: 0.7;
}

.main-blog-column-big .main-blog-content {
    inset: auto 32px 32px 32px;
    max-width: 400px;
}

.main-blog-column-big .main-blog-date {
    font-size: 16px;
    line-height: 140%;
    margin-bottom: 8px;
    color: #e5e5e5;
}

.main-blog-column-big .main-blog-name {
    font-weight: 500;
    font-size: 24px;
    line-height: 120%;
    color: #fff;
}

.main-blog-column {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 400px;
    flex: none;
}

.main-blog-column a {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    background-color: #515151;
    flex: 1;
    z-index: 1;
}

.main-blog-column a:before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    z-index: 1;
    background: linear-gradient(357.14deg, #000000 2.32%, rgba(0, 0, 0, 0) 77.8%);
}

.main-blog-column a:hover img {
    transform: scale(1.1);
}

.main-blog-column .main-blog-content {
    inset: auto 20px 20px 20px;
}

.main-blog-column .main-blog-date {
    font-size: 14px;
    line-height: 135%;
    margin-bottom: 8px;
    color: #e5e5e5;
}

.main-blog-column .main-blog-name {
    font-weight: 500;
    font-size: 18px;
    line-height: 115%;
    color: #fff;
}

.main-blog-button {
    margin-top: 24px;
    text-align: center;
}

.main-blog-button a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    height: 44px;
    font-weight: 500;
    font-size: 16px;
    text-transform: uppercase;
    color: #262626;
    transition: color 300ms;
}

.main-blog-button a:hover {
    color: #939393;
}

.main-blog-button svg {
    flex: none;
    width: 12px;
    margin-left: 12px;
}

@media screen and (max-width: 1279px) {
    .main-blog {
        margin-top: 60px;
    }

    .main-blog-title {
        font-size: 36px;
        margin-bottom: 32px;
    }

    .main-blog-column-big .main-blog-content {
        inset: auto 20px 20px 20px;
    }

    .main-blog-column-big .main-blog-name {
        font-size: 18px;
        line-height: 115%;
    }

    .main-blog-column-big .main-blog-date {
        font-size: 14px;
        line-height: 130%;
        margin-bottom: 4px;
    }

    .main-blog-column .main-blog-date {
        line-height: 130%;
        margin-bottom: 4px;
    }

    .main-blog-button a {
        font-size: 14px;
    }
}

@media screen and (max-width: 1023px) {
    .main-blog-column {
        flex: 1;
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    .main-blog {
        margin-top: 40px;
    }

    .main-blog-title {
        font-size: 28px;
        margin-bottom: 24px;
    }

    .main-blog-columns {
        flex-direction: column;
        height: auto;
    }

    .main-blog-column-big .main-blog-content {
        inset: auto 16px 16px 16px;
        max-width: 300px;
    }

    .main-blog-column-big a {
        height: 180px;
    }

    .main-blog-column-big a:hover img {
        transform: scale(1.1);
    }

    .main-blog-column-big .main-blog-name {
        font-size: 16px;
    }

    .main-blog-column .main-blog-content {
        inset: auto 16px 16px 16px;
        max-width: 300px;
    }

    .main-blog-column a {
        height: 180px;
        flex: none;
    }

    .main-blog-column .main-blog-name {
        font-size: 16px;
    }

    .main-blog-button {
        margin-top: 16px;
    }

    .main-blog-button a {
        width: 100%;
    }
}

.main-contact {
    position: relative;
    padding: 80px 0 40px;
    margin-top: 80px;
    background-color: #F5F7F7;
    min-height: 540px;
    overflow: hidden;
}

.main-contact-title {
    font-weight: 500;
    font-size: 44px;
    line-height: 46px;
    margin-bottom: 42px;
    color: #262626;
}

.main-contact-links {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.main-contact-link a {
    font-weight: 500;
    font-size: 24px;
    color: #262626;
    transition: color 300ms;
}

.main-contact-link a:hover {
    color: #939393;
}

.main-contact-address {
    margin-top: 42px;
    font-size: 16px;
    line-height: 140%;
    max-width: 356px;
}

.main-contact-socials {
    display: flex;
    flex-wrap: wrap;
    margin-top: 40px;
    gap: 12px;
}

.main-contact-socials-group {
    display: flex;
    gap: 12px;
}

.main-contact-social {
    flex: none;
}

.main-contact-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    transition: opacity 300ms;
}

.main-contact-social a:hover {
    opacity: 0.7;
}

.main-contact-map {
    background-color: #fff;
    position: absolute;
    inset: 0 0 0 auto;
    width: 50vw;
}

.main-contact-map-loader {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    inset: 0;
}

@media screen and (max-width: 1279px) {
    .main-contact {
        padding: 64px 0 64px;
        margin-top: 60px;
        min-height: 300px;
    }

    .main-contact-title {
        font-size: 36px;
        line-height: 105%;
        margin-bottom: 20px;
    }

    .main-contact-links {
        gap: 12px;
    }

    .main-contact-link a {
        font-size: 20px;
    }

    .main-contact-address {
        margin-top: 20px;
        font-size: 14px;
        line-height: 130%;
        max-width: 320px;
    }

    .main-contact-socials {
        margin-top: 20px;
    }
}

@media screen and (max-width: 1024px) {
    .main-contact-map {
        position: relative;
        width: 100%;
        height: 300px;
    }

    .main-contact {
        padding: 0;
        min-height: auto;
    }

    .main-contact-content {
        padding: 64px 0;
    }
}

@media screen and (max-width: 767px) {
    .main-contact {
        margin-top: 32px;
    }

    .main-contact-content {
        padding: 54px 0;
    }

    .main-contact-title {
        font-size: 26px;
        margin-bottom: 12px;
    }

    .main-contact-link a {
        font-size: 18px;
    }

    .main-contact-map {
        height: 270px;
    }
}

@media screen and (max-width: 428px) {
    .main-contact-socials {
        gap: 8px;
    }

    .main-contact-socials-group {
        gap: 8px;
    }
}