@font-face { 
	font-family: 'Montserrat'; 
	src: url(fonts/Montserrat-Regular.woff2) format("woff2");	
}
@font-face { 
	font-family: 'MontserratMedium'; 
	src: url(fonts/Montserrat-Medium.woff2) format("woff2");	
}
@font-face { 
	font-family: 'MontserratBold'; 
	src: url(fonts/Montserrat-Bold.woff2) format("woff2");	
}
@font-face { 
	font-family: 'MontserratSemi'; 
	src: url(fonts/Montserrat-SemiBold.woff2) format("woff2");	
}

html { height: 100%; width: 100%; }
body { width: 100%; height: 100%; padding: 0; margin: 0; font: 85% Montserrat, Arial, sans-serif; color: #111; }
body.disabled { overflow: hidden }

span, div { box-sizing: border-box }	
	
a { color: #4f2683; outline: none; }	
a:hover { color: #db241c; }
	
img, form, p, ul, ol, li, table, tr, td, div { padding: 0; margin: 0; border: 0; }
	
p { padding-bottom: 1.5em; }
	
ul { padding: 0 0 1.5em 0; clear: left }	
ul > li { list-style: none; list-style-type: none; padding: 0 0 .5em 30px; position: relative }
ul > li:before { content: ''; width: 12px; height: 1px; position: absolute; top: .7em; left: 0; background: #000; }
ul ul > li:before { content: ''; width: 4px; height: 4px; position: absolute; top: 1em; left: 0; background: #a1a1a1; border-radius: 50% }
ul ol > li { list-style: auto; }	

ol { padding: 0 0 1.5em 20px; clear: left  }	
ol > li { padding: 0 0 .5em 10px; }	

ol ul, ul ul, ul ol, ol ol { padding: 1em 0 0 0; } 
	
table { font-size: 100%; }
	
h1 { font-size: 220%; font-weight: normal; margin: 0; padding: 0 0 1em 0; color: #000; line-height: 1.25; }	
h2 { font-weight: normal; margin: 0; padding: 0 0 .7em 0; color: #000; line-height: 1em; font-size: 46px; font-family: 'MontserratMedium'; }	
h3 { font-size: 180%; font-weight: normal; margin: 0; padding: .5em 0 .7em 0; color: #000; line-height: normal; }	
h4 { font-size: 160%; font-weight: normal; margin: 0; padding: .5em 0 .7em 0; color: #000; line-height: normal; }	
h5 { font-size: 140%; font-weight: normal; margin: 0; padding: .5em 0 .7em 0; color: #000; line-height: normal; }	
h6 { font-size: 130%; font-weight: bold; margin: 0; padding: .5em 0 .5em 0; color: #000; line-height: normal; }

h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child { padding-top: 0; }

h2 span { color: #370066 }
	
input, select, textarea { font-family: inherit; padding: 0 0 .1em 4px; font-size: 100%; outline: none; box-sizing: border-box; }

button { -webkit-appearance: none;}
	
a img { border: none; }
	
.img-lft { float: left; margin: 0 20px 20px 0; }	
.img-rgh { float: right; margin: 0 0 20px 20px; }
	
cite { font-style: italic; }
	
.table { border-collapse: collapse; margin: .5em 0 2em 0 }	
.table th { color: #111; padding: .8em 30px .8em 30px; text-align: left; background: #e9e6e3; font-size: 100%; font-weight: normal; border: 1px solid #dadada; }	
.table td { padding: .8em 30px; vertical-align: top; border: 1px solid #dadada }	
.table p { padding: 0 }
	
blockquote { margin: 0 0 2em 0; padding: 0 0 0 30px; font-size: 22px; position: relative; color: #4f2d7f; }
blockquote:before { content: ''; width: 22px; height: 16px; background: url(img/blockq.png) no-repeat 0 0; position: absolute; top: 0; left: 0 }
	
.clear { clear: both }	

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

/*=========================*/
.container { min-height: 100%; max-width: 1440px; margin: 0 auto }
.container div, .container a, .container span { transition: all .3s ease 0s; }	

.padding { padding-left: 40px; padding-right: 40px }

.head { padding-top: 25px; padding-bottom: 25px; display: flex; align-items: center; border-bottom: 1px solid #E0EAEA70; position: relative; margin-bottom: 91px }
.logo { margin-right: 32px; }

.top-menu { display: flex; font-family: 'MontserratMedium';  }
.top-menu_item { font-size: 16px; padding-right: 32px }
.top-menu_item a { color: #040404; text-decoration: none; opacity: .7; cursor: pointer }
.top-menu_item a:hover { color: #111; }

.button { display: inline-flex; height: 45px; cursor: pointer; align-items: center; padding: 0 32px; border-radius: 70px; font-family: 'MontserratSemi'; font-size: 16px;  } 
.button.white { border: 1px solid #3131312E; color: #111  }
.button.blue { border: 1px solid #370066; color: #fff; background: #370066;  }
.button svg { margin-left: 10px }

.head .button { position: absolute; top: 13px; right: 40px;  }

.mainblock { display: flex; justify-content: space-between }
.mainblock h1 { font-size: 65px; font-family: 'MontserratMedium'; margin: 0; padding: 0 0 36px 0; line-height: .9em; color: #999999; }
.mainblock h1 span { display: block; color: #370066; }

.mainblock-footer { font-size: 20px; font-family: 'MontserratMedium'; padding-bottom: 35px }
.mainblock-footer span { color: #5C5D5F; display: block }

.mainblock-footer_list { font-size: 33px; color: #370066; font-family: 'Montserrat'; }
.mainblock-footer_list span { color: #370066; text-decoration: none; border-bottom: 1px solid transparent; display: inline }


.mainblock-buttons { display: flex; align-items: center; }
.mainblock-buttons .button { margin-right: 26px }
.mainblock-buttons span { font-size: 16px }
.mainblock-buttons span a { color: #111; border-bottom: 1px solid #111; text-decoration: none; font-family: 'MontserratSemi'; cursor: pointer }

.mainblock-right { width: 40%; flex: none }
.mainblock-squares { display: flex; flex-wrap: wrap; justify-content: space-between; border-radius: 10px }
.mainblock-squares > div { width: 48%; height: 224px; margin-bottom: 22px; border-radius: 10px; padding: 30px 0 0 20px; font-size: 16px; font-family: 'MontserratMedium' }
.mainblock-squares > div span { font-size: 58px; font-family: 'MontserratSemi'; display: block; padding-bottom: 10px }
.mainblock-squares .bg1 { background: #F5F6FB; color: #5C5D5F; }
.mainblock-squares .bg1 span { color: #370066; }
.mainblock-squares .bg2 { background: #1F1E2E; color: #B9BABD; }
.mainblock-squares .bg2 span { color: #fff; }
.mainblock-squares .bg3 { background: url(img/mb1.png) no-repeat 50% 50%; background-size: cover; color: #5C5D5F; }
.mainblock-squares .bg3 span { color: #370066; }
.mainblock-squares .bg4 { background: url(img/mb2.png) no-repeat 50% 50%; background-size: cover; color: #fff }
.mainblock-squares .bg4 span { color: #fff }

.logos-slider { padding-top: 10px; position: relative; margin-bottom: 90px; min-height: 72px; overflow: hidden }
.logos-slider:before { content: ''; position: absolute; width: 500px; height: 100%; top: 0; left: 0; background: linear-gradient(90deg, #fff -6.53%, rgba(255, 255, 255, 0) 100%); z-index: 100 }
.logos-slider:after { content: ''; position: absolute; width: 500px; height: 100%; top: 0; right: 0; background: linear-gradient(-90deg, #fff -6.53%, rgba(255, 255, 255, 0) 100%); z-index: 100 }
.logos-slider img { max-height: 45px; height: auto; max-width: 100%; vertical-align: middle; display: inline !important; width: auto !important }
.logos-slider .logos-brend img { height: auto; }
.logos-slider .logos-brend { height: 65px; display: flex; align-items: center }
.logos-slider .owl-carousel .owl-item { text-align: center }
.logos-slider .owl-carousel .owl-item > div { display: flex; align-items: center; justify-content: center; height: 45px; padding-left: 10px }

.preferences-block_top { display: flex; justify-content: space-between; padding-bottom: 85px }
.preferences-block_title { font-size: 35px; color: #370066; padding-right: 50px }
.preferences-block_text { width: 40%; flex: none; color: #666666; font-size: 16px }

.facts-block { display: flex; justify-content: space-between; background: url(img/add.png) no-repeat 50% 100%; border-radius: 10px; position: relative; padding: 0 30px; margin: 0 40px; margin-bottom: 37px }
.facts-block:before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 198px; background: url(img/mask.png) no-repeat 50% 100% }
.facts-item { width: 20%; height: 318px; display: flex; align-items: flex-end; justify-content: center; position: relative; z-index: 1; padding-bottom: 34px; text-align: center; font-size: 16px; flex: none }
.facts-item span { display: block; font-size: 28px; font-family: 'MontserratBold'; padding-bottom: 5px }

.why-block { background: #F5F6FB; padding: 70px 40px 32px 40px }
.why-item { display: flex; padding: 23px; background: #fff; border-radius: 10px; margin-bottom: 15px; min-height: 117px }
.why-item.dark { background: #1F1E2E }
.why-item.blue { background: #370066 url(img/fade.png) no-repeat 100% 50% }
.why-title { width: 50%; flex: none; font-size: 28px; color: #370066; }
.why-text { font-size: 18px; }
.dark .why-title { color: #fff }
.dark .why-text { color: #B9BABD }
.blue .why-title { color: #fff; font-size: 16px; text-transform: uppercase; line-height: 1.4em; letter-spacing: .1em }
.blue .why-text { display: flex; align-items: center  }
.why-item .link-button { background: #fff; height: 46px; font-size: 16px; font-family: 'MontserratSemi'; display: inline-flex; align-items: center; padding: 0 25px; text-decoration: none; color: #111; border-radius: 70px;  }
.why-item .link-button img { margin-left: 10px }

.option-block { display: flex; justify-content: space-between; padding-top: 120px; padding-bottom: 30px }
.option-block.dark { background: #1F1E2E; }
.option-block.last { background: #F5F6FB; }
.option-right { flex: none; width: 60%; text-align: right }
.option-right img { vertical-align: middle; max-width: 100% }
.option-right.wm { text-align: center }
.option-right.wm img { position: relative; top: 30px; left: 30px }
.option-left { font-size: 16px; color: #8C788C; font-family: 'MontserratMedium'; width: 38%; position: relative; padding: 0 40px 150px 0;  }
.dark .option-left { color: #fff }
.option-left h2 { font-size: 46px; font-family: 'MontserratMedium'; line-height: 1.1em; margin-top: -.2em }
.dark .option-left h2 { color: #fff }
.option-left p { line-height: 1.3em; padding-right: 40px }

.option-number { position: absolute; bottom: 0; left: 0; font-size: 73px; color: #DDDDDD; font-family: 'Montserrat'; line-height: 1em }
.dark .option-number { color: #D6D9E259; }

.projects-block { padding-top: 72px; padding-bottom: 20px; display: flex; justify-content: space-between; align-items: center }
.projects-item { background: #ddd; width: 500px; height: 500px; border-radius: 12px; display: flex; align-items: flex-end; padding: 20px; color: #fff; background-repeat: no-repeat; background-position: 50% 50%; background-size: cover; position: relative; overflow: hidden }
.projects-item:before { content: ''; background: linear-gradient(180deg, rgba(0, 0, 0, 0.021) 0%, rgba(0, 0, 0, 0.42) 78.6%); position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.projects-title { font-size: 24px; padding-bottom: 10px; position: relative; z-index; 1 }
.projects-text { font-size: 16px; position: relative; z-index: 1 }
.projects-link { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2 }
.projects-item.last-link { color: #000; align-items: center; justify-content: center }
.owl-carousel .owl-item .projects-item.last-link img { display: inline; width: auto; vertical-align: middle; margin-left: 5px }
.projects-item.last-link:before { display: none }
.projects-item.last-link .projects-title { display: inline-flex; align-items: center }

.projects-slider { padding: 0 0 20px 40px; height: 520px }

#projects-nav button { border: 1px solid #E0E0E0; width: 58px; height: 58px; border-radius: 50%; margin-left: 17px; background: #fff url(img/prev.svg) no-repeat 50% 50%; cursor: pointer }
#projects-nav button span { display: none }
#projects-nav button.owl-next { transform: rotate(180deg) }

.logos-slider-title { padding-top: 80px; padding-bottom: 50px }

.tasks-block { background: #F5F6FB; padding-top: 80px; padding-bottom: 77px }
.tasks-block p { font-size: 18px }

.tasks-block-info { display: flex; justify-content: space-between; margin-top: 40px; }
.tasks-block-left { border-radius: 10px; background: #370066; color: #fff; height: 307px; width: 380px; flex: none; padding: 25px; font-size: 28px; position: relative; margin-right: 20px }
.tasks-block-soc { position: absolute; bottom: 25px; left: 25px; width: 90%; display: flex }
.tasks-block-soc a { width: 40px; height: 40px; background-position: 0 0; background-repeat: no-repeat; margin-right: 10px }
.tasks-block-soc a.tg { background-image: url(img/tg.png) }
.tasks-block-soc a.max { background-image: url(img/max.png) }

.tasks-block-right { display: flex; flex-wrap: wrap; justify-content: space-between; align-content: space-between; }
.tasks-block_item { width: 32%; background: #fff; border: 1px solid #ECECEE; border-radius: 10px; display: flex; padding: 0 25px; height: 90px; font-size: 16px; align-items: center; cursor: pointer }
.tasks-block_item img { margin-right: 19px }

.ready-block { margin: 80px 40px; padding: 40px 77px 40px 40px; background: url(img/ready.png) no-repeat 50% 50%; background-size: cover; height: 235px; position: relative; border-radius: 10px; overflow: hidden; display: flex; align-items: center; justify-content: space-between }
.ready-block:before { content: ''; width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: rgba(0,0,0,.65); } 
.ready-block * { position: relative; z-index: 1 }

.ready-title { font-size: 50px; color: #fff; font-family: 'MontserratMedium'; }
.ready-block .link-button { background: #fff; height: 56px; font-size: 16px; font-family: 'MontserratSemi'; display: inline-flex; align-items: center; padding: 0 25px; text-decoration: none; color: #040404; border-radius: 70px; cursor: pointer }
.ready-block .link-button img { margin-left: 10px }

.footer { padding-bottom: 60px; padding-top: 40px }
.footer-logo { padding-bottom: 35px }
.footer-info { display: flex; justify-content: space-between; align-items: center; }
.footer-info a { text-decoration: none; color: #040404; font-size: 20px }
.footer-info p { padding-bottom: 15px }

.footer-info .tg { background: #EBEDF5 url(img/tg-footer.png) no-repeat 85% 50%; width: 287px; height: 59px; display: flex; border-radius: 16px; align-items: center; padding: 0 0 0 24px; border: none; margin-bottom: 20px }
.footer-info .max { background: #EBEDF5 url(img/max-footer.svg) no-repeat 87% 50%; background-size: 30px 30px; width: 287px; height: 59px; display: flex; border-radius: 16px; align-items: center; padding: 0 0 0 24px; border: none; }
.footer-copy { display: flex; margin-top: 40px; font-size: 16px; color: #6F7F92 }
.footer-copy a { text-decoration: none; color: #6F7F92; margin-left: 25px }

.socnets-wrapper { display: flex; align-items: center }
.socnets-title { font-size: 18px;  }
.socnets { display: flex; align-items: center; padding-left: 10px }
.socnets a { width: 40px; height: 40px }
.socnets a.tg-link { background: url(img/tg-footer.png) no-repeat 50% 50% }
.socnets a.max-link { background: url(img/max-footer.svg) no-repeat 50% 50%; background-size: 30px 30px; }
.socnets a.wa-link { background: url(img/wa.png) no-repeat 50% 50%; background-size: 20px 20px; }

.overall { position: fixed; width: 100%; height: 100%; left: 0; top: 0; background: rgba(0,0,0,.6); z-index: 101; transition: all .4s ease 0s; opacity: 1; visibility: visible; }
.overall.disabled { opacity: 0; visibility: hidden }
.form-wrapper { height: 100%; width: 100%; max-height: 100%; display: flex; align-items: center; justify-content: center; }
.form-block { background: #fff; max-width: 473px; padding: 30px 35px; position: relative; max-height: 100%; overflow: auto }
.form-close { position: absolute; top: 23px; right: 15px; background: url(img/close.png) no-repeat 0 0; height: 21px; width: 39px; cursor: pointer }

.form-logo { padding-bottom: 25px }
.form-section { padding-bottom: 15px }
.form-section_title { font-family: 'MontserratSemi'; font-size: 24px; padding-bottom: 13px }
.form-line { padding-bottom: 11px; position: relative }
.form-line input[type="text"] { width: 100%; height: 57px; border: 1px solid #EBEDF5; background: #EBEDF5; padding: 0 24px; font-size: 16px; font-family: 'MontserratSemi'; border-radius: 16px }
.form-line select { border: 1px solid #EBEDF5; font-size: 16px; font-family: 'MontserratSemi'; border-radius: 16px; width: 100%;  height: 57px; padding: 0 24px; appearance: none; -webkit-appearance: none; -moz-appearance: none; background: #EBEDF5 url(img/select.svg) no-repeat 94% 50%; }
.form-line select:has(option[value=""]:checked) { color: #A3A3A3; }
.form-line select option { font-size: 16px; font-family: 'MontserratSemi'; color: #000 }

.form-line_double { display: flex; justify-content: space-between }
.form-line_double .form-line { width: 49% }
.form-button input[type="submit"] { width: 100%; height: 59px; border: 1px solid #370066; color: #fff; padding: 0 24px; font-size: 16px; font-family: 'MontserratSemi'; border-radius: 16px; background: #370066 url(img/BUTTON.svg) no-repeat 94% 50%; text-align: left; cursor: pointer }

.form-checkbox { padding-top: 10px; position: relative }
.form-checkbox { position: relative }
.form-checkbox label.check-label { padding-left: 35px; font-size: 12px; line-height: 1.4em; position: relative; display: block; color: #A3A3A3 }
.form-checkbox input { position: absolute; left: -100000px }
.form-checkbox a { color: #A3A3A3; }
.form-checkbox label.check-label:before { content: ''; height: 14px; width: 14px; background: #370066; position: absolute; top: 4px; left: 11px; border-radius: 2px }
.form-checkbox label.check-label:after { content: ''; height: 14px; width: 14px; background: url(img/check.png) no-repeat 50% 50%; position: absolute; top: 4px; left: 11px; transition: all .3s ease 0s; opacity: 0 }
.form-checkbox input:checked ~ label:after { opacity: 1 }

.form-line input.error, .form-line select.error { border-color: red }
.form-line label.error { position: absolute; color: red; font-size: 11px; bottom: -1px; left: 24px }
.form-checkbox label.error { position: absolute; color: red; font-size: 11px; bottom: -20px; left: 34px }

.form-block ::-moz-placeholder { color: #A3A3A3; }
.form-block ::-webkit-input-placeholder { color: #A3A3A3; }
.form-block :-ms-input-placeholder { color: #A3A3A3; }
.form-block ::-ms-input-placeholder { color: #A3A3A3; }
.form-block ::placeholder { color: #A3A3A3; }

.recaptcha { position: relative }
.recaptcha label.error { position: absolute; color: red; font-size: 11px; bottom: -10px; width: 100%; text-align: center }
.recaptcha { display: flex; justify-content: center; }
#recaptchaProof { position: absolute; left: -100000px }

.form-result { background: #370066; max-width: 473px; padding: 45px 35px; position: relative; color: #fff }
.form-result_logo { padding-bottom: 40px }
.form-result_text { font-size: 22px }























