* {
	box-sizing: border-box
}

html, body {
	margin: 0;
	padding: 0;
	scroll-behavior: smooth
}

body {
	background: #fff;
	font-family: 'Manrope', system-ui, sans-serif;
	color: #0E2038;
	-webkit-font-smoothing: antialiased;
	overflow-x: clip
}

a {
	color: #1E4FE0;
	text-decoration: none
}

a:hover {
	color: #1339B5
}

input, textarea {
	font-family: inherit
}

input::placeholder, textarea::placeholder {
	color: #9AA9BF
}

input:focus, textarea:focus {
	outline: none;
	border-color: #1E4FE0
}

section[id] {
	scroll-margin-top: 100px
}

@keyframes pulseNode {
	0%, 100% {
		opacity: .25
	}
	50% {
		opacity: 1
	}
}

@media (max-width: 720px) {
	.cmp-row {
		grid-template-columns:1fr !important;
		gap: 6px !important
	}

	.cmp-head {
		display: none !important
	}

	.cmp-row > .cmp-cell:nth-of-type(2)::before {
		content: "Витрина — ";
		font-weight: 700;
		color: #8394AD
	}

	.cmp-row > .cmp-cell:nth-of-type(3)::before {
		content: "Магазин — ";
		font-weight: 700;
		color: #8394AD
	}
}

.navlink {
	position: relative;
	display: inline-flex;
	align-items: center;
	font-size: clamp(13px, 1.05vw, 14.5px);
	font-weight: 600;
	color: #3A4B66;
	white-space: nowrap;
	padding: 6px 0;
	border-bottom: 2px solid transparent
}

.navlink:hover {
	color: #FF5871
}

.navlink.on {
	color: #FF5871;
	font-weight: 700;
	border-bottom-color: #FF5871
}

#worksTrack::-webkit-scrollbar {
	display: none
}

.tag {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 3px;
	font-size: 14px;
	line-height: 1.3;
	color: #DCE5F3;
	white-space: nowrap;
	transition: border-color .18s, color .18s
}

.tag:hover {
	border-color: #fff;
	color: #fff
}

.btn-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #1E4FE0;
	color: #fff;
	font-weight: 700;
	border-radius: 4px;
	border: none;
	cursor: pointer
}

.btn-primary:hover {
	background: #1339B5;
	color: #fff
}

.hdr-nav {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(10px, 1.4vw, 22px);
	flex-wrap: wrap;
	row-gap: 6px
}

.burger {
	display: none;
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	background: none;
	border: 1px solid #DFE6F2;
	border-radius: 4px;
	cursor: pointer;
	padding: 0
}

.burger span {
	display: block;
	width: 20px;
	height: 2px;
	background: #0A1B33;
	position: relative
}

.burger span::before, .burger span::after {
	content: "";
	position: absolute;
	left: 0;
	width: 20px;
	height: 2px;
	background: #0A1B33
}

.burger span::before {
	top: -6px
}

.burger span::after {
	top: 6px
}

@media (max-width: 1080px) {
	.hdr {
		padding: 12px clamp(14px, 4vw, 24px) !important;
		min-height: 64px !important;
		gap: 12px !important
	}

	.burger {
		display: flex
	}

	.hdr-nav {
		position: fixed;
		top: 64px;
		left: 0;
		right: 0;
		background: #fff;
		border-bottom: 1px solid #E4E9F2;
		box-shadow: 0 20px 40px -20px rgba(10, 27, 51, .28);
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 0 !important;
		padding: 8px 0;
		max-height: calc(100vh - 64px);
		overflow-y: auto;
		display: none !important
	}

	.hdr-nav.open {
		display: flex !important
	}

	.navlink {
		padding: 14px clamp(14px, 4vw, 24px) !important;
		border-bottom: 1px solid #EDF1F8 !important;
		font-size: 16px !important
	}

	.navlink.on {
		border-bottom-color: #EDF1F8 !important;
		background: #F7F9FD
	}

	.hdr-cta {
		margin-left: 0 !important
	}

	.hdr {
		justify-content: space-between !important;
		flex-wrap: nowrap !important
	}

	.hdr-cta {
		margin-left: auto !important;
		justify-content: flex-end !important
	}

	.hdr-contacts {
		display: none !important
	}

	.hdr-btn {
		display: none !important
	}

	.hdr-nav .m-contacts {
		display: flex !important
	}

	section[id] {
		scroll-margin-top: 76px
	}
}

.m-contacts {
	display: none;
	flex-direction: column;
	gap: 10px;
	padding: 16px clamp(14px, 4vw, 24px) 8px
}


/*custom section*/

.is-invalid {
	border-color: #E54545 !important;
}
.is-valid {
	border-color: #0EA85E !important;
}
.just-validate-tooltip {
	background: #E54545 !important;
	color: #fff !important;
	border-radius: 4px !important;
	font-size: 12px !important;
	padding: 6px 12px !important;
}
@keyframes fadeIn {
	from { opacity: 0; transform: translateY(-8px); }
	to { opacity: 1; transform: translateY(0); }
}

.form-input {
	height:52px;padding:0 16px; font-size:15.5px;color:#0A1B33;background:#fff;border:1px solid #DFE6F2;border-radius:4px
}