@charset 'UTF-8';

a {
	cursor: pointer;
	-webkit-transition: color 250ms ease-in-out;
	        transition: color 250ms ease-in-out;
	text-decoration: underline;

	color: #143685;
	outline: 0;
}

a:hover {
	text-decoration: none;
}

.link-text,
.singular-header a,
.object-teaser .content .title a {
	text-decoration: none;

	color: inherit;
}

.link-text:hover,
.singular-header a:hover,
.object-teaser .content .title a:hover {
	color: #112d6f;
}

.primary-slider .slides-navigation .thumbs .entry img,
.page-jumbotron .jumbotron-media .media,
.media-placeholder .media,
.project-card .announce .thumb,
.framed-slider .inner .entry img,
.object-teaser .thumb > * img,
.service-teaser a .thumb img,
.service-teaser-lg .thumb img,
.portfolio-teaser .tsr-image img,
.popup-win.has-image .win-image img,
.preloader-screen .progress-inner,
.page-section.has-bg-image:before,
.media-placeholder.has-overlay:after,
.interaction-request:after,
.service-teaser a .thumb:after,
.service-teaser-lg .thumb,
.service-teaser-lg .thumb:after,
.post-teaser .link {
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;
}

.partners-carousel .entry .logo img,
.faq-accordion .question .toggle:after {
	position: absolute;
	top: 50%;
	left: 50%;

	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}

.search-form {
	position: absolute;
	top: 50%;
	left: 0;

	width: 100%;

	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}

.search-form input[type='submit'],
.search-form button[type='submit'],
.search-form input[type='text'] {
	display: inline-block;

	margin: 0;
	padding: 0;

	border: 0;
	border-radius: 0;
	outline: none;
	background: none;
}

.search-form input[type='submit'],
.search-form button[type='submit'] {
	cursor: pointer;
}

.img-resp,
.media-responsive,
.achievements-enumeration .caption .img-area img {
	display: block;

	width: 100%;
	height: auto;
}

.img-resp-soft,
.advantage-teaser .icon img {
	display: inline-block;

	max-width: 100%;
	height: auto;
}

.partners-carousel .entry .logo img {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 100%;
}

.primary-slider .slides-navigation .thumbs .entry img,
.page-jumbotron .jumbotron-media .media,
.media-placeholder .media,
.project-card .announce .thumb,
.framed-slider .inner .entry img,
.object-teaser .thumb > * img,
.service-teaser a .thumb img,
.service-teaser-lg .thumb img,
.portfolio-teaser .tsr-image img,
.popup-win.has-image .win-image img {
	-o-object-fit: cover;
	   object-fit: cover;
}

@font-face {
	font-family: 'Proxima Nova';
	font-weight: 400;
	font-style: normal;

	src: url('../fonts/proxima_nova_regular-webfont.woff') format('woff'), url('../fonts/proxima_nova_regular-webfont.ttf') format('truetype');
	font-display: swap;
}

@font-face {
	font-family: 'Proxima Nova';
	font-weight: 400;
	font-style: italic;

	src: url('../fonts/proxima_nova_regular_italic-webfont.woff') format('woff'), url('../fonts/proxima_nova_regular_italic-webfont.ttf') format('truetype');
	font-display: swap;
}

@font-face {
	font-family: 'Proxima Nova';
	font-weight: 700;
	font-style: normal;

	src: url('../fonts/proxima_nova_bold-webfont.woff') format('woff'), url('../fonts/proxima_nova_bold-webfont.ttf') format('truetype');
	font-display: swap;
}

@font-face {
	font-family: 'Proxima Nova';
	font-weight: 700;
	font-style: italic;

	src: url('../fonts/proxima_nova_bold_italic-webfont.woff') format('woff'), url('../fonts/proxima_nova_bold_italic-webfont.ttf') format('truetype');
	font-display: swap;
}

/**
 * Сброс стилей
 **/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;

	vertical-align: baseline;

	border: 0;

	font-size: 100%;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary {
	display: block;
}

body {
	line-height: 1;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

table {
	border-spacing: 0;

	border-collapse: collapse;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: normal;
}

input {
	outline: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
	display: block;
}

/**
 * Основные стили
 **/

:root {
	--g-gap: 20px;
	--g-gap-half: 10px;
	--g-gap-neg: -20px;
	--g-gap-half-neg: -10px;
}

html {
	height: 100%;
}

body {
	width: 100%;
	height: 100%;

	color: #000;
	background: #fff;

	font-family: 'Proxima Nova', sans-serif;
	font-weight: 400;

	text-rendering: optimizeLegibility;
	-webkit-text-decoration-skip: objects;
	        text-decoration-skip: objects;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-webkit-tap-highlight-color: transparent;
}

body.is-locked {
	overflow: hidden;
}

html,
body {
	font-size: 13px;
	line-height: 1.2;
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

/**
 * Основные стили
 */

.no-js .hide-no-js {
	display: none;
}

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

input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
	margin: 0;

	-webkit-appearance: none;
}

svg {
	display: block;

	width: 100%;
	height: 100%;

	-webkit-transition: fill 250ms ease-in-out;
	        transition: fill 250ms ease-in-out;

	fill: currentColor;
}

.phone-link,
.email-link {
	text-decoration: none !important;

	color: inherit !important;
}

.delay2 {
	-webkit-animation-delay: .2s;
	        animation-delay: .2s;
}

.delay4 {
	-webkit-animation-delay: .4s;
	        animation-delay: .4s;
}

.delay6 {
	-webkit-animation-delay: .6s;
	        animation-delay: .6s;
}

.delay8 {
	-webkit-animation-delay: .8s;
	        animation-delay: .8s;
}

.delay10 {
	-webkit-animation-delay: 1s;
	        animation-delay: 1s;
}

.state-flight-to-disappearance {
	-webkit-transform-origin: center top;
	        transform-origin: center top;
	-webkit-animation: flight-to-disappearance 1 linear 1500ms;
	        animation: flight-to-disappearance 1 linear 1500ms;

	-webkit-animation-fill-mode: forwards;
	        animation-fill-mode: forwards;
}

.mask-to-opacity-right {
	-webkit-mask-image: url('../images/mask.png');
	        mask-image: url('../images/mask.png');
	-webkit-mask-position: right center;
	        mask-position: right center;
	-webkit-mask-repeat: repeat-y;
	        mask-repeat: repeat-y;
	-webkit-mask-size: var(--g-gap-half) 100%;
	        mask-size: var(--g-gap-half) 100%;
}

/**
 * ������
 */

.square-btn-close:after,
.square-btn-prev:after,
.primary-slider .slides-navigation .btn-prev:after,
.square-btn-next:after,
.primary-slider .slides-navigation .btn-next:after,
.service-teaser a .thumb:before,
.service-teaser-lg a span:after,
.faq-accordion .question .toggle:after {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100%;
}

.square-btn-close:after {
	background-image: url('../images/close.white.svg');
}

.square-btn-prev:after,
.primary-slider .slides-navigation .btn-prev:after {
	background-image: url('../images/arrow-left.white.svg');
}

.square-btn-next:after,
.primary-slider .slides-navigation .btn-next:after {
	background-image: url('../images/arrow-right.white.svg');
}

.service-teaser a .thumb:before,
.service-teaser-lg a span:after {
	background-image: url('../images/more.white.svg');
}

.faq-accordion .question .toggle:after {
	background-image: url('../images/chevron-down.accent.svg');
}

/**
 * Определения keyframes
 **/

@-webkit-keyframes i-btn-glow {
	from {
		-webkit-box-shadow: 0 0 8px 6px #ff1b54, 0 0 12px 14px #ff1b54;
		        box-shadow: 0 0 8px 6px #ff1b54, 0 0 12px 14px #ff1b54;
	}

	to {
		-webkit-box-shadow: 0 0 18px 6px rgba(255, 27, 84, 0), 0 0 4px 70px rgba(255, 27, 84, 0);
		        box-shadow: 0 0 18px 6px rgba(255, 27, 84, 0), 0 0 4px 70px rgba(255, 27, 84, 0);
	}
}

@keyframes i-btn-glow {
	from {
		-webkit-box-shadow: 0 0 8px 6px #ff1b54, 0 0 12px 14px #ff1b54;
		        box-shadow: 0 0 8px 6px #ff1b54, 0 0 12px 14px #ff1b54;
	}

	to {
		-webkit-box-shadow: 0 0 18px 6px rgba(255, 27, 84, 0), 0 0 4px 70px rgba(255, 27, 84, 0);
		        box-shadow: 0 0 18px 6px rgba(255, 27, 84, 0), 0 0 4px 70px rgba(255, 27, 84, 0);
	}
}

@-webkit-keyframes buzzRotateOut {
	10% {
		-webkit-transform: translateX(3px) rotate(2deg);
		        transform: translateX(3px) rotate(2deg);
	}

	20% {
		-webkit-transform: translateX(-3px) rotate(-2deg);
		        transform: translateX(-3px) rotate(-2deg);
	}

	30% {
		-webkit-transform: translateX(3px) rotate(2deg);
		        transform: translateX(3px) rotate(2deg);
	}

	40% {
		-webkit-transform: translateX(-3px) rotate(-2deg);
		        transform: translateX(-3px) rotate(-2deg);
	}

	50% {
		-webkit-transform: translateX(2px) rotate(1deg);
		        transform: translateX(2px) rotate(1deg);
	}

	60% {
		-webkit-transform: translateX(-2px) rotate(-1deg);
		        transform: translateX(-2px) rotate(-1deg);
	}

	70% {
		-webkit-transform: translateX(2px) rotate(1deg);
		        transform: translateX(2px) rotate(1deg);
	}

	80% {
		-webkit-transform: translateX(-2px) rotate(-1deg);
		        transform: translateX(-2px) rotate(-1deg);
	}

	90% {
		-webkit-transform: translateX(1px) rotate(0deg);
		        transform: translateX(1px) rotate(0deg);
	}

	100% {
		-webkit-transform: translateX(-1px) rotate(0deg);
		        transform: translateX(-1px) rotate(0deg);
	}
}

@keyframes buzzRotateOut {
	10% {
		-webkit-transform: translateX(3px) rotate(2deg);
		        transform: translateX(3px) rotate(2deg);
	}

	20% {
		-webkit-transform: translateX(-3px) rotate(-2deg);
		        transform: translateX(-3px) rotate(-2deg);
	}

	30% {
		-webkit-transform: translateX(3px) rotate(2deg);
		        transform: translateX(3px) rotate(2deg);
	}

	40% {
		-webkit-transform: translateX(-3px) rotate(-2deg);
		        transform: translateX(-3px) rotate(-2deg);
	}

	50% {
		-webkit-transform: translateX(2px) rotate(1deg);
		        transform: translateX(2px) rotate(1deg);
	}

	60% {
		-webkit-transform: translateX(-2px) rotate(-1deg);
		        transform: translateX(-2px) rotate(-1deg);
	}

	70% {
		-webkit-transform: translateX(2px) rotate(1deg);
		        transform: translateX(2px) rotate(1deg);
	}

	80% {
		-webkit-transform: translateX(-2px) rotate(-1deg);
		        transform: translateX(-2px) rotate(-1deg);
	}

	90% {
		-webkit-transform: translateX(1px) rotate(0deg);
		        transform: translateX(1px) rotate(0deg);
	}

	100% {
		-webkit-transform: translateX(-1px) rotate(0deg);
		        transform: translateX(-1px) rotate(0deg);
	}
}

/***
 * Margins
 ***/

.mt-gap {
	margin-top: 20px !important;
}

.mb-gap {
	margin-bottom: 20px !important;
}

.mt-gap-half {
	margin-top: 10px !important;
}

.mb-gap-half {
	margin-bottom: 10px !important;
}

.mt-0 {
	margin-top: 0 !important;
}

.mb-0 {
	margin-bottom: 0 !important;
}

/***
 * ������������ ������
 ***/

.text-align-center {
	text-align: center !important;
}

.text-align-left {
	text-align: left !important;
}

.text-align-right {
	text-align: right !important;
}

.text-align-justify {
	text-align: justify !important;
}

.container {
	padding-right: var(--g-gap-half);
	padding-left: var(--g-gap-half);
}

.row {
	margin-right: -10px;
	margin-right: var(--g-gap-half);
	margin-left: -10px;
	margin-left: var(--g-gap-half);
}

.col,
.col-auto,
.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12,
.col-sm,
.col-sm-auto,
.col-sm-1,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-md,
.col-md-auto,
.col-md-1,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-10,
.col-md-11,
.col-md-12,
.col-lg,
.col-lg-auto,
.col-lg-1,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-xl,
.col-xl-auto,
.col-xl-1,
.col-xl-2,
.col-xl-3,
.col-xl-4,
.col-xl-5,
.col-xl-6,
.col-xl-7,
.col-xl-8,
.col-xl-9,
.col-xl-10,
.col-xl-11,
.col-xl-12 {
	padding-right: var(--g-gap-half);
	padding-left: var(--g-gap-half);
}

.row-grid {
	margin-bottom: -20px;
	margin-bottom: var(--g-gap--neg);
}

.row-grid > [class*='col-'] {
	margin-bottom: 20px;
	margin-bottom: var(--g-gap);
}

.row-grid-dbl-y-gap {
	margin-bottom: -40px;
	margin-bottom: -webkit-calc( var(--g-gap) * -2);
	margin-bottom:         calc( var(--g-gap) * -2);
}

.row-grid-dbl-y-gap > [class*='col-'] {
	margin-bottom: 40px;
	margin-bottom: -webkit-calc( var(--g-gap) * 2);
	margin-bottom:         calc( var(--g-gap) * 2);
}

.row-grid-half-gap {
	margin-right: -10px;
	margin-right: -webkit-calc( var(--g-gap-half) / -2);
	margin-right:         calc( var(--g-gap-half) / -2);
	margin-bottom: -10px;
	margin-bottom: -webkit-calc( var(--g-gap) / -2);
	margin-bottom:         calc( var(--g-gap) / -2);
	margin-left: -10px;
	margin-left: -webkit-calc( var(--g-gap-half) / -2);
	margin-left:         calc( var(--g-gap-half) / -2);
}

.row-grid-half-gap > [class*='col-'] {
	margin-bottom: 10px;
	margin-bottom: -webkit-calc( var(--g-gap) / 2);
	margin-bottom:         calc( var(--g-gap) / 2);
	padding-right: 10px;
	padding-right: -webkit-calc( var(--g-gap-half) / 2);
	padding-right:         calc( var(--g-gap-half) / 2);
	padding-left: 10px;
	padding-left: -webkit-calc( var(--g-gap-half) / 2);
	padding-left:         calc( var(--g-gap-half) / 2);
}

.row-grid-xs-gap {
	margin-right: -3px;
	margin-bottom: -6px;
	margin-left: -3px;
}

.row-grid-xs-gap > [class*='col-'] {
	margin-bottom: 6px;
	padding-right: 3px;
	padding-left: 3px;
}

.modal-open {
	overflow: hidden;
}

.modal-open .modal {
	overflow-x: hidden;
	overflow-y: auto;
}

.modal {
	position: fixed;
	z-index: 1050;
	top: 0;
	left: 0;

	display: none;
	overflow: hidden;

	width: 100%;
	height: 100%;

	outline: 0;
}

.modal-dialog {
	position: relative;

	width: 100%;
	max-width: 450px;
	margin: .5rem;

	pointer-events: none;
}

.modal-lg {
	max-width: 880px;
}

.modal.fade .modal-dialog {
	-webkit-transition: opacity .5s ease-in-out, -webkit-transform .5s ease-in-out;
	        transition: opacity .5s ease-in-out, -webkit-transform .5s ease-in-out;
	        transition: transform .5s ease-in-out, opacity .5s ease-in-out;
	        transition: transform .5s ease-in-out, opacity .5s ease-in-out, -webkit-transform .5s ease-in-out;
	-webkit-transform: translate(0, -50%);
	        transform: translate(0, -50%);

	opacity: 0;
}

.modal.show .modal-dialog {
	-webkit-transform: none;
	        transform: none;

	opacity: 1;
}

.modal-dialog-scrollable {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;

	max-height: -webkit-calc(100% - 1rem);
	max-height:         calc(100% - 1rem);
}

.modal-dialog-scrollable .modal-content {
	overflow: hidden;

	max-height: -webkit-calc(100vh - 1rem);
	max-height:         calc(100vh - 1rem);
}

.modal-dialog-scrollable .modal-header,
.modal-dialog-scrollable .modal-footer {
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

.modal-dialog-scrollable .modal-body {
	overflow-y: auto;
}

.modal-dialog-centered {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;

	min-height: -webkit-calc(100% - 1rem);
	min-height:         calc(100% - 1rem);

	-ms-flex-align: center;
	-webkit-box-align: center;
	align-items: center;
}

.modal-dialog-centered::before {
	display: block;

	height: -webkit-calc(100vh - 1rem);
	height:         calc(100vh - 1rem);

	content: '';
}

.modal-dialog-centered.modal-dialog-scrollable {
	    flex-direction: column;

	height: 100%;

	-ms-flex-direction: column;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
}

.modal-dialog-centered.modal-dialog-scrollable .modal-content {
	max-height: none;
}

.modal-dialog-centered.modal-dialog-scrollable::before {
	content: none;
}

.modal-content {
	position: relative;

	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	    flex-direction: column;

	width: 100%;

	pointer-events: auto;

	border: 1px solid rgba(0, 0, 0, .2);
	outline: 0;
	background-color: #fff;
	background-clip: padding-box;

	-ms-flex-direction: column;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
}

.modal-backdrop {
	position: fixed;
	z-index: 1040;
	top: 0;
	left: 0;

	width: 100vw;
	height: 100vh;

	background-color: #000;
}

.modal-backdrop.fade {
	opacity: 0;
}

.modal-backdrop.show {
	opacity: .5;
}

.modal-scrollbar-measure {
	position: absolute;
	top: -9999px;

	overflow: scroll;

	width: 50px;
	height: 50px;
}

.modal-close {
	position: absolute !important;
	right: 0;
	bottom: 100%;
}

.slick-slide {
	outline: 0 !important;
}

/**
 * Элемент в форме (поле ввода)
 */

form .i-btn,
form input[type='submit'],
form input[type='button'],
form button[type='submit'],
form button[type='button'] {
	width: 100%;
}

form .confidential-notice {
	margin-top: 1.5em;

	text-align: center;

	opacity: .75;

	font-size: 12px;
}

form .confidential-notice a {
	color: inherit;
}

/**
 * Поля ввода
 **/

.i-txt,
.i-btn,
input[type='text'],
input[type='tel'],
input[type='email'],
input[type='submit'],
input[type='button'],
button[type='submit'],
button[type='button'],
select,
textarea {
	height: -webkit-calc(.5rem + 1em + .5rem + 2px);
	height:         calc(.5rem + 1em + .5rem + 2px);
	padding-top: .5rem;
	padding-bottom: .5rem;

	border: 1px solid #e5e5e5;
	border-radius: .25rem;
	outline: none;

	font: 1rem/1 'Proxima Nova', sans-serif;
}

.i-txt,
input[type='text'],
input[type='tel'],
input[type='email'],
select,
textarea {
	display: inline-block;

	width: 100%;
	padding-right: .75rem;
	padding-left: .75rem;

	-webkit-transition: border-color 250ms ease-in-out, -webkit-box-shadow 250ms ease-in-out;
	        transition: border-color 250ms ease-in-out, -webkit-box-shadow 250ms ease-in-out;
	        transition: border-color 250ms ease-in-out, box-shadow 250ms ease-in-out;
	        transition: border-color 250ms ease-in-out, box-shadow 250ms ease-in-out, -webkit-box-shadow 250ms ease-in-out;
}

.i-txt:focus,
input[type='text']:focus,
input[type='tel']:focus,
input[type='email']:focus,
select:focus,
textarea:focus {
	border-color: #ff1b54;
}

textarea {
	height: 4em;
	padding-top: .35em;

	resize: vertical;
}

.i-btn,
input[type='submit'],
input[type='button'],
button[type='submit'],
button[type='button'] {
	display: inline-block;

	cursor: pointer;
	-webkit-transition: background-color .5s ease-in-out;
	        transition: background-color .5s ease-in-out;
	white-space: nowrap;
	text-decoration: none;

	color: #fff;
	border: 0;
	border-radius: .25rem;
	background: #ff1b54;

	font-size: 1rem;
	line-height: 1;
}

.i-btn:hover,
input[type='submit']:hover,
input[type='button']:hover,
button[type='submit']:hover,
button[type='button']:hover {
	background-color: #ea1c4f;
}

/**
 * Круглая кнопка
 **/

.round-btn {
	position: relative;

	display: block;
	    flex: 0 0 auto;

	width: 40px;
	height: 40px;

	-webkit-transition: color 250ms ease-in-out;
	        transition: color 250ms ease-in-out;

	color: #000 !important;
	border-radius: 50%;
	background: #fff;

	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
}

.round-btn:hover {
	color: #ff1b54 !important;
}

.round-btn svg {
	position: absolute;
	top: 50%;
	left: 50%;

	width: 20px;
	height: 20px;

	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}

/**
 * Кнопка в форме эллипса
 **/

.ellipse-btn {
	display: inline-block;

	padding: .85em 1.5em;

	-webkit-transition: color 250ms ease-in-out, background-color 250ms ease-in-out;
	        transition: color 250ms ease-in-out, background-color 250ms ease-in-out;
	text-decoration: none;

	color: #061538;
	border: 2px solid #061538;
	border-radius: 9999px;

	font-size: 1.125rem;
	line-height: 1;
}

.ellipse-btn:hover {
	color: #fff;
	background-color: #061538;
}

/**
 * Квадратная кнопка (навигация слайдера, закрытие модального окна)
 */

.square-btn {
	position: relative;

	width: 60px;
	height: 60px;

	-webkit-transition: background-color 250ms ease-in-out;
	        transition: background-color 250ms ease-in-out;
	text-align: left;
	text-indent: -9999px;

	background-color: #ff1b54;
}

.square-btn:after {
	position: absolute;
	top: 50%;
	left: 50%;

	width: 16px;
	height: 16px;

	content: '';
	-webkit-transition: -webkit-transform 250ms ease-in-out;
	        transition: -webkit-transform 250ms ease-in-out;
	        transition:         transform 250ms ease-in-out;
	        transition:         transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}

.square-btn:hover {
	background-color: #ea1c4f;
}

.square-btn-prev:hover:after {
	-webkit-transform: translate(-75%, -50%);
	        transform: translate(-75%, -50%);
}

.square-btn-next:hover:after {
	-webkit-transform: translate(-25%, -50%);
	        transform: translate(-25%, -50%);
}

/**
 * Кнопка с псевдо-тенью
 **/

.ghost-shadow-btn {
	position: relative;

	display: inline-block;

	text-decoration: none;
}

.ghost-shadow-btn span {
	position: relative;
	z-index: 1;

	display: block;

	padding: 1.5rem 4rem;

	-webkit-transition: background-color 250ms ease-in-out;
	        transition: background-color 250ms ease-in-out;

	color: #fff;
	background: #ff1b54;

	font-weight: 700;
	line-height: 1;
}

.ghost-shadow-btn:before {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;

	content: '';
	-webkit-transform: translate(.667rem, .667rem);
	        transform: translate(.667rem, .667rem);

	border: 1px solid #fff;
}

.ghost-shadow-btn:after {
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;

	content: '';
}

.ghost-shadow-btn:hover span {
	background-color: #ea1c4f;
}

.ghost-shadow-btn:hover:after {
	-webkit-animation: i-btn-glow .8s 0s ease-out 1;
	        animation: i-btn-glow .8s 0s ease-out 1;
}

/**
 * ��������� �����
 */

@-webkit-keyframes preloaderLine {
	2% {
		-webkit-transform: scaleX(1);
		        transform: scaleX(1);
		-webkit-transform-origin: 100% 50%;
		        transform-origin: 100% 50%;
	}

	48% {
		-webkit-transform: scaleX(0);
		        transform: scaleX(0);
		-webkit-transform-origin: 100% 50%;
		        transform-origin: 100% 50%;
	}

	52% {
		-webkit-transform: scaleX(0);
		        transform: scaleX(0);
		-webkit-transform-origin: 0 50%;
		        transform-origin: 0 50%;
	}

	98% {
		-webkit-transform: scaleX(1);
		        transform: scaleX(1);
		-webkit-transform-origin: 0 50%;
		        transform-origin: 0 50%;
	}
}

@keyframes preloaderLine {
	2% {
		-webkit-transform: scaleX(1);
		        transform: scaleX(1);
		-webkit-transform-origin: 100% 50%;
		        transform-origin: 100% 50%;
	}

	48% {
		-webkit-transform: scaleX(0);
		        transform: scaleX(0);
		-webkit-transform-origin: 100% 50%;
		        transform-origin: 100% 50%;
	}

	52% {
		-webkit-transform: scaleX(0);
		        transform: scaleX(0);
		-webkit-transform-origin: 0 50%;
		        transform-origin: 0 50%;
	}

	98% {
		-webkit-transform: scaleX(1);
		        transform: scaleX(1);
		-webkit-transform-origin: 0 50%;
		        transform-origin: 0 50%;
	}
}

.preloader-screen {
	position: fixed;
	z-index: 9999;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;

	-webkit-transition: background-color .5s ease-in-out;
	        transition: background-color .5s ease-in-out;

	background: #fff;
}

.preloader-screen.is-loaded {
	background: transparent;
}

.preloader-screen.is-animate-out {
	-webkit-transition: opacity 1s ease-in-out, -webkit-transform 1s ease-in-out;
	        transition: opacity 1s ease-in-out, -webkit-transform 1s ease-in-out;
	        transition: transform 1s ease-in-out, opacity 1s ease-in-out;
	        transition: transform 1s ease-in-out, opacity 1s ease-in-out, -webkit-transform 1s ease-in-out;
	-webkit-transform: scale(5);
	        transform: scale(5);

	opacity: 0;
}

.preloader-screen .progress {
	position: absolute;
	top: 95%;
	left: 50%;

	width: 200px;
	height: 1px;

	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);

	background: rgba(255, 255, 255, .25);
}

.preloader-screen .progress-inner {
	-webkit-animation: preloaderLine 1.6s both infinite;
	        animation: preloaderLine 1.6s both infinite;

	background: #ff1b54;
}

/**
 * Шапка
 */

.overall-header {
	position: relative;
	z-index: 99;

	font-size: 16px;
	/**
 * ����� �����. �������
 */
	/**
 * Общая шапка. Кнопки пользователя
 */
}

.overall-header .header-inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;

	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.overall-header .logo-area .logo {
	display: block;

	width: 160px;
	padding: 25px 25px;

	color: #fff;
	background: #ff1b54;
}

.overall-header .user-area {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;

	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.overall-header .user-area > * + * {
	margin-left: 20px;
}

.overall-header .user-area .phone {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;

	white-space: nowrap;

	line-height: 1;

	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.overall-header .user-area .phone a {
	text-decoration: none;

	color: inherit;
}

.overall-header .user-area .phone .inner {
	margin-left: 10px;
	margin-left: var(--g-gap-half);
}

.overall-header .user-area .phone .num {
	font-size: 1.1rem;
	font-weight: 700;
}

.overall-header .user-area .phone .callback {
	margin-top: .35em;
}

.overall-header .user-area .phone .callback a {
	position: relative;

	border-bottom: 1px dotted;
}

.overall-header .user-area .phone .callback a:hover {
	border-bottom-color: transparent;
}

/**
 * Подвал
 */

.overall-footer {
	color: rgba(255, 255, 255, .6);
	background: #061538;

	font-size: 18px;
}

.overall-footer a {
	text-decoration: none;

	color: inherit;
}

.overall-footer a:hover {
	color: #fff;
}

.overall-footer .footer-stage {
	padding-top: 5vh;
	padding-bottom: 5vh;
}

.overall-footer .footer-stage + .footer-stage {
	border-top: 1px solid rgba(255, 255, 255, .075);
}

.overall-footer .footer-stage-bottom {
	font-size: 14px;
}

.overall-footer .logo {
	margin-bottom: 20px;
}

.overall-footer .logo img {
	display: block;

	max-width: 150px;
	height: auto;
}

.overall-footer .contacts-info .primary {
	color: #fff;
}

.overall-footer .contacts-info .primary p + p {
	margin-top: .25em;
}

.overall-footer .contacts-info .secondary {
	margin-top: 1em;

	opacity: .6;

	font-size: .9em;
}

/**
 * ����������� �����
 */

.floated-header {
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;

	display: none;

	width: 100%;

	color: #fff;
	background: rgba(6, 21, 56, .8);
}

/**
 * Слой-перекрытие
 */

.overlay-mask {
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;

	content: '';

	opacity: .8;
	background: #061538;
}

.overlay-mask-dark {
	opacity: .85;
}

.overlay-mask-light {
	opacity: .75;
}

/**
 * AJAX-загрузчик
 **/

@-webkit-keyframes ajaxLoaderAnimation {
	0% {
		-webkit-transform: scale3D(0, 0, 1);
		        transform: scale3D(0, 0, 1);
	}

	50% {
		-webkit-transform: scale3D(1, 1, 1);
		        transform: scale3D(1, 1, 1);
	}
}

@keyframes ajaxLoaderAnimation {
	0% {
		-webkit-transform: scale3D(0, 0, 1);
		        transform: scale3D(0, 0, 1);
	}

	50% {
		-webkit-transform: scale3D(1, 1, 1);
		        transform: scale3D(1, 1, 1);
	}
}

.ajax-loader {
	position: fixed;
	z-index: 3999;
	top: 50%;
	left: 50%;

	width: 60px;
	height: 60px;

	-webkit-transform: translate(-50%, -50%) rotate(45deg);
	        transform: translate(-50%, -50%) rotate(45deg);
}

.ajax-loader .cube {
	float: left;

	width: 33.333%;
	height: 33.333%;

	-webkit-transform: scale3D(0, 0, 1);
	        transform: scale3D(0, 0, 1);
	-webkit-animation: ajaxLoaderAnimation 1.3s infinite ease-in-out;
	        animation: ajaxLoaderAnimation 1.3s infinite ease-in-out;

	background-color: #ff1b54;
}

.ajax-loader .cube1 {
	-webkit-animation-delay: .2s;
	        animation-delay: .2s;
}

.ajax-loader .cube2 {
	-webkit-animation-delay: .3s;
	        animation-delay: .3s;
}

.ajax-loader .cube3 {
	-webkit-animation-delay: .4s;
	        animation-delay: .4s;
}

.ajax-loader .cube4 {
	-webkit-animation-delay: .1s;
	        animation-delay: .1s;
}

.ajax-loader .cube5 {
	-webkit-animation-delay: .2s;
	        animation-delay: .2s;
}

.ajax-loader .cube6 {
	-webkit-animation-delay: .3s;
	        animation-delay: .3s;
}

.ajax-loader .cube7 {
	-webkit-animation-delay: .0s;
	        animation-delay: .0s;
}

.ajax-loader .cube8 {
	-webkit-animation-delay: .1s;
	        animation-delay: .1s;
}

.ajax-loader .cube9 {
	-webkit-animation-delay: .2s;
	        animation-delay: .2s;
}

/***
 * Информационное сообщение
 ***/

.alert-box {
	padding: 1rem 2rem;

	border: 1px solid;
}

.alert-box.is-success,
.wpcf7-mail-sent-ok {
	color: #155724;
	border-color: #c3e6cb;
	background-color: #d4edda;
}

.alert-box.is-error,
.wpcf7-response-output,
.wpcf7-mail-sent-ng,
.wpcf7-aborted {
	color: #721c24;
	border-color: #f5c6cb;
	background-color: #f8d7da;
}

.alert-box.is-warning,
.wpcf7-spam-blocked,
.wpcf7-validation-errors,
.wpcf7-acceptance-missing {
	color: #856404;
	border-color: #ffeeba;
	background-color: #fff3cd;
}

.alert-box.is-info {
	color: #0c5460;
	border-color: #bee5eb;
	background-color: #d1ecf1;
}

/**
 * ������ ����
 */

.primary-nav li {
	position: relative;
}

.primary-nav a {
	position: relative;

	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;

	text-decoration: none;

	color: inherit;

	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.primary-nav a span {
	display: block;
}

.primary-nav a .caption {
	    flex: 1 1 auto;

	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
}

.primary-nav a .chevron {
	    flex: 0 0 auto;

	margin-left: .5rem;

	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
}

.primary-nav .icon {
	width: .65rem;
	height: .65rem;
}

.primary-nav .menu {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;

	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.primary-nav .menu > li > a {
	-webkit-transition: all 250ms ease-in-out;
	        transition: all 250ms ease-in-out;
	white-space: nowrap;

	font-weight: 700;
}

.primary-nav .menu > li > a:after {
	position: absolute;
	bottom: 0;
	left: 0;

	width: 0;
	height: 2px;

	content: '';
	-webkit-transition: all 250ms ease-in-out;
	        transition: all 250ms ease-in-out;

	background: #ff1b54;
}

.primary-nav .menu > li > .sub-menu {
	top: 100%;
	left: 0;
}

.primary-nav .menu > li > .sub-menu .sub-menu {
	top: 0;
	left: 100%;
}

.primary-nav .menu > li + li {
	margin-left: .5em;
}

.primary-nav .menu > li:hover > a {
	color: #ff1b54;
}

.primary-nav .menu > li:hover > a:after {
	width: 100%;
}

.primary-nav .menu .sub-menu li:hover > a {
	background: rgba(6, 21, 56, .05);
}

.primary-nav .sub-menu {
	position: absolute;

	visibility: hidden;

	width: 15rem;
	padding: 1rem 0;

	-webkit-transition: visibility 250ms ease-in-out, opacity 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
	        transition: visibility 250ms ease-in-out, opacity 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
	        transition: transform 250ms ease-in-out, visibility 250ms ease-in-out, opacity 250ms ease-in-out;
	        transition: transform 250ms ease-in-out, visibility 250ms ease-in-out, opacity 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
	-webkit-transform: translateY(-1rem);
	        transform: translateY(-1rem);

	opacity: 0;
	color: #000;
	border: 1px solid #ddd;
	background: #fff;
}

.primary-nav .sub-menu a {
	padding: .25em 1em;
}

.primary-nav .sub-menu .chevron .icon {
	width: .45rem;
	height: .45rem;
}

.primary-nav li:hover > .sub-menu {
	visibility: visible;

	-webkit-transform: none;
	        transform: none;

	opacity: 1;
}

.primary-nav .menu-item-search .icon {
	width: 1rem;
	height: 1rem;
}

.primary-nav .menu-item-search > a:after {
	display: none;
}

/**
 * Ссылки на соц.сети
 **/

.social-links {
	display: inline-block;
}

.social-links ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.social-links ul li a {
	display: block;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;

	width: 16px;
	height: 16px;

	-webkit-transition: padding 250ms ease-in-out, color 250ms ease-in-out, background-color 250ms ease-in-out;
	        transition: padding 250ms ease-in-out, color 250ms ease-in-out, background-color 250ms ease-in-out;
	text-decoration: none;

	color: inherit;

	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.social-links ul li.vkontakte a:hover {
	color: #fff;
}

.social-links ul li.odnoklassniki a:hover {
	color: #fff;
}

.social-links ul li.mailru a:hover {
	color: #fff;
}

.social-links ul li.telegram a:hover {
	color: #fff;
}

.social-links ul li.facebook a:hover {
	color: #fff;
}

.social-links ul li.twitter a:hover {
	color: #fff;
}

.social-links ul li.instagram a:hover {
	color: #fff;
}

.social-links ul li.youtube a:hover {
	color: #fff;
}

.social-links ul li.googleplus a:hover {
	color: #fff;
}

.social-links ul li + li {
	margin-left: 15px;
}

/**
 * Хлебные крошки
 */

.breadcrumbs .entries {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;

	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

.breadcrumbs .entries li:after {
	margin: 0 .35em;

	content: '/';
}

.breadcrumbs .entries a {
	text-decoration: none;

	color: inherit;
}

.breadcrumbs .entries a:hover {
	text-decoration: underline;
}

/**
 * Ссылки страницной навигации
 */

.paginate-links {
	margin-top: 20px;
}

.page-numbers {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;

	font-weight: 700;
	line-height: 1;

	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.page-numbers > li {
	margin: 0 .25em;
}

.page-numbers a,
.page-numbers span {
	display: block;

	padding: .35em .55em;

	text-decoration: none;

	color: inherit;
}

.page-numbers span.page-numbers.current {
	color: #fff;
	background-color: #ff1b54;
}

.page-numbers a.page-numbers {
	-webkit-transition: color 250ms ease-in-out;
	        transition: color 250ms ease-in-out;
}

.page-numbers a.page-numbers:hover {
	color: #ff1b54;
}

.page-numbers a.page-numbers.prev,
.page-numbers a.page-numbers.next {
	width: 1.333em;
	height: 1.333em;
	padding: 0;
}

/**
 * Первый экран главной страницы
 **/

.front-jumbotron {
	position: relative;

	color: #fff;
	background: #061538;
}

.front-jumbotron .overall-header {
	position: absolute;
	z-index: 499;
	top: 0;
	left: 0;

	width: 100%;
}

/**
 * Главный слайдер
 */

.primary-slider {
	position: relative;
	/**
 * Главный слайдер. Элементы управления
 */
	/**
 * Главный слайдер. Пагинация - точки переключения
 */
	/**
 * ������� �������. ������������� �����/������
 */
}

.primary-slider .slides-control {
	position: absolute;
	z-index: 499;
	bottom: 0;
	left: 0;

	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;

	width: 100%;

	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.primary-slider .slides-pagination a {
	padding: 10px;
}

.primary-slider .slides-pagination a span {
	display: block;

	border: 3px solid transparent;
	border-radius: 100%;
}

.primary-slider .slides-pagination a span:after {
	display: block;

	width: 7px;
	height: 7px;

	content: '';

	border-radius: 100%;
	background: #fff;
}

.primary-slider .slides-pagination .slick-active a span {
	border-color: #ff1b54;
}

.primary-slider .slides-pagination .slick-active a span:after {
	background-color: #ff1b54;
}

.primary-slider .slides-navigation {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;

	width: 100px;
}

.primary-slider .slides-navigation .thumbs {
	display: none;

	width: 50%;
	height: 100px;
}

.primary-slider .slides-navigation .thumbs .entry {
	position: relative;

	width: 100%;
	height: 100px;
}

.primary-slider .slides-navigation .btn {
	position: relative;

	width: 50%;
	height: 50px;

	-webkit-transition: background-color 250ms ease-in-out;
	        transition: background-color 250ms ease-in-out;

	background-color: #ff1b54;
}

.primary-slider .slides-navigation .btn:after {
	position: absolute;
	top: 50%;
	left: 50%;

	width: 16px;
	height: 16px;

	content: '';
	-webkit-transition: -webkit-transform 250ms ease-in-out;
	        transition: -webkit-transform 250ms ease-in-out;
	        transition:         transform 250ms ease-in-out;
	        transition:         transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}

.primary-slider .slides-navigation .btn:hover {
	background-color: #ea1c4f;
}

.primary-slider .slides-navigation .btn-prev:hover:after {
	-webkit-transform: translate(-75%, -50%);
	        transform: translate(-75%, -50%);
}

.primary-slider .slides-navigation .btn-next:hover:after {
	-webkit-transform: translate(-25%, -50%);
	        transform: translate(-25%, -50%);
}

/**
 * Экран главного слайдера
 */

.jumbotron-screen {
	position: relative;

	height: 100vh;
}

.jumbotron-screen .media-area {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;

	overflow: hidden;

	width: 100%;
	height: 100vh;
}

.jumbotron-screen .media-area .media {
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;

	-o-object-fit: cover;
	   object-fit: cover;
}

.jumbotron-screen .caption {
	position: relative;
	z-index: 1;

	padding-top: 190px;
}

.jumbotron-screen .caption .title {
	font-size: 3.333rem;
	font-weight: 700;
	line-height: 1;
}

.jumbotron-screen .caption .desc {
	max-width: 36rem;
	margin-top: 1.333rem;
	padding-left: 2.75rem;

	border-left: 2px solid;

	font-size: 1.333rem;
	line-height: 1.25;
}

.jumbotron-screen .caption .more {
	margin-top: 2rem;
}

/**
 * Средняя часть страницы
 */

.page-middle {
	padding-top: 20px;
	padding-bottom: 40px;
}

/**
 * Заставка-заголовок страницы
 **/

.page-jumbotron {
	position: relative;

	color: #fff;
	background: #061538;
}

.page-jumbotron .jumbotron-content {
	position: relative;
	z-index: 1;
}

.page-jumbotron .jumbotron-media {
	position: absolute;
	z-index: 0;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;

	overflow: hidden;
}

.page-jumbotron .jumbotron-media .media {
	z-index: 0;
}

.page-jumbotron .headline {
	padding-top: 3.5rem;
	padding-bottom: 4rem;

	line-height: 1;
}

.page-jumbotron .headline .breadcrumbs {
	margin-bottom: 1em;
}

.page-jumbotron .headline .title {
	font-size: 2.25rem;
	font-weight: 700;
}

/**
 * Подвал страницы (карусель партнеров плюс сам подвал сайта)
 **/

/**
 * Раздел страницы
 */

.page-section {
	position: relative;

	padding-top: 7vh;
	padding-bottom: 7vh;
}

.page-section .bg-stretch {
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;

	width: 100%;
	height: 0;

	background: #f2f2f2;
}

.page-section.has-bg-color {
	background-color: #f2f2f2;
}

.page-section.has-bg-image {
	color: #fff;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: center top;
	background-size: cover;
}

.page-section.has-bg-image:before {
	content: '';

	opacity: .8;
	background: #061538;
}

.page-section.has-bg-image .container {
	position: relative;
}

.page-section.has-image {
	color: #fff;
}

.page-section.has-image .section-image {
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;

	width: 100%;
	height: 5rem;

	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: center center;
	background-size: cover;
}

/**
 * ���� �� ��������
 */

.page-block {
	margin-top: 7vh;
}

/**
 * Заголовок раздела страницы
 */

.section-headline {
	margin-bottom: 1.45rem;
}

.section-headline .title {
	position: relative;

	padding-left: 3.4rem;

	font-size: 1.65rem;
	font-weight: 700;
	line-height: 1.2;
}

.section-headline .title:before {
	position: absolute;
	top: .55em;
	left: 0;

	width: 2.4rem;
	height: 2px;

	content: '';

	background: #ff1b54;
}

.section-headline .title.no-dash {
	padding-left: 0;
}

.section-headline .title.no-dash:before {
	display: none;
}

/**
 * Расширенная шапка раздела страницы
 **/

.section-headline-ext {
	margin-bottom: 5rem;
}

.section-headline-ext .caption {
	position: relative;

	font-size: 1.85rem;
	font-weight: 700;
	line-height: 1;
}

.section-headline-ext .desc {
	font-size: 1.111rem;
}

.section-headline-ext.has-dash {
	--dash: 2rem;
	--space: 3rem;
}

.section-headline-ext.has-dash .title,
.section-headline-ext.has-dash .desc {
	padding-left: 3rem;
	padding-left: var(--space);
}

.section-headline-ext.has-dash .title:before {
	position: absolute;
	top: 50%;
	left: 0;

	width: 2rem;
	width: var(--dash);
	height: 3px;

	content: '';
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);

	background: #ff1b54;
}

.section-headline-ext.has-image .caption {
	padding-top: 1.7rem;
	padding-bottom: 1.7rem;
}

.section-headline-ext.has-image .title {
	position: relative;
	z-index: 1;
}

.section-headline-ext.has-image .image {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;

	opacity: .1;
}

.section-headline-ext.has-image .image img {
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;

	-o-object-fit: contain;
	   object-fit: contain;
	-o-object-position: left center;
	   object-position: left center;
}

.section-headline-ext.has-more-btn .caption {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;

	margin-bottom: 2rem;

	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.section-headline-ext.has-more-btn .title {
	padding-right: 1em;
}

.section-headline-ext.has-more-btn .more-btn {
	padding: 1.25em 2em;

	-webkit-transition: color 250ms ease-in-out, background-color 250ms ease-in-out;
	        transition: color 250ms ease-in-out, background-color 250ms ease-in-out;
	white-space: nowrap;
	text-decoration: none;

	color: inherit;
	border: 2px solid currentColor;

	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
}

.section-headline-ext.has-more-btn .more-btn .icon {
	display: inline-block;

	width: 16px;
	height: 16px;
	margin-left: .75em;

	-webkit-transition: -webkit-transform 250ms ease-in-out;
	        transition: -webkit-transform 250ms ease-in-out;
	        transition:         transform 250ms ease-in-out;
	        transition:         transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
}

.section-headline-ext.has-more-btn .more-btn:hover {
	color: #000;
	background-color: #fff;
}

.section-headline-ext.has-more-btn .more-btn:hover .icon {
	-webkit-transform: translateX(50%);
	        transform: translateX(50%);
}

/**
 * Область медиа-объекта (изображения, iframe и т.д.)
 */

.media-placeholder {
	position: relative;

	display: block;
	overflow: hidden;
}

.media-placeholder .media {
	z-index: 0;
}

.media-placeholder.is-1x1 {
	padding-bottom: 100%;
}

.media-placeholder.is-2x1 {
	padding-bottom: 50%;
}

.media-placeholder.is-3x2 {
	padding-bottom: 66.66667%;
}

.media-placeholder.is-4x3 {
	padding-bottom: 75%;
}

.media-placeholder.is-post-thumb {
	padding-bottom: 65.78947%;
}

.media-placeholder.has-overlay:after {
	z-index: 1;

	display: none;

	content: '';

	opacity: .8;
	background: #061538;
}

.media-placeholder.is-type-video:before {
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 50%;

	width: 32px;
	height: 32px;

	content: '';
	-webkit-transition: opacity 250ms ease-in-out;
	        transition: opacity 250ms ease-in-out;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);

	opacity: .85;
	background-image: url('../images/play.white.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100%;
}

.media-placeholder.is-type-video:hover:before {
	opacity: 1;
}

.media-placeholder.has-hover-scale img.media {
	-webkit-transition: -webkit-transform 250ms ease-in-out;
	        transition: -webkit-transform 250ms ease-in-out;
	        transition:         transform 250ms ease-in-out;
	        transition:         transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
}

.media-placeholder.has-hover-scale:hover img.media {
	-webkit-transform: scale(1.1);
	        transform: scale(1.1);
}

.abstract-teaser .media-placeholder.has-hover-scale img.media {
	-webkit-transition: -webkit-transform 250ms ease-in-out;
	        transition: -webkit-transform 250ms ease-in-out;
	        transition:         transform 250ms ease-in-out;
	        transition:         transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
}

.abstract-teaser:hover .media-placeholder.has-hover-scale img.media {
	-webkit-transform: scale(1.1);
	        transform: scale(1.1);
}

/**
 * Управление слайдером
 **/

.slider-controls {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;

	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.slider-controls .ctrl-counter {
	margin-right: 2rem;
}

.slider-controls .ctrl-counter .current {
	margin-right: .5rem;

	font-size: 1.333rem;
}

.slider-controls .ctrl-counter .total {
	position: relative;
	top: -.5em;

	opacity: .5;
}

.slider-controls .ctrl-counter .total:before {
	margin-right: .5rem;

	content: '/';
}

.slider-controls .ctrl-nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.slider-controls .ctrl-nav .slider-nav-btn + .slider-nav-btn {
	border-left: 1px solid rgba(255, 255, 255, .2);
}

/**
 * Пагинация slick-слайдера
 */

.slick-dots {
	text-align: center;

	font-size: 0;
}

.slick-dots li {
	display: inline-block;
}

.slick-dots a {
	display: block;

	padding: 6px;
}

.slick-dots a span {
	display: block;

	border: 3px solid transparent;
	border-radius: 100%;
}

.slick-dots a span:after {
	display: block;

	width: 7px;
	height: 7px;

	content: '';

	border-radius: 100%;
	background: #9b9b9b;
}

.slick-dots .slick-active a span {
	border-color: #ff1b54;
}

.slick-dots .slick-active a span:after {
	background-color: transparent;
}

/**
 * Карусель логотипов партнеров
 */

.partners-carousel .carousel {
	padding: 1.5rem 1rem;

	background: #f2f2f2;
}

.partners-carousel .entry {
	padding: 0 1.5rem;
}

.partners-carousel .entry .logo {
	position: relative;

	padding-bottom: 33.33333%;
}

.partners-carousel .slick-dots {
	margin-top: 1rem;
}

/**
 * Форма Contact Form 7
 **/

.wpcf7-form .form-headline {
	margin-bottom: 1.5rem;

	text-align: center;

	line-height: 1.2;
}

.wpcf7-form .form-headline .title {
	margin-bottom: .4em;

	font-size: 1.667rem;
	font-weight: 700;
}

.wpcf7-form .form-headline .desc {
	font-size: 1.111rem;
}

.wpcf7-form .form-body .form-row + .form-row,
.wpcf7-form .form-body .form-row + .form-submit {
	margin-top: .65rem;
}

.wpcf7-form .ajax-loader {
	display: none !important;
}

.wpcf7-form .wpcf7-form-control-wrap {
	position: relative;
}

.wpcf7-form .wpcf7-not-valid-tip {
	position: absolute;
	z-index: 100;
	top: 100%;
	left: 0;

	margin: 10px 0 0 10px;
	padding: 3px 10px;

	color: #fff !important;
	background: #061538;

	font-size: 13px;
}

.wpcf7-form .wpcf7-not-valid-tip:before {
	position: absolute;
	top: -10px;
	left: 10px;

	width: 0;
	height: 0;

	content: '';

	border: 5px solid transparent;
	border-bottom-color: #061538;
}

.wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
}

.wpcf7 .screen-reader-response {
	position: absolute;

	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);

	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;

	border: 0;
}

.wpcf7-display-none {
	display: none;
}

.wpcf7-response-output {
	margin: 15px 0 0 0;
	padding: 1rem 2rem;
}

/**
 * �����-�������
 **/

.media-slider {
	max-width: 800px;
	margin-right: auto;
	margin-left: auto;
}

.media-slider .slider {
	position: relative;
}

.media-slider .slider-controls {
	position: absolute;
	right: 0;
	bottom: 0;

	color: #fff;
}

.media-slider .title {
	margin-top: .75em;

	text-align: center;

	font-weight: 700;
	line-height: 1.25;
}

/**
 * Медиакарусель
 */

.media-carousel {
	position: relative;
}

.media-carousel .entries {
	margin-right: -10px;
	margin-left: -10px;
}

.media-carousel .entry {
	padding-right: 10px;
	padding-left: 10px;
}

.media-carousel .prev,
.media-carousel .next {
	position: absolute;
	z-index: 100;
	top: 0;

	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}

.media-carousel .prev {
	left: -10px;
}

.media-carousel .next {
	right: -10px;
}

/**
 * О компании
 */

.about-company {
	position: relative;
}

.about-company .inner {
	position: relative;
}

.about-company .bg {
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 0;
	padding-bottom: 16.62382%;

	opacity: .1;
	background-image: url('../images/senergo-text.png');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

.about-company .bg.is-center-vert {
	top: 50%;

	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}

.about-company .caption {
	text-align: center;
	text-transform: uppercase;

	font-weight: 700;
	line-height: 1;
}

.about-company .caption .title {
	font-size: 3rem;
}

.about-company .caption .subtitle {
	font-size: 1.125rem;
}

.about-company .more {
	margin-top: 1rem;

	text-align: center;
}

.about-company .excerpt {
	font-size: 1.125rem;
}

/**
 * ����-������
 */

.quoted-fact .thumb {
	max-width: 320px;
	margin-right: auto;
	margin-left: auto;

	-webkit-box-shadow: -1rem 1rem 0 0 rgba(0, 0, 0, .05);
	        box-shadow: -1rem 1rem 0 0 rgba(0, 0, 0, .05);
}

.quoted-fact .quote {
	position: relative;

	padding-top: 3rem;

	font-size: 1.111rem;
	line-height: 1.35;
}

.quoted-fact .quote:before {
	position: absolute;
	top: 0;
	left: 0;

	width: 1.5rem;
	height: 1.5rem;

	content: '';

	background-image: url('../images/quote.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100%;
}

.quoted-fact .author {
	position: relative;

	padding-top: 4rem;

	line-height: 1;
}

.quoted-fact .author:before {
	position: absolute;
	top: 2rem;
	left: 0;

	width: 3.75rem;
	height: 1px;

	content: '';

	background: #ff1b54;
}

.quoted-fact .author .name {
	font-size: 1.333rem;
	font-weight: 700;
}

.quoted-fact .author .desc {
	margin-top: 1em;

	text-transform: uppercase;

	color: #ff1b54;

	font-size: 12px;
}

/**
 * Карточка проекта
 */

.project-card .announce {
	position: relative;

	padding: 1.5em;

	color: #fff;

	font-size: 1.1rem;
	font-weight: 700;
}

.project-card .announce .thumb {
	z-index: 0;
}

.project-card .announce dl {
	position: relative;
	z-index: 2;
}

.project-card .announce dl dt {
	color: #ff1b54;
}

.project-card .announce dl dd {
	margin-top: .5em;
}

.project-card .announce dl + dl {
	margin-top: 1em;
}

.project-card .description .title {
	font-size: 1.65rem;
	font-weight: 700;
}

/**
 * Слайдер в рамке
 */

.framed-slider {
	position: relative;

	padding-bottom: 137.03704%;

	background-image: url('../images/framed-slider.png');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	-webkit-box-shadow: 0 8px 10px 0 rgba(0, 0, 0, .35);
	        box-shadow: 0 8px 10px 0 rgba(0, 0, 0, .35);
}

.framed-slider .inner {
	position: absolute;
	top: 8%;
	right: 11%;
	bottom: 8%;
	left: 11%;
}

.framed-slider .inner .entry a {
	position: relative;

	display: block;

	padding-bottom: 147.61905%;
}

.framed-slider + .slider-controls {
	margin-top: 2.25rem;
}

.framed-slider-wrap {
	max-width: 270px;
	margin: 0 auto;
}

/**
 * ����� � ������������ ����� ��� ������
 */

.illustrated-text .entry + .entry {
	margin-top: 20px;
	margin-top: var(--g-gap);
}

/**
 * ������������ ����������
 */

.achievements-enumeration .caption .img-area {
	display: none;

	margin-top: 3rem;
}

.achievements-enumeration .entry {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.achievements-enumeration .entry .num {
	    flex: 0 0 auto;

	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
}

.achievements-enumeration .entry .num span {
	display: block;

	width: 50px;
	margin-right: 1rem;

	text-align: center;

	color: #fff;
	border-radius: 100%;
	background: #ff1b54;

	font-weight: 700;
	line-height: 50px;
}

.achievements-enumeration .entry .content {
	    flex: 1 1 auto;

	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
}

.achievements-enumeration .entry .content .title {
	font-weight: 700;
}

.achievements-enumeration .entry .content .desc {
	margin-top: .35em;
}

.achievements-enumeration .entry + .entry {
	margin-top: 1rem;
}

/**
 * Запрос взаимодействия
 */

.interaction-request {
	position: relative;

	padding: 10vh 0;

	color: #fff;
	background-color: #061538;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: center top;
}

.interaction-request:after {
	z-index: 0;

	content: '';

	opacity: .8;
	background: #061538;
}

.interaction-request .container {
	position: relative;
	z-index: 1;
}

.interaction-request .request-headline {
	margin-bottom: 2rem;

	text-align: center;
}

.interaction-request .request-headline .title {
	font-size: 1.667rem;
	font-weight: 700;
}

.interaction-request .request-headline .desc {
	margin-top: .25rem;

	font-size: 1.111rem;
}

.interaction-request .request-btn {
	text-align: center;
}

/**
 * ��������� "������-�����"
 */

.faq-accordion {
	max-width: 970px;
	margin-right: auto;
	margin-left: auto;

	background: #f2f2f2;
}

.faq-accordion .entry + .entry {
	border-top: 1px solid #ddd;
}

.faq-accordion .question {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;

	text-decoration: none;

	color: inherit;

	font-weight: 700;

	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}

.faq-accordion .question .text {
	    flex: 1 1 auto;

	padding: 1rem .5rem 1rem 1rem;

	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
}

.faq-accordion .question .toggle {
	position: relative;

	    flex: 0 0 auto;

	width: 40px;
	height: 40px;

	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
}

.faq-accordion .question .toggle:before {
	position: absolute;
	top: .5rem;
	bottom: .5rem;
	left: 0;

	width: 1px;

	content: '';

	background: #ddd;
}

.faq-accordion .question .toggle:after {
	width: 1.333rem;
	height: 1.333rem;

	content: '';
	-webkit-transition: -webkit-transform 250ms ease-in-out;
	        transition: -webkit-transform 250ms ease-in-out;
	        transition:         transform 250ms ease-in-out;
	        transition:         transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
}

.faq-accordion .question:hover {
	background-color: whitesmoke;
}

.faq-accordion .question.expanded .toggle:after {
	-webkit-transform: translate(-50%, -50%) rotate(180deg);
	        transform: translate(-50%, -50%) rotate(180deg);
}

.faq-accordion .answer {
	display: none;

	padding: 1rem;

	border-top: 1px solid #ddd;
}

/**
 * ���������� ����������
 */

.contacts-info dl dt {
	font-size: 1.667rem;
	font-weight: 700;
}

.contacts-info dl dd {
	margin-top: .5em;
}

.contacts-info dl + dl {
	margin-top: 1rem;
}

/**
 * �������������� �����
 */

.geo-map {
	height: 22rem;
}

/**
 * ���� ��������� �������
 */

.categories-menu {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;

	margin-bottom: 1rem;

	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.categories-menu a {
	display: block;

	margin: 0 .5em 1em .5em;
	padding: .5em 1em;

	-webkit-transition: color 250ms ease-in-out, background-color 250ms ease-in-out;
	        transition: color 250ms ease-in-out, background-color 250ms ease-in-out;
	text-decoration: none;

	color: #061538;
	border: 2px solid #061538;
	border-radius: .25rem;

	font-weight: 700;
	line-height: 1;
}

.categories-menu a:hover,
.categories-menu a.is-active {
	color: #fff;
	background-color: #061538;
}

/**
 * Шапка у поста (дата и категория)
 */

.singular-header {
	margin-bottom: .5rem;

	font-size: 14px;
	font-weight: 700;
}

/**
 * ������ �����
 */

.services-list {
	position: relative;

	margin-right: -10px;
	margin-right: var(--g-gap-half-neg);
	margin-left: -10px;
	margin-left: var(--g-gap-half-neg);
}

.services-list:before,
.services-list:after {
	position: absolute;
	z-index: 1;
	top: 0;

	width: var(--g-gap-half);
	height: 100%;

	content: '';

	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% 100%;
}

.services-list:before {
	left: 0;

	background-image: url('../images/services-list-mask-l.png');
}

.services-list:after {
	right: 0;

	background-image: url('../images/services-list-mask-r.png');
}

.services-list .scroll-pane {
	position: relative;

	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	overflow-x: scroll;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}

.services-list .entry {
	    flex: 0 0 auto;

	width: 100%;
	max-width: 280px;
	padding-right: 10px;
	padding-right: var(--g-gap-half);
	padding-left: 10px;
	padding-left: var(--g-gap-half);

	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
}

/**
 * Тизер медиа (изображения или видео в карусели)
 */

.media-teaser {
	display: block;

	text-align: center;
	text-decoration: none;

	color: inherit;

	font-weight: 700;
	line-height: 1.25;
}

.media-teaser .title {
	margin-top: .75em;
}

/**
 * Тизер-счетчик
 */

.countdown-teaser {
	text-align: center;

	line-height: 1;
}

.countdown-teaser .value {
	font-size: 3.5rem;
	font-weight: 700;
}

.countdown-teaser .desc {
	margin-top: .35em;

	line-height: 1.25;
}

/**
 * Тизер преимущества
 */

.advantage-teaser {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.advantage-teaser .icon {
	    flex: 0 0 auto;

	width: 40px;
	margin-right: 20px;

	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
}

.advantage-teaser .content {
	    flex: 1 1 auto;

	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
}

.advantage-teaser .content .title {
	font-size: 1.333rem;
	font-weight: 700;
	line-height: 1.2;
}

.advantage-teaser .content .desc {
	margin-top: 1rem;
}

.advantage-teaser:hover .icon {
	-webkit-animation: buzzRotateOut 1 linear 1s;
	        animation: buzzRotateOut 1 linear 1s;
}

/**
 * Тизер документа (для скачивания)
 */

.doc-dl-teaser .link {
	display: block;

	padding: 1rem;

	text-decoration: none;

	color: inherit;
	background: #f2f2f2;
}

.doc-dl-teaser .link .inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;

	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.doc-dl-teaser .link .inner:before {
	display: block;
	    flex: 0 0 auto;

	width: 30px;
	height: 40px;
	margin-right: 1rem;

	content: '';

	background-image: url('../images/document.png');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;

	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
}

.doc-dl-teaser .link .inner .caption {
	    flex: 1 1 auto;

	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
}

.doc-dl-teaser .link .inner .title {
	-webkit-transition: color 250ms ease-in-out;
	        transition: color 250ms ease-in-out;
}

.doc-dl-teaser .link .inner .meta {
	margin-top: .5em;

	opacity: .5;

	font-size: .9em;
}

.doc-dl-teaser .link:hover .title {
	color: #ff1b54;
}

/**
 * Тизер объекта
 */

.object-teaser {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.object-teaser .thumb {
	    flex: 0 0 auto;

	width: 80px;
	margin-right: 1rem;

	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
}

.object-teaser .thumb > * {
	position: relative;

	display: block;
	overflow: hidden;

	padding-bottom: 64.81481%;
}

.object-teaser .thumb > * img {
	-webkit-transition: -webkit-transform 250ms ease-in-out;
	        transition: -webkit-transform 250ms ease-in-out;
	        transition:         transform 250ms ease-in-out;
	        transition:         transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
}

.object-teaser .thumb > a:hover img {
	-webkit-transform: scale(1.1);
	        transform: scale(1.1);
}

.object-teaser .content {
	    flex: 1 1 auto;

	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
}

.object-teaser .content .title {
	font-size: 1.333rem;
	font-weight: 700;
	line-height: 1.2;
}

.object-teaser .content .excerpt {
	margin-top: .35rem;
}

/**
 * ����� ������
 */

.service-teaser {
	font-size: 1.333rem;
	font-weight: 700;
	line-height: 1.2;
}

.service-teaser a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;

	text-decoration: none;

	color: inherit;

	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.service-teaser a .thumb {
	position: relative;

	overflow: hidden;
	    flex: 0 0 auto;

	width: 60px;
	height: 60px;
	margin-right: 1rem;

	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
}

.service-teaser a .thumb:after {
	content: '';
	-webkit-transition: opacity 1.5s cubic-bezier(.23, 1, .32, 1);
	        transition: opacity 1.5s cubic-bezier(.23, 1, .32, 1);

	opacity: .5;
	background: #061538;
}

.service-teaser a .thumb img {
	-webkit-transition: -webkit-transform 1.5s cubic-bezier(.23, 1, .32, 1);
	        transition: -webkit-transform 1.5s cubic-bezier(.23, 1, .32, 1);
	        transition:         transform 1.5s cubic-bezier(.23, 1, .32, 1);
	        transition:         transform 1.5s cubic-bezier(.23, 1, .32, 1), -webkit-transform 1.5s cubic-bezier(.23, 1, .32, 1);
}

.service-teaser a .thumb:before {
	position: absolute;
	z-index: 5;
	right: 1rem;
	bottom: 2rem;

	width: 50px;
	height: 22px;

	content: '';
	-webkit-transition: all 1.5s cubic-bezier(.23, 1, .32, 1);
	        transition: all 1.5s cubic-bezier(.23, 1, .32, 1);
	-webkit-transform: translateX(-100%);
	        transform: translateX(-100%);

	opacity: 0;
}

.service-teaser a .title {
	    flex: 1 1 auto;

	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
}

.service-teaser:hover a .thumb:after {
	opacity: .75;
}

.service-teaser:hover a .thumb img {
	-webkit-transform: scale(1.08);
	        transform: scale(1.08);
}

/**
 * ������� ����� ������
 */

.service-teaser-lg {
	position: relative;

	color: #fff;

	font-size: 1.65rem;
	font-weight: 700;
	line-height: 1.2;
}

.service-teaser-lg .thumb {
	position: relative;
	z-index: 0;

	display: block;
	overflow: hidden;

	padding-bottom: 64.91228%;
}

.service-teaser-lg .thumb:after {
	content: '';
	-webkit-transition: opacity 1.5s cubic-bezier(.23, 1, .32, 1);
	        transition: opacity 1.5s cubic-bezier(.23, 1, .32, 1);

	opacity: .5;
	background: #061538;
}

.service-teaser-lg .thumb img {
	-webkit-transition: -webkit-transform 1.5s cubic-bezier(.23, 1, .32, 1);
	        transition: -webkit-transform 1.5s cubic-bezier(.23, 1, .32, 1);
	        transition:         transform 1.5s cubic-bezier(.23, 1, .32, 1);
	        transition:         transform 1.5s cubic-bezier(.23, 1, .32, 1), -webkit-transform 1.5s cubic-bezier(.23, 1, .32, 1);
}

.service-teaser-lg a {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;

	text-decoration: none;

	color: inherit;
}

.service-teaser-lg a span {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	left: 1rem;

	-webkit-transition: -webkit-transform 1.5s cubic-bezier(.23, 1, .32, 1);
	        transition: -webkit-transform 1.5s cubic-bezier(.23, 1, .32, 1);
	        transition:         transform 1.5s cubic-bezier(.23, 1, .32, 1);
	        transition:         transform 1.5s cubic-bezier(.23, 1, .32, 1), -webkit-transform 1.5s cubic-bezier(.23, 1, .32, 1);
}

.service-teaser-lg:hover .thumb:after {
	opacity: .75;
}

.service-teaser-lg:hover .thumb img {
	-webkit-transform: scale(1.08);
	        transform: scale(1.08);
}

.service-teaser-lg:hover a span {
	-webkit-transform: translateY(-1rem);
	        transform: translateY(-1rem);
}

.service-teaser-lg:hover a span:after {
	-webkit-transform: none;
	        transform: none;

	opacity: 1;
}

/**
 * Тизер портфолио (выполненной работы)
 */

.portfolio-teaser {
	color: #000;
	background: #f2f2f2;
}

.portfolio-teaser .tsr-image {
	position: relative;
}

.portfolio-teaser .tsr-image .wrap {
	position: relative;

	padding-bottom: 51.94805%;
}

.portfolio-teaser .tsr-info {
	position: relative;

	padding-bottom: 60px;
}

.portfolio-teaser .tsr-info .wrap {
	padding: 2rem 3rem;
}

.portfolio-teaser .tsr-info .title {
	font-size: 1.667rem;
	font-weight: 700;
	line-height: 1.2;
}

.portfolio-teaser .tsr-info .desc {
	margin-top: 1em;
}

.portfolio-teaser .tsr-info .slider-controls {
	position: absolute;
	right: 0;
	bottom: 0;
}

/**
 * Тизер поста
 */

.post-teaser {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.post-teaser .thumb {
	    flex: 0 0 auto;

	width: 33.333%;
	margin-right: 1rem;

	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
}

.post-teaser .content {
	    flex: 1 1 auto;

	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
}

.post-teaser .content .cat {
	margin-bottom: 1em;
}

.post-teaser .content .title {
	font-size: 1.111rem;
	font-weight: 700;
	line-height: 1.2;
}

.post-teaser .content .title a {
	text-decoration: none;

	color: inherit;
}

.post-teaser .content .title a:hover {
	color: #112d6f;
}

.post-teaser .content .date {
	margin-top: 1em;
}

.post-teaser .link {
	z-index: 2;

	display: none;

	text-align: left;
	text-indent: -9999px;
}

/**
 * Полное меню (всплывающее)
 */

.sitemap-menu a {
	display: inline-block;

	-webkit-transition: padding 250ms ease-in-out, color 250ms ease-in-out, background-color 250ms ease-in-out;
	        transition: padding 250ms ease-in-out, color 250ms ease-in-out, background-color 250ms ease-in-out;
	text-decoration: none;

	color: inherit;
}

.sitemap-menu a .chevron {
	position: relative;
	top: -.15em;

	display: inline-block;

	margin-left: .5rem;

	-webkit-transition: opacity 250ms ease-in-out;
	        transition: opacity 250ms ease-in-out;
	vertical-align: middle;

	opacity: 0;
}

.sitemap-menu a .chevron .icon {
	width: .65em;
	height: .65em;
}

.sitemap-menu a:hover {
	padding-right: .75rem;
	padding-left: .75rem;

	color: #000;
	background-color: #fff;
}

.sitemap-menu a:hover .chevron {
	opacity: 1;
}

.sitemap-menu .menu > li > a {
	font-size: 1.333rem;
	font-weight: 700;
}

.sitemap-menu .menu > li + li {
	margin-top: 2rem;
}

.sitemap-menu .menu .sub-menu li {
	margin-bottom: .35rem;
}

.sitemap-menu .menu > li > .sub-menu {
	margin-top: 1rem;
	padding-top: 1rem;

	border-top: 1px solid;
}

.sitemap-menu .menu .sub-menu .sub-menu {
	margin-top: .35rem;
	margin-left: 1rem;

	-webkit-column-break-inside: avoid;
	break-inside: avoid;
}

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

.search-form form {
	position: relative;

	max-width: 900px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 10px;
	padding-left: 10px;
}

.search-form input[type='text'] {
	display: block;

	width: 100%;
	height: 4rem;
	padding-right: 4.5rem;
	padding-left: .5rem;

	-webkit-transition: border-color 250ms ease-in-out;
	        transition: border-color 250ms ease-in-out;

	color: #fff;
	border: 0;
	border-bottom: 2px solid #ff1b54;
	background: none;

	font-size: 1.667rem;
	font-weight: 700;
}

.search-form input[type='submit'],
.search-form button[type='submit'] {
	position: absolute;
	top: 0;
	right: 0;

	width: 4rem;
	height: 4rem;
	padding: 1rem;

	color: #ff1b54;
	border: 0;
	background: none;
}

.search-form ::-webkit-input-placeholder {
	color: rgba(255, 255, 255, .75);
}

.search-form ::-moz-placeholder {
	color: rgba(255, 255, 255, .75);
}

.search-form :-moz-placeholder {
	color: rgba(255, 255, 255, .75);
}

.search-form :-ms-input-placeholder {
	color: rgba(255, 255, 255, .75);
}

/**
 * ���������� ������
 */

.search-results .entry .title {
	font-size: 1.25rem;
}

.search-results .entry .title + .excerpt {
	margin-top: .25rem;
}

.search-results .entry + .entry {
	margin-top: 1rem;
}

/**
 * Всплывающее окно
 */

.popup-win {
	background: #f4f4f4;
}

.popup-win .win-body {
	padding: 2rem;
}

.popup-win.has-image {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.popup-win.has-image .win-image {
	display: none;
	    flex: 0 0 auto;

	width: 50%;
	padding: 2rem;

	background: #fff;

	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
}

.popup-win.has-image .win-image .img-area {
	position: relative;

	width: 100%;
	height: 100%;
}

.popup-win.has-image .win-body {
	    flex: 0 0 auto;

	width: 100%;

	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
}

/**
 * Всплывающий слой с формой поиска и полным меню
 */

.overall-popover {
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;

	visibility: hidden;

	width: 100%;
	height: 100%;

	-webkit-transition: visibility 500ms ease-in-out, opacity 500ms ease-in-out;
	        transition: visibility 500ms ease-in-out, opacity 500ms ease-in-out;

	opacity: 0;
	color: #fff;
	background: rgba(6, 21, 56, .95);
}

.overall-popover.is-active {
	visibility: visible;

	opacity: 1;
}

.overall-popover .popover-close {
	position: absolute;
	top: 20px;
	right: 20px;
}

.overall-popover .popover-content {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;

	overflow: hidden;
	overflow-y: auto;
}

/**
 * ������.�����
 */

[class*=ymaps-2][class*='-ground-pane'] {
	        filter: url('data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix\a 		type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale');
	/* Firefox 3.5+ */
	-webkit-filter: grayscale(100%);
	/* Chrome 19+ & Safari 6+ */
}

[class*=ymaps-2][class*='-placemark-overlay']::after {
	position: absolute;
	z-index: -3;
	top: -36px;
	left: -36px;

	width: 72px;
	height: 72px;

	content: '';
	-webkit-animation: animatePin2 1.5s infinite linear alternate;
	        animation: animatePin2 1.5s infinite linear alternate;

	border-radius: 50%;
	background: rgba(255, 27, 84, .2);
}

[class*=ymaps-2][class*='-image'] {
	position: relative;

	background: none !important;
}

[class*=ymaps-2][class*='-image']::before {
	position: absolute;
	z-index: -2;
	top: -webkit-calc(50% - 20px);
	top:         calc(50% - 20px);
	left: -webkit-calc(50% - 20px);
	left:         calc(50% - 20px);

	width: 40px;
	height: 40px;

	content: '';
	-webkit-animation: animatePin3 1.5s infinite linear alternate;
	        animation: animatePin3 1.5s infinite linear alternate;

	border-radius: 50%;
	background: #ff1b54;
}

[class*=ymaps-2][class*='-image']::after {
	position: absolute;
	z-index: 1;
	top: -webkit-calc(50% - 10px);
	top:         calc(50% - 10px);
	left: -webkit-calc(50% - 10px);
	left:         calc(50% - 10px);

	width: 20px;
	height: 20px;

	content: '';

	border-radius: 50%;
	background: #fff;
}

@-webkit-keyframes animatePin2 {
	0% {
		-webkit-transform: scale(1);
		        transform: scale(1);

		opacity: 1;
	}

	33% {
		-webkit-transform: scale(1);
		        transform: scale(1);

		opacity: 1;
	}

	66% {
		-webkit-transform: scale(1.15);
		        transform: scale(1.15);

		opacity: 0;
	}

	100% {
		-webkit-transform: scale(1.15);
		        transform: scale(1.15);

		opacity: 0;
	}
}

@keyframes animatePin2 {
	0% {
		-webkit-transform: scale(1);
		        transform: scale(1);

		opacity: 1;
	}

	33% {
		-webkit-transform: scale(1);
		        transform: scale(1);

		opacity: 1;
	}

	66% {
		-webkit-transform: scale(1.15);
		        transform: scale(1.15);

		opacity: 0;
	}

	100% {
		-webkit-transform: scale(1.15);
		        transform: scale(1.15);

		opacity: 0;
	}
}

@-webkit-keyframes animatePin3 {
	0% {
		-webkit-transform: scale(1);
		        transform: scale(1);

		opacity: 1;
	}

	66% {
		-webkit-transform: scale(1);
		        transform: scale(1);

		opacity: 1;
	}

	99% {
		-webkit-transform: scale(1.15);
		        transform: scale(1.15);

		opacity: 0;
	}

	100% {
		-webkit-transform: scale(1.15);
		        transform: scale(1.15);

		opacity: 0;
	}
}

@keyframes animatePin3 {
	0% {
		-webkit-transform: scale(1);
		        transform: scale(1);

		opacity: 1;
	}

	66% {
		-webkit-transform: scale(1);
		        transform: scale(1);

		opacity: 1;
	}

	99% {
		-webkit-transform: scale(1.15);
		        transform: scale(1.15);

		opacity: 0;
	}

	100% {
		-webkit-transform: scale(1.15);
		        transform: scale(1.15);

		opacity: 0;
	}
}

/**
 * Текстовый блок
 */

.textblock {
	position: relative;
}

.textblock.is-lg-font-size {
	font-size: 1.111rem;
}

.textblock > *:not(:last-child),
.textblock p:not(:last-child),
.textblock ul:not(:last-child),
.textblock ol:not(:last-child) {
	margin-bottom: .75em;
}

.textblock h1,
.textblock .h1 {
	font-size: 2rem;
	font-weight: 700;
}

.textblock h2,
.textblock .h2 {
	font-size: 1.667rem;
	font-weight: 700;
}

.textblock h3,
.textblock .h3 {
	font-size: 1.5rem;
	font-weight: 700;
}

.textblock h4,
.textblock .h4 {
	font-size: 1.25rem;
	font-weight: 700;
}

.textblock h5,
.textblock .h5 {
	font-size: 1.1rem;
	font-weight: 700;
}

.textblock h6,
.textblock .h6 {
	font-size: 1rem;
	font-weight: 700;
}

.textblock h1,
.textblock h2,
.textblock h3,
.textblock h4,
.textblock h5,
.textblock h6,
.textblock .h1,
.textblock .h2,
.textblock .h3,
.textblock .h4,
.textblock .h5,
.textblock .h6 {
	margin-bottom: .25em;
}

.textblock h1:not(:first-child),
.textblock h2:not(:first-child),
.textblock h3:not(:first-child),
.textblock h4:not(:first-child),
.textblock h5:not(:first-child),
.textblock h6:not(:first-child),
.textblock .h1:not(:first-child),
.textblock .h2:not(:first-child),
.textblock .h3:not(:first-child),
.textblock .h4:not(:first-child),
.textblock .h5:not(:first-child),
.textblock .h6:not(:first-child) {
	margin-top: 1em;
}

.textblock i,
.textblock em {
	font-style: italic;
}

.textblock ul,
.textblock ol {
	margin: 0;
	padding: 0;
}

.textblock ul li,
.textblock ol li {
	overflow: hidden;

	padding-left: 1.5em;
}

.textblock ul li:before,
.textblock ol li:before {
	float: left;

	color: #061538;
}

.textblock ul li:not(:first-child),
.textblock ol li:not(:first-child) {
	margin-top: .15em;
}

.textblock ul li:before {
	width: 6px;
	height: 6px;
	margin-top: .35em;
	margin-left: -1.35em;

	content: '';

	border-radius: 50%;
	background: #061538;
}

.textblock ol {
	counter-reset: textblock-ol-li;
}

.textblock ol li:before {
	margin-left: -1.5em;

	content: counter(textblock-ol-li) '.';
	counter-increment: textblock-ol-li;

	font-weight: 700;
}

.textblock blockquote {
	font-size: 1.25rem;
}

.textblock table {
	width: 100%;
}

.textblock table th,
.textblock table td {
	padding: .25rem 1rem;

	vertical-align: middle;
}

.textblock table th {
	padding-top: .5rem;
	padding-bottom: .5rem;

	text-align: center;

	font-size: 1.25rem;
	font-weight: 700;
}

.textblock table tr:nth-child(odd) td {
	background-color: #f5f5f5;
}

.textblock .table-wrap {
	overflow: auto;
}

.textblock img {
	display: block;

	max-width: 100%;
	height: auto;
	margin-right: auto;
	margin-left: auto;
}

.textblock img.alignnone {
	max-width: 100%;
	height: auto;
}

.textblock img.aligncenter {
	display: block;

	max-width: 100%;
	height: auto;
	margin-right: auto;
	margin-left: auto;
}

@media (min-width: 576px) {
	.mt-sm-gap {
		margin-top: 20px !important;
	}

	.mb-sm-gap {
		margin-bottom: 20px !important;
	}

	.mt-sm-gap-half {
		margin-top: 10px !important;
	}

	.mb-sm-gap-half {
		margin-bottom: 10px !important;
	}

	.mt-sm-0 {
		margin-top: 0 !important;
	}

	.mb-sm-0 {
		margin-bottom: 0 !important;
	}

	.text-align-sm-center {
		text-align: center !important;
	}

	.text-align-sm-left {
		text-align: left !important;
	}

	.text-align-sm-right {
		text-align: right !important;
	}

	.text-align-sm-justify {
		text-align: justify !important;
	}

	.modal-dialog {
		margin: 1.75rem auto;
	}

	.modal-dialog-scrollable {
		max-height: -webkit-calc(100% - 3.5rem);
		max-height:         calc(100% - 3.5rem);
	}

	.modal-dialog-scrollable .modal-content {
		max-height: -webkit-calc(100vh - 3.5rem);
		max-height:         calc(100vh - 3.5rem);
	}

	.modal-dialog-centered {
		min-height: -webkit-calc(100% - 3.5rem);
		min-height:         calc(100% - 3.5rem);
	}

	.modal-dialog-centered::before {
		height: -webkit-calc(100vh - 3.5rem);
		height:         calc(100vh - 3.5rem);
	}

	.modal-sm {
		max-width: 300px;
	}
}

@media all and (min-width: 576px) {
	body.wide-container .container {
		width: 100%;
		max-width: 100%;
		padding-right: 10%;
		padding-left: 10%;
	}

	.overall-header .logo-area .logo {
		width: 200px;
	}

	.primary-slider .slides-navigation {
		width: 200px;
	}

	.primary-slider .slides-navigation .btn {
		height: 100px;
	}

	.primary-slider .slides-navigation .btn:after {
		width: 32px;
		height: 32px;
	}

	.services-list .entry {
		max-width: 380px;
	}

	.object-teaser .thumb {
		width: 120px;
	}
}

@media all and (min-width: 768px) {
	:root {
		--g-gap: 20px;
		--g-gap-half: 10px;
		--g-gap-neg: -20px;
		--g-gap-half-neg: -10px;
	}

	html,
	body {
		font-size: 14px;
		line-height: 1.35;
	}

	form .confidential-notice {
		font-size: 13px;
	}

	.i-txt,
	.i-btn,
	input[type='text'],
	input[type='tel'],
	input[type='email'],
	input[type='submit'],
	input[type='button'],
	button[type='submit'],
	button[type='button'],
	select,
	textarea {
		height: -webkit-calc(1rem + 1em + 1rem + 2px);
		height:         calc(1rem + 1em + 1rem + 2px);
	}

	textarea {
		height: 6em;
	}

	.overall-header .logo-area .logo {
		padding: 35px 25px;
	}

	.paginate-links {
		margin-top: 40px;
	}

	.primary-slider .slides-navigation {
		width: 400px;
	}

	.primary-slider .slides-navigation .thumbs {
		display: block;
	}

	.primary-slider .slides-navigation .btn {
		width: 25%;
	}

	.page-middle {
		padding-top: 40px;
		padding-bottom: 60px;
	}

	.section-headline .title {
		padding-left: 5.4rem;

		line-height: 1.35;
	}

	.section-headline .title:before {
		width: 3.9rem;
		height: 3px;
	}

	.section-headline-ext .caption {
		font-size: 2.222rem;
		line-height: 1.2;
	}

	.section-headline-ext.has-dash {
		--dash: 3rem;
		--space: 6rem;
	}

	.media-placeholder.has-overlay-md:after {
		display: block;
	}

	.media-placeholder.is-type-video:before {
		width: 48px;
		height: 48px;
	}

	.quoted-fact .thumb {
		-webkit-box-shadow: -2rem 2rem 0 0 rgba(0, 0, 0, .05);
		        box-shadow: -2rem 2rem 0 0 rgba(0, 0, 0, .05);
	}

	.achievements-enumeration .caption {
		position: relative;

		color: #fff;
		background: #061538;
	}

	.achievements-enumeration .caption:after {
		position: absolute;
		z-index: -1;
		top: -2.5rem;
		right: 0;
		bottom: 0;
		left: -9999px;

		content: '';

		background: #061538;
	}

	.achievements-enumeration .caption .img-area {
		display: block;
	}

	.faq-accordion .question .toggle {
		width: 80px;
		height: 80px;
	}

	.faq-accordion .question .text {
		padding: 1.5rem .5rem 1.5rem 2.5rem;
	}

	.faq-accordion .answer {
		padding: 1.5rem 2.5rem;
	}

	.categories-menu {
		margin-bottom: 2rem;
	}

	.categories-menu a {
		padding: .9em 2em;
	}

	.services-list:before,
	.services-list:after {
		display: none;
	}

	.services-list .scroll-pane {
		overflow: hidden;

		margin-top: -20px;
		margin-top: var(--g-gap-neg);

		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
	}

	.services-list .entry {
		width: 50%;
		max-width: 100%;
		margin-top: 20px;
		margin-top: var(--g-gap);
	}

	.advantage-teaser .icon {
		width: 70px;
		margin-right: 40px;
	}

	.object-teaser {
		display: block;
	}

	.object-teaser .thumb {
		width: 100%;
		margin-right: 0;
		margin-bottom: .75rem;
	}

	.service-teaser a {
		display: block;
	}

	.service-teaser a .thumb {
		width: 100%;
		height: 180px;
		margin-right: 0;
		margin-bottom: 1rem;
	}

	.service-teaser:hover a .thumb:before {
		-webkit-transform: none;
		        transform: none;

		opacity: 1;
	}

	.post-teaser {
		position: relative;

		display: block;

		color: #fff;
	}

	.post-teaser .thumb {
		width: 100%;
		margin: 0;
	}

	.post-teaser .content {
		position: absolute;
		z-index: 1;
		top: 10px;
		right: 20px;
		bottom: 10px;
		left: 20px;

		overflow: hidden;
	}

	.post-teaser .content .cat {
		font-size: 14px;
	}

	.post-teaser .content .title a {
		color: inherit !important;
	}

	.post-teaser .content .date {
		font-size: 14px;
	}

	.post-teaser .link {
		display: block;
	}

	.sitemap-menu .menu > li > .sub-menu {
		-webkit-column-count: 2;
		        column-count: 2;
	}

	.popup-win.has-image .win-image {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}

	.popup-win.has-image .win-body {
		width: 50%;
	}

	.textblock > *:not(:last-child),
	.textblock p:not(:last-child),
	.textblock ul:not(:last-child),
	.textblock ol:not(:last-child) {
		margin-bottom: 1.125em;
	}

	.textblock img.alignleft {
		float: left;

		margin: 0 15px 10px 0;
	}

	.textblock img.alignright {
		float: right;

		margin: 0 0 10px 15px;
	}
}

@media (min-width: 768px) {
	.mt-md-gap {
		margin-top: 20px !important;
	}

	.mb-md-gap {
		margin-bottom: 20px !important;
	}

	.mt-md-gap-half {
		margin-top: 10px !important;
	}

	.mb-md-gap-half {
		margin-bottom: 10px !important;
	}

	.mt-md-0 {
		margin-top: 0 !important;
	}

	.mb-md-0 {
		margin-bottom: 0 !important;
	}

	.text-align-md-center {
		text-align: center !important;
	}

	.text-align-md-left {
		text-align: left !important;
	}

	.text-align-md-right {
		text-align: right !important;
	}

	.text-align-md-justify {
		text-align: justify !important;
	}
}

@media all and (min-width: 992px) {
	html,
	body {
		font-size: 16px;
		line-height: 1.45;
	}

	.modal-close {
		top: 0;
		right: auto;
		bottom: auto;
		left: 100%;
	}

	.primary-slider .slides-navigation {
		width: 570px;
	}

	.primary-slider .slides-navigation .thumbs,
	.primary-slider .slides-navigation .thumbs .entry,
	.primary-slider .slides-navigation .btn {
		height: 185px;
	}

	.section-headline-ext.has-dash {
		--dash: 4rem;
		--space: 8rem;
	}

	.quoted-fact .author .desc {
		font-size: 13px;
	}

	.doc-dl-teaser {
		padding-top: 20px;
	}

	.doc-dl-teaser .link {
		display: block;

		height: 15rem;
		padding: 3em 2em 0 2em;
	}

	.doc-dl-teaser .link .inner {
		position: relative;

		display: block;
	}

	.doc-dl-teaser .link .inner:before {
		position: absolute;
		top: -webkit-calc((3em + 20px) * -1);
		top:         calc((3em + 20px) * -1);
		left: 0;

		width: 60px;
		height: 80px;

		-webkit-transition: -webkit-transform 250ms ease-in-out;
		        transition: -webkit-transform 250ms ease-in-out;
		        transition:         transform 250ms ease-in-out;
		        transition:         transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
	}

	.doc-dl-teaser .link .inner .caption {
		padding-top: 2em;
	}

	.doc-dl-teaser .link .inner .meta {
		margin-top: 1.5em;
	}

	.doc-dl-teaser .link:hover .inner:before {
		-webkit-transform: translateY(-.5em);
		        transform: translateY(-.5em);
	}

	.service-teaser a .thumb {
		height: 220px;
	}

	.service-teaser a .thumb:before {
		right: 1.5rem;
		bottom: 3rem;
	}

	.service-teaser-lg a span {
		right: 1.5rem;
		bottom: 2.5rem;
		left: 1.5rem;

		padding-right: 50px;
	}

	.service-teaser-lg a span:after {
		position: absolute;
		right: 0;
		bottom: .35em;

		width: 50px;
		height: 22px;

		content: '';
		-webkit-transition: all 1.5s cubic-bezier(.23, 1, .32, 1);
		        transition: all 1.5s cubic-bezier(.23, 1, .32, 1);
		-webkit-transform: translateX(-100%);
		        transform: translateX(-100%);

		opacity: 0;
	}

	.portfolio-teaser {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;

		height: 400px;
	}

	.portfolio-teaser .tsr-image {
		    flex: 1 1 auto;

		width: -webkit-calc(100% - 400px);
		width:         calc(100% - 400px);

		-webkit-box-flex: 1;
		-ms-flex: 1 1 auto;
	}

	.portfolio-teaser .tsr-image .wrap {
		height: 400px;
		padding: 0;
	}

	.portfolio-teaser .tsr-info {
		    flex: 0 0 auto;

		width: 400px;

		-webkit-box-flex: 0;
		-ms-flex: 0 0 auto;
	}
}

@media (min-width: 992px) {
	.mt-lg-gap {
		margin-top: 20px !important;
	}

	.mb-lg-gap {
		margin-bottom: 20px !important;
	}

	.mt-lg-gap-half {
		margin-top: 10px !important;
	}

	.mb-lg-gap-half {
		margin-bottom: 10px !important;
	}

	.mt-lg-0 {
		margin-top: 0 !important;
	}

	.mb-lg-0 {
		margin-bottom: 0 !important;
	}

	.text-align-lg-center {
		text-align: center !important;
	}

	.text-align-lg-left {
		text-align: left !important;
	}

	.text-align-lg-right {
		text-align: right !important;
	}

	.text-align-lg-justify {
		text-align: justify !important;
	}
}

@media all and (min-width: 1200px) {
	:root {
		--g-gap: 30px;
		--g-gap-half: 15px;
		--g-gap-neg: -30px;
		--g-gap-half-neg: -15px;
	}

	html,
	body {
		font-size: 18px;
		line-height: 1.6;
	}

	.container {
		max-width: 1200px;
	}

	form .confidential-notice {
		font-size: 14px;
	}

	textarea {
		height: 8em;
	}

	.primary-nav .menu > li + li {
		margin-left: 1em;
	}

	.section-headline-ext.has-dash {
		--dash: 5.5rem;
		--space: 9.3rem;
	}

	.media-placeholder.is-type-video:before {
		width: 64px;
		height: 64px;
	}

	.partners-carousel .carousel {
		margin: 0 2rem;
	}

	.quoted-fact .thumb {
		-webkit-box-shadow: -4rem 4rem 0 0 rgba(0, 0, 0, .05);
		        box-shadow: -4rem 4rem 0 0 rgba(0, 0, 0, .05);
	}

	.quoted-fact .content {
		padding-left: 4.375rem;
	}

	.project-card .announce {
		padding: 2.5em 1.5em;
	}

	.faq-accordion .question .toggle {
		width: 170px;
		height: 140px;
	}

	.faq-accordion .question .text {
		padding: 2.25rem .5rem 2.25rem 5.5rem;
	}

	.faq-accordion .answer {
		padding: 2.25rem 5.5rem;
	}

	.service-teaser a .thumb {
		height: 300px;
	}

	.service-teaser a .thumb:before {
		right: 2.5rem;
		bottom: 5rem;
	}

	.service-teaser-lg a span {
		right: 2.5rem;
		bottom: 4.5rem;
		left: 2.5rem;
	}

	.post-teaser .content .cat {
		margin-bottom: 2.5em;
	}

	.post-teaser .content .date {
		margin-top: 2.5em;
	}

	.textblock > *:not(:last-child),
	.textblock p:not(:last-child),
	.textblock ul:not(:last-child),
	.textblock ol:not(:last-child) {
		margin-bottom: 1.5em;
	}

	.textblock ul li:before {
		margin-top: .55em;
	}
}

@media (min-width: 1200px) {
	.mt-xl-gap {
		margin-top: 20px !important;
	}

	.mb-xl-gap {
		margin-bottom: 20px !important;
	}

	.mt-xl-gap-half {
		margin-top: 10px !important;
	}

	.mb-xl-gap-half {
		margin-bottom: 10px !important;
	}

	.mt-xl-0 {
		margin-top: 0 !important;
	}

	.mb-xl-0 {
		margin-bottom: 0 !important;
	}

	.text-align-xl-center {
		text-align: center !important;
	}

	.text-align-xl-left {
		text-align: left !important;
	}

	.text-align-xl-right {
		text-align: right !important;
	}

	.text-align-xl-justify {
		text-align: justify !important;
	}
}

@media (min-width: 1440px) {
	.mt-xxl-gap {
		margin-top: 20px !important;
	}

	.mb-xxl-gap {
		margin-bottom: 20px !important;
	}

	.mt-xxl-gap-half {
		margin-top: 10px !important;
	}

	.mb-xxl-gap-half {
		margin-bottom: 10px !important;
	}

	.mt-xxl-0 {
		margin-top: 0 !important;
	}

	.mb-xxl-0 {
		margin-bottom: 0 !important;
	}

	.text-align-xxl-center {
		text-align: center !important;
	}

	.text-align-xxl-left {
		text-align: left !important;
	}

	.text-align-xxl-right {
		text-align: right !important;
	}

	.text-align-xxl-justify {
		text-align: justify !important;
	}
}

@media all and (min-width: 1440px) {
	.round-btn {
		width: 50px;
		height: 50px;
	}

	.overall-header .user-area .phone .num {
		font-size: 1.25rem;
	}

	.primary-nav .menu > li + li {
		margin-left: 2em;
	}
}

@media all and (max-width: 767px) {
	.textblock img.alignleft {
		display: block;

		margin: 10px auto;
	}

	.textblock img.alignright {
		display: block;

		margin: 10px auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.modal.fade .modal-dialog {
		-webkit-transition: none;
		        transition: none;
	}
}
