/* smartweb-mobile — fluid overlay for Symptome chrome, blog, 152-FZ */
html.sw-narrow,
html.sw-narrow body {
	overflow-x: hidden;
	max-width: 100%;
}

.sw-nav-toggle {
	display: none;
}

@media (max-width: 980px) {
	html,
	body {
		overflow-x: hidden;
		max-width: 100%;
	}

	body,
	body.bright,
	body.dark,
	body.contacts,
	.site-content {
		background-image: none !important;
		background-color: #fff;
	}

	.site-content {
		padding-bottom: 40px;
	}

	.site-top .site-menu {
		background: #67b32e !important;
	}

	.site-top,
	.site-header,
	.site-top .site-menu,
	.site-u-menu,
	.site-mid,
	.site-action,
	.site-oob .site-oob-inner .inner-content,
	.content-wrapper .content,
	.portfolio-wrapper,
	.portfolio-wrapper .portfolio,
	.our-team,
	.our-team .team-carousel-container,
	.about-clients,
	.map-blocks,
	.feedback-wrapper .feedback,
	.feedback-wrapper .feedback .form,
	.site-footer .footer,
	.site-footer .footer .footer-menu,
	.site-fast-order,
	.site-fast-order-2 {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	img,
	.site-header .logo img,
	.footer-block .logo img,
	.content img,
	.card-wrapper img,
	.portfolio-wrapper .portfolio li div.card-image,
	.portfolio-wrapper .portfolio li div.card-image a {
		max-width: 100%;
		height: auto;
	}

	/* header: stack logo, slogan, mail, phone */
	.site-header {
		height: auto !important;
		min-height: 0;
		padding: 10px 12px 8px;
		position: relative;
	}

	.site-header div {
		position: static !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		width: auto !important;
		height: auto !important;
		text-align: left !important;
		padding-top: 0;
		overflow: visible !important;
	}

	.site-header .logo {
		padding-top: 4px;
	}

	.site-header .slogan {
		border-left: 0;
		padding-left: 0;
		margin: 8px 0 6px;
	}

	.site-header .mail a,
	.site-header .phone a {
		display: inline-block;
		min-height: 44px;
		line-height: 1.3;
		padding: 10px 0;
		font-size: 18px;
	}

	.site-header .phone {
		font-size: 20px;
	}

	.site-header .phone a.callback {
		display: inline-block !important;
		background-position: right center;
		margin-top: 0;
		padding: 10px 22px 10px 0;
		font-size: 14px;
	}

	/* green bar + hamburger */
	.site-top .site-menu {
		height: auto !important;
		padding: 8px 12px;
		text-align: left;
		position: relative;
		z-index: 40;
	}

	.sw-nav-toggle {
		display: inline-block;
		background: transparent;
		color: #fff;
		border: 1px solid rgba(255, 255, 255, 0.55);
		border-radius: 3px;
		padding: 10px 14px;
		min-height: 44px;
		min-width: 44px;
		font-family: "boblicregular", Arial, sans-serif;
		font-size: 16px;
		text-transform: uppercase;
		cursor: pointer;
		letter-spacing: 0.04em;
	}

	.sw-nav-toggle:focus {
		outline: 2px solid #fff;
	}

	.site-top .site-menu > ul {
		display: none;
		float: none !important;
		left: auto !important;
		right: auto !important;
		position: static !important;
		width: 100% !important;
		white-space: normal !important;
		text-align: left;
		margin: 8px 0 0;
		padding: 0;
		background: #67b32e;
	}

	body.sw-nav-open .site-top .site-menu > ul {
		display: block;
	}

	.site-top .site-menu ul li.node {
		float: none !important;
		right: auto !important;
		left: auto !important;
		display: block !important;
		margin: 0 !important;
		width: 100%;
		background-image: none !important;
	}

	.site-top .site-menu ul li.node > a {
		padding: 12px 10px;
		margin: 0;
		min-height: 44px;
		box-sizing: border-box;
		border-top: 1px solid rgba(255, 255, 255, 0.18);
	}

	.site-top .site-menu ul li.node.active > a,
	.site-top .site-menu ul li.node.active > a:hover {
		color: #111 !important;
		background: #d8ef9a;
	}

	.site-top .site-menu ul li.node ul {
		position: static !important;
		display: none !important;
		width: 100% !important;
		border: 0;
		padding: 0 0 8px 12px;
		margin: 0;
		background: #f4f8ea;
		box-shadow: none;
	}

	.site-top .site-menu ul li.node.sw-sub-open > ul {
		display: block !important;
	}

	.site-top .site-menu ul li.node ul li a {
		padding: 10px 8px;
		min-height: 44px;
		box-sizing: border-box;
		display: block;
	}

	.site-u-menu {
		padding: 8px 12px;
	}

	.site-u-menu ul,
	.site-u-menu ul li {
		float: none !important;
		left: auto !important;
		right: auto !important;
		display: block;
		margin: 0;
	}

	/* homepage slider + consult widget */
	.site-mid {
		height: auto !important;
		overflow: hidden;
		padding: 0 0 12px;
	}

	.site-mid .site-slider-container,
	.site-mid .site-slider-container .parallax-slider,
	.site-mid .site-slider-container .site-slider {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 140px;
		overflow: hidden;
	}

	.site-mid .site-slider-container .unslider-arrow,
	.site-mid .site-slider-container .unslider-arrow.next,
	.site-mid .site-slider-container .unslider-arrow.prev {
		display: none;
	}

	.site-fast-consult {
		position: relative !important;
		left: auto !important;
		top: auto !important;
		width: auto !important;
		max-width: 320px;
		height: auto !important;
		margin: 12px auto;
		overflow: visible;
	}

	.site-fast-consult .header,
	.site-fast-consult .mover {
		position: relative !important;
		top: auto !important;
		width: auto !important;
		height: auto !important;
		max-width: 100%;
	}

	.site-fast-consult .form,
	.site-fast-consult .form input {
		width: 100% !important;
		max-width: 100%;
		box-sizing: border-box;
	}

	.site-fast-consult .form input,
	.site-fast-consult a.fast-consult-button {
		min-height: 44px;
	}

	.site-oob .site-oob-inner .inner-content .dark-side,
	.site-oob .site-oob-inner .inner-content .bright-side,
	.review-block,
	.review-block.float,
	.review-block .review,
	.review-block.float .review {
		float: none !important;
		width: auto !important;
		max-width: 100%;
		margin-left: 0;
		padding: 0 12px 16px;
		background-position: top center;
	}

	.site-oob .site-oob-inner .inner-content .dark-side ul {
		margin: 24px 0 0;
	}

	.review-block .review-pic {
		position: relative !important;
		margin-bottom: 8px;
	}

	.site-wizard,
	.site-wizard .site-wizard-inner,
	.site-wizard .site-wizard-inner .wizard-container,
	.site-wizard .site-wizard-inner .wizard-container .context-helper,
	.column,
	.column.first {
		width: auto !important;
		max-width: 100% !important;
		float: none !important;
		height: auto !important;
		padding: 8px 12px;
		box-sizing: border-box;
	}

	.site-fast-order,
	.site-fast-order-2 {
		height: auto !important;
		padding: 16px 12px;
		margin: 16px 0 0;
	}

	.site-fast-order input,
	.site-fast-order-2 input,
	.site-fast-order a,
	.site-fast-portfolio,
	.site-fast-portfolio .portfolio-carousel-container {
		width: auto !important;
		max-width: 100%;
		position: static !important;
		display: block;
		margin: 8px auto;
		box-sizing: border-box;
	}

	.content-wrapper {
		overflow: visible;
	}

	.content-wrapper .content {
		padding: 0 14px 24px;
		font-size: 16px;
		line-height: 1.5;
	}

	.content h1,
	body.dark .content h3 {
		font-size: 22px;
		line-height: 1.25;
	}

	.content .breadcrubms span {
		float: none;
		display: inline-block;
		margin-bottom: 6px;
	}

	.content .map {
		width: auto !important;
		max-width: 100%;
		height: 220px !important;
		box-sizing: border-box;
	}

	.content .map iframe,
	.content .map img,
	.content .map > * {
		max-width: 100%;
	}

	.map-blocks {
		background: none;
	}

	.map-blocks .block,
	.map-blocks .block.first {
		float: none !important;
		width: auto !important;
		padding: 12px 0 !important;
	}

	.feedback-wrapper .feedback .form {
		height: auto !important;
		padding: 16px 12px 24px;
	}

	.feedback-wrapper .feedback .form input.field,
	.feedback-wrapper .feedback .form textarea,
	.feedback-wrapper .feedback .form .button {
		position: static !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		width: 100% !important;
		max-width: 100%;
		height: auto !important;
		min-height: 44px;
		margin: 8px 0;
		box-sizing: border-box;
	}

	.feedback-wrapper .feedback .form textarea {
		min-height: 120px;
	}

	.feedback-wrapper .feedback .form .pd-consent {
		position: static !important;
		left: auto !important;
		top: auto !important;
		width: auto !important;
		max-width: 100%;
		margin: 8px 0 12px;
	}

	.connect-form-wrapper,
	.connect .form-holder {
		height: auto !important;
		float: none !important;
		width: auto !important;
		max-width: 100%;
		margin: 0;
	}

	.connect .pd-consent,
	.connect-form-wrapper .pd-consent,
	.form-holder .pd-consent {
		max-width: 100%;
		margin: 8px 0 12px;
	}

	.site-fast-order .pd-consent,
	.site-fast-order-2 .pd-consent {
		position: static !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		display: block;
		margin: 8px 0 12px;
	}

	.form_default .pd-consent {
		width: auto !important;
		max-width: 100%;
	}

	.content .rubricator,
	.content .page-limiter,
	.content .card-container,
	.content .card-container .card-info {
		float: none !important;
		width: auto !important;
		margin: 0 0 12px !important;
		padding: 0;
	}

	.card-wrapper {
		width: auto !important;
		max-width: 100%;
		box-sizing: border-box;
	}

	.portfolio-wrapper .portfolio li {
		float: none !important;
		width: auto !important;
		max-width: 229px;
		margin: 0 auto 16px;
		display: block;
	}

	.our-team {
		padding: 0 12px 32px;
	}

	.our-team .team-carousel-container,
	.our-team .team-carousel-container ul li {
		width: auto !important;
		max-width: 100%;
		height: auto !important;
		float: none;
		margin: 0 auto 16px;
	}

	.about-clients ul li {
		float: none !important;
		width: auto !important;
		margin: 0 auto 12px;
		text-align: center;
	}

	.content-wrapper .content .about-top,
	.content-wrapper .content .articles-top {
		padding: 0 !important;
	}

	.content-wrapper .content .about-top .about-left,
	.content-wrapper .content .articles-top .articles-left {
		float: none !important;
		width: auto !important;
		margin: 0 !important;
	}

	.content-wrapper .content .articles-top .articles-left ul li,
	.content-wrapper .content .articles-top .articles-left ul li a {
		width: auto !important;
		height: auto !important;
		display: block;
		min-height: 44px;
	}

	.site-footer {
		height: auto !important;
		margin: 24px auto 0 !important;
		padding: 12px 0 90px;
		background-position: 0 0;
	}

	body.contacts .site-footer {
		margin: 24px auto 0 !important;
	}

	.footer .footer-social {
		width: auto;
	}

	.site-footer .footer .footer-menu {
		height: auto !important;
		overflow: visible;
		padding: 12px;
	}

	.footer .footer-menu ul {
		white-space: normal !important;
		float: none !important;
		left: auto !important;
		width: 100% !important;
		text-align: center;
	}

	.footer .footer-menu ul li.node {
		float: none !important;
		display: block !important;
		right: auto !important;
		margin: 0 !important;
		position: static !important;
	}

	.footer .footer-menu ul li.node a {
		padding: 10px;
		min-height: 44px;
		box-sizing: border-box;
	}

	.site-footer .footer .footer-block {
		width: auto !important;
		padding: 12px;
		height: auto;
	}

	.footer-block div {
		position: static !important;
		left: auto !important;
		top: auto !important;
		width: auto !important;
		text-align: center;
		margin: 8px auto;
	}

	.footer-block .slogan {
		border-left: 0;
		padding-left: 0;
	}

	#maat-box .container {
		padding: 24px 10px;
		box-sizing: border-box;
	}

	#maat-box .container .content {
		width: auto !important;
		max-width: 100%;
		margin: 0 8px;
		box-sizing: border-box;
	}

	#maat-box .container .close {
		right: 4px;
		top: 4px;
	}

	#maat-box .form-order input,
	#maat-box .form-callback input,
	#maat-box textarea {
		width: 100% !important;
		max-width: 100%;
		box-sizing: border-box;
		min-height: 44px;
	}

	#maat-box input[name="pd_consent"],
	#maat-box .pd-consent input,
	.pd-consent input {
		width: 18px !important;
		height: 18px !important;
		min-width: 18px !important;
		min-height: 18px !important;
		margin-right: 8px;
		vertical-align: middle;
	}

	.pd-consent {
		width: auto !important;
		min-height: 0 !important;
		display: block;
		margin: 10px 0;
	}

	body.sw-nav-open .pd-banner {
		display: none;
	}

	body.sw-nav-open .site-top .site-menu > ul {
		padding-bottom: 8px;
		max-height: 70vh;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.pd-banner {
		padding: 12px 12px 16px;
		font-size: 13px;
	}

	.pd-banner-btn {
		min-height: 44px;
		padding: 10px 18px;
	}

	.pd-table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		font-size: 13px;
	}

	.pd-policy h1 {
		font-size: 22px;
	}

	.pf-overlay.active {
		padding: 24px 12px 80px;
		box-sizing: border-box;
	}

	body.sw-pd-banner-on {
		padding-bottom: 120px;
	}
}

@media (min-width: 640px) and (max-width: 980px) {
	.portfolio-wrapper .portfolio li {
		display: inline-block;
		vertical-align: top;
		margin: 0 8px 16px;
	}

	.site-header .mail,
	.site-header .phone {
		display: inline-block;
		margin-right: 16px;
	}
}
