/*--------------Label------------------*/
.ctrl__label {
    display: block;

    margin-bottom: 9px;
    padding-left: 5px;

    color: #8c94a8;
    font-size: 10px;
}

/*--------------Кнопка основная, цвет по умолчанию синий------------------*/

.ctrl__button {
    position: relative;

    display: flex;
    justify-content: center;
    align-items: center;

    height: 40px;
    border-radius: 15px;

    color: white;
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    text-align: center;

    background-color: #007bfb;
    box-shadow: 0 5px 10px rgba(0, 123, 251, 0.3);

    outline: none;
    cursor: pointer;

    transition: background-color 0.25s;
}

.ctrl__button::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;

    border: 1px solid #007bfb;
    border-radius: 15px;

    transition: top 0.25s, bottom 0.25s, left 0.25s, right 0.25s, border-color 0.25s, border-radius 0.25s;
}

@media (hover: hover) {
    .ctrl__button:hover {
        color: white;
        background-color: #0c4782;
        box-shadow: none;

        transition: background-color 0.25s;
    }

    .ctrl__button:hover::before {
        top: -5px;
        bottom: -5px;
        left: -5px;
        right: -5px;

        border-color: #0c4782;
        border-radius: 20px;

        transition: top 0.25s, bottom 0.25s, left 0.25s, right 0.25s, border-color 0.25s, border-radius 0.25s;
    }
}

/*--------------Кнопка серая, с "фиксацией" в нажатом состоянии и неактивным состоянием------------------*/

.ctrl__button_gray {
    color: #202e35;
    font-weight: 600;

    background-color: #f4f6fb;
    box-shadow: 0 5px 10px rgba(128, 128, 128, 0.3);
}

.ctrl__button_gray::before {
    border: 1px solid #f4f6fb;
}

.ctrl__button_checked {
    color: white;
    background-color: #007bfb;
    box-shadow: none;
}

.ctrl__button_checked::before {
    border-color: #007bfb;
}

.ctrl__button_disabled {
    color: #c0c0c0;

    pointer-events: none;
}

@media (hover: hover) {
    .ctrl__button_gray:hover {
        color: #202e35;
        background-color: #d8dce6;
        box-shadow: none;
    }

    .ctrl__button_gray:hover::before {
        border-color: #d8dce6;
    }

    .ctrl__button_checked:hover {
        color: white;
        background-color: #0c4782;
        box-shadow: none;
    }

    .ctrl__button_checked:hover::before {
        border-color: #007bfb;
    }
}

/*--------------Кнопка прозрачная------------------*/

.ctrl__button_transparent {
    color: white;
    font-weight: 600;

    background-color: transparent;
    box-shadow: none;
}

.ctrl__button_transparent::before {
    border: 1px solid #a4a4a4;
}

@media (hover: hover) {
    .ctrl__button_transparent:hover {
        color: #202e35;
        background-color: #d8dce6;
        box-shadow: none;
    }

    .ctrl__button_transparent:hover::before {
        border-color: #d8dce6;
    }
}

/*------------------Поле ввода текста------------------*/

.ctrl__input {
    display: block;

    height: 40px;
    padding: 0 16px;
    border: 1px solid #e3e7ef;
    border-radius: 15px;

    color: #222d4c;
    font-family: inherit;
    font-size: 12px;

    background-color: white;

    outline: none;
}

.ctrl__input::placeholder {
    color: #222d4c90;
}

.ctrl__input:hover {
    border-color: #007bfb;
}

/*Вариант, используемый в формах заявок*/

.ctrl__input_app {
    border-color: #f4f6fb;

    color: black;

    background-color: #f4f6fb;
}

/*Контейнер поля ввода должен быть приспособлен для вывода сообщений об ошибках с абсолютным позиционированием*/
/*Используемый для валидации плагин вставляет сообщения тегом <label> в html, что по умолчанию приводит к прыжкам вёрстки*/

.ctrl__input-container {
    position: relative;
}

/*Сообщение об ошибке валидации*/

input.ctrl__input_error {
    border-color: #f94545;

    color: #f94545;
}

label.ctrl__input_error {
    position: absolute;

    display: block;

    margin-top: 2px;
    padding-left: 5px;

    color: #f94545;
    font-size: 10px;
}

/*------------------Чекбокс------------------*/

.ctrl__checkbox-container {
    position: relative;
}

.ctrl__checkbox-container > input {
    position: absolute;
    z-index: -1;
    opacity: 0;
}

.ctrl__checkbox-container > p::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 12px;
    height: 12px;

    display: flex;
    justify-content: center;
    align-items: center;

    border: 1px solid #007bfb;
    border-radius: 3px;

    color: #007bfb;
    font-size: 9px;

    background: linear-gradient(rgba(0, 123, 251, 0.1), rgba(0, 123, 251, 0.3));
}

.ctrl__checkbox-container > input:checked ~ p::before {
    color: white;
    background-color: #007bfb;
    background-image: url("/images/controls/check.svg");
    background-position: center;
}

/*------------------Кнопка разворачивания/сворачивания фильтра------------------*/

.ctrl__filter {
    display: block;

    width: 100%;
    height: 40px;
    padding-left: 27px;

    color: #202e35;
    font-family: inherit;
    font-size: 16px;
    font-weight: 700;
    text-align: left;

    background-color: #f4f6fb;
    background-image: url("/images/controls/triangle-down.svg");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 32px 32px;

    cursor: pointer;
    outline: none;
}

.ctrl__filter::before {
    content: "Показать фильтр";
}

.ctrl__filter_active {
    background-image: url("/images/controls/triangle-up.svg");
}

.ctrl__filter_active::before {
    content: "Свернуть фильтр";
}

/*------------------Выпадающий список Bulma------------------*/

.dropdown {
    width: 100%;
    z-index: 30;

    color: #222d4c;
    font-family: inherit;
    font-size: 12px;
}

.dropdown .dropdown-trigger {
    width: 100%;
}

.dropdown .dropdown-trigger button {
    justify-content: flex-start;

    width: 100%;
    height: 40px;
    padding: 0 16px;
    border: none;
    border-radius: 15px;

    font: inherit;

    background-color: #f4f6fb;
    background-image: url("/images/controls/triangle-down.svg");
    background-repeat: no-repeat;
    background-position: right 7px center;
    background-size: 24px 24px;
}

.dropdown .dropdown-menu {
    top: 0;

    width: 100%;
    padding: 0;
}

.dropdown .dropdown-content {
    padding: 0;
    border-radius: 15px;

    background-color: #f4f6fb;
    box-shadow: 0px 8px 25px rgba(11, 54, 99, 0.25);
}

.dropdown .dropdown-item {
    display: flex;
    align-items: center;

    height: 40px;
    padding: 0 16px;

    font: inherit;

    transition: color 0.25s;
}

.dropdown .dropdown-item:hover {
    color: #007bfb;
    background-color: transparent;

    transition: color 0.25s;
}

.dropdown .dropdown-item_active {
    color: #007bfb;
}

/*Дополнение для увеличенного списка*/

.dropdown_big {
    color: #202e35;
    font-size: 32px;
    font-weight: 700;
}

.dropdown_big .dropdown-trigger button {
    height: 50px;

    padding: 0 18px;

    background-position: right 14px center;
    background-size: 32px 32px;
}

.dropdown_big .dropdown-item {
    height: 50px;

    padding: 0 18px;
}

/*------------------"Точки" плагина owlcarousel2------------------*/

.owl-dot {
    position: relative;

    width: 20px;
}

.owl-dot:focus {
    outline: none;
}

.owl-dot::before {
    content: "";

    position: absolute;
    top: 4px;
    bottom: 5px;
    left: 6px;
    right: 3px;

    border: 1px solid #cce5fe;
    border-radius: 50%;

    background-color: white;
    transition: top 0.25s, bottom 0.25s, left 0.25s, right 0.25s;
}

.owl-dot:hover::before {
    top: -1px;
    bottom: 0;
    left: 1px;
    right: -2px;

    transition: top 0.25s, bottom 0.25s, left 0.25s, right 0.25s;
}

.owl-dot.active::before {
    border-color: #007bfb;
}

.owl-dot::after {
    content: "";

    position: absolute;
    top: 4px;
    bottom: 5px;
    left: 6px;
    right: 3px;

    border-radius: 50%;
    background-color: #cce5fe;
}

.owl-dot.active::after {
    background-color: #007bfb;
}

/*------------------Выбор диапазона на базе слайдера из jQuery UI------------------*/

.ctrl__range-display {
    display: flex;
    justify-content: space-between;
    align-items: center;

    height: 40px;
    padding: 0 32px 0 33px;
    border: none;
    border-radius: 15px;

    color: #222d4c;
    font-size: 12px;

    background-color: #f4f6fb;
}

.ctrl__range-display input {
    display: block;
    width: 2.5em;
    margin-left: 0.3em;

    color: #222d4c;
    font-family: inherit;
}

.ctrl__range-display p:nth-of-type(2) {
    margin: 0 auto;
}

.ui-widget.ui-widget-content {
    border: none;
    background: transparent;
}

.ui-slider .ui-slider-range {
    height: 5px;

    background: #007bfb;

    transform: translateY(-3px);
}

.ui-slider .ui-slider-handle {
    width: 17px;
    height: 17px;
    border: none;
    border-radius: 50%;

    background: #007bfb;

    cursor: pointer;

    transform: translateY(-4px);
}

.ui-slider .ui-slider-handle:focus {
    outline: none;
}

/*Дополнение для слайдера с одним ползунком*/

.ctrl__range-display_one {
    padding: 0 15px;
}

.ctrl__range-display_one input {
    width: 10em;
    margin-left: 0;
}




