/* Переменные для удобного внесения изменений при необходимости */
:root {
    --color-white: #fff; /* Белый цвет */
    --color-black: #222; /* Черный цвет */
    --color-dark-blue: #0d41e1; /* Синий цвет */
    --color-blue: #00c9fc; /* Голубой цвет */
    --color-dark-grey: #9b9b9b; /* Серый цвет для хлебных крошек */
    --color-light-grey: #F5F5F5; /* Светло-серый цвет */
}

/* Кастомизация скроллбара */
html {
    scrollbar-color: var(--color-dark-blue) #f1f1f1;
}

/* Выделение текста на всём сайте */
html::-moz-selection {
    background: var(--color-blue);
    color: var(--color-white);
}

html::selection {
    background: var(--color-blue);
    color: var(--color-white);
}

/* Выделение текста тегами */
b, strong {
    font-weight: 600 !important;
}

/* Отступ слова в заголовке для декор. стрелки на первом экране главной страницы */
@media (min-width: 1440px) {
    .my-h1-main-page h1 > span {
        padding-left: 86px !important;
    }
}

@media (min-width: 1200px) and (max-width: 1439px) {
    .my-h1-main-page h1 > span {
        padding-left: 84px !important;
    }
}

@media (min-width: 960px) and (max-width: 1199px) {
    .my-h1-main-page h1 > span {
        padding-left: 60px !important;
    }
}

@media (min-width: 640px) and (max-width: 959px) {
    .my-h1-main-page h1 > span {
        padding-left: 56px !important;
    }
}

@media (min-width: 480px) and (max-width: 639px) {
    .my-h1-main-page h1 > span {
        padding-left: 50px !important;
    }
}

@media (max-width: 479px) {
    .my-h1-main-page h1 > span {
        padding-left: 46px !important;
    }
}

/* Отступы между блоками для удобного массового изменения */
@media (min-width: 1440px) {
    .my-margin-between-blocks {
        height: 130px;
    }
    .my-margin-between-blocks-2 {
        height: 80px;
    }
}

@media (min-width: 1200px) and (max-width: 1439px) {
    .my-margin-between-blocks {
        height: 120px;
    }
    .my-margin-between-blocks-2 {
        height: 80px;
    }
}

@media (min-width: 960px) and (max-width: 1199px) {
    .my-margin-between-blocks {
        height: 100px;
    }
    .my-margin-between-blocks-2 {
        height: 50px;
    }
}

@media (min-width: 640px) and (max-width: 959px) {
    .my-margin-between-blocks {
        height: 80px;
    }
    .my-margin-between-blocks-2 {
        height: 60px;
    }
}

@media (min-width: 480px) and (max-width: 639px) {
    .my-margin-between-blocks {
        height: 80px;
    }
    .my-margin-between-blocks-2 {
        height: 60px;
    }
}

@media (max-width: 439px) {
    .my-margin-between-blocks {
        height: 80px;
    }
    .my-margin-between-blocks-2 {
        height: 60px;
    }
}

/* Ссылки в шапке и подвале */
header a svg:hover,
header a img:hover,
footer a svg:hover,
footer a img:hover {
    opacity: 0.7 !important;
    transition: all 0.2s !important;
}

/* Flash эффект на кнопке */
.my-autoflash {
    position: relative;
    overflow: hidden;
}
.my-flash {
    position: absolute;
    top: 0; left: -40px;
    width: 30px;
    height: 100%;
    background: rgba(255,255,255,0.15);
    transform: skewX(-45deg);
    animation: my-flash-move 3.5s ease-in-out infinite;
}
@keyframes my-flash-move {
      30%, 100% { left: 150%; }
}

/* Текстовые ссылки на странице */
div[data-elem-type="text"] a:not(footer a):not(.my-services-link a):not(.my-case-listing-title a):not(.uc-sitemap a):not(.my-mail-in-header *):not(.my-nav-header a) {
    border-bottom: 2px solid !important;
}

div[data-elem-type="text"] a:hover:not(.my-more-info-2 a):not(.my-case-listing-title a):not(.uc-sitemap a):not(.my-slide-element a) {
    color: var(--color-dark-blue) !important;
    border-bottom: 2px solid !important;
}

.my-more-info-2 a:hover,
.my-slide-element a:hover {
    color: var(--color-blue) !important;
    border-bottom: 2px solid var(--color-blue) !important;
}

.my-nav-header a:hover,
.my-mail-in-header a:hover,
.my-case-listing-title a:hover,
footer div[data-elem-type="text"] a:hover,
.uc-sitemap a:hover {
    color: var(--color-dark-blue) !important;
}

/* Кликабельные изображения, плашки услуг и крестик попап окна услуг */
.my-img-link a:hover,
.my-services-link:hover,
a[href="#closepopup"]:hover {
    opacity: 0.75 !important;
    transition: all 0.2s !important;
}

/* Дополнительные стили для меню бургера */
.uc-header_burger .t450__logowrapper {
    margin-top: 30px !important;
    margin-bottom: 35px !important;
}
@media (max-width: 640px) {
    .uc-header_burger .t450__container {
        padding: 42px 40px 25px !important;
    }
}

/* Класс для отмены переноса части слова на новую строку*/
.my-no-break-1 {
  white-space: nowrap !important;
}
.my-no-break-2 {
  display: inline-block !important;
}

/* Убираем серый цвет заливки на элементах слайдера */
.uc-slide .my-slide-element .tn-atom {
    background-color: unset !important;
}

/* Кнопка "Показать ещё" в блоке с проектами*/
.uc-block-show-more-1 {
    display:none;
}
.uc-btn-show-more-1 .my-show-more {
    cursor: pointer !important;
}

/* Маркированные списки */
ul li::marker {
    color: var(--color-dark-blue) !important;
}
ol li::marker {
    color: var(--color-dark-blue) !important;
    font-weight: 600 !important;
}

/* Контактная форма в отдельном блоке */
.form-discuss-idea-project button {
    margin-right: 0 !important;
}

/* Контактные формы в popup */
@media (min-width: 561px) {
    .uc-contact-form .t-submit {
        width: 220px !important;
        height: 46px !important;
    }
    .uc-contact-form .t-form__submit {
        text-align: left !important;
    }
}

@media (min-width: 640px) {
    .uc-contact-form .t702 .t702__wrapper {
        padding: 40px 60px 50px !important;
    }
}
@media (min-width: 561px) and (max-width: 639px) {
    .uc-contact-form .t702 .t702__wrapper {
        padding: 40px 50px 50px !important;
    }
}

/* Ошибки при заполнении полей контактных форм */
#allrecords .js-error-control-box input,
#allrecords .js-error-control-box textarea,
#allrecords .js-error-control-box label,
#allrecords .js-error-control-box .t-checkbox__control {
    border: 2px solid var(--color-blue) !important;
    border-radius: 6px !important;
}

#allrecords .t-input-error {
    color: var(--color-blue) !important;
}

#rec987180561 .js-error-control-box input,
#rec987180561 .js-error-control-box textarea,
#rec987180561 .js-error-control-box .t-checkbox__control:before {
    border: 2px solid red !important;
}

#rec987180561 .js-error-control-box .t-checkbox__control:before {
    border-radius: 6px !important;
}

#rec987180561 .t-input-error {
    color: red !important;
}

/* Изображения в контактной форме */
@media (max-width: 959px) {
    .my-contact-form-phones,
    .my-contact-form-pattern {
        display: none; !important;
    }
}

/* Уведомление о куки */
@media (max-width: 480px) {
    .uc-cookie-notice .t887 {
        width: 70% !important;
    }
}

/* Дополнительные стили для виджета заказа звонка */
.uc-callback .t708 .t708__wrapper {
    max-height: 75vh !important;
}

.uc-callback .t708 .t708__bottom-text>div {
    font-size: 12px !important;
    line-height: 16px !important;
}

/* Кнопка "Наверх" */
.uc-scroll-to-top button {
    border: 1px solid var(--color-black);
}

/* Скругление фреймов */
iframe {
    border-radius: 10px !important;
}

/* Корректировка оступов и размеров стандартных блоков */
    /* Все стандартные блоки */
    @media (min-width: 1440px) {
        .t-container {
            max-width: 1254px !important;
            justify-content: flex-end !important;
            align-items: stretch !important;
        }
    }

    /* Аккордеон на главной */
    @media (min-width: 1440px) {
        .t585 .t-col {
            margin: 0 !important;
            width: 934px !important;
        }
        .t585 .t-col_9 {
            max-width: 100% !important;
        }
        .t585 .t-prefix_3 {
            padding-left: 0 !important;
        }
    }
    @media (min-width: 480px) and (max-width: 639px) {
        .t-container {
            width: 458px !important;
        }
        .t-col {
            padding-left: 0 !important;
            padding-right: 0 !important;
        }
    }

    /* Таблица в политике конфиденциальности */
    @media (min-width: 1440px) {
        .uc-table .t-col {
            margin-left: 0 !important;
            margin-right: 0 !important;
            width: 100% !important;
            max-width: 100% !important;
        }
    }

/* Убираем скроллбар для блоков "Преимущества" и "Цикл разработки" */
.uc-advantages .t396__artboard::-webkit-scrollbar,
.uc-prod-cycle .t396__artboard::-webkit-scrollbar {
    height: 0 !important;
    display: none !important;
}

.uc-advantages .t396__artboard,
.uc-prod-cycle .t396__artboard {
    scrollbar-width: none !important;
}

/* Выделение активного пункта меню
* Скрипт подключен в подвале сайта
*/
a.active {
    color: var(--color-dark-blue) !important;
    transition: all 0.2s !important;
}

/* Хлебные крошки */
.custom-breadcrumbs .custom-breadcrumbs-divider {
    padding-left: 6px !important;
    padding-right: 6px !important;
    color: var(--color-dark-grey) !important;
}

.custom-breadcrumbs .custom-breadcrumbs-last {
    color: var(--color-dark-grey) !important;
}