@charset "utf-8";

/* Legacy bottom sticky styles kept unused after markup removal. */
.mobile-sticky-bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10000;
	display: block;
	padding: 0.75rem 0;
	background: #ffffff;
	border-top: 2px solid #0096dd;
	box-shadow: 0 -0.5rem 1.5rem rgba(0, 0, 0, 0.22);
	box-sizing: border-box;
}

.mobile-sticky-bar.mobile-sticky-bar--webdev {
	display: none;
}
.mobile-sticky-bar .container,
.mobile-sticky-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	flex-wrap: nowrap;
}
.mobile-sticky-copy {
	flex: 1 1 auto;
	min-width: 0;
}
.mobile-sticky-title {
	margin: 0 0 0.15rem;
	color: var(--esk-accent, #3a8bee);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	align-self: flex-end;
}
.mobile-sticky-title:before {
	content: '!';
	width: 0.8rem;
	height: 0.8rem;
	border-radius: 999px;
	background: var(--esk-accent-orange, #ff9800);
	color: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 0.65rem;
	line-height: 1;
	flex: 0 0 auto;
}
.mobile-sticky-estimate,
.mobile-sticky-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: auto;
	max-width: 100%;
	min-height: 44px;
	padding: 0.75rem 1.25rem;
	margin: 0;
	text-align: center;
	text-decoration: none !important;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}
.mobile-sticky-note {
	color: #333333;
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.25;
}
.mobile-sticky-estimate {
	background: #0096dd;
	color: #ffffff !important;
	border: 1px solid #007bb8;
	border-radius: 0.5rem;
	font-weight: 700;
	font-size: 0.9375rem;
	line-height: 1.2;
	box-shadow: 0 0.25rem 0.75rem rgba(0, 150, 221, 0.35);
	flex-direction: column;
	gap: 0.05rem;
}
.mobile-sticky-estimate:hover {
	background: #007bb8;
	color: #ffffff !important;
}
.mobile-sticky-estimate__main {
	font-weight: 700;
	line-height: 1.1;
	text-transform: lowercase;
}
.mobile-sticky-estimate__sub {
	font-weight: 400;
	font-size: 0.75rem;
	line-height: 1.1;
}
.mobile-sticky-cta {
	min-width: 12.5rem;
	white-space: nowrap;
}
.mainwrap:has(.mobile-sticky-bar) {
	padding-bottom: 5.5rem;
}
#lead-form {
	scroll-margin-top: 6rem;
}

/* Footer submenu: bullet + text on one line (all viewports) */
.footer-menu li ul li {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0.35em;
}
.footer-menu li ul a {
	display: inline;
}

/* Mobile header CTA is hidden by default and enabled only on <=1143px. */
.header-mobile-cta {
	display: none;
}

@media only screen and (max-width: 642px) {
.mobile-sticky-bar.mobile-sticky-bar--webdev {
	display: block;
}
.mobile-sticky-inner {
	gap: 0.75rem;
	align-items: flex-start;
	flex-wrap: wrap;
}
.mobile-sticky-title {
	font-size: 0.9375rem;
}
.mobile-sticky-estimate,
.mobile-sticky-cta {
	font-size: 0.8125rem;
	padding: 0.65rem 0.9rem;
}
.mobile-sticky-note {
	font-size: 0.75rem;
}
.mobile-sticky-cta {
	min-width: 0;
	width: 100%;
}
html {
	font-size: 16px;
}
h4, .h4, h5, h6 {
	font-size: 1.125rem;
}
h1, .h1 {
	font-size: 2rem;
}
h2, .h2 {
	font-size: 1.5rem;
}
h3, .h3, .text-content h3, .text-content .h3 {
	font-size: 1.25rem;
}
.inputs-grid {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}
.inputs-grid .inputs-row {
	width: 100%!important;
}
.inputs-submit .btn {
	width: 100%;
}
.container {
	padding-left: 1rem;
	padding-right: 1rem;
}
.header-logo img {
	height: 2.45rem;
	max-height: none;
	max-width: none;
}
.header-menu-grid {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}
.header-lang {
	width: 100%;
	display: block;
	margin-bottom: 1rem;
}
.header--services .header-webdev-cta {
	display: flex !important;
	width: 100%;
	margin: 0 0 0.75rem;
	order: -1;
	justify-content: space-between;
	align-items: center;
	gap: 0.75rem;
}
.header--services .header-webdev-cta__text {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0;
	text-align: left;
}
.header--services .header-webdev-cta__title {
	align-self: flex-start;
}
.header--services .header-webdev-cta__note {
	max-width: none;
}
.header--services .header-lang {
	margin-bottom: 0.5rem;
}
.header-lang {
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
}
.header-lang .header-menu-popup {
	position: relative;
	top: auto;
	left: auto;
	z-index: auto;
	box-shadow: none;
}
.header-login {
	margin-left: 0.9375rem;
	-ms-flex-item-align: stretch;
	    -ms-grid-row-align: stretch;
	    align-self: stretch;
}
.header-login-popup {
	left: 0;
	right: auto;
	width: 100%;
	max-width: none;
}
.header-login-grid {
	display: block;
}
.header-login-side {
	width: auto;
	border: 0;
	padding: 1rem;
	margin: 0;
}
.top-title {
	font-size: inherit;
}
.top-title.no-bg {
	padding-top: 5rem !important;
	padding-bottom: 2rem !important;
}
.top-title.no-bg h1, .top-title.no-bg .h1 {
	min-height: 0;
	margin-bottom: 1rem !important;
}
.portfolio {
	padding-top: 0 !important;
	padding-bottom: 2rem;
}
.top-title br {
	display: none;
}
.top-title h1 br, .top-title .h1 br {
	display: block;
}
.top-title .center-form {
	margin-bottom: -4rem;
}
.top-title .img-place {
	display: none;
	visibility: hidden;
}
.center-form {
	padding-left: 1rem;
	padding-right: 1rem;
}
.contact-us .grid {
	padding: 1rem 0;
	display: block;
}
.contact-us .grid > * {
	padding: 1rem;
}
.contact-us .side-l, .contact-us .side-r {
	width: auto;
}
.contact-us .side-l {
	text-align: center;
}
.footer-menu > ul {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}
.footer-menu > ul > li {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	width: 100%;
}
.types h2, .types .h2 {
	margin-bottom: 3rem;
}
.types ul {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	text-align: center;
	/* no negative margin — avoided horizontal overflow past viewport */
	margin: 0;
	padding: 0;
	max-width: 100%;
}
.types li {
	width: 100%;
	padding: 1.5rem 0;
	margin: 0;
	box-sizing: border-box;
	max-width: 100%;
}
.types li .max {
	margin: 0 auto;
	max-width: 336px;
}
.types .pic {
	position: relative;
	height: 12rem;
	width: auto;
	top: auto;
	left: auto;
	margin: 2rem 0;
}
.services h2, .services .h2 {
	margin-bottom: 3rem;
	text-align: inherit;
}
.service {
	display: block;
	margin-top: 4rem;
}
.service:first-child {
	margin-top: 0;
}
.service h3, .service .h3 {
	margin: 0 0 2rem 0;
	text-align: center;
}
.service .text-grid {
	display: block;
}
.service .text-second {
	display: block;
	margin: 2rem 0 0 0!important;
	padding: 0!important;
	text-align: center!important;
}
.service .text-second > * {
	max-width: none;
	margin: 0!important;
}
.service .text-second .btn {
	margin: 1rem 0 0 0!important;
}
.service.hor .text {
	width: auto;
	display: block;
}
.service .screens {
	display: block!important;
	width: auto!important;
	max-width: 480px;
	margin: 2rem auto 0 auto!important;
	padding: 0!important;
}
.service .screens > * {
	margin: 2rem 0 0 0!important;
	width: auto!important;
	padding: 0!important;
}
.service .screen-bg {
	padding: 0.375rem;
	border-radius: 0.3125rem;
	background: #8aa7d1;
	box-shadow: 0 0.5rem 1.8125rem rgba(158, 158, 158, 0.75);
}
.service .screen-bg img {
	width: 100%;
	height: auto;
}
.service .screens .caption {
	margin: 0.75rem -0.625rem 0 -0.625rem;
}
.service .screens .btn {
	width: auto;
	margin: 1.25rem auto 0 auto;
	min-width: 12.9375rem;
}
.service.vert .text-main {
	width: auto;
}
.service.vert .text-second {
	width: auto;
	text-align: inherit;
}
.service-descr-top .side-l h2, .service-descr-top .side-l .h2 {
	padding-right: 0;
	text-align: center;
}
.service-descr-top .text .img {
	float: none;
	width: auto;
	max-width: none;
	margin: 2rem 0;
	text-align: center;
}
.service-descr-top .list-hor, .service-descr-top .list-vert-big, .service-descr-top .list-vert, .service-descr-bottom .list-hor, .contact-us-big .list-hor {
	padding: 0;
	max-width: none;
	display: block;
	margin: 0;
}
.service-descr-top .list-hor li, .service-descr-top .list-vert-big li, .service-descr-top .list-vert li, .service-descr-bottom .list-hor > li, .contact-us-big .list-hor li {
	padding: 0;
	margin-top: 3rem;
	width: auto;
}
.service-descr-top .list-hor li:first-child, .service-descr-top .list-vert-big li:first-child, .service-descr-bottom .list-hor > li:first-child, .contact-us-big .list-hor li:last-child {
	margin-top: 0;
}
.service-descr-top .list-hor h3, .service-descr-top .list-hor .h3, .service-descr-top .list-vert-big h3, .service-descr-top .list-vert-big .h3, .service-descr-top .list-vert h3, .service-descr-top .list-vert .h3, .service-descr-bottom .list-hor h3, .service-descr-bottom .list-hor .h3, .contact-us-big .list-hor h3, .contact-us-big .list-hor .h3 {
	text-align: center;
}
.service-descr-top .list-hor .pic, .service-descr-top .list-vert-big .pic, .service-descr-bottom .list-hor .pic, .service-descr-bottom .list-hor .pic, .contact-us-big .list-hor .pic, .service-descr-top .list-vert .pic {
	position: relative;
	top: auto;
	left: auto;
	margin: 2rem auto;
	width: 100%;
	height: 12rem;
}
.service-descr-top .list-vert .pic, .contact-us-big .list-hor .pic {
	width: 7.3125rem;
	height: 7.3125rem;
}
.service-descr-top .list-hor .pic img, .service-descr-top .list-vert-big .pic img, .service-descr-top .list-vert .pic img, .service-descr-bottom .list-hor .pic img, .contact-us-big .list-hor .pic img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate3d(-50%, -50%, 0);
	        transform: translate3d(-50%, -50%, 0);
}
.contact-us-big .side-l h2, .contact-us-big .side-l .h2 {
	text-align: center;
	padding: 0;
}
.contact-us-big .list-hor {
	text-align: center;
}
.contact-us-big .list-hor .max {
	max-width: none;
}
.examples .head {
	display: block;
	margin-bottom: 3rem;
}
.examples .head h2, .examples .head .h2 {
	margin: 0;
	text-align: center;
}
.examples .head .btn {
	display: none;
}
.examples .mob-link-bottom {
	display: block;
}
.grid-projects {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}
.grid-projects-el {
	width: 100%;
}
.project-mini h3, .project-mini .h3 {
	font-size: 1.25rem;
}
.service-descr-bottom h2, .service-descr-bottom .h2 {
	margin-bottom: 3rem;
	text-align: center;
}
.service-descr-bottom .grid {
	display: block;
}
.services-pricing-el .prices {
	padding-left: 1rem;
	padding-right: 1rem;
}
.services-pricing-el .prices .prices-side {
	display: block;
	text-align: center;
}
.services-pricing-el .prices .prices-side > * {
	width: auto;
}
.services-pricing-el .prices .big {
	min-width: 0;
	margin: 1rem 0 0 0;
	text-align: center;
}
.services-pricing-el .prices .prices-side:last-child .big {
	min-width: 0;
}
.services-pricing-el .go {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	padding: 1rem;
}
.services-pricing-el .go > * {
	margin: 1rem;
}
.engine .grid {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}
.engine .text {
	-webkit-box-ordinal-group: 3;
	    -ms-flex-order: 2;
	        order: 2;
	width: 100%;
	padding: 0;
}
.engine .img {
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
	max-width: 240px;
	margin: 2rem auto;
}
.steps .grid {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	margin-bottom: -3rem;
	margin-right: 0;
}
.steps .grid > * {
	padding-right: 0;
	margin-bottom: 3rem;
	width: 100%;
}
.steps .step {
	position: relative;
}
.steps .step.big {
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
	padding-right: 0;
}
.steps .step.big h3, .steps .step.big .h3 {
	margin-right: 0;
}
.steps .step.small h3, .steps .step.small .h3 {
	text-align: center;
}
.steps .step.small {
	-webkit-box-ordinal-group: 4;
	    -ms-flex-order: 3;
	        order: 3;
	padding-left: 0;
}
.steps .step.small .pic {
	position: relative;
	top: auto;
	left: auto;
	width: 100%;
	height: 7.3125rem;
	margin: 0 0 2rem 0;
}
.steps .step.small .pic img {
	top: 50%;
	left: 50%;
	-webkit-transform: translate3d(-50%, -50%, 0);
	        transform: translate3d(-50%, -50%, 0);
}
.steps .example {
	-webkit-box-ordinal-group: 3;
	    -ms-flex-order: 2;
	        order: 2;
}
.hor-menu {
	margin: 0;
}
.hor-menu .hashtag {
	list-style: none;
	padding: 0;
	margin: 0;
	width: 100%;
}
.hor-menu .hashtag li {
	display: block;
	padding: 0;
	margin: 0;
}
.hor-menu .hashtag li > div,
.hor-menu #portfolio-tag_id {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 0.625rem;
	align-items: flex-start;
}
.hor-menu .hashtag label.link {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin: 0 !important;
}
.hor-menu .link {
	margin: 0 !important;
	position: relative;
}
.hor-menu .link input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}
.pagination .link {
	width: 2rem;
	height: 2rem;
	line-height: 1.875rem;
}
.results-pager {
	flex-wrap: nowrap;
}
.results-pager ul {
	margin: 0 0.75rem;
	flex-wrap: nowrap;
}
.results-pager ul li {
	padding: 0 !important;
}
.results-pager ul li .active,
.results-pager ul li a {
	padding: 0.65rem 0.85rem;
}
.next-pager,
.prev-pager {
	flex: 0 0 auto;
	width: 2.5rem;
	height: 2.5rem;
}
.photos {
	margin-left: -0.5rem;
	margin-right: -0.5rem;
}
.photos-el {
	padding: 0.5rem;
	width: 100%!important;
}
.portfolio-slider .container {
	padding-left: 2rem;
	padding-right: 2rem;
}
.portfolio-slider .swiper-arr {
	margin: 0 0.5rem;
	width: 1rem;
	height: 2rem;
}
.about-text {
	display: block;
	padding: 3rem 2rem;
}
.about-text h2, .about-text .h2 {
	max-width: none;
	margin: 0 0 2rem 0;
}
.contacts h2, .contacts .h2 {
	font-size: 1.5rem;
}
.contacts .email {
	font-size: 1.25rem;
}
.contacts .email .bg {
	padding-left: 3rem;
	padding-right: 3rem;
}
.contacts .email h2, .contacts .email .h2 {
	font-size: 1rem;
}
.contacts h3, .contacts .h3 {
	font-size: 1.25rem;
}
.contacts li .pic {
	top: 0.875rem;
}
.contacts-office {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 1.5rem;
}
.contacts-office-map {
	min-height: 16rem;
}
.contacts-office-map iframe {
	min-height: 16rem;
}
.grid-articles {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}
.grid-articles-el {
	width: 100%;
}
.portfolio-grid.container {
	width: 100%;
	grid-template-columns: 1fr;
	padding-left: 0.75rem;
	padding-right: 0.75rem;
	box-sizing: border-box;
}
.portfolio-grid-item {
	width: 100%;
}
.portfolio-grid-item .portfolio-card {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}
.articles h2, .articles .h2, .articles h3, .articles .h3 {
	text-align: center;
}
.article-mini {
	margin-left: auto;
	margin-right: auto;
	max-width: 480px;
	text-align: center;
}
.guide-grid {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}
.guide-grid-el {
	width: 100%;
}
.guide-mini {
	margin-left: auto;
	margin-right: auto;
	max-width: 480px;
	text-align: center;
}
.vacancy-head {
	display: block;
	padding-left: 0;
	padding-right: 3.5rem;
}
.vacancy-head .plus {
	left: auto;
	right: 0;
}
.vacancy-head > * {
	max-width: none;
}
.vacancy-head > *:last-child {
	text-align: left;
}
.vacancy-head h3, .vacancy-head .h3 {
	padding: 0;
	margin: 0 0 0.5rem 0;
}
.vacancy-ind {
	padding-left: 0;
}
.article h2, .article .h2 {
	font-size: 1.5rem;
	text-align: center!important;
}
.article-grid {
	display: block;
}
.article-l {
	display: none;
	visibility: hidden;
}
.article-r {
	width: 100%!important;
}
}

/*added 30.03.21 start*/
.service-pricing h2, .service-pricing .h2 {
	text-align: center;
}
.service-pricing .links .link {
	font-size: 1rem;
	text-align: center;
	display: block;
	padding: 1rem 0.25rem;
}
.service-pricing .links .pic {
	margin: 0 auto 0.5rem auto;
}
.service-pricing .text-wrap {
	font-size: 1rem;
	padding: 1.875rem;
}

/* Mobile usability: tap targets + no horizontal overflow */
html, body, .mainwrap {
	overflow-x: clip;
	max-width: 100%;
}

.footer-menu a,
.footer-contacts a,
.footer-copy a {
	display: inline-block;
	padding: 0.625rem 0;
	min-height: 44px;
	line-height: 1.35;
	box-sizing: border-box;
}
.footer-menu li ul {
	font-size: 1rem;
	line-height: 1.35;
	opacity: 0.85;
}
.footer-menu li ul li {
	margin: 0;
	/* keep bullet (::before) and link on one line */
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0.35em;
	min-height: 44px;
	padding: 0.35rem 0;
}
.footer-menu li ul a {
	display: inline;
	padding: 0;
	min-height: 0;
	line-height: 1.35;
}
.footer-contacts .tel a,
.footer-contacts .tel {
	font-size: 1.125rem;
	line-height: 1.4;
}
.btn, .btn-small {
	min-height: 44px;
	box-sizing: border-box;
}
.header-menu-popup a.header-menu-item {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	padding: 0.75rem 1rem 0.75rem 1.25rem;
	min-height: 44px;
	box-sizing: border-box;
}

.header-links > .header-link-wrap > .header-link > a,
.header-links > .header-link-wrap > .header-link > b {
	display: block;
	padding: 0.75rem 0;
	min-height: 44px;
	box-sizing: border-box;
}
}

@media only screen and (max-width: 1143px) {
.header-mobile-cta {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: flex-end;
	gap: 0.5rem;
	margin-left: auto;
	min-width: 0;
}
.header-mobile-cta__title {
	align-self: auto !important;
	max-width: 8rem;
	white-space: normal;
	line-height: 1.1;
	text-align: right;
}
.header-mobile-cta__btn {
	padding: 0.25rem 0.65rem !important;
	min-height: 0 !important;
	flex: 0 0 auto;
}
.header-mobile-cta .btn-estimate-2line__sub {
	font-size: 0.65rem !important;
}
}

@media only screen and (max-width: 857px) {
.header {
	position: fixed !important;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
}
.header-grid {
	height: 3.875rem;
	padding-top: 0;
	align-items: center;
	justify-content: space-between;
}
.header-logo {
	position: static;
	height: auto;
	flex: 0 0 auto;
}
.toggle-menu {
	position: static;
	top: auto;
	right: auto;
	transform: none;
	margin-left: auto;
	flex: 0 0 auto;
}
.header-menu {
	position: fixed;
	top: 3.875rem;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	background: #fafafa;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
.header-menu-grid {
	display: block;
	padding: 1rem;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
.header-links {
	width: 100%;
	display: block;
	margin-bottom: 1rem;
}
.header-lang {
	width: 100%;
	margin-bottom: 0;
}
.header-mobile-cta {
	flex: 1 1 auto;
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
	gap: 0.45rem;
	margin: 0 0.5rem 0 0.75rem;
	min-width: 0;
	max-width: none;
}
.header-mobile-cta__title {
	display: inline-flex;
	max-width: 6.35rem;
	font-size: 0.92rem;
	min-height: 44px;
	margin: 0;
	flex: 1 1 auto;
	align-items: center;
	justify-content: flex-end;
	text-align: right;
	line-height: 1.1;
}
.header-mobile-cta__title:before {
	display: none !important;
}
.header-mobile-cta__btn {
	padding: 0.2rem 0.55rem !important;
	min-width: 9.35rem;
	flex: 0 0 auto;
	font-size: 0.84rem;
	line-height: 1;
}
.header-mobile-cta .btn-estimate-2line__main {
	font-size: 0.92rem;
}
.header-mobile-cta .btn-estimate-2line__sub {
	font-size: 0.68rem !important;
}
.footer-grid {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-areas:
		"logo contacts"
		"menu menu"
		"copy copy";
	gap: 1.25rem 0.75rem;
	align-items: center;
	margin: 0;
}
.footer-grid > * {
	margin: 0;
	padding: 0;
	width: auto;
	min-width: 0;
}
.footer-logo {
	grid-area: logo;
	margin-bottom: 0;
}
.footer-contacts {
	grid-area: contacts;
	min-width: 0;
	border-left: 0;
	padding: 0;
	text-align: right;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	gap: 0.75rem;
	flex-wrap: wrap;
}
.footer-contacts .tel {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.3;
	white-space: nowrap;
}
.footer-contacts .email {
	margin-top: 0;
	font-size: 0.8125rem;
	line-height: 1.3;
	-webkit-box-ordinal-group: 0;
	    -ms-flex-order: -1;
	        order: -1;
}
.footer-contacts a {
	display: inline;
	padding: 0;
	min-height: 0;
	line-height: 1.3;
}
.footer-menu {
	grid-area: menu;
	padding: 0;
}
.footer-copy {
	grid-area: copy;
}
.footer-menu-grid {
	grid-template-columns: 1fr;
	gap: 0;
}
.footer-menu-col ul {
	margin: 0;
}
.footer-menu-col li {
	margin: 0.2rem 0;
}
.footer-menu-col--parsing {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem;
	margin-top: 1rem;
}
.footer-menu-col--parsing .footer-parsing-top {
	margin-bottom: 0;
	min-height: 3rem;
	padding: 0.75rem 0.5rem;
	font-size: 0.8125rem;
}
.footer-menu-col--parsing .footer-menu-sub {
	grid-column: 1 / -1;
	margin-top: 0.25rem;
}
.portfolio-grid.container,
.portfolio-grid {
	width: 100% !important;
	max-width: 100%;
	padding-left: 0.75rem;
	padding-right: 0.75rem;
	box-sizing: border-box;
}
.portfolio > .container,
.text-content .container,
.path .container,
.top-title .container {
	padding-left: 0.75rem;
	padding-right: 0.75rem;
}
.example-interfaces > * {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.text-content .about-text {
	padding-left: 1rem;
	padding-right: 1rem;
}
.bread-crumbs {
	flex-wrap: wrap;
}
.bread-crumbs li:last-child {
	white-space: normal;
	flex: 1 1 100%;
}
}

@media only screen and (max-width: 374px) {
.service-pricing .links .link {
	font-size: 0.75rem;
}
}
/* Fix mobile header dropdown:
   JS toggles `.open` on `.header-link-wrap`, so on mobile/tablet
   we disable desktop transform-based reveal and use display toggling. */
@media only screen and (max-width: 1143px) {
.header-menu-popup,
.header-login-popup {
	transform: none !important;
	display: none;
}
.header-link-wrap.open .header-menu-popup {
	display: block;
}
.header-login.open .header-login-popup {
	display: block;
}
}
/*added 30.03.21 end*/
