/* ============================================
   Глобальные стили
   ============================================ */
:focus {
    outline-style: none;
    outline-width: 0px !important;
    outline-color: none !important;
}

/*Удаляем нижний отступ абзацев*/
.remove_margin p {
    margin-bottom: 0;
}

/*Стрелки в каруселях*/
.jet-listing-grid__slider-icon {
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}

/*Отступ декаративных заголовков*/
.bg-heading {
    margin-top: -45px;
    font-weight: 900;
}

/*Отступы внутри контейнера*/
.pds {
    padding: 100px 10px;
}

/*Отступы секций*/
.ms {
    margin-top: 100px;
}

/*Плавный эффект в инпутах*/
[placeholder]:focus::-webkit-input-placeholder {
    -webkit-transition: opacity 0.5s 0.5s ease;
    transition: opacity 0.5s 0.5s ease;
    opacity: 0;
}

/* Цвет Placaceholder */
input.elementor-field::placeholder {
    opacity: 0.7 !important;
  }


/*Текстовый редактор*/
.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol,
.jet-listing.jet-listing-dynamic-field.display-inline ul,
.jet-listing.jet-listing-dynamic-field.display-inline ol {
    margin-bottom: 15px;
}

.elementor-widget-text-editor a {
    border-bottom: 2px solid;
}

.accent {
    color: var(--e-global-color-accent);
}

/*Цифры в кругах*/
.number_stage {
    background: var(--e-global-color-primary);
    display: flex;
    width: 60px;
    height: 60px;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    color: #fff;
    font-size: 40px;
    font-weight: 600;
    margin-bottom: 10px;
}


/*Поворот иконки закрыть при наведении*/
.dialog-close-button svg {
    transition: all 0.5s ease;
}

.dialog-close-button svg:hover {
    transform: rotate(90deg);
}


/*Плавное исчезнование placeholder*/
[placeholder]:focus::-webkit-input-placeholder {
    -webkit-transition: opacity 0.5s 0.5s ease;
    transition: opacity 0.5s 0.5s ease;
    opacity: 0;
}

/* Общие стили для чекбоксов и радио */

/* Базовые стили для чекбоксов и радио */
form.elementor-form input[type="checkbox"],
form.elementor-form input[type="radio"] {
    appearance: none;
    background: #fff !important;
    border: 2px solid #d1d5db !important;
    cursor: pointer;
    height: 20px;
    width: 20px;
    position: relative;
    vertical-align: middle;
    transition: all 0.2s ease-in-out;
    display: inline-flex !important;
}

/* Стили при наведении */
form.elementor-form input[type="checkbox"]:hover,
form.elementor-form input[type="radio"]:hover {
    border-color: var(--e-global-color-accent);
}

/* Специфичные стили для радиокнопок */
form.elementor-form input[type="radio"] {
    border-radius: 50%;
}

form.elementor-form input[type="radio"]:checked {
    border: 6px solid var(--e-global-color-accent) !important;
    background: #fff !important;
}

/* Специфичные стили для чекбоксов */
form.elementor-form input[type="checkbox"] {
    border-radius: 4px !important; 
}

form.elementor-form input[type="checkbox"]:checked {
    background: var(--e-global-color-accent) !important;
    border-color: var(--e-global-color-accent) !important;
}

form.elementor-form input[type="checkbox"]:checked:after {
    content: "\2713";
    color: #333;
    font-size: 14px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Стили для отключенного состояния */
form.elementor-form input[type="checkbox"]:disabled,
form.elementor-form input[type="radio"]:disabled {
    background: #f3f4f6;
    border-color: #e5e7eb;
    cursor: not-allowed;
}

/* Стили для текста метки */
form.elementor-form label {
    cursor: pointer;
    user-select: none;
}

/* Фокус для доступности */
form.elementor-form input[type="checkbox"]:focus,
form.elementor-form input[type="radio"]:focus {
    outline: 2px solid var(--e-global-color-accent);
    outline-offset: 2px;
}
/*Конец чекбоксы*/


/* ============================================
   Кнопки
   ============================================ */

/* Базовые стили кнопок */
.elementor-button {
    min-width: 150px;
 }

 [type=button], [type=reset], [type=submit], button {
    max-width: 100%;
 }
 
 .elementor-button-text {
    flex-grow: 0;
 }
 
 /* Круглые кнопки в слайдере */
 .arrow-radius .jet-listing-grid__slider-icon.slick-arrow {
    border-radius: 50%;
    border: 2px solid var(--e-global-color-accent);
 }
 
 /* Кнопки с анимацией фона */
 .jet-animated-box__button,
 .sliding_button .elementor-button-content-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: left;
    overflow: hidden;
    padding: 10px;
    cursor: pointer;
    z-index: 1;
 }
 
 /* Анимированный фон */
 .jet-animated-box__button:before,
 .sliding_button .elementor-button-content-wrapper:before {
    content: '';
    position: absolute;
    top: 0;
    left: -98%;
    width: 200%;
    height: 100%;
    background: linear-gradient(to right,
        rgb(255, 243, 67) 0% 50%,
        transparent 50% 100%);
    transition: left 0.7s;
    z-index: 1;
 }
 
 /* Текст кнопок */
 .jet-animated-box__button-text,
 .sliding_button .elementor-button-text {
    text-transform: uppercase;
    font-size: 13px;
    transition: 0.7s;
    z-index: 1;
 }
 
 /* Hover эффекты */
 .jet-animated-box__button:hover:before,
 .sliding_button .elementor-button-content-wrapper:hover:before {
    left: 0;
 }
 
 /* Черные кнопки на желтом фоне */
 .black_btn .elementor-button {
    color: #fff;
    background-color: var(--e-global-color-primary) !important;
    border: 1px solid var(--e-global-color-primary);
   
}


 .black_btn .elementor-button:hover {
    background-color: var(--e-global-color-accent) !important;
    color: var(--e-global-color-primary);
 }
 
 /* Hover в формах */
 button.elementor-button.elementor-size-sm:hover {
    background-color: var(--e-global-color-primary);
 }
 

 @media screen and (min-width:1025px) {
 
 /* Кнопки с маской */
 .btn-mask-fill .elementor-button-wrapper {
    position: relative;
    overflow: hidden;
    transition: 0.5s;
    background: #fff;
    border-radius: 4px;
 }
 
 .btn-mask-fill .elementor-button {
    background: none !important;
    position: relative;
    z-index: 1;
 }
 
 .btn-mask-fill .elementor-button:before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--e-global-color-accent);
    z-index: -1;
    mask: url("/wp-content/uploads/2025/01/nature-sprite.png");
    mask-size: 2300% 100%;
    animation: ani2 0.7s steps(22) forwards;
 }
 
 .btn-mask-fill .elementor-button:hover:before {
    animation: ani 0.7s steps(22) forwards;
 }
 
 .btn-mask-fill .elementor-button:hover {
    color: #fff;
 }



/* Анимации */
@keyframes ani {
    from {
        mask-position: 0 0
    }

    to {
        mask-position: 100% 0
    }
}

@keyframes ani2 {
    from {
        mask-position: 100% 0
    }

    to {
        mask-position: 0 0
    }
}

@-webkit-keyframes ani {
    from {
        -webkit-mask-position: 0 0
    }

    to {
        -webkit-mask-position: 100% 0
    }
}

@-webkit-keyframes ani2 {
    from {
        -webkit-mask-position: 100% 0
    }

    to {
        -webkit-mask-position: 0 0
    }
}

 }
/*конец Кнопки*/



/* Полоса прокрутки */
::-webkit-scrollbar {
    width: 12px;
    /* Уменьшил немного ширину для более современного вида */
}

::-webkit-scrollbar-track {
    background-color: #333;
}

::-webkit-scrollbar-thumb {
    background: var(--e-global-color-accent);
    box-shadow:
        -1px 2px 2px rgba(24, 55, 91, 0.1),
        inset 0 -2px 1px rgba(39, 81, 126, 0.12);
    backdrop-filter: blur(28px);
    border-radius: 6px;
    /* Добавил скругление для более современного вида */
}

::-webkit-scrollbar-thumb:hover {
    background: color-mix(in srgb, var(--e-global-color-accent) 85%, white);
    /* Добавил эффект при наведении */
}


/* ============================================
 Header
   ============================================ */
/*Фон меню и подменю*/
.sub-menu.elementor-nav-menu--dropdown.sm-nowrap{
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: rgba(51, 51, 51, 0.7) !important;
}

/*Иконки в мобильном меню*/
.menu-wrap i {
    font-size: 10px;
}
/*Конец Header*/


/* ============================================
   Главная
   ============================================ */
/*Ромбы в услугах на главной*/
.romb_service {
    max-width: 350px;
}


/* Иконки с закругленным ромбом */
.box-advantages .elementor-icon-box-icon,
.box-price .elementor-icon-box-icon {

    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
}

.box-advantages .elementor-icon-box-icon:before,
.box-price .elementor-icon-box-icon:before {
    content: '';
    position: absolute;
    width: 70px;
    height: 70px;
    border-radius: 5px;
    transform: rotateZ(50deg);
    z-index: 0;
}

.box-advantages .elementor-icon-box-icon:before {
    background: var(--e-global-color-accent);
}

.box-price .elementor-icon-box-icon:before {
    background: var(--e-global-color-primary);
}

/*Фикс выравнивания иконок*/
.fix_align_icons .elementor-widget-icon-box.elementor-position-top .elementor-icon-box-wrapper,
.fix_align_icons .elementor-widget-icon-box.elementor-mobile-position-top .elementor-icon-box-wrapper  {
    align-items: center !important;
}
/*Конец Главная*/


/*Вакансии*/
.desc-jobs .jet-listing-dynamic-field__content {
    display: -webkit-box;
    display: box;
    -webkit-line-clamp: 6;
    line-clamp: 6;
    -webkit-box-orient: vertical;
    box-orient: vertical;
    overflow: hidden;
}

.item-jobs-wrap {
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}
/*Конец вакансии*/


/*Блог*/
/*Листинг блога*/
.author {
    margin-top: auto;
}
/*Конец Блога*/


/* ============================================
   Скролл
   ============================================ */
   .progress-wrap {
    position: fixed;
    left: 20px;
    bottom: 20px;
    height: 46px;
    width: 46px;
    cursor: pointer;
    border-radius: 50px;
    box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.2);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    transition: all 200ms linear;
}

/* Общие стили для pseudo-elements */
.progress-wrap::before,
.progress-wrap::after {
    position: absolute;
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 43px;
    -webkit-font-smoothing: antialiased;
    content: '\e91e' !important;
    text-align: center;
    font-size: 16px;
    left: 0;
    top: 0;
    height: 46px;
    width: 46px;
    cursor: pointer;
    display: block;
    transition: all 200ms linear;
    color: var(--e-global-color-accent);
}

.progress-wrap::after {
    z-index: 1;
}

.progress-wrap::before {
    opacity: 0;
    z-index: 2;
}

/* Состояния */
.progress-wrap.active-progress {
    opacity: 0.8;
    visibility: visible;
    transform: translateY(0);
}

.progress-wrap.active-progress:hover {
    opacity: 1;
}

.progress-wrap:hover::after {
    opacity: 0;
}

.progress-wrap:hover::before {
    opacity: 1;
}

/* SVG стили */
.progress-wrap svg path {
    fill: none;
    stroke: var(--e-global-color-accent);
    stroke-width: 10;
    box-sizing: border-box;
    transition: all 200ms linear;
}

.progress-circle {
    background-color: var(--e-global-color-2f9f314);
    border-radius: 50%;
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
}
.my-custom-desc .jet-listing-dynamic-field__content {
    display: -webkit-box;
    display: box;
    -webkit-line-clamp: 6;
    line-clamp: 6;
    -webkit-box-orient: vertical;
    box-orient: vertical;
    overflow: hidden;
}

/* ============================================
  Статьи
   ============================================ */
   /*Таблицы*/
   .table-container {
    width: 100%;
    overflow-x: auto;
    margin: 20px 0;
}

table {
    border-collapse: collapse;
    width: 100%;
    min-width: 650px;
}
th, td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
    white-space: nowrap; /* Предотвращает перенос текста */
}
th {
    background-color: #f2f2f2;
    position: sticky;
    top: 0; /* Зафиксированные заголовки при вертикальной прокрутке */
}
tr:nth-child(even) {
    background-color: #f9f9f9;
}

/*responsive*/
@media screen and (max-width:1024px) {
    /* .top_section_padding {
        padding: 80px 10px;
    } */

    .bg-heading {
        display: none;
    }
    .ms {
        margin-top: 60px;
    }
    .pds {
        padding: 60px 10px;
    }
}


@media (max-width: 768px) {
    .table-scroll {
        overflow-x: auto;
    }

    table {
        min-width: 600px;
    }
}


