input[type='tel'] {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

input[type='tel']::selection {
    background: transparent;
}

/* убираем противную рамку вокруг ссылок */
img,
a img {
    outline: none !important;
}

a:focus {
    outline: none !important;
}

/* скрываем каптчу гугла */
.grecaptcha-badge {
    visibility: hidden;
}

html,
body {
    /* Убирает прокрутку по горизонтале, для мобильной версии */
    overflow-x: hidden;
}

@font-face {
    font-family: 'Montserrat';
    src: url('/assets/fonts/montserrat-variablefont-wght.ttf') format('truetype supports variations');
    src: url('/assets/fonts/montserrat-variablefont-wght.ttf') format('truetype-variations');
    font-weight: 400 500 600 700 800;
    font-display: swap;
}

:root {
    --color-gray: #C8DEDF;
    --color-primary: #42B9DE;
    --color-success: #7BCE53;
    --color-black: #052227;
    --color-warning: #E5B026;
}

body {
    font-family: 'Montserrat', sans-serif;
    color: var(--color-black);
    font-size: 1rem;
    margin-top: 150px;
    line-height: 150% !important;
    letter-spacing: 0.03em !important;
}

h1,
.h1 {
    font-weight: 800;
    font-size: 2.5rem;
    line-height: 150% !important;
    letter-spacing: 0.03em !important;
}

h2,
.h2 {
    font-weight: 700;
    font-size: 2rem;
    line-height: 150% !important;
    letter-spacing: 0.03em !important;
}

h3,
.h3 {
    font-weight: 600;
    font-size: 1.5rem;
    line-height: 150% !important;
    letter-spacing: 0.03em !important;
}

h4,
h5,
h6,
.h4,
.h5,
.h6 {
    font-weight: 500;
    line-height: 150% !important;
    letter-spacing: 0.03em !important;
}

p b {
    color: var(--color-black);
    font-weight: 600;
    line-height: 150% !important;
    letter-spacing: 0.03em !important;
}

p strong {
    color: var(--color-primary);
    font-weight: 600;
    line-height: 150% !important;
    letter-spacing: 0.03em !important;
}

.strong {
    font-weight: 700;
    line-height: 150% !important;
    letter-spacing: 0.03em !important;
}

.hyphens p,
.hyphens li {
    text-align: justify;
    hyphens: auto;
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    line-height: 150% !important;
    letter-spacing: 0.03em !important;
}

small,
.small {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 150% !important;
    letter-spacing: 0.03em !important;
}


.btn-primary {
    background-color: #42B9DE;
    border: none;
}

.banner__list {
    font-weight: 600;
    font-size: 1.5rem;
    line-height: 220%;
}

.bg-muted {
    background-color: #C8DEDF;
    border-radius: 4px;
    width: auto !important;
}

.text-primary {
    color: #42B9DE !important;
}

.text-muted {
    color: #ACD1DD !important;
}

.block-shadow {
    box-shadow: 0px 4px 10px rgba(34, 95, 114, 0.22);
}

.form-control {
    border-radius: 10px;
    padding: 8px 16px;
    border: solid 1px var(--color-primary);
}

.form-control:focus {
    border: solid 1px var(--color-primary);
    box-shadow: none;
}

.btn-success {
    background-color: #7BCE53;
    border: none;
    padding: 16px 32px;
    font-weight: 600;
    font-size: 16px;
    line-height: 150%;
    box-shadow: 0px 4px 10px rgba(34, 95, 114, 0.22);
    border-radius: 10px;
    transition: all .3s;
    color: white;
}

.btn-success:hover {
    box-shadow: none;
    transition: all .3s;
    background-color: #7BCE53;
}

.form-check-input:focus {
    border: solid 1px #C8DEDF;
    border-radius: 3px;
    box-shadow: none;

}

.form-check-input {
    height: 16px !important;
    width: 16px !important;
}

.form-check-input:checked[type="checkbox"],
.checkbox-active {
    background-image: url(/assets/img/dot.svg);
    background-color: #fff;
    border: solid 1px #C8DEDF;

}

.price {
    font-size: 1.5rem;
    line-height: 150%;
    letter-spacing: 0.03em;
}

.card-footer {
    padding: 0;
    background: #fff;
    border: none;
}

.card {
    border: none;
}

/*rating*/
.rating-area:not(:checked)>input {
    display: none;
}

.rating-area:not(:checked)>label {
    padding: 0;
    cursor: pointer;
    font-size: 32px;
    color: #C8DEDF;
}

.rating-area:not(:checked)>label:before {
    content: '★';
}

.rating-area>input:checked~label {
    color: #7BCE53;
}

.rating-area:not(:checked)>label:hover,
.rating-area:not(:checked)>label:hover~label {
    color: #7BCE53;
}

.rating-area>input:checked+label:hover,
.rating-area>input:checked+label:hover~label,
.rating-area>input:checked~label:hover,
.rating-area>input:checked~label:hover~label,
.rating-area>label:hover~input:checked~label {
    color: #7BCE53;
}

.rate-area>label:active {
    position: relative;
}

.rating-result {
    width: 265px;
    margin: 0 auto;
}

.rating-result span {
    padding: 0;
    font-size: 24px;
    margin: 0 3px;
    line-height: 1;
    color: #C8DEDF;
}

.rating-result>span:before {
    content: '★';
}

.rating-result>span .active {
    color: #7BCE53;
}

/* свайпер */
.mySwiper {
    max-height: 300px !important;
}

.mySwiper .swiper-slide img {
    transition: all .3s;
    box-shadow: 0px 4px 10px rgba(34, 95, 114, 0.22);
}

.mySwiper .swiper-slide-thumb-active img {
    transition: all .3s;
    box-shadow: none;
}

/*

a:link, a:visited, a:active {
	color: #000000;
	text-decoration: underline;
}

a:hover {
	color: #000000;
	text-decoration: none;
	transition-duration: .3s;
}

*/
/*фильтр*/
.accordion-button:focus:not(:focus-visible),
.accordion-button:focus,
.accordion-button {
    outline: none;
    border: none;
    box-shadow: none;
    background-color: #fff;
}

.accordion-button:not(.collapsed) {
    color: #052227;
    background-color: #fff;
    box-shadow: none;
}

.accordion-button:not(.collapsed)::after {
    background-image: url('/assets/img/accardion.svg');
    transform: rotate(360deg);
    width: 24px;
    height: 24px;
    transition: all .3s;

}

.accordion-button.collapsed::after {
    background-image: url('/assets/img/accardion.svg');
    transform: rotate(180deg);
    width: 24px;
    height: 24px;
    transition: all .3s;

}

.accordion-item {
    border: none;
}

/* таблица в плитке */
.my-card-table td:first-child {
    padding-left: 0;
}

.my-card-table td:last-child {
    padding-right: 0;
    text-align: right;
}

.my-card-table td {
    border: none;
}

.my-card-table>:not(caption)>*>* {
    padding: 0.25rem 0.5rem;
}

/* таблица с ценами на главной */
.my-price-table td:nth-child(2) {
    text-align: end;
}

.my-price-table tr {
    border-bottom: solid 1px #42B9DE;

}

/* ссылки в футере */
.footer-link {}

.footer-link:link,
.footer-link:visited,
.footer-link:active {
    color: var(--color-black);
    text-decoration: none;
}

.footer-link:hover {
    color: #42B9DE;
    text-decoration: none;
    transition-duration: .15s;
}


.bg-banner {
    /*background-image: url(/assets/img/bg-banner.jpg);*/
    background-image: url(/assets/img/banner-bg.webp);
    background-repeat: no-repeat;
    background-size: auto;
    background-position: 100% 50%;
}

.logoNew {
    height: 2.75rem;
}

.logo-header {
    height: 60px;
}

.logo-footer {
    height: 45px;
}

/* кнопка наверх */
.tostart {
    width: 50px;
    height: 50px;
    background-color: var(--color-primary);
    border-radius: 50%;
    position: fixed;
    right: 30px;
    bottom: 30px;
    z-index: 10;
    display: none;
    opacity: 1;
}

.tostart:hover {
    cursor: pointer;
    opacity: .75;
    transition-duration: .15s;
}

.img-to-top {
    width: 30px;
    margin: 0 auto;
    display: block;
    position: absolute;
    left: 10px;
    top: 0px;
}

/* аккордеон */
/* удираем нижний марджинг последнего абзаца */
.accordion-body p:last-child {
    margin-bottom: 0;
}

/* стили кнопок в слайдере */
.swiper-button-prev:after {
    content: url("/assets/img/arrowprev.svg") !important;

}

.swiper-button-prev.mPrev {
    left: 0px !important;
}

.minifilter:after {
    background-color: #fff;
}

.swiper-button-next:after {
    content: url("/assets/img/arrownext.svg") !important;
}

/*.my-prev, .my-next {
	position: absolute;
	top: calc(50% - 1.25rem);
	color: var(--color-warning);
	background-color: #fff;
	height: 2.5rem;
	width: 2.5rem;
	border-radius: 50%;
	text-align: center;
	line-height: 2.5;
	z-index: 1000;
	cursor: pointer;
	box-shadow: 0px 8px 16px rgba(78, 80, 85, 0.12);
}
.my-next {
	right: 0px;
}
.my-next >svg {
	height: 1.5rem;
	padding-left: 3px;
}
.my-prev > svg {
	height: 1.5rem;
	padding-right: 3px;
}*/

/* стили верхнего меню*/
/* стили верхнего меню*/

.top-menu a {
    text-decoration: none;
    transition: all .3s;
    color: #000;
}

a.btn-menu {
    width: 270px;
    height: 40px;
    color: #fff;
    border-radius: 10px;
    background: #7BCE53;
    background: linear-gradient(180deg, rgba(123, 206, 83, 1) 0%, rgba(66, 184, 7, 1) 50%);
    padding-inline-start: 17px;
}

a.btn-menu:hover {
    color: #333;
}

.top-menu .active-menu {
    color: #7BCE53;
}

.top-menu {
    display: flex;
    justify-content: space-between;
}

.top-menu a:hover {
    color: #7BCE53;
    transition: all .3s;
}

.submenu {
    padding: 0 16px 0 16px;
    border-width: 0px 1px 1px 1px;
    border-style: solid;
    border-color: #D6D6D6;
    max-width: 100%;
    background-color: #fff;
    list-style-type: none;
    visibility: hidden;
    position: absolute;
    top: 100%;
    transform-origin: 0% 0%;
    transform: rotateX(-90deg);
    transition: .3s linear;
}

.submenu li {
    margin-bottom: 16px;
}

.top-menu li:hover .submenu {
    transform: rotateX(0deg);
    visibility: visible;
    opacity: 1;
}

@-webkit-keyframes display-none-transition {
    0% {
        opacity: 0;
    }
}

@keyframes display-none-transition {
    0% {
        opacity: 0;
    }
}


/* стили mmenu */
.mm-spn--light {
    /* background: #fff; */
}

.mm-spn {
    color: var(--color-primary);
}

.mm-spn a {
    color: var(--color-primary);
}

.mm-spn a:active,
.mm-spn a:focus {
    /* color: var(--color-danger);*/
}

/*стили квиза*/

.swiper-button-prev.quiz-button-prev.swiper-button-disabled,
.swiper-button-next.quiz-button-next.swiper-button-disabled {
    transition: all .3s;

}

.quiz-button-prev,
.quiz-button-next {
    position: static !important;
}

.swiper-button-next.quiz-button-next:after {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 16px;
    line-height: 150% !important;
    letter-spacing: 0.03em !important;
    content: "Далее" !important;
    color: white;

}

.quiz-button-prev.swiper-button-prev:after {
    padding-top: 5px !important;
}

.swiper-button-next.quiz-button-next {
    width: auto !important;

}

.custom-radio input[type=radio] {
    display: none;
}

.custom-radio {
    display: inline-block;
    cursor: pointer;
    position: relative;
    padding-left: 25px;
    margin-right: 0;
    line-height: 18px;
    user-select: none;
}

.custom-radio:before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    position: absolute;
    left: 0;
    top: 20%;
    background: url(/assets/img/default.svg) 0 0 no-repeat;
}

/* Checked */
.custom-radio:has(input[type=radio]:checked):before {
    background: url(/assets/img/checked.svg) 0 0 no-repeat;
}



/* Устройства X-Small (портретные телефоны, менее 576 пикселей) */
@media (max-width: 575.98px) {
    .logoNew {
        height: 2.75rem;
    }

    .logotext {
        font-size: 12px;
        line-height: 16px;
    }

    .hyphens p,
    .hyphens li {
        text-align: left;
        hyphens: none;
        -moz-hyphens: none;
        -webkit-hyphens: none;
        -ms-hyphens: none;
    }

    .tostart {
        width: 40px;
        height: 40px;
        right: 20px;
        bottom: 20px;
    }

    .img-to-top {
        width: 24px;
        left: 8px;
    }

    .bg-banner {
        /*background-image: url(/assets/img/bg-banner.jpg);*/
        background-image: url(/assets/img/image-25.jpg);
        background-repeat: no-repeat;
        background-size: cover;

    }

    .my-card-table {
        font-size: 14px;
    }

    body {
        margin-top: 110px;
    }

    .my-price-table {
        font-size: 12px;
    }

    h1,
    .h1 {
        font-size: 2.1rem;
    }

    .banner__list {
        font-size: 1.2rem;
    }

    h2,
    .h2 {
        font-size: 1.7rem;
    }

    h3,
    .h3 {
        font-size: 1.2rem;
    }

    .logo-header {
        height: 40px;
    }
}

/* Устройства Small (телефоны с горизонтальной ориентацией, менее 768 пикселей) */
@media (min-width: 576px) and (max-width: 767.98px) {

    .hyphens p,
    .hyphens li {
        text-align: left;
        hyphens: none;
        -moz-hyphens: none;
        -webkit-hyphens: none;
        -ms-hyphens: none;
    }

    .tostart {
        width: 40px;
        height: 40px;
        right: 20px;
        bottom: 20px;
    }

    .img-to-top {
        width: 24px;
        left: 8px;
    }

    .bg-banner {
        /*background-image: url(/assets/img/bg-banner.jpg);*/
        background-image: url(/assets/img/image-25.jpg);
        background-repeat: no-repeat;
        background-size: cover;

    }

    body {
        margin-top: 120px;
    }

    .my-price-table {
        font-size: 12px;
    }


}

/* Устройства Medium (планшеты, менее 992 пикселей) */
@media (min-width: 768px) and (max-width: 991.98px) {
    .bg-banner {
        /*background-image: url(/assets/img/bg-banner.jpg);*/
        background-image: url(/assets/img/image-25.jpg);
        background-repeat: no-repeat;
        background-size: cover;

    }

    .my-card-table {
        font-size: 14px;
    }

    body {
        margin-top: 120px;
    }

    .my-price-table {
        font-size: 14px;
    }

}


/* Устройства Large (настольные компьютеры, менее 1200 пикселей) */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .bg-banner {
        background-size: 40%;
        background-position: 100% 50%;
    }

    .logo-header {
        height: 40px;
    }

    .my-card-table {
        font-size: 14px;
    }

    .my-price-table {
        font-size: 14px;
    }

    .banner__list {
        font-size: 20px;
    }
}

/* Устройства X-Large (большие настольные компьютеры, менее 1400 пикселей) */
@media (min-width: 1200px) and (max-width: 1399.98px) {
    .bg-banner {
        background-size: 40%;
        background-position: 100% 50%;
    }

    .my-card-table {
        font-size: 14px;
    }

    .my-price-table {
        font-size: 14px;
    }
}