/* форма поиска */

.elementor-2549 .elementor-element.elementor-element-b21671b .elementor-icon-wrapper {
	text-align: center
}

.elementor-2549 .elementor-element.elementor-element-b21671b .elementor-icon {
	font-size: 0
}

.elementor-2549 .elementor-element.elementor-element-b21671b .elementor-icon i,
.elementor-2549 .elementor-element.elementor-element-b21671b .elementor-icon svg {
	transform: rotate(0deg)
}

.filter-item {
	display: flex;
	flex-wrap: wrap;
	text-align: center;
	justify-content: space-between;
}

.tarif-column-2 {
	justify-content: flex-start;
}

.tarif-column-2 .item-tarif {
	margin-right: 26px;
}

.tarif-column-1 {
	justify-content: space-around;
}

.item-tarif {
	padding: 60px 30px;
	color: #30353d;
	font-family: Rubik;
	box-shadow: 0 -10px 50px 0 #eff7ff;
	transition: .3s;
	background: #fff;
	margin-bottom: 40px
}

.item-tarif:hover {
	transform: translateY(-20px)
}

.item-tarif h3 {
	text-align: center;
	font-size: 18px;
	margin: 0 0 20px;
	line-height: 1;
	text-transform: uppercase;
	font-weight: 500;
}

.item-tarif .tarif-price {
	text-align: center;
	font-size: 72px;
	margin: 0 0 20px;
	line-height: 1;
	font-weight: 500;
}

.item-tarif .tarif-price span {
	font-size: 24px
}

.item-tarif p {
	color: #9C9C9C;
	font-family: Rubik;
	font-size: 14px;
	color: #9C9C9C;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 20px
}

.item-tarif ul li {
	color: rgba(48, 53, 61, 0.82);
	list-style-type: none;
	font-size: 16px;
	line-height: 1;
	margin: 10px 0
}

.item-tarif ul {
	text-align: left;
	margin: 0 0 40px
}

.item-tarif ul li i {
	margin-right: 10px;
	color: #66dda7
}

.item-tarif a {
	font-family: Rubik;
	font-size: 16px;
	letter-spacing: 1.8px;
	fill: #fff;
	color: #fff;
	display: inline-block;
	background-color: #6ae290;
	line-height: 1;
	transition: .3s;
	padding: 18px 36px 18px 35px;
	border-radius: 4px
}

.item-tarif a:hover {
	background: #ff7542
}

.open-form {
	display: block;
	text-align: center;
	font-size: 16px;
	text-transform: uppercase;
	margin-bottom: 20px;
	color: #FF7542;
	font-family: Rubik;
	font-weight: 600;
	cursor: pointer
}

label,
.label {
	margin-bottom: 4px;
	color: rgba(48, 53, 61, 0.82);
	font-size: 16px;
	font-family: Rubik;
	display: block;
	line-height: normal;
	line-height: 25px;
	position: relative;
}

label span,
.label span {
	padding-left: 30px;
}

.filter .checkbox {
	display: none
}

.filter input {
	margin: 0
}

.filter .form {
	display: none
}

.filter .form.open {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.filter h6 {
	margin-bottom: 4px;
	color: rgba(48, 53, 61, 0.8);
	line-height: 25px;
	height: 25px;
}

.flex-section {
	width: 350px
}

label .checkbox+span:before,
.label .checkbox+span:before {
	content: "\f111";
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
	font-size: 20px;
	position: absolute;
	left: 0;
	top: 2px;
	color: #66dda7;
	margin-right: 10px;
	line-height: 20px;
}

label .checkbox:checked+span:before,
.label .checkbox:checked+span:before {
	content: "\f058";
	font-weight: 900;
}

.flex-input {
	display: inline-flex;
	align-items: center;
	border-radius: 6px;
	overflow: hidden;
	float: right
}

.dop-option span {
	padding: 0;
}

label .ask, .label .ask {
	padding: 0;
}

.boolian + span {
	line-height: 25px;
	display: inline-block;
}

.flex-input input {
	height: 35px;
	border: 0;
	color: #fff;
	font-size: 16px;
	background: #66dda7!important;
	line-height: 35px;
	padding: 0 5px;
	max-width: 35px;
	text-align: center;
	font-weight: 600;
	outline: 0!important
}

.flex-input div {
	cursor: pointer;
	font-size: 20px;
	font-weight: 600;
	color: #fff;
	background: #66dda7;
	line-height: 35px;
	padding: 0 10px;
	height: 35px;
}

.flex-input div:hover {
	background: #FF7542
}

input[type='number'] {
	-moz-appearance: textfield
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none
}

input.radio {
	display: none
}

input.radio:checked+span {
	color: #000
}

label input.boolian {
	display: none
}

label input.boolian+span:after {
	content: "\f204";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 26px;
	color: #66dda7;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 1;
	margin-left: 10px;
	vertical-align: middle
}

label input.boolian:checked+span:after {
	content: "\f205"
}

.flex-input label {
	background: #fff;
	display: block;
	color: #000;
	margin: 0;
	font-weight: 400;
	position: relative;
	cursor: pointer;
}

.flex-input label:hover span {
	background: #FF7542;
	color: #fff;
	border-color: #FF7542;
}

.flex-input input + span {
	padding: 0 10px;
	color: #54595F;
	border: 2px solid #66dda7;
	display: block;
	height: 35px;
	line-height: 32px;
}

.flex-input input:checked + span {
	color: #fff;
	background: #66dda7;
}

.st-header {
	background: #5c78e7;
}

.st-parent-ul>li>a {
	color: #fff;
}

.menu-right-panel span {
	color: #fff;
}

.flex-input label:hover input:checked + span {
	background: #FF7542;
	color: #fff;
	border-color: #FF7542;
}

.flex-input label:last-child span {
	border-radius: 0 6px 6px 0;
	border-left: 1px solid #66dda7;
}

.flex-input label:nth-child(2) span {
	border-left: 1px solid #66dda7;
	border-right: 1px solid #66dda7;
}

.flex-input label:first-child span {
	border-radius: 6px 0 0 6px;
	border-right: 1px solid #66dda7;
}

.flex-input label:last-child:before {
	display: none
}

.open-dop {
	cursor: pointer
}

.dop-option {
	display: none
}

.dop-option.open {
	display: block
}

.ask {
	position: relative
}

.over {
	position: absolute;
	background: #fff;
	border-radius: 8px;
	box-shadow: 1px 1px 10px #ccc;
	padding: 10px;
	font-size: 14px;
	bottom: 0;
	left: 0;
	width: 264px;
	line-height: 20px;
	display: none
}

.ask:hover .over {
	display: block;
	z-index: 999;
}


/* форма заказа */

#send-tarif-form {
	font-family: Rubik, Rubik;
	user-select: auto;
	pointer-events: all;
	line-height: 1.5;
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	box-sizing: border-box
}

#send-tarif-form>button {
	box-sizing: border-box;
	display: inline-block;
	line-height: 1;
	fill: #fff;
	text-align: center;
	transition: all .3s;
	border: none;
	font-size: 16px;
	padding: 15px 30px;
	border-radius: 4px;
	min-height: 47px;
	background-color: var(--e-global-color-accent);
	flex-basis: 100%;
	font-family: Rubik, Rubik;
	font-weight: 500;
	color: #fff;
	width: 100%;
	cursor: pointer
}

#send-tarif-form>button:hover {
	background: #ff7542
}

#send-tarif-form input {
	width: 100%;
	border: 1px solid #818a91;
	vertical-align: middle;
	flex-grow: 1;
	height: 47px;
	padding: 6px 16px;
	border-radius: 4px;
	color: var(--e-global-color-text);
	flex-basis: 100%;
	max-width: 100%;
	font-family: Rubik, Rubik;
	font-weight: 400;
	background-color: #fff;
	margin-block-end: auto;
	margin-bottom: 10px;
	font-size: 18px
}

#send-tarif-form input::placeholder {
	font-size: 18px;
	font-family: Rubik, Rubik
}

#tarif-modal-h2 {
	user-select: auto;
	pointer-events: all;
	hyphens: manual;
	border: 0;
	box-sizing: border-box;
	padding: 0;
	margin: 0;
	line-height: 1;
	font-size: 30px;
	font-family: Rubik;
	color: #30353d;
	font-weight: var(--e-global-typography-primary-font-weight);
	text-align: center
}

#tarif-modal {
	max-width: 600px;
}

#tarif-modal-divider {
	font-family: Rubik, Rubik;
	user-select: auto;
	margin: 1em 0 3em 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	box-sizing: border-box;
	position: relative;
	width: 100%
}

#tarif-modal {
	animation-duration: .5s;
	border-radius: 6px 6px 6px 6px;
	box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, .2)
}

div#tarif-modal-note {
	font-size: 14px;
	margin: 10px 0
}

#tarif-modal .elementor-divider {
	--divider-border-style: dotted;
	--divider-border-color: #ff7542;
	--divider-border-width: 4px;
	text-align: center
}

#tarif-modal .elementor-divider .elementor-divider-separator {
	line-height: 0;
	text-align: center;
	padding: 0;
	border: 0;
	font-size: 100%;
	box-sizing: border-box;
	direction: ltr;
	border-top: var(--divider-border-width) var(--divider-border-style) var(--divider-border-color);
	width: 9%;
	margin: 0 auto;
	display: inline-block
}

#tarif-modal-note p {
	width: auto;
	max-width: 100%;
	display: block;
	color: #7d7d7d;
}

.item-tarif::after {
    content: "";
    width: 160px;
    height: 160px;
    border-radius: 30% 70% 70% 30%/30% 30% 70% 70%;
    top: 55px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    z-index: 1;
    background: #f5fcff;
    animation: pricing_table_after_animation 6s infinite;
}

.item-tarif {
	position: relative;
	max-width: 100%;
}

.item-tarif * {
	position: relative;
	z-index: 2;
}

.flex-section:nth-child(3) {
	margin-top: -6px;
}

.item-tarif .elementor-divider-separator {
	display: inline-block;
	width: 9%;
	border-bottom: 4px dotted #ff7542;
	margin: auto;
}


.number-label {
	line-height: 35px
}


@media (min-width: 768px) {
	.item-tarif {
		width: 350px;

	}

	.flex-section:nth-child(3) {
		margin: 0;
	}
}
}

@media (max-width: 690px) {
	.over {
		right: 0;
		left: auto;
	}

	label, .label {
		position: relative;
	}

	.ask {
		position: static;
	}
	
}

@media only screen and (max-device-width: 480px) {
.filter-item {
	         justify-content: space-around;
            }

}