/* public_html/css/global.css */
/* Версия 202605221630 */
/* Изменено 22.05.2026 16:30:00 */

/* 1. TEMPLATE BACKGROUNDS */
/* 1.1. logo mobile IMG BACKGROUND */
.header-navigation-xs .logo-holder {
	background: url(../assets/img/logo-light.svg) no-repeat center;
}

.header-navigation-xs .logo-holder.logo-holder-dark {
	background: url(../assets/img/logo-color.svg) no-repeat center;
}

/* 2. reset */
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,
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;
	border: 0;
	vertical-align: baseline;
}

html,
body {
	font-family: 'Google Sans', sans-serif;
	letter-spacing: 0.03em;
	height: 100%;
}

body {
	line-height: 1;
}

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

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

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

table {
	border-collapse: collapse;
	border-spacing: 0;
}

*:focus {
	outline: none;
}

a:focus,
a:active,
button::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner {
	border: 0;
	outline: 0;
}

/* 3. layout */
body {
	font-size: 16px;
	font-weight: 300;
	font-weight: 300;
	text-align: left;
	color: #2e2e2e;
	background: #5576D1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	margin: 0;
	padding: 0;
	line-height: 1.5;
}

a {
	color: #fff;
	text-decoration: none;
	outline: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-transition: all 0.5s linear;
	-moz-transition: all 0.5s linear;
	-ms-transition: all 0.5s linear;
	-o-transition: all 0.5s linear;
	transition: all 0.5s linear;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	font-weight: 300;
}

a:hover,
a:visited,
a:active,
a:focus {
	color: #5577d1;
	text-decoration: none;
	outline: none;
	font-weight: 300;
	-webkit-transition: all 0.3s linear;
	-moz-transition: all 0.3s linear;
	-ms-transition: all 0.3s linear;
	-o-transition: all 0.3s linear;
	transition: all 0.3s linear;
	filter: brightness(1.1);
}

p {
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 0.03em;
    color: #2e2e2e;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

@media only screen and (max-width:880px) {
	p {
		font-size: 15px;
	}
}

p a,
p a:hover {
	color: #5576D1;
	text-decoration: none;
	outline: none;
	font-weight: 500;
	-webkit-transition: all 0.5s linear;
	-moz-transition: all 0.5s linear;
	-ms-transition: all 0.5s linear;
	-o-transition: all 0.5s linear;
	transition: all 0.5s linear;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

strong {
	font-weight: 500;
	letter-spacing: 0.01em;
}

::-moz-selection {
	background: #5576D1;
	color: #fff;
}

::selection {
	background: #5576D1;
	color: #fff;
}

.nopadding {
	padding: 0 !important;
	margin: 0 !important;
}

.section-light {
	background: #fff;
}

.section-dark {
	background: #5576D1;
}

.section-grey {
	background: #f6f7f8;
}

.nowrap {
    white-space: nowrap;
}

.ellipsis {
    text-overflow: ellipsis;
}
/* 4. upper page */
.upper-page {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	left: 0;
	top: 0;
	margin: 0;
}

.center-container {
	position: absolute;
	display: table;
	table-layout: fixed;
	width: 100%;
	height: 100%;
	background: none;
	z-index: 1;
}

.center-block {
    display: table-cell;
    vertical-align: middle;
    margin-right: auto;
    margin-left: auto;
    padding-left: clamp(15px, 4vw, 100px);
    padding-right: clamp(15px, 4vw, 100px);
}

.center-container-contact-modal {
	position: absolute;
	display: table;
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
	background: none;
}

.center-block-contact-modal {
	display: table-cell;
	vertical-align: top;
}

/* Вертикально центрируем только стартовый экран выбора способа расчёта.
   Класс включает JS, потому что сам экран скрывается через style.display, а не через .hidden. */
.center-block-contact-modal.is-scenario-mode {
	vertical-align: middle;
}

.center-block-contact-modal-padding-top {
	padding: 30px 0 0 0;
}

.center-block-contact-modal-padding-bottom {
	padding: 0 0 30px 0;
}

h1.section-heading {
    position: relative;
    font-size: clamp(37px, 4vw, 58px);
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0.02em;
    text-align: center;
    color: #5576d1;
    margin: 0px auto;
    z-index: 1;
}

h2.section-heading {
    position: relative;
    font-size: 37px;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0.02em;
    text-align: center;
    color: #5576d1;
    margin: 0px auto;
    z-index: 1;
}

h3.section-heading {
    position: relative;
    font-size: 28px;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0.02em;
    text-align: center;
    color: #2f2f2f;
    margin: 0px auto;
    z-index: 1;
}

.hero-fullscreen {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	overflow: hidden;
	z-index: 0;
}

.hero-fullscreen-thumbnail-slider {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	overflow: hidden;
}

/* 6.1. hero bg */
.hero-bg {
	position: relative;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-ms-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

/* 6.2. hero fullscreen FIX */
.hero-fullscreen-FIX {
	width: 100%;
	height: 100%;
}

h1.home-page-title {
    font-size: clamp(27px, 3.8vw, 57px);
    font-weight: 500;
    text-align: center;
    color: #fff;
    letter-spacing: 0.02em;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    inset: 0;
    text-transform: uppercase;
    margin-top: calc(clamp(21px, 3.8vw, 55px) * 3.2);
    z-index: 1;
}

h2.home-page-title {
    font-size: clamp(16px, 2.5vw, 26px);
    font-weight: 300;
    font-weight: 300;
    text-align: center;
    color: #fff;
    letter-spacing: 0.01em;
    line-height: 1.4;
}

div.home-page-subtitle {
    color: #fff;
}

/* 8. overlay */
.overlay:before {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 1;
}

.overlay-dark-70:before {
	background: rgba(0, 0, 0, .7);
	-webkit-pointer-events: none;
	-moz-pointer-events: none;
	pointer-events: none;
}

.overlay-dark-60-video:before {
	background: rgba(0, 0, 0, .6);
	-webkit-pointer-events: auto;
	-moz-pointer-events: auto;
	pointer-events: auto;
}

/* 9. buttons */
.the-button-wrapper,
.the-button-wrapper-2 {
	width: 300px;
}

.the-button-wrapper {
	margin: -7px auto 0 auto;
}

@media all and (min-width:1920px) {
	.the-button-wrapper {
		width: 300px;
		margin: -4px auto 0 auto;
	}
}

@media only screen and (max-width:640px) {
	.the-button-wrapper {
		width: 200px;
	}
}

.the-button-wrapper-2 {
	margin: 5px auto;
}

@media all and (min-width:1920px) {
	.the-button-wrapper-2 {
		width: 300px;
		margin: -4px auto 16px auto;
	}
}

.the-button {
    font-size: clamp(16px, 2vw, 18px);
    text-transform: none;
    text-decoration: none;
    letter-spacing: 0.03em;
    background: none;
    padding: 11px 37px;
    -webkit-border-radius: 7px;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 7px;
    cursor: pointer;
    height: 100%;
    white-space: nowrap;
    max-width: 100%;
    text-overflow: ellipsis;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 100%;
    min-height: 49px;
    color: #ffffff;
    line-height: 1;
    font-weight: 500;
    box-shadow: 0 5px 16px rgba(46, 46, 46, 0.22);
    transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.the-button.the-button-light.the-button-disabled,
.the-button.the-button-dark.the-button-disabled,
.the-button.the-button-color.the-button-disabled,
.the-button.the-button-light.the-button-disabled:hover,
.the-button.the-button-dark.the-button-disabled:hover,
.the-button.the-button-color.the-button-disabled:hover,
.the-button.the-button-light.the-button-disabled:active,
.the-button.the-button-dark.the-button-disabled:active,
.the-button.the-button-color.the-button-disabled:active,
.the-button.the-button-light.the-button-disabled:focus-visible,
.the-button.the-button-dark.the-button-disabled:focus-visible,
.the-button.the-button-color.the-button-disabled:focus-visible{
	cursor: default;
	filter: brightness(1);
	transform: translateY(0);
	outline: 0px solid rgb(0 0 0);
	outline-offset: 0px;
	color: #f0f0f0;
	border: 1px solid #f0f0f0;
	box-shadow: 0px 0px 0px #ffffff00;
	background: none;
}

.the-button.the-button-color-filled.the-button-disabled,
.the-button.the-button-color-filled.the-button-disabled:hover,
.the-button.the-button-color-filled.the-button-disabled:active,
.the-button.the-button-color-filled.the-button-disabled:focus-visible {
    cursor: default;
    filter: brightness(1);
    transform: translateY(0);
    outline: 0px solid rgb(0 0 0);
    outline-offset: 0px;
    color: #fafafa;
    box-shadow: 0px 0px 0px #5576d100;
    background: #5576d130;
    border: 1px solid #5576d110;
}
.the-button:hover {
	filter: brightness(1.1);
}

.the-button:active {
	transform: translateY(1px);
}

.the-button:focus-visible+.the-button {
	outline: 2px solid rgb(116 143 217);
	outline-offset: 2px;
}

.the-button.the-button-light {
	color: #fff;
	border: 1px solid #fff;
}

.the-button.the-button-dark {
	color: #969696;
	border: 1px solid #969696;
}

.the-button.the-button-color {
    color: #5576d180;
    border: 1px solid #5576d180;
    box-shadow: 1px 2px 5px #5576d105;
    background: #ffffff60;
}

.the-button.the-button-color-filled {
	color: #fff;
	background: #5576d1;
	border: 1px solid #5576d1;
}

.the-button.the-button-light:hover {
	color: #fff;
	border: 1px solid #fff;
	box-shadow: 1px 2px 5px #ffffff40;
	background: #ffffff15;
}

.the-button.the-button-dark:hover {
	color: #2e2e2e;
	border: 1px solid #2e2e2e;
	box-shadow: 1px 2px 5px #2e2e2e20;
	background: #2e2e2e01;
}

.the-button.the-button-color:hover {
	color: #5576d1;
	border: 1px solid #5576d1;
	box-shadow: 1px 2px 5px #5576d130;
	background: #ffffff80;
}

.the-button.the-button-color-filled:hover {
    border: 1px solid #5573c6;
	box-shadow: 1px 2px 5px #5573c625;
	background: #5573c6;
}

#paymentStage .the-button-wrapper-2 {
   width: min(100%, 300px);
   max-width: 100%;
   margin-left: auto;
   margin-right: auto;
   box-sizing: border-box;
}

#paymentStage #payButton {
   width: 100%;
   min-width: 0;
   box-sizing: border-box;
}

.contact-form-submit-wrapper {
	position: relative;
	width: 205px;
	height: auto;
	line-height: 1.5;
	padding: 0;
	left: 0;
}

.contact-form-submit-wrapper {
	margin: 42px auto -6px auto;
}

@media all and (min-width:1920px) {
	.contact-form-submit-wrapper {
		margin: 42px auto -2px auto;
	}
}

.reviews-details {
	position: relative;
	width: 175px;
	height: auto;
	line-height: 1.5;
	margin: 8px auto 10px auto;
	padding: 0;
	text-align: center;
	cursor: pointer;
}

@media all and (min-width:1920px) {
	.reviews-details {
		width: 205px;
		margin: 12px auto 15px auto;
	}
}

@media only screen and (max-width:640px) {
	.reviews-details {
		width: 175px;
	}
}

.the-button.the-button-reviews-details {
	font-size: 10px;
	font-weight: 500;
	padding: 12px 40px 0 40px;
	margin-top: 10px;
}

/* 10. preloader */
.preloader-bg {
	position: fixed;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background: #5576D1;
	z-index: 999999;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity .28s ease, visibility 0s linear .28s;
	will-change: opacity;
}

#preloader {
	position: fixed;
	inset: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #5576D1;
	background-image: url(../assets/img/preloader.svg);
	background-repeat: no-repeat;
	background-position: center;
	z-index: 999999;
	padding: 10vh 15vw;
	background-origin: content-box;
	box-sizing: border-box;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity .28s ease, visibility 0s linear .28s;
	will-change: opacity;
}

.preloader-bg.is-hidden,
#preloader.is-hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

#preloader-status {
	display: table-cell;
}

.preloader-position {
	position: relative;
	margin: 0 auto;
	text-align: center;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

.loader {
	position: relative;
	width: 45px;
	height: 45px;
	left: 50%;
	top: 50%;
	margin-left: -22px;
	margin-top: 2px;
	-webkit-animation: rotate 1s infinite linear;
	-moz-animation: rotate 1s infinite linear;
	-ms-animation: rotate 1s infinite linear;
	-o-animation: rotate 1s infinite linear;
	animation: rotate 1s infinite linear;
	border: 3px solid rgba(255, 255, 255, .15);
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
}

.loader span {
	position: absolute;
	width: 45px;
	height: 45px;
	top: -3px;
	left: -3px;
	border: 3px solid transparent;
	border-top: 3px solid rgba(255, 255, 255, .75);
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
}

@-webkit-keyframes rotate {
	0% {
		-webkit-transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(360deg);
	}
}

@keyframes rotate {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

/* 12. navigation */
.navigation-bg-light {
	background: rgba(255, 255, 255, 1);
	-webkit-transition: all .4s ease-out;
	-moz-transition: all .4s ease-out;
	-ms-transition: all .4s ease-out;
	-o-transition: all .4s ease-out;
	transition: all .4s ease-out;
	-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .35);
	-moz-box-shadow: 0 0 5px rgba(0, 0, 0, .35);
	box-shadow: 0 0 5px rgba(0, 0, 0, .35);
}

header {
	position: fixed;
	width: 100%;
	-webkit-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
	z-index: 1000;
}

.logo-holder {
	position: relative;
	display: inline-block;
	width: 59px;
	height: 35px;
	margin-left: 20px;
	bottom: 2px;
	-webkit-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}

.logo-holder img {
	-webkit-transition: all .3s ease-in-out .3s;
	-ms-transition: all .3s ease-in-out .3s;
	transition: all .3s ease-in-out .3s;
	opacity: 1;
	-moz-opacity: 1;
	-webkit-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.logo-holder.closed {
	width: 0;
	margin-left: -5px;
	-webkit-transition: all .3s ease-in-out .3s;
	-ms-transition: all .3s ease-in-out .3s;
	transition: all .3s ease-in-out .3s;
}

.logo-holder.closed img {
	-webkit-transition: all .3s ease-in-out 0s;
	-ms-transition: all .3s ease-in-out 0s;
	transition: all .3s ease-in-out 0s;
	opacity: 0;
	-moz-opacity: 0;
	-webkit-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	-webkit-pointer-events: none;
	-moz-pointer-events: none;
	pointer-events: none;
}

.logo-holder {
	margin-right: 20px;
}

.logo-holder.closed {
	margin-right: 0;
}

.header-navigation {
	height: 69px;
}

.header-navigation>a {
	display: inline-block;
	font-weight: 300;
	font-size: 16px;
	letter-spacing: 0.05em;
	padding: 20px 13px 0 13px;
	color: #fff;
	font-weight: 300;
}

.header-navigation-dark>a {
	color: #2e2e2e;
}

.header-navigation-xs {
	width: 100%;
	height: max-content;
}

/* 12.x. мобильное меню (бургер)
   На мобильной ширине меню открывается сверху вниз, а кнопка-бургер остаётся на месте
   и превращается в крестик. */
.nav-burger {
	display: none;
	position: absolute;
	left: 16px;
	top: 18px;
	width: 40px;
	height: 34px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	color: #fff;
	z-index: 1003;
}

.header-navigation-xs.header-navigation-xs-dark .nav-burger,
.is-mobile-menu-open .nav-burger {
	color: #2e2e2e;
}

.nav-burger__lines {
	position: relative;
	display: block;
	width: 22px;
	height: 2px;
	margin: 0 auto;
	background: currentColor;
	transition: transform .28s ease, background-color .28s ease;
	transform-origin: 50% 50%;
}

.nav-burger__lines:before,
.nav-burger__lines:after {
	content: "";
	position: absolute;
	left: 0;
	width: 22px;
	height: 2px;
	background: currentColor;
	transition: top .28s ease, transform .28s ease, opacity .28s ease;
	transform-origin: 50% 50%;
}

.nav-burger__lines:before {
	top: -7px;
}

.nav-burger__lines:after {
	top: 7px;
}

/* В открытом состоянии средняя и верхняя линии накладываются в одну линию крестика,
   а нижняя формирует вторую линию. При закрытии анимация идёт обратно в бургер. */
.is-mobile-menu-open .nav-burger__lines {
	transform: rotate(45deg);
}

.is-mobile-menu-open .nav-burger__lines:before {
	top: 0;
	transform: rotate(0deg);
}

.is-mobile-menu-open .nav-burger__lines:after {
	top: 0;
	transform: rotate(90deg);
}

.nav-mobile-panel {
	display: none;
}

@media (max-width:850px) {
	body.is-mobile-menu-scroll-locked {
		overflow: hidden;
	}

	.header-navigation-xs {
		position: relative;
		height: 69px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.nav-burger {
		display: block;
	}

	/* Прячем старую инлайновую раскладку ссылок на мобильной ширине */
	.nav-mobile-inline {
		display: none;
	}

	/* Логотип строго по центру и поверх белой панели меню. */
	.header-navigation-xs .logo-holder {
		margin: 0 auto;
		top: 0;
		z-index: 1003;
	}

	.is-mobile-menu-open .header-navigation-xs .logo-holder {
		background: url(../assets/img/logo-color.svg) no-repeat center;
	}

	/* Панель меню выезжает сверху вниз. Скролл остаётся рабочим,
	   но системную полосу прокрутки не показываем. */
	.nav-mobile-panel {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 100vh;
		height: 100dvh;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		background: rgba(255, 255, 255, 1);
		-webkit-box-shadow: 0 8px 16px rgba(0, 0, 0, .18);
		-moz-box-shadow: 0 8px 16px rgba(0, 0, 0, .18);
		box-shadow: 0 8px 16px rgba(0, 0, 0, .18);
		z-index: 1001;
		display: block;
		visibility: hidden;
		pointer-events: none;
		transform: translate3d(0, -100%, 0);
		transition: transform .34s ease, visibility 0s linear .34s;
		will-change: transform;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}

	.nav-mobile-panel::-webkit-scrollbar {
		width: 0;
		height: 0;
		display: none;
	}

	.nav-mobile-panel__inner {
		min-height: 100%;
		padding: 82px 0 28px;
	}

	.is-mobile-menu-open .nav-mobile-panel {
		visibility: visible;
		pointer-events: auto;
		transform: translate3d(0, 0, 0);
		transition-delay: 0s;
	}

	a.nav-mobile-panel__link {
		display: block;
		padding: 15px 15px 15px 60px;
		font-size: 18px;
		letter-spacing: 0.03em;
		color: #2e2e2e;
		text-decoration: none;
		text-align: left;
		font-weight: 300;
		border-bottom: 1px solid #2e2e2e25;
	}

	a.nav-mobile-panel__link:active,
	a.nav-mobile-panel__link:focus,
	a.nav-mobile-panel__link:hover {
		opacity: .8;
	}
}

.header-navigation-xs>a {
	display: inline-block;
	font-weight: 300;
	font-size: 14px;
	letter-spacing: 0.03em;
	padding: 0 5px;
	color: #fff;
}

.header-navigation-xs.header-navigation-xs-dark>a {
	color: #2e2e2e;
	padding: 0px 15px 1em 15px;
	margin-right: auto;
	margin-left: auto;
}

.header-navigation-xs .logo-holder {
	position: relative;
	display: block;
	width: 59px;
	height: 35px;
	margin: 17px auto 9px auto;
	text-align: center;
}

/* Переопределение мобильной шапки под ширину <= 640px
   (эта секция специально стоит ниже базовых правил,чтобы их перебить). */
@media (max-width:640px) {
	.header-navigation-xs {
		height: 69px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.header-navigation-xs .logo-holder {
		margin: 0 auto;
	}
}

/* 12.1. link underline menu */
.link-underline-menu {
	position: relative;
	text-decoration: none;
	cursor: pointer;
}

.link-underline-menu:before {
	content: "";
	position: absolute;
	width: 80%;
	height: 1px;
	bottom: -20px;
	left: 10px;
	right: auto;
	background: #fff;
	visibility: hidden;
	-webkit-transform: scaleX(0);
	-moz-transform: scaleX(0);
	-ms-transform: scaleX(0);
	-o-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transition: all 0.4s ease-in-out 0s;
	-moz-transition: all 0.4s ease-in-out 0s;
	-ms-transition: all 0.4s ease-in-out 0s;
	-o-transition: all 0.4s ease-in-out 0s;
	transition: all 0.4s ease-in-out 0s;
}

.link-underline-menu.link-underline-menu-dark:before {
	bottom: -11px;
	background: #2e2e2e;
}

.link-underline-menu:hover:before {
	visibility: visible;
	-webkit-transform: scaleX(1);
	-moz-transform: scaleX(1);
	-ms-transform: scaleX(1);
	-o-transform: scaleX(1);
	transform: scaleX(1);
}

@media only screen and (max-width:768px) {
	.link-underline-menu:hover:before {
		visibility: hidden;
	}
}

/* 13. vertical spacer line */
.the-line {
	position: relative;
	width: 1px;
	height: 100px;
	background: #2e2e2e;
	margin: 0 auto;
}

.the-line.the-line-light {
	background: #fff;
}

@media all and (min-width:1920px) {
	.the-line {
		height: 125px;
	}
}

@media only screen and (max-width:995px) {
	.the-line {
		height: 80px;
	}
}

.the-line.the-line-facts {
	height: 50px;
}

@media all and (min-width:1920px) {
	.the-line.the-line-facts {
		height: 50px;
	}
}

@media only screen and (max-width:995px) {
	.the-line.the-line-facts {
		height: 40px;
	}
}

/* 14. facts */
.facts-counter-wrapper {
	position: relative;
	margin: 0 auto;
	text-align: center;
}

.facts-counter-number {
	position: relative;
	top: 0;
	font-size: 55px;
	font-weight: 500;
	text-transform: none;
	/* uppercase */
	letter-spacing: -0.04em;
	color: #fff;
	line-height: 1;
	margin: -5px auto 0 auto;
	z-index: 10;
}

@media only screen and (max-width:640px) {
	.facts-counter-number {
		font-size: 40px;
		margin: -3px auto 0 auto;
	}
}

.facts-counter-title {
	font-weight: 300;
	font-weight: 400;
	font-size: 15px;
	text-align: center;
	text-transform: none;
	/* uppercase */
	letter-spacing: 0.05em;
	color: #fff;
}

/* 16. link underline */
.link-underline {
	position: relative;
	display: inline-block;
}

.link-underline::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #5576D1;
	-webkit-transform-origin: right center;
	-moz-transform-origin: right center;
	-ms-transform-origin: right center;
	transform-origin: right center;
	-webkit-transform: scale(0, 1);
	-moz-transform: scale(0, 1);
	-ms-transform: scale(0, 1);
	-o-transform: scale(0, 1);
	transform: scale(0, 1);
	-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	-moz-transition: -moz-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	-ms-transition: -ms-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	-o-transition: -o-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.link-underline:hover::before {
	-webkit-transform-origin: left center;
	-moz-transform-origin: left center;
	-ms-transform-origin: left center;
	transform-origin: left center;
	-webkit-transform: scale(1, 1);
	-moz-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	-o-transform: scale(1, 1);
	transform: scale(1, 1);
}

.link-underline.link-underline-light::before {
	background: #fff;
}

.link-underline.link-underline-dark::before {
	background: #2e2e2e;
}

a.link-underline.link-underline-color,
a.link-underline.link-underline-color:hover,
a.link-underline.link-underline-color:visited,
a.link-underline.link-underline-color:active,
a.link-underline.link-underline-color:focus {
	color: #5576D1;
}

/* 17. contact form */
#contact-form {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}

form {
	margin: 0;
	padding: 0;
}

#form input {
	position: relative;
	width: 100%;
	height: 40px;
	border-bottom: 1px solid #fff;
	border-left: none;
	border-right: none;
	border-top: none;
	padding: 5px 5px;
	background: none;
	margin: 10px 0 10px 0;
	font-size: 14px;
	line-height: 1.5;
	font-weight: 300;
	font-weight: normal;
	text-align: center;
	color: #fff;
	-webkit-transition: all 0.5s linear;
	-moz-transition: all 0.5s linear;
	-ms-transition: all 0.5s linear;
	-o-transition: all 0.5s linear;
	transition: all 0.5s linear;
}

textarea {
	position: relative;
	width: 100%;
	height: 100px;
	border-bottom: 1px solid #fff;
	border-left: none;
	border-right: none;
	border-top: none;
	padding: 5px 5px;
	background: none;
	margin: 5px;
	font-size: 14px;
	line-height: 1.5;
	font-weight: 300;
	font-weight: normal;
	text-align: center;
	-webkit-transition: all 0.5s linear;
	-moz-transition: all 0.5s linear;
	-ms-transition: all 0.5s linear;
	-o-transition: all 0.5s linear;
	transition: all 0.5s linear;
}

#form textarea {
	color: #fff;
	margin: 10px 0 10px 0;
	-webkit-transition: all 0.5s linear;
	-moz-transition: all 0.5s linear;
	-ms-transition: all 0.5s linear;
	-o-transition: all 0.5s linear;
	transition: all 0.5s linear;
}

#form input:hover,
#form textarea:hover {
	border-color: rgba(255, 38, 74, .5);
	-webkit-transition: all 0.5s linear;
	-moz-transition: all 0.5s linear;
	-ms-transition: all 0.5s linear;
	-o-transition: all 0.5s linear;
	transition: all 0.5s linear;
}

#form input:focus,
#form textarea:focus {
	-webkit-transition: all 0.5s linear;
	-moz-transition: all 0.5s linear;
	-ms-transition: all 0.5s linear;
	-o-transition: all 0.5s linear;
	transition: all 0.5s linear;
}

.success {
	font-size: 10px;
	font-weight: 300;
	font-weight: 500;
	letter-spacing: 0.15em;
	text-transform: none;
	/* uppercase */
	text-align: center;
	color: #fff;
	margin: 0 auto;
	padding: 56px 0 60px 0;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

#form .error {
	position: absolute;
	display: block;
	font-size: 9px;
	text-transform: none;
	/* uppercase */
	color: #5576D1;
	margin: 0;
	padding: 0;
	letter-spacing: 0.15em;
	font-weight: 500;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	width: 200px !important;
}

.make-space {
	margin-left: 15px;
	margin-right: 15px;
}

::-webkit-input-placeholder {
	font-size: 16px;
	color: #2e2e2e;
	opacity: 0.2;
	-moz-opacity: 0.2;
	-webkit-opacity: 0.2;
	filter: alpha(opacity=0.2);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0.2)";
}

:-ms-input-placeholder {
	font-size: 16px;
	color: #2e2e2e;
	opacity: 0.2;
	-moz-opacity: 0.2;
	-webkit-opacity: 0.2;
	filter: alpha(opacity=0.2);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0.2)";
}

::-moz-placeholder {
	font-size: 16px;
	color: #2e2e2e;
	opacity: 0.2;
	-moz-opacity: 0.2;
	-webkit-opacity: 0.2;
	filter: alpha(opacity=0.2);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0.2)";
}

input:-moz-placeholder {
	font-size: 16px;
	color: #2e2e2e;
	opacity: 0.2;
	-moz-opacity: 0.2;
	-webkit-opacity: 0.2;
	filter: alpha(opacity=0.2);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0.2)";
}

input:focus::-webkit-input-placeholder {
	color: transparent;
}

input:focus:-ms-input-placeholder {
	color: transparent;
}

input:focus::-moz-placeholder {
	color: transparent;
}

input:focus:-moz-placeholder {
	color: transparent;
}

textarea:focus::-webkit-input-placeholder {
	color: transparent;
}

textarea:focus:-ms-input-placeholder {
	color: transparent;
}

textarea:focus::-moz-placeholder {
	color: transparent;
}

textarea:focus:-moz-placeholder {
	color: transparent;
}
/* 19. social icons */
.social-icons-wrapper {
	position: absolute;
	bottom: 25px;
	right: 29px;
	text-align: right;
	margin: 0;
	z-index: 10;
}

@media only screen and (max-width:880px) {
	.social-icons-wrapper {
		bottom: 13px;
		left: 10px;
	}
}

@media only screen and (max-width:640px) {
	.social-icons-wrapper {
		position: absolute;
		display: block;
		left: 0;
		right: 0;
		bottom: 13px;
		text-align: center;
		margin-left: auto;
		margin-right: auto;
	}
}

.social-icons-wrapper ul {
	margin: 0 auto;
	padding: 0;
	list-style-type: none;
}

.social-icons-wrapper ul li {
	display: inline-block;
	margin: 0 auto;
	padding: 0 0 0 5px;
}

ul.social-icons {
	font-size: 18px;
	line-height: 1;
	margin: 0;
	padding: 0;
	position: relative;
}

@media only screen and (max-width:640px) {
	ul.social-icons {
		font-size: 16px;
	}
}

ul.social-icons a {
	padding: 0;
	color: #fff;
	text-decoration: none;
	opacity: 1;
	-moz-opacity: 1;
	-webkit-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	-webkit-transition: all 0.5s linear;
	-moz-transition: all 0.5s linear;
	-ms-transition: all 0.5s linear;
	-o-transition: all 0.5s linear;
	transition: all 0.5s linear;
}

ul.social-icons a:hover {
	padding: 0;
	color: #fff;
	text-decoration: none;
	opacity: 0.5;
	-moz-opacity: 0.5;
	-webkit-opacity: 0.5;
	filter: alpha(opacity=50);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
	-webkit-transition: all 0.5s linear;
	-moz-transition: all 0.5s linear;
	-ms-transition: all 0.5s linear;
	-o-transition: all 0.5s linear;
	transition: all 0.5s linear;
}

ul.social-icons a img,
ul.social-icons a svg {
	display: block;
	width: 42px;
	height: 42px;
}

ul.social-icons a svg {
	fill: currentColor;
}

/* 20. section intro */
.section-intro p {
	font-size: 18px;
	font-weight: 300;
	font-weight: 500;
	text-transform: none;
	text-align: center;
	letter-spacing: 0.03em;
	line-height: 2;
	margin: -7px auto 0 auto;
}

@media only screen and (max-width:995px) {
	.section-intro p {
		font-size: 16px;
		margin: -5px auto 0 auto;
	}
}

@media only screen and (max-width:880px) {
	.section-intro p {
		font-size: 15px;
		font-weight: 400;
	}
}

.section-intro p a,
.section-intro p a:hover {
	text-decoration: none;
}

.section-intro.section-intro-light p {
	color: #fff;
}

.parallax-title-content {
    --parallax-title-content-size: clamp(40px, 5vw, 80px);
    --parallax-title-margin-top: calc(var(--parallax-title-content-size) / -2);
    --parallax-title-margin-bottom: calc(var(--parallax-title-content-size) / -1.9);
    font-size: var(--parallax-title-content-size);
    position: relative;
    font-weight: 500;
    text-align: center;
    text-transform: none;
    line-height: 1;
    letter-spacing: -0.03em;
    color: #5576d1;
    mix-blend-mode: lighten;
    overflow: hidden;
    margin: var(--parallax-title-margin-top) auto var(--parallax-title-margin-bottom) auto;
}

.parallax-title-content.parallax-title-content-dark {
	color: #fff;
	background: #5576d1;
	mix-blend-mode: darken;
}



.parallax-title {
	position: relative;
	background-repeat: no-repeat;
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-ms-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	border: none;
	z-index: 1;
}

.parallax-subtitle-content {
    position: relative;
	display: block;
	margin: clamp(40px, 5vw, 80px) auto 0 auto;
	text-align: center;
	font-size: clamp(18px, 3vw, 26px);
	letter-spacing: 0.03em;
	color: #2e2e2e
}

/* 22. sections */
/* 22.1. all section */
.post-txt {
	position: relative;
	display: block;
	margin: -17px auto 0 auto;
	text-align: center;
}

.post-txt-light p {
	color: #fff;
}

.post-txt p {
	margin: 10px auto;
}

.post-heading,
.post-heading-material,
.post-heading-works,
.post-heading-reviews {
	font-size: 15px;
	font-weight: 300;
	font-weight: 500;
	text-transform: none;
	padding: 0;
	text-align: center;
	letter-spacing: 0.05em;
	color: #2e2e2e;
}

.post-heading,
.post-heading-works,
.post-heading-reviews {
	margin: -30px auto;
}

.post-heading-material {
    margin: -25px auto -40px auto;
    color: #5577d1;
}

.post-heading-light {
	color: #fff;
}

.post-heading-reviews.post-heading-reviews-dark {
	color: #5576D1;
}

.post-title {
	position: relative;
	top: 0;
	--post-title-size: clamp(36px, 5vw, 60px);
	font-size: var(--post-title-size);
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0em;
	color: #5576d1;
	line-height: 1;
	z-index: 10;
	text-align: center;
	margin: calc(-1 * var(--post-title-size)) auto 0 auto;
}

.subpost-title {
	position: relative;
	top: 0;
	--subpost-title-size: clamp(30px, 3vw, 60px);
	font-size: var(--subpost-title-size);
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0em;
	color: #5576d1;
	line-height: 1;
	z-index: 10;
	text-align: center;
	margin: calc(-1 * var(--subpost-title-size)) auto 0 auto;
}

.post-title-light {
	color: #fff;
}

.post-contact-title {
	font-size: 30px;
}

.post-contact-title {
	margin: -20px auto 0 auto;
}

@media all and (min-width:1920px) {
	.post-contact-title {
		font-size: 36px;
		margin: -24px auto 0 auto;
	}
}

@media only screen and (max-width:768px) {
	.post-contact-title {
		font-size: 27px;
		margin: -14px auto 0 auto;
	}
}

@media only screen and (max-width:640px) {
	.post-contact-title {
		font-size: 18px;
		margin: -6px auto 0 auto;
	}
}

.post-title a,
.post-title a:hover {
	line-height: 1.5;
	color: #fff;
}

.post-contact-title a,
.post-contact-title a:hover {
	line-height: 1.5;
	color: #2e2e2e;
}

@media only screen and (max-width:768px) {
	.swiper-slide .post-title {
		width: 100%;
		margin: 0px auto;
	}
}

@media only screen and (max-width:640px) {
	.swiper-slide .post-title {
		width: 100%;
		margin: 0px auto;
	}
}

/* 22.2. material section */
.material-txt,
.material-txt-dark {
	margin: 0 auto;
	padding: 0 100px;
}

@media all and (min-width:1920px) {

	.material-txt,
	.material-txt-dark {
		padding: 0 150px;
	}
}

@media only screen and (max-width:1200px) {

	.material-txt,
	.material-txt-dark {
		padding: 0 80px;
	}
}

@media only screen and (max-width:995px) {

	.material-txt,
	.material-txt-dark {
		padding: 0 35px;
	}
}

@media only screen and (max-width:880px) {

	.material-txt,
	.material-txt-dark {
		padding: 0 15px;
	}
}

.material-txt {
	color: #fff;
}

.material-txt-dark {
	color: #2e2e2e;
}

.material-bg-1,
.material-bg-2 {
	width: 100%;
	height: auto;
	background-position: center center;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	-moz-background-size: contain;
	-ms-background-size: contain;
	-o-background-size: contain;
	background-size: contain;
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	-ms-transition: all 1s ease;
	-o-transition: all 1s ease;
	transition: all 1s ease;
}

.halves:hover .material-bg-1,
.halves:hover .material-bg-2 {
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	-ms-transition: all 1s ease;
	-o-transition: all 1s ease;
	transition: all 1s ease;
}

/* 22.2.1. material section halves */
.halves {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -moz-flex;
	display: -webkit-flex;
	display: flex;
}

.halves .half {
	min-height: 200px;
	-webkit-box-flex: 50%;
	-ms-flex: 50%;
	flex: 50%;
}

@media (max-width:768px) {
	.halves {
		-webkit-box-orient: vertical;
		box-orient: vertical;
		-webkit-box-direction: normal;
		box-direction: normal;
	}
	
	.halves.premium {
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.halves.mex {
		-webkit-flex-direction: column-reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}

	.halves .half {
		-webkit-box-flex: 0;
		-ms-flex: none;
		flex: none;
	}
}

/* 22.2.2. material skills bar */
.show-skillbar {
	display: block;
	padding: 0;
	margin: -6px auto 0 auto;
	padding-left: 0;
	text-align: left;
}

.skillbar {
	position: relative;
	display: block;
	width: 100%;
	height: 21px;
	margin: 0 auto;
	background: none;
	letter-spacing: 0.05em;
}

.skillbar-bar {
	display: inline-block;
	width: 0px;
	height: 1px;
	background: #2e2e2e;
	margin: 60px 0 0 0;
}

.skillbar-bar-light {
	background: #fff;
}

.skill-bar-percent {
	position: absolute;
	font-size: 15px;
	font-weight: 300;
	font-weight: 400;
	text-transform: none;
	/* uppercase */
	padding: 0;
	text-align: center;
	letter-spacing: 0.05em;
	color: #2e2e2e;
	margin: 0 auto;
	line-height: 1;
	width: 30px !important;
	left: 0;
	right: 0;
	top: 5px;
	margin-left: auto;
	margin-right: auto;
}

.skill-bar-percent-light {
	color: #fff;
}

/* 22.3. facts section */
.parallax-overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: rgba(0, 0, 0, .7);
	z-index: 0;
}

.parallax {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	padding: 0;
}

.parallax-facts {
	position: relative;
	background-repeat: no-repeat;
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-ms-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	border: none;
	z-index: 1;
}

/* 22.4. examples section halves */
.halves-examples {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -moz-flex;
	display: -webkit-flex;
	display: flex;
}

.halves-examples .half-examples-1 {
	min-height: 350px;
	-webkit-box-flex: 75%;
	-ms-flex: 75%;
	flex: 75%;
}

@media all and (min-width:1920px) {
	.halves-examples .half-examples-1 {
		min-height: 350px;
	}
}

@media (max-width:768px) {
	.halves-examples .half-examples-1 {
		min-height: 350px;
	}
}

@media (max-width:768px) {
	.halves-examples {
		-webkit-box-orient: vertical;
		box-orient: vertical;
		-webkit-box-direction: normal;
		box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.halves-examples .half-examples-1 {
		-webkit-box-flex: 0;
		-ms-flex: none;
		flex: none;
	}
}

.halves-examples .half-examples-2 {
	min-height: 350px;
	-webkit-box-flex: 25%;
	-ms-flex: 25%;
	flex: 25%;
}

.examples-bg-1,
.examples-bg-2 {
	width: 100%;
	height: auto;
	background-position: center center;
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-ms-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	-ms-transition: all 1s ease;
	-o-transition: all 1s ease;
	transition: all 1s ease;
}

.halves-examples:hover .examples-bg-1,
.halves-examples:hover .examples-bg-2 {
	-webkit-filter: none;
	filter: none;
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	-ms-transition: all 1s ease;
	-o-transition: all 1s ease;
	transition: all 1s ease;
}

/* 22.5. works */
/* 22.5.1. works gallery */
.works-section {
	margin-left: 20px;
	margin-right: 20px;
}

.works-section.section-100vh {
	height: -webkit-calc(100vh - 60px);
	height: -moz-calc(100vh - 60px);
	height: calc(100vh - 60px);
}

@media (max-width:768px) {
	.works-section.section-100vh {
		height: -webkit-calc(100vh - 40px);
		height: -moz-calc(100vh - 40px);
		height: calc(100vh - 40px);
	}
}

.works-section:last-child {
	margin-bottom: 0;
}

.works-section.section-gallery .box-img {
	position: relative;
	width: 100%;
	height: 100%;
	display: block;
	background: #fff;
	overflow: hidden;
}

/* Сетка блока «Примеры» перенесена в css/main_style.css и использует универсальные классы без привязки к номеру изображения. */

.force-height {
	height: 100%;
}

.force-height .row,
.force-height .works-section-col {
	height: 100%;
}

.row.no-gutter {
	margin-left: 0;
	margin-right: 0;
}

.row.no-gutter>[class^="col-"],
.row.no-gutter>[class*=" col-"] {
	padding-left: 0;
	padding-right: 0;
}

/*
@media (max-width:1024px) {
   [class*="col-md"] {
   float:left;
   width:100%;
   left:auto;
   right:auto;
}
}*/

.no-mrg-pdg {
	margin: 0;
	padding: 0;
}

/* 22.5.2. works hover effect */
.image-works {
	position: relative;
	z-index: 5;
}

.image-works>.hover-effect {
	position: absolute;
	background: #fff;
	opacity: 0;
	-moz-opacity: 0;
	-webkit-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	-webkit-transition: opacity 0.35s ease-out;
	-moz-transition: opacity 0.35s ease-out;
	-ms-transition: opacity 0.35s ease-out;
	-o-transition: opacity 0.35s ease-out;
	transition: opacity 0.35s ease-out;
	width: -webkit-calc(100% - 20px);
	width: -moz-calc(100% - 20px);
	width: calc(100% - 20px);
	height: -webkit-calc(100% - 20px);
	height: -moz-calc(100% - 20px);
	height: calc(100% - 20px);
	top: 10px;
	left: 10px;
	bottom: 10px;
	right: 10px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	z-index: 1;
}

.image-works:hover .hover-effect {
	opacity: 0.90;
	-moz-opacity: 0.90;
	-webkit-opacity: 0.90;
	filter: alpha(opacity=90);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
	cursor: pointer;
}

.pswp__img--placeholder--blank {
	background: #2e2e2e;
	opacity: 0.2;
	-moz-opacity: 0.2;
	-webkit-opacity: 0.2;
	filter: alpha(opacity=0.2);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0.2)";
}

.description {
	position: absolute;
	padding: 0 15px;
	margin-bottom: 5px;
	bottom: -40px;
	left: 0;
	right: 0;
	opacity: 0;
	-moz-opacity: 0;
	-webkit-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	-webkit-transition: all 0.8s ease;
	-moz-transition: all 0.8s ease;
	-ms-transition: all 0.8s ease;
	-o-transition: all 0.8s ease;
	transition: all 0.8s ease;
	text-align: center;
	-webkit-pointer-events: none;
	-moz-pointer-events: none;
	pointer-events: none;
	z-index: 10;
}

.description h3 {
	position: relative;
	font-size: 48px;
	font-weight: 500;
	text-transform: none;
	/* uppercase */
	text-align: center;
	letter-spacing: 0.03em;
	color: #2e2e2e;
	line-height: 1;
	margin: -9px auto -1px auto;
	z-index: 10;
}

@media only screen and (max-width:640px) {
	.description h3 {
		font-size: 40px;
		margin: -4px auto -1px auto;
	}
}

.description-second {
	margin: -7px auto -6px auto;
}

.item-grid-size:hover .description,
.item-grid-size:focus .description {
	bottom: 5px;
	opacity: 1;
	-moz-opacity: 1;
	-webkit-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.item-grid-size {
	position: relative;
	padding: 0;
	width: 100%;
	height: 100%;
}

.item {
	position: relative;
	margin-bottom: 0;
	float: left;
}

.item:after {
	content: "";
	display: block;
	clear: both;
}

.item-wh {
	width: 100%;
	height: auto;
}

.item:hover .link-wrap {
	opacity: 1;
	-moz-opacity: 1;
	-webkit-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	cursor: pointer;
}

.item:hover .link-wrap span:before,
.item:hover .link-wrap span:after {
	opacity: 1;
	-moz-opacity: 1;
	-webkit-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.item:hover .link-wrap span:nth-child(1):before,
.item:hover .link-wrap span:nth-child(1):after {
	width: 15px;
}

.item:hover .link-wrap span:nth-child(2):before,
.item:hover .link-wrap span:nth-child(2):after {
	height: 15px;
}

.post-heading-works {
	font-size: 16px;
	font-weight: 300;
	font-weight: 300;
	padding: 0;
	text-align: center;
	letter-spacing: 0.05em;
	color: #2e2e2e;
}

.post-heading-works {
	text-align: center;
	margin: 2px auto;
}

/* 22.5.3. works extras */
.img-fullwidth-all {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background-repeat: no-repeat;
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-ms-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

.works-section.section-gallery .thumb-link {
	display: block;
	width: 100%;
	height: 100%;
}

.img-fullwidth-all img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.works-item {
	position: relative;
	height: 100%;
	min-height: 700px;
	overflow: hidden;
	margin-left: 50px;
	margin-right: 50px;
	background: none;
}

@media only screen and (max-width:880px) {
	.works-item {
		height: auto;
		min-height: inherit;
	}
}

@media only screen and (max-width:640px) {
	.works-item {
		height: auto;
		min-height: inherit;
		margin-left: 0;
		margin-right: 0;
	}
}

.works-last-line {
	position: relative;
	width: 100%;
	height: 20px;
	background: #fff;
	overflow: hidden;
}

/* 23. videos */
/* 23.1. Vimeo video */
.vimeo-bg {
	display: none;
}

@media only screen and (max-width:880px) {
	.vimeo-bg {
		position: relative;
		height: 100%;
		background-image: url(../assets/img/background/vimeo-bg.jpg);
		background-repeat: no-repeat;
		background-position: center;
		-webkit-background-size: cover;
		-moz-background-size: cover;
		-ms-background-size: cover;
		-o-background-size: cover;
		background-size: cover;
		/* uncomment the following to show an image for mobile devices */
		/* display:block;
   */
	}

	#vimeo-videoContainment {
		display: none;
	}
}

#vimeo-videoContainment {
	position: absolute;
	display: block;
	width: 100% !important;
	height: 100% !important;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	background: #5576D1;
	z-index: 0;
}

#vimeo-videoContainment iframe,
#vimeo-videoContainment object,
#vimeo-videoContainment embed {
	border: none;
}

/* 23.2. YouTube video */
.YT-bg {
	display: none;
}

@media only screen and (max-width:880px) {
	.YT-bg {
		position: relative;
		height: 100%;
		background-image: url(../assets/img/background/YT-bg.jpg);
		background-repeat: no-repeat;
		background-position: center;
		-webkit-background-size: cover;
		-moz-background-size: cover;
		-ms-background-size: cover;
		-o-background-size: cover;
		background-size: cover;
		/* uncomment the following to show an image for mobile devices */
		/* display:block;
   */
	}
}

#videoContainment {
	position: absolute;
	display: block;
	width: 100% !important;
	height: 100% !important;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	background: #5576D1;
	z-index: 0;
}

/* 23.3. HTML5 video */
.html5-bg {
	display: none;
}

@media only screen and (max-width:880px) {
	.html5-bg {
		position: relative;
		height: 100%;
		background-image: url(../assets/img/background/html5-bg.jpg);
		background-repeat: no-repeat;
		background-position: center;
		-webkit-background-size: cover;
		-moz-background-size: cover;
		-ms-background-size: cover;
		-o-background-size: cover;
		background-size: cover;
		/* uncomment the following to show an image for mobile devices */
		/* display:block;
   */
	}
}

.html5-videoContainment {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	min-width: 100%;
	height: auto;
	min-height: 100%;
	background: #5576D1;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 0;
}

/* 24. ken burns slideshow */
.kenburns-slide-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	overflow: hidden;
	z-index: 0;
}

.kenburns-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	-moz-opacity: 0;
	-webkit-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	-webkit-animation: KenBurnsSlideShow 24s linear infinite 0s;
	-moz-animation: KenBurnsSlideShow 24s linear infinite 0s;
	-ms-animation: KenBurnsSlideShow 24s linear infinite 0s;
	-o-animation: KenBurnsSlideShow 24s linear infinite 0s;
	animation: KenBurnsSlideShow 24s linear infinite 0s;
}

.kenburns-slide-1,
.kenburns-slide-2,
.kenburns-slide-3,
.kenburns-slide-4 {
	background-repeat: no-repeat;
	background-position: center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-ms-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

.kenburns-slide-1 {
	opacity: 1;
	-moz-opacity: 1;
	-webkit-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.kenburns-slide-2 {
	-webkit-animation-delay: 6s;
	-moz-animation-delay: 6s;
	-ms-animation-delay: 6s;
	-o-animation-delay: 6s;
	animation-delay: 6s;
}

.kenburns-slide-3 {
	-webkit-animation-delay: 12s;
	-moz-animation-delay: 12s;
	-ms-animation-delay: 12s;
	-o-animation-delay: 12s;
	animation-delay: 12s;
}

.kenburns-slide-4 {
	-webkit-animation-delay: 18s;
	-moz-animation-delay: 18s;
	-ms-animation-delay: 18s;
	-o-animation-delay: 18s;
	animation-delay: 18s;
}

@-webkit-keyframes KenBurnsSlideShow {
	0% {
		opacity: 0;
		-webkit-transform: scale(1);
	}

	5% {
		opacity: 1
	}

	25% {
		opacity: 1;
	}

	30% {
		opacity: 0;
		-webkit-transform: scale(1.1);
	}

	100% {
		opacity: 0;
		-webkit-transformm: scale(1);
	}
}

@-moz-keyframes KenBurnsSlideShow {
	0% {
		opacity: 0;
		-moz-transform: scale(1);
	}

	5% {
		opacity: 1
	}

	25% {
		opacity: 1;
	}

	30% {
		opacity: 0;
		-moz-transform: scale(1.1);
	}

	100% {
		opacity: 0;
		-moz-transform: scale(1);
	}
}

@-o-keyframes KenBurnsSlideShow {
	0% {
		opacity: 0;
		-o-transform: scale(1);
	}

	5% {
		opacity: 1
	}

	25% {
		opacity: 1;
	}

	30% {
		opacity: 0;
		-o-transform: scale(1.1);
	}

	100% {
		opacity: 0;
		-o-transform: scale(1);
	}
}

@keyframes KenBurnsSlideShow {
	0% {
		opacity: 0;
		transform: scale(1);
		-ms-transform: scale(1);
	}

	5% {
		opacity: 1
	}

	25% {
		opacity: 1;
	}

	30% {
		opacity: 0;
		transform: scale(1.1);
		-ms-transform: scale(1.1);
	}

	100% {
		opacity: 0;
		transform: scale(1);
		-ms-transform: scale(1);
	}
}

/* 26. Slick v1.6.0 CUSTOM */
/* 26.1. slick slide */
.slick-slide {
	height: 100vh;
	background: none;
}

.slick-slider {
	margin-bottom: 0;
	margin-top: 0;
	cursor: auto;
}

/* 26.2. slick slide flickering FIX */
.slick-track,
.slick-list {
	-webkit-perspective: 2000;
	perspective: 2000;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

/* 26.3. slick navigation */
.slick-prev,
.slick-next {
	position: absolute;
	display: block;
	top: 50%;
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	opacity: 0;
	-moz-opacity: 0;
	-webkit-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	z-index: 1;
	visibility: visible;
}

.slick-prev {
	left: -50px;
}

.slick-next {
	right: -50px;
}

.slick-prev:before,
.slick-next:before {
	font-size: 11px;
	color: #5576D1;
	padding: 0;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	display: block;
	width: 50px;
	height: 50px;
	line-height: 50px;
	position: absolute;
	background: #fff;
	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	opacity: 1;
	-moz-opacity: 1;
	-webkit-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

@media only screen and (max-width:880px) {

	.slick-prev:before,
	.slick-next:before {
		width: 40px;
		height: 40px;
		line-height: 40px;
	}
}

.slick-prev:before {
	left: 64px;
	top: 9px;
}

@media only screen and (max-width:880px) {
	.slick-prev:before {
		left: 50px;
	}
}

.slick-next:before {
	right: 64px;
	top: 9px;
}

@media only screen and (max-width:880px) {
	.slick-next:before {
		right: 50px;
	}
}

.slick-prev:hover,
.slick-next:hover {
	-webkit-transition: 0 none;
	-moz-transition: 0 none;
	-ms-transition: 0 none;
	-o-transition: 0 none;
	transition: 0 none;
	opacity: 1;
	-moz-opacity: 1;
	-webkit-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.slick-prev:hover:before,
.slick-next:hover:before,
.slick-prev:active:before,
.slick-next:active:before {
	opacity: 1;
	-moz-opacity: 1;
	-webkit-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.slick-fullscreen:hover .slick-prev,
.slick-fullscreen:hover .slick-next,
.slick-fullscreen-slideshow:hover .slick-prev,
.slick-fullscreen-slideshow:hover .slick-next,
.slick-fullscreen-split:hover .slick-prev,
.slick-fullscreen-split:hover .slick-next,
.slick-fullscreen-slideshow-zoom-fade:hover .slick-prev,
.slick-fullscreen-slideshow-zoom-fade:hover .slick-next {
	opacity: 1;
	-moz-opacity: 1;
	-webkit-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.slick-fullscreen:hover .slick-prev,
.slick-fullscreen-slideshow:hover .slick-prev,
.slick-fullscreen-split:hover .slick-prev,
.slick-fullscreen-slideshow-zoom-fade:hover .slick-prev {
	left: -35px;
}

.slick-fullscreen:hover .slick-next,
.slick-fullscreen-slideshow:hover .slick-next,
.slick-fullscreen-split:hover .slick-next,
.slick-fullscreen-slideshow-zoom-fade:hover .slick-next {
	right: -35px;
}

/* 26.4. slick fullscreen slider */
.slick-fullscreen.slick-fullscreen-split-content {
	width: 50%;
	left: 50%;
}

.slick-fullscreen-img-fill {
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden;
	text-align: center;
}

.slick-fullscreen-img-fill img {
	position: relative;
	display: inline-block;
	min-width: 100%;
	max-width: none;
	min-height: 100%;
}

.slick-fullscreen .slick-fullscreen-item .slick-fullscreen-img-fill,
.slick-fullscreen-slideshow .slick-fullscreen-item .slick-fullscreen-img-fill,
.slick-fullscreen-split .slick-fullscreen-item .slick-fullscreen-img-fill,
.slick-fullscreen-slideshow-zoom-fade .slick-fullscreen-item .slick-fullscreen-img-fill {
	height: 100vh;
	background: none;
}

.slick-fullscreen .slick-fullscreen-item .slick-fullscreen-img-fill .bg-img,
.slick-fullscreen-slideshow .slick-fullscreen-item .slick-fullscreen-img-fill .bg-img,
.slick-fullscreen-split .slick-fullscreen-item .slick-fullscreen-img-fill .bg-img,
.slick-fullscreen-slideshow-zoom-fade .slick-fullscreen-item .slick-fullscreen-img-fill .bg-img {
	position: relative;
	width: auto;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-ms-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

.slick-fullscreen .slick-dots,
.slick-fullscreen-slideshow .slick-dots,
.slick-fullscreen-split .slick-dots,
.slick-fullscreen-slideshow-zoom-fade .slick-dots {
	position: absolute;
	width: 100%;
	height: 5px;
	left: 0;
	bottom: 0;
	margin: 0;
	padding: 0;
	background: rgba(255, 255, 255, .25);
	list-style-type: none;
}

.slick-fullscreen .slick-dots li button,
.slick-fullscreen-slideshow .slick-dots li button,
.slick-fullscreen-split .slick-dots li button,
.slick-fullscreen-slideshow-zoom-fade .slick-dots li button {
	display: none;
}

.slick-fullscreen .slick-dots li,
.slick-fullscreen-slideshow .slick-dots li,
.slick-fullscreen-split .slick-dots li,
.slick-fullscreen-slideshow-zoom-fade .slick-dots li {
	position: absolute;
	float: left;
	width: 0;
	height: 5px;
	left: -5px;
	background: #fff;
}

.slick-fullscreen .slick-dots li.slick-active,
.slick-fullscreen-slideshow .slick-dots li.slick-active,
.slick-fullscreen-split .slick-dots li.slick-active,
.slick-fullscreen-slideshow-zoom-fade .slick-dots li.slick-active {
	width: 100%;
	-webkit-animation: progressDots 4s both;
	-moz-animation: progressDots 4s both;
	-ms-animation: progressDots 4s both;
	-o-animation: progressDots 4s both;
	animation: progressDots 4s both;
}

@-webkit-keyframes progressDots {
	from {
		width: 0;
	}

	to {
		width: 100%;
	}
}

@keyframes progressDots {
	from {
		width: 0;
	}

	to {
		width: 100%;
	}
}

.slick-fullscreen,
.slick-fullscreen-slideshow,
.slick-fullscreen-split,
.slick-fullscreen-slideshow-zoom-fade {
	background: none;
}

.slick-fullscreen .slick-slide,
.slick-fullscreen-slideshow .slick-slide,
.slick-fullscreen-split .slick-slide,
.slick-fullscreen-slideshow-zoom-fade .slick-slide {
	display: none;
	float: left;
	height: 100%;
}

.slick-initialized .slick-slide {
	display: block;
}

/* 26.5. slick fullscreen slideshow ZOOM/FADE transition */
.slick-fullscreen-slideshow-zoom-fade .slick-fullscreen-item .bg-img {
	-webkit-transition: all 1s cubic-bezier(0.7, 0, 0.3, 1);
	-moz-transition: all 1s cubic-bezier(0.7, 0, 0.3, 1);
	-ms-transition: all 1s cubic-bezier(0.7, 0, 0.3, 1);
	-o-transition: all 1s cubic-bezier(0.7, 0, 0.3, 1);
	transition: all 1s cubic-bezier(0.7, 0, 0.3, 1);
	-webkit-transform: scale(1.3);
	-moz-transform: scale(1.3);
	-ms-transform: scale(1.3);
	-o-transform: scale(1.3);
	transform: scale(1.3);
}

.slick-fullscreen-slideshow-zoom-fade .slick-fullscreen-item.slick-active .bg-img {
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
}

/* 27. swiper parallax */
.parallax .swiper-button-next,
.parallax .swiper-button-prev {
	display: block;
	visibility: visible;
	width: 20px;
	height: 20px;
	background-size: 20px 20px;
	display: none;
	visibility: hidden;
}

.parallax a,
.parallax a:hover {
	color: #fff;
}

.parallax .swiper-container {
	width: 100%;
	height: 100%;
	background: #5576D1;
	left: 0;
	top: 0;
}

.parallax .swiper-slide {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.parallax .parallax-bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 130%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-ms-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

/* 28. Magnific Popup v1.1.0 CUSTOM */
.mfp-arrow-left:after {
	font-family: "Ionicons";
	content: "\f124";
	font-size: 18px;
	color: #fff;
	margin-top: 22px;
}

.mfp-arrow-right:after {
	font-family: "Ionicons";
	content: "\f125";
	font-size: 18px;
	color: #fff;
	margin-top: 22px;
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
	cursor: crosshair;
}

.mfp-arrow-left:after,
.mfp-arrow-left:before {
	border-right: none;
}

.mfp-arrow-right:after,
.mfp-arrow-right:before {
	border-left: none;
}

.mfp-title {
	font-size: 13px;
	line-height: 1.5;
	font-weight: 300;
	font-weight: 400;
	letter-spacing: 0.05em;
}

/* 29. scroll indicator */
.scroll-indicator-wrapper {
	position: absolute;
	width: 1px !important;
	height: 100%;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	opacity: 1;
	-moz-opacity: 1;
	-webkit-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	visibility: visible;
	-webkit-transition: all .7s;
	-moz-transition: all .7s;
	-ms-transition: all .7s;
	-o-transition: all .7s;
	transition: all .7s;
}

@media only screen and (max-width:640px) {
	.scroll-indicator-wrapper {
		display: none;
		visibility: hidden;
	}
}

.scroll-indicator-wrapper.scroll-indicator-wrapper-position-secondary {
	opacity: 0;
	-moz-opacity: 0;
	-webkit-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	visibility: hidden;
	-webkit-transform: translateY(200px);
	-moz-transform: translateY(200px);
	-ms-transform: translateY(200px);
	-o-transform: translateY(200px);
	transform: translateY(200px);
	-webkit-transition: all .7s;
	-moz-transition: all .7s;
	-ms-transition: all .7s;
	-o-transition: all .7s;
	transition: all .7s;
}

.scroll-indicator {
	position: absolute;
	bottom: 30px;
	left: 50%;
	-webkit-transform: translate(-50%, 50%);
	-moz-transform: translate(-50%, 50%);
	-ms-transform: translate(-50%, 50%);
	transform: translate(-50%, 50%);
	z-index: 1005;
}

@media only screen and (max-width:880px) {
	.scroll-indicator {
		bottom: 15px;
	}
}

.scroll-line {
	display: block;
	width: 1px;
	height: 30px;
	background: none;
}

@media only screen and (max-width:880px) {
	.scroll-line {
		height: 15px;
	}
}

.scroll-line::before {
	content: "";
	display: block;
	width: 1px;
	height: 50%;
	top: 0;
	-webkit-animation: scroll-down 2s ease-in-out infinite;
	-ms-animation: scroll-down 2s ease-in-out infinite;
	animation: scroll-down 2s ease-in-out infinite;
}

.scroll-line-white::before {
	background-color: #fff;
}

@-webkit-keyframes scroll-down {
	0% {
		height: 0;
	}

	50% {
		height: 100%;
	}

	70% {
		height: 100%;
		transform: scaleY(0.5);
		transform-origin: bottom;
	}

	100% {
		height: 100%;
		transform: scaleY(0);
		transform-origin: bottom;
	}
}

@-ms-keyframes scroll-down {
	0% {
		height: 0;
	}

	50% {
		height: 100%;
	}

	70% {
		height: 100%;
		transform: scaleY(0.5);
		transform-origin: bottom;
	}

	100% {
		height: 100%;
		transform: scaleY(0);
		transform-origin: bottom;
	}
}

@keyframes scroll-down {
	0% {
		height: 0;
	}

	50% {
		height: 100%;
	}

	70% {
		height: 100%;
		transform: scaleY(0.5);
		transform-origin: bottom;
	}

	100% {
		height: 100%;
		transform: scaleY(0);
		transform-origin: bottom;
	}
}

/* 30. home multiple images */
.home-img-top-left {
	position: absolute;
	width: 33.33%;
	height: 50%;
	left: 0;
	top: 0;
	background-repeat: no-repeat;
	background-position: center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-ms-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

.home-img-top-center {
	position: absolute;
	width: 33.33%;
	height: 50%;
	left: 33.33%;
	top: 0;
	background-repeat: no-repeat;
	background-position: center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-ms-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

.home-img-top-right {
	position: absolute;
	width: 33.33%;
	height: 50%;
	left: 66.66%;
	top: 0;
	background-repeat: no-repeat;
	background-position: center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-ms-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

.home-img-bottom-left {
	position: absolute;
	width: 33.33%;
	height: 50%;
	left: 0;
	bottom: 0;
	background-repeat: no-repeat;
	background-position: center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-ms-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

.home-img-bottom-center {
	position: absolute;
	width: 33.33%;
	height: 50%;
	left: 33.33%;
	bottom: 0;
	background-repeat: no-repeat;
	background-position: center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-ms-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

.home-img-bottom-right {
	position: absolute;
	width: 33.33%;
	height: 50%;
	left: 66.66%;
	bottom: 0;
	background-repeat: no-repeat;
	background-position: center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-ms-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

/* 31. home IMG carousel slider */
.home-page-img-wrapper {
	position: absolute;
	width: 100%;
	height: 100%;
}

#home-page-img .home-page-img-item {
	padding: 0;
	opacity: 0.25;
	-moz-opacity: 0.25;
	-webkit-opacity: 0.25;
	filter: alpha(opacity=25);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=25)";
	-webkit-transform: scale3d(0.8, 0.8, 1);
	-moz-transform: scale3d(0.8, 0.8, 1);
	-ms-transform: scale3d(0.8, 0.8, 1);
	-o-transform: scale3d(0.8, 0.8, 1);
	transform: scale3d(0.8, 0.8, 1);
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}

#home-page-img .owl-item.active.center .home-page-img-item {
	opacity: 1;
	-moz-opacity: 1;
	-webkit-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	-webkit-transform: scale3d(1.0, 1.0, 1);
	-moz-transform: scale3d(1.0, 1.0, 1);
	-ms-transform: scale3d(1.0, 1.0, 1);
	-o-transform: scale3d(1.0, 1.0, 1);
	transform: scale3d(1.0, 1.0, 1);
}

.home-page-img-item-1,
.home-page-img-item-2,
.home-page-img-item-3,
.home-page-img-item-4,
.home-page-img-item-5,
.home-page-img-item-6 {
	position: relative;
	width: 100%;
	height: 100vh;
	background-position: center center;
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-ms-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

/* 32. Owl Carousel v2.2.0 CUSTOM */
.owl-buttons {
	position: static;
}

/* 32.1. Owl Carousel navigation */
.owl-prev,
.owl-next {
	position: absolute;
	display: block;
	top: 50%;
	margin-top: -29px;
	width: 60px;
	height: 60px;
	line-height: normal;
	font-size: 11px;
	padding-top: 21px;
	color: #2e2e2e;
	text-align: center;
	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	opacity: 0;
	-moz-opacity: 0;
	-webkit-opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	visibility: visible;
}

.owl-prev {
	left: -50px;
	padding-left: 21px;
}

.owl-next {
	right: -50px;
	padding-right: 21px;
}

.owl-prev:before,
.owl-next:before {
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	content: "";
	display: block;
	width: 66%;
	height: 66%;
	position: absolute;
	background: #fff;
	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.owl-prev:before {
	left: 85px;
	top: 9px;
}

@media only screen and (max-width:995px) {
	.owl-prev:before {
		left: 60px;
	}
}

.owl-next:before {
	right: 85px;
	top: 9px;
}

@media only screen and (max-width:995px) {
	.owl-next:before {
		right: 60px;
	}
}

.owl-prev .owl-custom,
.owl-next .owl-custom {
	position: relative;
}

.owl-prev .owl-custom {
	position: relative;
	left: 64px;
}

@media only screen and (max-width:995px) {
	.owl-prev .owl-custom {
		left: 39px;
	}
}

.owl-next .owl-custom {
	position: relative;
	right: 64px;
}

@media only screen and (max-width:995px) {
	.owl-next .owl-custom {
		right: 39px;
	}
}

.owl-prev:hover,
.owl-next:hover {
	-webkit-transition: 0 none;
	-moz-transition: 0 none;
	-ms-transition: 0 none;
	-o-transition: 0 none;
	transition: 0 none;
}

.owl-prev:hover:before,
.owl-next:hover:before,
.owl-prev:active:before,
.owl-next:active:before,
.owl-carousel:hover .owl-prev,
.owl-carousel:hover .owl-next {
	opacity: 1;
	-moz-opacity: 1;
	-webkit-opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.owl-carousel:hover .owl-prev {
	left: -35px;
}

.owl-carousel:hover .owl-next {
	right: -35px;
}

/* 33. divider */
.inner-divider,
.inner-divider-title,
.inner-divider-post,
.inner-divider-mobile,
.inner-divider-half-post {
	position: relative;
	width: 100%;
	margin: 0 auto;
	background: none;
	z-index: -1;
}

.inner-divider {
	height: clamp(40px, 20vh, 100px);
}

.inner-divider-title {
	height: clamp(50px, 35vh, 150px);
}

.inner-divider-half {
	height: clamp(18px, 10vh, 40px);
}

@media only screen and (max-width:640px) {
	.inner-divider-home {
		height: 23px;
	}
}

.inner-divider-post {
	height: 50px;
}

.inner-divider-mobile {
	display: none;
	visibility: hidden;
	height: 100px;
}

@media only screen and (max-width:995px) {
	.inner-divider-mobile {
		display: block;
		visibility: visible;
	}
}

@media only screen and (max-width:640px) {
	.inner-divider-mobile {
		height: 80px;
	}
}

@media only screen and (max-width:995px) {
	.hide-on-mobile {
		display: none  !important;
		visibility: hidden !important;
	}
}

@media only screen and (max-width:768px) {
	.inner-divider-hide {
		display: none;
		visibility: hidden;
	}
}

.inner-divider-half-post {
	height: 20px;
}

@media all and (min-width:1920px) {
	.inner-divider-half-post {
		height: 40px;
	}

	.inner-divider-half-post.inner-divider-half-post-works {
		height: 20px;
	}
}

.order-link {
	display: flex;
	align-items: center;
	gap: 8px;
}

.order-link a {
	flex: 1;
	/* ссылка занимает всё пространство */
	min-width: 0;
	/* важно для переносов */
	word-break: break-all;
}

.copy-link {
	flex-shrink: 0;
	/* иконка не сжимается */
	cursor: pointer;
	font-size: 24px;
	opacity: .7;
}

.copy-link:hover {
	opacity: 1;
}

/* модалка прелоадера заказа */
.calc-order-modal {
	position: fixed;
	inset: 0;
	z-index: 999999;
	/* важно:выше contact-modal */
	display: flex;
	align-items: center;
	justify-content: center;
}

.calc-order-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .55);
}

.calc-order-modal__box {
	position: relative;
	z-index: 1;
	background: #fff;
	border-radius: 15px;
	padding: 30px;
	width: min(320px, calc(100% - 32px));
	text-align: center;
	color: #2e2e2e;
}

.calc-order-spinner {
	position: relative;
	width: 70px;
	height: 70px;
	margin: 0 auto 10px;
	border-radius: 50%;
	/* Прогресс (0..100) */
	--p: 0;
}

/* SVG-кольцо прогресса в стиле Telegram: белый обруч + синяя дуга, длина дуги зависит от процента */
.calc-order-spinner__svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
	transform: rotate(-90deg);
}

.calc-order-spinner__bg {
    fill: none;
    stroke: rgba(85, 118, 209, .18);
    stroke-width: 3;
}

.calc-order-spinner__fg {
    fill: none;
    stroke: #5576d1;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-dasharray: 0 9999;
    stroke-dashoffset: 0;
    transition: stroke-dashoffset .18s ease;
}

.calc-order-spinner__pct {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 300;
    font-size: 12px;
    color: #2e2e2e;
}


.calc-order-spinner.is-indeterminate .calc-order-spinner__svg {
	animation: calc-order-spinner-rotate 1.2s linear infinite;
}

.calc-order-spinner.is-indeterminate .calc-order-spinner__fg {
	animation: calc-order-spinner-dash 1.4s ease-in-out infinite;
}

@keyframes calc-order-spinner-rotate {
	100% {
		transform: rotate(270deg);
	}
}

@keyframes calc-order-spinner-dash {
	0% {
		stroke-dashoffset: 0;
	}
	50% {
		stroke-dashoffset: -28;
	}
	100% {
		stroke-dashoffset: -110;
	}
}

.calc-order-modal__eta {
	margin-top: 8px;
	font-size: 13px;
	opacity: .9;
}

@keyframes calcSpin {
	to {
		transform: rotate(360deg);
	}
}

.calc-input-wrap {
	position: relative;
}

.calc-input-clear {
    position: absolute;
    right: 18px;
    top: 50%;
    width: 18px;
    height: 2px;
    transform: translateY(-50%);
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
}

.calc-input-clear::before,
.calc-input-clear::after {
    content: '';
    position: absolute;
    top: 1px;
    left: 1px;
    width: 18px;
    height: 2px;
    background: #2e2e2e50;
}

.calc-input-clear::before {
	transform: rotate(45deg);
}

.calc-input-clear::after {
	transform: rotate(-45deg);
}

.calc-input-wrap input:not(:placeholder-shown)+.calc-input-clear {
	opacity: 0.7;
	pointer-events: auto;
}

.calc-input-clear:hover {
	opacity: 1;
}

.calc-checkbox {
    display: flex;
    align-items: center;
    gap: 13px;
    background: #f8f8f8;
    border-radius: 15px;
    padding: 20px;
    box-shadow: 0 3px 10px #2e2e2e20;
    margin: 15px 0px 10px 0px;
}

#privacy {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    margin: 0;
    cursor: pointer;
}

.calc-checkbox label {
    color: #2f2f2f;
    font-size: 14px;
    font-weight: 300;
    cursor: pointer;
    line-height: 1.3;
    margin-left: 0;
    text-align: left;
}

/* Плавное раскрытие блока согласия на финальном шаге калькулятора. */
.calc-privacy-collapse {
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transform: translateY(-10px);
	transition: max-height .34s ease, opacity .24s ease, transform .34s ease;
	will-change: max-height, opacity, transform;
}

.calc-privacy-collapse.is-open {
	max-height: 180px;
	opacity: 1;
	transform: translateY(0);
}

/* Лайтбокс макета (как на странице заказа) */
.layout-lightbox {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .85);
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	padding: 18px;
	box-sizing: border-box;
}

.layout-lightbox__img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .45);
	border-radius: 8px;
}

.layout-lightbox__close {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	color: #fff;
	font-size: 60px;
	line-height: 42px;
	text-align: center;
	cursor: pointer;
	user-select: none;
}

.layout-lightbox__download {
	position: absolute;
	top: 64px;
	right: 10px;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	user-select: none;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.layout-lightbox__download svg {
	width: 42px;
	height: 42px;
	display: block;
}

.layout-lightbox__download:hover {
	transform: scale(1.08);
	opacity: .9;
}

/* Ненавязчивая индикация копирования на 5/5 */
.calc-copy-toast {
	position: fixed;
	left: 50%;
	top: 18px;
	transform: translateX(-50%);
	background: rgba(0, 0, 0, .65);
	color: #fff;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 12px;
	line-height: 1;
	opacity: 0;
	pointer-events: none;
	transition: opacity .15s ease;
	z-index: 99999;
}

.calc-copy-toast--show {
	opacity: 1;
}

a.calc-help-instruction,
button.calc-help-instruction {
	color: #5576d1;
	font-size: 18px;
	border-bottom: 1px solid #5576d1;
	font-weight: 300;
}

a.calc-help-instruction:hover,
button.calc-help-instruction:hover {
	border-bottom: 0px;
}

#supportTrigger,
.online-chat-root .trigger {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* site footer */
.site-footer {
    background: #f8f9fa;
    border-top: 1px solid #dedee6;
    letter-spacing: 0.03em;
}

.site-footer__panel {
    padding: 52px 0 10px;
}

.site-footer__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 50px;
}

.site-footer__col {
    min-width: 0;
}

.site-footer__heading {
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 15px;
    color: rgba(46, 46, 46, 0.84);
}

.site-footer__subheading {
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    margin: 22px 0 14px;
}

.site-footer__text,
.site-footer__details li,
.site-footer__contacts li,
.site-footer__social-title,
.site-footer__bottom-copy {
    font-size: 15px;
    line-height: 1.4;
    color: #5b6271;
}

.site-footer__text {
    margin-bottom: 10px;
    max-width: 280px;
}

.site-footer__contacts,
.site-footer__details {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.site-footer__link,
.site-footer__contact-link {
    color: #5b6271;
    text-decoration: none;
    transition: color 0.2s ease, opacity 0.2s ease;
}

.site-footer__link:hover,
.site-footer__contact-link:hover,
.site-footer__social-link:hover .site-footer__social-title,
.site-footer__social-link:focus .site-footer__social-title {
    color: #5576D1;
}

.site-footer__socials {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 18px;
}

.site-footer__social-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}

.site-footer__social-icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 10px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
    flex-shrink: 0;
}

.site-footer__social-icon {
    width: 100%;
    height: auto;
    display: block;
}

.site-footer__social-title {
    transition: color 0.2s ease;
}

.site-footer__payments {
    display: flex;
    align-items: center;
    margin-top: 22px;
    line-height: 0;
}

.site-footer__payment-item {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}

.site-footer__payment-item--mir {
    width: 53px;
    margin-right: 15px;
}

.site-footer__payment-item--yapay {
    width: 75px;
    margin-right: 14px;
}

.site-footer__payment-item--split {
    width: 98px;
}

.site-footer__payment-icon {
    display: block;
    width: 100%;
    height: auto;
}

.site-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 34px;
    padding-top: 10px;
    border-top: 1px solid rgba(46, 46, 46, 0.08);
}

.site-footer__bottom-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px 22px;
    font-size: 14px;
}

.site-footer__bottom-copy {
    white-space: nowrap;
}

.site-info-page__links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 24px;
    margin-top: 22px;
}

@media only screen and (max-width: 1100px) {
    .site-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media only screen and (max-width: 768px) {
    .site-footer__panel {
        padding: 40px 0 10px;
    }

    .site-footer__grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .site-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .site-footer__bottom-links {
        justify-content: flex-start;
        gap: 10px 18px;
    }

    .site-footer__bottom-copy {
        white-space: normal;
    }
}

/* Стрелка возле кнопки */
.the-button.the-button-arrow-icon {
	position: relative;
	overflow: visible;
}

/* Десктоп: используем именно эту SVG-стрелку */
.the-button.the-button-arrow-icon::before {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 1;
    width: 67px;
    height: 150px;
    left: -85px;
    top: -70px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: 0.25;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 180'%3E%3Cpath fill='%232e2e2e' d='M54.1 109c-.8 0-1.6-.4-2-1.1-.8-1.1-.5-2.7.6-3.5 1.3-.9 6.8-4 11.6-6.6-15.9-1.3-29.2-8.3-38.5-20.2C8.9 56 8.5 24.1 13.2 3.4c.3-1.3 1.7-2.2 3-1.9 1.3.3 2.2 1.7 1.9 3-4.5 19.6-4.2 49.8 11.6 70 9 11.5 21.5 17.7 37.2 18.4l-1.8-2.3c-1.4-1.7-2.7-3.4-4.1-5.1-.7-.9-1.5-1.9-2.3-2.9-.9-1.1-.7-2.6.4-3.5 1.1-.9 2.6-.7 3.5.4 0 0 0 .1.1.1l6.4 7.9c.5.5.9 1.1 1.4 1.7 1.5 1.8 3.1 3.6 4.4 5.6 0 .1.1.1.1.2.1.3.2.5.3.8v.6c0 .2-.1.4-.2.6-.1.1-.1.3-.2.4-.1.2-.3.4-.5.6-.1.1-.3.2-.5.3-.1 0-.1.1-.2.1-1.2.6-16 8.6-18.1 10-.5.5-1 .6-1.5.6z'/%3E%3C/svg%3E");
}

/* Мобильная версия: стрелка сверху, слева направо, с загибом вниз */
@media (max-width: 768px) {
	.the-button.the-button-arrow-icon::before {
        left: 100px;
        top: -125px;
        transform: scaleX(-1) rotate(80deg);
        transform-origin: center;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 180'%3E%3Cpath fill='%232e2e2e' d='M54.1 109c-.8 0-1.6-.4-2-1.1-.8-1.1-.5-2.7.6-3.5 1.3-.9 6.8-4 11.6-6.6-15.9-1.3-29.2-8.3-38.5-20.2C8.9 56 8.5 24.1 13.2 3.4c.3-1.3 1.7-2.2 3-1.9 1.3.3 2.2 1.7 1.9 3-4.5 19.6-4.2 49.8 11.6 70 9 11.5 21.5 17.7 37.2 18.4l-1.8-2.3c-1.4-1.7-2.7-3.4-4.1-5.1-.7-.9-1.5-1.9-2.3-2.9-.9-1.1-.7-2.6.4-3.5 1.1-.9 2.6-.7 3.5.4 0 0 0 .1.1.1l6.4 7.9c.5.5.9 1.1 1.4 1.7 1.5 1.8 3.1 3.6 4.4 5.6 0 .1.1.1.1.2.1.3.2.5.3.8v.6c0 .2-.1.4-.2.6-.1.1-.1.3-.2.4-.1.2-.3.4-.5.6-.1.1-.3.2-.5.3-.1 0-.1.1-.2.1-1.2.6-16 8.6-18.1 10-.5.5-1 .6-1.5.6z'/%3E%3C/svg%3E");
    }
}

/* Стрелка возле кнопки */
.the-button.the-button-arrow-icon-light {
	position: relative;
	overflow: visible;
}

/* Десктоп: используем именно эту SVG-стрелку */
.the-button.the-button-arrow-icon-light::before {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 1;
    width: 67px;
    height: 150px;
    left: -85px;
    top: -70px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: 0.25;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 180'%3E%3Cpath fill='%23ffffff' d='M54.1 109c-.8 0-1.6-.4-2-1.1-.8-1.1-.5-2.7.6-3.5 1.3-.9 6.8-4 11.6-6.6-15.9-1.3-29.2-8.3-38.5-20.2C8.9 56 8.5 24.1 13.2 3.4c.3-1.3 1.7-2.2 3-1.9 1.3.3 2.2 1.7 1.9 3-4.5 19.6-4.2 49.8 11.6 70 9 11.5 21.5 17.7 37.2 18.4l-1.8-2.3c-1.4-1.7-2.7-3.4-4.1-5.1-.7-.9-1.5-1.9-2.3-2.9-.9-1.1-.7-2.6.4-3.5 1.1-.9 2.6-.7 3.5.4 0 0 0 .1.1.1l6.4 7.9c.5.5.9 1.1 1.4 1.7 1.5 1.8 3.1 3.6 4.4 5.6 0 .1.1.1.1.2.1.3.2.5.3.8v.6c0 .2-.1.4-.2.6-.1.1-.1.3-.2.4-.1.2-.3.4-.5.6-.1.1-.3.2-.5.3-.1 0-.1.1-.2.1-1.2.6-16 8.6-18.1 10-.5.5-1 .6-1.5.6z'/%3E%3C/svg%3E");
}

/* Мобильная версия: стрелка сверху, слева направо, с загибом вниз */
@media (max-width: 768px) {
	.the-button.the-button-arrow-icon-light::before {
        left: 100px;
        top: -125px;
        transform: scaleX(-1) rotate(80deg);
        transform-origin: center;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 180'%3E%3Cpath fill='%23ffffff' d='M54.1 109c-.8 0-1.6-.4-2-1.1-.8-1.1-.5-2.7.6-3.5 1.3-.9 6.8-4 11.6-6.6-15.9-1.3-29.2-8.3-38.5-20.2C8.9 56 8.5 24.1 13.2 3.4c.3-1.3 1.7-2.2 3-1.9 1.3.3 2.2 1.7 1.9 3-4.5 19.6-4.2 49.8 11.6 70 9 11.5 21.5 17.7 37.2 18.4l-1.8-2.3c-1.4-1.7-2.7-3.4-4.1-5.1-.7-.9-1.5-1.9-2.3-2.9-.9-1.1-.7-2.6.4-3.5 1.1-.9 2.6-.7 3.5.4 0 0 0 .1.1.1l6.4 7.9c.5.5.9 1.1 1.4 1.7 1.5 1.8 3.1 3.6 4.4 5.6 0 .1.1.1.1.2.1.3.2.5.3.8v.6c0 .2-.1.4-.2.6-.1.1-.1.3-.2.4-.1.2-.3.4-.5.6-.1.1-.3.2-.5.3-.1 0-.1.1-.2.1-1.2.6-16 8.6-18.1 10-.5.5-1 .6-1.5.6z'/%3E%3C/svg%3E");
    }
}

.site-contact-link {
    color: #2e2e2e;
    text-decoration: none;
    transition: color 0.2s ease, opacity 0.2s ease;
    font-size: 25px;
}

.site-contact-link:hover {
    color: #5576D1;
}

.margin-10-0-15-0 {
    margin: 10px 0px 15px 0px;
}

.margin-top-10 {
    margin-top: 10px;
}

.stepmat-color {
    color: #5576d1;
}

.grey-color {
    color: #2f2f2f;
}

.white-color {
    color: #fff;
}

.svg-icon {
    width: 24px;
    height: 24px;
    fill: #fff;
    margin-right: 7px;
    margin-left: -7px;
}

.words-column {
    display: inline-block;
    width: min-content;
}
/*/////////////////////////////////*/
@media (max-width:991px) {
	.calc-color-preview img {
		height: 200px;
	}
}

.calc-summary {
	text-align: left;
	font-size: 15px;
	line-height: 1.55;
}

.calc-summary .h {
	font-weight: 800;
	font-size: 18px;
	margin-bottom: 10px;
}

.calc-summary .line {
	margin: 6px 0;
}

.calc-note {
	font-size: 13px;
	opacity: .9;
}

.calc-hidden {
	display: none !important;
}