html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%
}

body {
	margin: 0
}

.grecaptcha-badge {
	visibility: hidden;
}

main {
	display: block
}

h1 {
	font-size: 2em;
	margin: .67em 0
}

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible
}

pre {
	font-family: monospace, monospace;
	font-size: 1em
}

a {
	background-color: transparent
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted
}

b,
strong {
	font-weight: bolder
}

code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em
}

small {
	font-size: 80%
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline
}

sub {
	bottom: -.25em
}

sup {
	top: -.5em
}

img {
	border-style: none
}

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0
}

button,
input {
	overflow: visible
}

button,
select {
	text-transform: none
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText
}

fieldset {
	padding: .35em .75em .625em
}

legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal
}

progress {
	vertical-align: baseline
}

textarea {
	overflow: auto
}

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto
}

[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px
}

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit
}

details {
	display: block
}

summary {
	display: list-item
}

template {
	display: none
}

[hidden] {
	display: none
}

b,
strong {
	font-weight: 500;
}

h4,
.h4,
h5,
.h5,
h6,
.h6 {
	line-height: 135%;
}

body {
	width: 100%;
	background: #fff;
	font-size: 16px;
	overflow-x: hidden;
	margin: 0;
	padding: 0;
	color: #121a2b;
	line-height: 1.42857143;
}

body,
button {
	font-family: 'Fira Sans', sans-serif;
}

img,
video {
	pointer-events: none;
}

.container {
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
}

@media screen and (max-width: 767px) {
	.container {
		padding-right: 24px;
	  padding-left: 24px;
	}
}

a {
	color: #121a2b;
}

h6.no-class {
	color: white;
	margin-top: -16px;
	pointer-events: none;
	display: none;
}

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

.navbar-default .navbar-nav>li>a:hover,
.navbar-default .navbar-nav>li>a:focus {
	color: #ffffff;
}

.btn-group-vertical>.btn-group:after,
.btn-group-vertical>.btn-group:before,
.btn-toolbar:after,
.btn-toolbar:before,
.clearfix:after,
.clearfix:before,
.container-fluid:after,
.container-fluid:before,
.container:after,
.container:before,
.dl-horizontal dd:after,
.dl-horizontal dd:before,
.form-horizontal .form-group:after,
.form-horizontal .form-group:before,
.modal-footer:after,
.modal-footer:before,
.modal-header:after,
.modal-header:before,
.nav:after,
.nav:before,
.navbar-collapse:after,
.navbar-collapse:before,
.navbar-header:after,
.navbar-header:before,
.navbar:after,
.navbar:before,
.pager:after,
.pager:before,
.panel-body:after,
.panel-body:before,
.row:after,
.row:before {
	display: table;
	content: " ";
}

.btn-group-vertical>.btn-group:after,
.btn-toolbar:after,
.clearfix:after,
.container-fluid:after,
.container:after,
.dl-horizontal dd:after,
.form-horizontal .form-group:after,
.modal-footer:after,
.modal-header:after,
.nav:after,
.navbar-collapse:after,
.navbar-header:after,
.navbar:after,
.pager:after,
.panel-body:after,
.row:after {
	clear: both;
}

footer a:hover,
header a:hover {
	text-decoration: underline;
}

.navbar-default .navbar-toggle {
	width: auto;
	border: none;
	position: absolute;
	right: 0px;
	transform: scale(0.75);
}

.navbar-default button.navbar-toggle:active,
.navbar-default button.navbar-toggle:hover,
.navbar-default button.navbar-toggle:focus {
	background-color: #151515;
	background: #151515;
	outline: none;
}

.navbar-default {
	position: relative;
	z-index: 10;
	background: #151515;
	box-shadow: none;
	border: none;
	border-radius: 0;
	margin: 0;
}

.container-fluid>.navbar-collapse,
.container-fluid>.navbar-header,
.container>.navbar-collapse,
.container>.navbar-header {
	margin-right: -24px;
	margin-left: -24px;
}

a:hover, a:focus {
	color: #ffffff;
}

.africa-page a:hover, .africa-page a:focus {
	color: #ffffff;
}

button,
button.btn-default {
	font-size: 16px;
	line-height: 100%;
	font-weight: normal;
	letter-spacing: 0;
	background: #008de2;
	border: none;
	border-radius: 12px;
	color: white;
	cursor: pointer;
	display: inline-block;
	width: 100%;
	padding: 10px;
	text-align: center;
	white-space: nowrap;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
	font-weight: normal;
	box-shadow: none;
	text-shadow: none;
}

.navbar-toggle {
	position: relative;
	float: right;
	padding: 9px 10px;
	margin-top: 8px;
	margin-right: 15px;
	margin-bottom: 8px;
	background-color: transparent;
	background-image: none;
	border: 1px solid transparent;
	border-radius: 4px;
}

.navbar-toggle {
	position: relative;
	float: right;
	margin: 0 12px 0 0;
	padding: 9px 10px;
	border-radius: 12px;
}

.navbar-default .navbar-toggle {
	border-color: #ddd;
}

.navbar-default .navbar-toggle {
	width: auto;
	border: none;
	position: absolute;
	right: 0px;
	transform: scale(0.75);
}

.navbar-default .navbar-toggle:focus,
.navbar-default .navbar-toggle:hover {
	background-color: #ddd;
}

.navbar-toggle.collapsed {
	top: 6px;
}

.navbar-toggle.active {
	top: 6px;
}

.navbar-toggle .icon-bar {
	display: block;
	width: 22px;
	height: 2px;
	border-radius: 1px;
}

.navbar-toggle .icon-bar {
	position: relative;
	transition: all 500ms ease-in-out;
}

.navbar-toggle .icon-bar {
	display: block;
	width: 22px;
	height: 2px;
	border-radius: 1px;
}

.navbar-toggle .icon-bar {
	position: relative;
	transition: all 500ms ease-in-out;
}

.navbar-toggle .icon-bar+.icon-bar {
	margin-top: 4px;
}

.navbar-default .navbar-toggle .icon-bar {
	background-color: #888;
}

.navbar-default .navbar-toggle .icon-bar {
	background: #fff;
	display: block;
	width: 36px;
	height: 2px;
	border-radius: 1px;
}

.navbar-toggle.active .icon-bar:nth-of-type(1) {
	top: 12px;
	transform: rotate(45deg);
}

.navbar-toggle .icon-bar+.icon-bar {
	margin-top: 7px;
}

.navbar-toggle.active .icon-bar:nth-of-type(3) {
	top: -6px;
	transform: rotate(-45deg);
}

.navbar-toggle .icon-bar:nth-of-type(3) {
	top: 2px;
}

.navbar-toggle.active .icon-bar:nth-of-type(2) {
	background-color: transparent;
}

.navbar-toggle .icon-bar:nth-of-type(2) {
	top: 1px;
}

.one-review {
	background: url(web/web-back2.jpg) no-repeat;
	background-size: cover;
}

.main-page .very-dark-back,
.africa-page .very-dark-back {
	padding: 96px 0;
	background: linear-gradient( to bottom, rgba(0, 0, 0, 0.25) 0%, rgb(2 16 37) 100%);
	height: 100%;
}

.topline {
	position: relative;
	padding-top: 16px;
	margin-top: 32px;
	padding-left: 30px;
}

.topline p {
	color: #121a2b;
	font-size: 24px;
	position: relative;
}

.topline p:before {
	position: absolute;
	top: 5px;
	left: -26px;
	content: '';
	height: 18px;
	width: 18px;
	background-image: url(img/checkmark.svg);
	background-size: contain;
	opacity: 0.65;
	background-repeat: no-repeat;
}

.one-review-title h6 {
	font-size: 36px;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.25);
	color: #fff;
	font-weight: 500;
	line-height: 150%;
	margin: 0;
	margin-bottom: 24px;
	max-width: 80%;
}

.one-review-title h5 {
	color: #fff;
	margin-top: 32px;
	font-size: 20px;
	margin: 0;
	font-weight: 300;
	position: relative;
}

.one-review-title h5:after {
	content: '';
	position: absolute;
	bottom: -8px;
	left: 0;
	width: 50%;
	height: 4px;
	background: rgb(147, 92, 248);
	transition: 0.2s;
	background: linear-gradient(45deg, #250d44, #0e5198, #8AA9D6);
	border-radius: 1px;
}

.one-review-title img {
	border-radius: 50%;
	width: 64px;
	height: 64px;
	margin-right: 16px;
}

.one-review-title>div {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

#lottie {
	background-color: #fff;
	width: 100%;
	height: 490px;
	display: block;
	overflow: hidden;
	transform: translate3d(0, 0, 0);
	text-align: center;
	opacity: 1;
}

.logo {
	display: block;
	height: 65px;
	width: 140px;
	background: url(logos/logo-white.svg);
	background-size: 80%;
	background-position: 0 50%;
	background-repeat: no-repeat;
	text-indent: -99999px;
	margin-top: 1px;
}

a {
	background-color: transparent;
}

a {
	color: #337ab7;
	text-decoration: none;
}

.navbar-collapse {
	padding-right: 15px;
	padding-left: 15px;
	overflow-x: visible;
	-webkit-overflow-scrolling: touch;
	border-top: 1px solid transparent;
	-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
}

.collapse {
	display: none;
}

.collapse.in {
	display: block;
}

.navbar-collapse.in {
	overflow-y: auto;
}

.nav {
	padding-left: 0;
	margin-bottom: 0;
	list-style: none;
}

ol,
ul {
	margin-top: 0;
	margin-bottom: 10px;
}

.nav>li {
	position: relative;
	display: block;
}

.navbar-nav {
	margin: 6px -16px;
}

.navbar-default .navbar-nav>li>a {
	color: #777;
}

.navbar-default .navbar-nav>li>a {
	color: #fff;
	text-shadow: none;
}

.navbar-brand,
.navbar-nav>li>a {
	text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
}

.navbar-nav>li>a {
	padding-top: 10px;
	padding-bottom: 10px;
	line-height: 20px;
}

.nav>li>a {
	position: relative;
	display: block;
	padding: 10px 15px;
}

.navbar-default .navbar-nav>li>a {
	color: #777;
}

.navbar-default .navbar-nav>li>a {
	color: #fff;
	text-shadow: none;
}

.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
	border-color: #e7e7e7;
}

.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
	border: none;
}

img {
	border: 0;
}

.navbar-default .navbar-nav>li>a>img {
	max-width: none;
}

.navbar-default .navbar-nav>li>a>img {
	height: 18px;
	width: auto;
}

.navbar-default .navbar-nav>li span {
	display: block;
	margin-top: 2px;
	font-weight: 300;
}

img {
	vertical-align: middle;
}

.navbar-right img {
	height: 24px;
	width: auto;
}

.nav>li>a>img {
	max-width: none;
}

.black-back {
	overflow: hidden;
}

@media (min-width: 768px) {
	.container {
		width: 750px;
	}
	.navbar-collapse.collapse {
		display: block!important;
		height: auto!important;
		padding-bottom: 0;
		overflow: visible!important;
	}
	.navbar-nav>li>a {
		padding-top: 15px;
		padding-bottom: 15px;
	}
	.navbar-nav>li {
		float: left;
	}
	.navbar-right {
		float: right!important;
	}
	.navbar-nav {
		float: left;
	}
	.navbar-header {
		float: left;
	}
	.container-fluid>.navbar-collapse,
	.container-fluid>.navbar-header,
	.container>.navbar-collapse,
	.container>.navbar-header {
		margin-right: 0;
		margin-left: 0;
	}
	.navbar-toggle {
		display: none;
	}
	.navbar-collapse {
		width: auto;
		border-top: 0;
		-webkit-box-shadow: none;
		box-shadow: none;
	}
}

@media screen and (max-width: 1280px) and (min-width: 768px) {
	.logo {
		width: 100px;
		background-size: 70%;
	}
	footer h6.footer-header {
		font-size: 30px;
	}
	footer .footer-text {
		font-size: 14px;
	}
	.navbar-nav>li>a {
		font-size: 13.5px;
		padding: 16px 5px;
	}
}

@media screen and (max-width: 1280px) and (min-width: 1024px) {
	.logo {
		width: 90px;
		background-size: 85%;
	}
	.navbar-nav>li>a {
		font-size: 15px;
		padding: 16px 10px;
	}
}

@media (min-width: 992px) {
	.container {
		width: 970px;
	}
}

@media (min-width: 1200px) {
	.container {
		width: 1170px;
	}
}


/* .header nav .navbar-header {
	height: 66px;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-align: center;
	align-items: center;
}
.header nav .navbar-header img {
	width: 112px;
}
.header nav ul {
	list-style-type: none;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.header nav ul li {
	margin-right: 30px;
}
.header nav ul li a {
	font-size: 16px;
  line-height: 20px;
  color: #ffffff;
	font-weight: 400;
	text-decoration: none;
} */

.white-back {
	background: #fff;
}

.blue-back {
	background: #f1f5f7;
}

.blue-back,
.white-back {
	height: 100%;
	padding: 72px 0;
}

.hero {
	min-height: calc(100vh - 64px);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.hero .devices {
	position: absolute;
	top: 64px;
	left: 0;
	width: 100%;
	height: calc(100% - 64px);
	background: url(mobile/mobile-dev@2x.png) no-repeat;
	background-size: 34%;
	background-position: 90% 50%;
}

.hero .white-back {
	background: transparent;
}

.hero .container {
	position: relative;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	flex-direction: row;
	-ms-flex-align: center;
	align-items: center;
	justify-content: space-between;
	height: 100%;
}

.hero .container>div:first-child {
	position: relative;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	flex-direction: column;
	-ms-flex-align: start;
	align-items: flex-start;
	height: 100%;
}

.hero .container>div>div {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: 12px;
}

.hero .container>div>div>div {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	margin-top: 24px;
}

.hero .container>div>div>div img {
	width: 112px;
}

.hero .container>div>div>div span {
	font-size: 16px;
	margin-left: 20px;
}

.hero h1 {
	font-size: 72px;
	max-width: 65%;
	margin: 0 0 16px -3px;
	font-weight: 700;
	line-height: 110%;
	color: #252525;
}

.hero h3 {
	font-size: 22px;
	line-height: 140%;
	margin: 0 0 0;
	font-weight: 400;
	border-radius: 16px;
	margin-top: 16px;
}

.hero h3:after {
	left: -16px;
	bottom: inherit;
	width: 2px;
	height: 100%;
	top: 0;
}

.hero h5 {
	font-size: 18px;
	margin: 0 0 16px;
	position: relative;
	padding-left: 32px;
	font-weight: 400;
}

.hero p {
	max-width: 45%;
	line-height: 140%;
	font-size: 22px;
	margin: 24px 0 0;
}

.hero h5:before {
	background: url(media/tick.c0cbd084.svg);
	background-size: contain;
	background-repeat: no-repeat;
	height: 16px;
	width: 16px;
	position: absolute;
	top: 2px;
	left: 0;
	content: "";
}

.hero a.button {
	margin-top: 32px;
	padding: 0;
	border-radius: 32px;
	cursor: pointer;
	background: rgb(147, 92, 248);
	transition: 0.2s;
	background: #303141;
	border: 4px solid #303141;
	display: block;
	padding: 11px 26px;
	text-decoration: none;
}

.hero a.button:hover {
	border: 4px solid #5f5f5f;
}

.hero a.button:hover a span {
	color: #fff;
}

.hero a.button:active,
.hero a.button:focus,
.hero a.button:visited {
	text-decoration: none;
	color: #fff;
}

.hero a.button span {
	font-size: 18px;
	color: #fff;
	font-weight: 300;
}

.hero .techs {
	height: 96px;
	margin-top: 64px;
}

.hero .phones {
	position: absolute;
	right: 0;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-ms-flex-align: start;
	align-items: flex-start;
	-ms-flex-direction: row;
	flex-direction: row;
	top: 25vh;
}

@media (max-width: 1679px) {
	.hero h1 {
		font-size: 84px;
		max-width: 70%;
	}
	.hero p {
		font-size: 21px;
	}
	.hero .gradient-div {
		height: 55%;
	}
}

.commercial {
	background: linear-gradient(45deg, #303162, #2f2f5b, #3a3a3a);
	padding: 24px 16px;
}

.commercial .container {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.commercial img {
	width: 64px;
	height: 64px;
	margin-right: 24px;
}

.commercial h5 {
	font-size: 24px;
	margin: 0;
	font-weight: 400;
	color: #ffffff;
}

.content h3,
h2.pre-title {
	font-size: 42px;
	font-weight: 500;
	margin: -16px 0 48px;
}

p.description-pre-title {
	font-size: 22px;
	margin-bottom: 24px;
	margin-left: 1px;
}

.content .clients {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.clients .part {
	height: 74px;
	width: 18%;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: 50%;
	margin: 0 auto 48px;
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	opacity: 0.75;
	transition: 0.5s;
}

.clients .part:hover {
	-webkit-filter: grayscale(0%);
	filter: grayscale(0%);
	opacity: 1;
}

.content .clients:last-child .part {
	margin-bottom: 0;
}

.technologies {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.technologies>div {
	width: calc(100% / 4 - 10px);
	display: flex;
	margin-bottom: 12px;
	padding: 24px;
	background: #ffffff;
	border-radius: 6px;
	flex-direction: column;
	justify-content: space-between;
	height: 144px;
	overflow: hidden;
}

.technologies>div>div {
	width: 130%;
}

.technologies img {
	height: 20px;
	margin-right: 12px;
	margin-top: 12px;
}

.technologies p {
	margin: 0;
	font-weight: 400;
	font-size: 20px;
}

.technologies .part {
	width: 20%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding: 32px 16px;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 1px 0 0 rgba(0, 120, 255, .0275), 0 6px 16px 0 rgba(0, 73, 164, .05);
}

.technologies .part h5 {
	margin-bottom: 0;
	font-size: 20px;
	color: #949494;
	font-weight: 400;
	text-align: center;
}

.reviews {
	display: flex;
	margin-top: 16px;
	border-top: 2px dashed #ececec;
	flex-wrap: wrap;
}

#clients .white-back {
	background: -moz-linear-gradient(top, #ffffff 96%, #f1f5f7 100%);
	/* FF3.6-15 */
	background: -webkit-linear-gradient(top, #ffffff 96%, #f1f5f7 100%);
	/* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #ffffff 96%, #f1f5f7 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

.review {
	padding-top: 64px;
	display: flex;
	flex-direction: row-reverse;
	width: 50%;
}

.review>div {
	text-align: center;
}

.review>div p {
	font-size: 16px;
	font-weight: 100;
	text-align: left;
	margin-bottom: 32px;
	line-height: 140%;
	margin-top: 0;
}

.review>div:last-child {
	padding-right: 32px;
}

.review img {
	width: 54px;
	border-radius: 50%;
	margin: 0 0 16px;
}

.review span:nth-child(2) {
	font-weight: 700;
}

.review>div span {
	font-size: 12px;
	width: 100%;
	min-width: 120px;
	display: block;
	text-align: center;
}

.main-page h3,
.africa-page h3,
h2.pre-title {
	position: relative;
	display: inline-block;
}

.main-page h3:after,
.africe-page h3:after,
h2.pre-title:after {
	content: '';
	position: absolute;
	bottom: -8px;
	left: 1px;
	width: 50%;
	height: 2px;
	transition: 0.2s;
	background: linear-gradient(45deg, #250d44, #0e5198, #8AA9D6);
	border-radius: 1px;
}

#team {
	background: url(img/team.jpg);
	background-size: cover;
	background-position: 50%;
	margin-bottom: -2px;
	position: relative;
}

#team:before {
	content: '';
	background: -moz-linear-gradient( top, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.75) 100%);
	background: -webkit-linear-gradient( top, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.75) 100%);
	background: linear-gradient( to bottom, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.75) 100%);
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

#team:after {
	content: '';
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 30%, rgba(45, 45, 45, 1) 100%);
}

#team .container {
	height: 430px;
}

#team img {
	width: 156px;
	margin-bottom: 32px;
}

.contacts span {
	font-size: 16px;
	color: #afafaf;
	font-weight: 400;
	margin: 0;
}

.contacts a,
.contacts a:hover,
.contacts a:active,
.contacts a:focus {
	text-decoration: none;
	color: black;
}

.contacts a span {
	display: block;
	font-size: 14px;
	margin-top: 4px;
}

footer a span {
	display: block;
	font-size: 11px;
}

.contacts p {
	font-size: 32px;
	font-weight: 100;
	margin: 0 0 32px;
}

.contacts p.address {
	margin: 0;
}

.contacts-map {
	position: relative;
	height: 480px;
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
}

.contacts-map::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.15);
	width: 100%;
	height: 100%;
}

.contacts-map:hover:after {
	height: 0;
	opacity: 0;
}

#contacts .white-back {
	background: url(https://tapston.com/img/about/world-en.svg);
	background-repeat: no-repeat;
	background-size: 50%;
	background-position: 95% 50%;
}


/**
Africa
**/

.africa {
	font-family: 'Poppins', sans-serif;
}

.africa .one-review {
	background: url(img/africa/back-1.jpg) no-repeat #272727;
	background-position: 50%;
}

.africa .one-review .container {
	padding: 156px 0;
}

.africa strong {
	font-weight: 700;
}

.africa h1 {
	font-size: 96px;
	color: white;
	text-align: center;
	line-height: 1.333;
	margin: 0;
	background: linear-gradient(90deg, #FFFFFF, #C9EBF6 33%, #AADFF1 66%, #5E8EDE);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.africa h2 {
	font-size: 32px;
	color: white;
	text-align: center;
	margin-top: 32px;
	font-weight: 400;
}

.africa h3 {
	font-weight: 700;
	margin: -6px 0 32px;
	line-height: 120%;
}

.africa h3::after {
	background: #B8E5F4;
	width: 25%;
	height: 4px;
}

.africa p {
	font-weight: 300;
	font-size: 18px;
	line-height: 1.5;
}

.africa h6 {
	font-size: 20px;
	font-weight: 700;
	margin: 32px 0 6px;
}

.africa .why {
	display: flex;
}

.africa .pdf {
	display: flex;
	justify-content: flex-start;
}

.africa .pdf img {
	width: 24px;
	height: 24px;
	margin-right: 12px;
}

.africa .pdf p {
	font-weight: 700;
	text-decoration: underline;
}

.africa .why img {
	width: 128px;
	height: 220px;
	display: block;
	opacity: 0.75;
	margin-right: 32px;
}

.africa .blue-back,
.africa .white-back {
	padding: 96px 0;
}

.africa .content.border {
	border-top: 1px solid #e4e4e4;
}

.africa .content.border>div>div>div>div {
	display: flex;
}

.africa .content.border .three {
	width: 33%;
	display: flex;
	align-items: center;
	flex-direction: row;
}

.africa .content.border .three span {
	font-size: 80px;
	font-weight: 700;
	width: 64px;
	color: #dcdcdc;
	text-align: center;
	display: block;
	margin-right: 16px;
}

.africa .content.border .three p {
	max-width: 70%;
}

.africa .directions>div>div>div>div:before {
	width: 64px;
	text-align: center;
}

.africa .left {
	width: 50%;
	background: url(img/africa/back-2.jpg) no-repeat;
	background-position: 50%;
}

.africa .right {
	width: 50%;
	padding: 96px;
}

.africa .blue-back.two {
	display: flex;
	padding: 0;
}

.africa .directions>div>div>div {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.africa .directions>div>div>div>div {
	width: 50%;
	display: flex;
}

.africa .directions>div>div>div>div>div {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
	padding: 0 32px;
}

.africa .directions>div>div>div>div>div p {
	font-size: 17px;
}

.africa .directions>div>div>div>div>div img {
	margin-top: 32px;
}

.africa .directions>div>div>div>div>div p,
.africa .directions>div>div>div>div>div h6 {
	text-align: center;
}

.africa .black-back {
	max-width: 100vw;
	background-color: #1C1C1C;
	padding: 96px 0;
}

.africa .black-back img {
	width: 246px;
	margin-right: 48px;
	z-index: 2;
}

.africa .black-back>div>div {
	display: flex;
	align-items: center;
	padding: 0 128px;
}

.africa .black-back p {
	color: #FFFFFF;
	font-size: 24px;
	z-index: 2;
}

.africa .black-back p:nth-child(1) {
	border-bottom: 4px #B8E5F4 solid;
}

.africa .black-back {
	position: relative;
}

.africa .black-back:before {
	content: "Client's Review";
	width: 200%;
	position: absolute;
	bottom: -54px;
	left: -32px;
	font-size: 13.4vw;
	font-weight: 700;
	color: #FFFFFF;
	opacity: 0.05;
	line-height: 1;
	z-index: 1;
}

.africa .white-back.about>div>div {
	display: flex;
}

.africa .white-back.about>div>div>div:nth-child(1) {
	width: 60%;
	padding-right: 48px;
	border-right: 1px solid #e4e4e4;
}

.africa .white-back.about>div>div>div:nth-child(2) {
	width: 40%;
	padding-left: 48px;
}

.africa .white-back.about img {
	width: 128px;
	margin-bottom: 12px;
}

.africa .white-back.about h5 {
	font-size: 16px;
	color: #bdbdbd;
	margin-top: 24px;
	margin-bottom: 0;
}

.africa .white-back.about h6 {
	margin: 24px 0 0;
}

.africa .white-back.about>div>div>div:nth-child(2) p {
	margin-top: 6px;
}

.africa .blue-back.heads img {
	border-radius: 50%;
	background: #FFFFFF;
	width: 96px;
	margin-right: 20px;
	position: relative;
	z-index: 2;
}

.africa .blue-back.heads h5,
.africa .blue-back.heads h4 {
	font-size: 24px;
	margin: 0;
	margin-bottom: 48px;
	position: relative;
	font-weight: 600;
}

.africa .blue-back.heads h4:after {
	content: '';
	position: absolute;
	bottom: -8px;
	left: 0;
	background-color: #B8E5F4;
	width: 25%;
	height: 4px;
}

.africa .blue-back.heads h5 {
	font-size: 22px;
	margin-bottom: 0;
	font-weight: 600;
}

.africa .blue-back.heads h6 {
	font-size: 14px;
	margin: 0 0 6px;
	font-weight: 400;
}

.africa .blue-back.heads a {
	color: #888888;
	font-size: 14px;
	text-decoration: none;
	transition: 0.2s;
}

.africa .blue-back.heads a:hover {
	text-decoration: underline;
}

.africa .blue-back.heads>div>div {
	width: 33%;
	padding: 0;
	align-items: flex-start;
	flex-direction: column;
}

.africa .blue-back.heads>div>div>div {
	display: flex;
	flex-direction: row;
	align-items: center;
}

.africa .blue-back.heads .container {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}


/**
Africa
**/

.estimation {
	padding: 96px 0;
}

.estimation form {
	display: flex;
	flex-direction: column;
}

.estimation form>div:nth-child(2) {
	display: flex;
}

.estimation form>div:nth-child(2)>div {
	width: 50%;
}

.estimation form>div>div>div {
	display: flex;
}

input.estimate-input,
select.estimate-select {
	padding: 0 10px;
	border-radius: 8px;
	width: 100%;
	border: 1px solid #e4e4e4;
	margin: 0 0 16px 0;
	height: 40px;
}

.estimation form>div:nth-child(2)>div:nth-child(1)>div {
	margin-right: 16px;
}

.main-estimate-form .btn {
	padding: 12px;
	border-radius: 8px;
}

textarea.estimate-textarea {
	padding: 10px;
	border-radius: 8px;
	width: calc(100% - 20px);
	border: 1px solid #e4e4e4;
	min-height: 124px;
	max-height: 400px;
	max-width: 100%;
}

.estimation h5 {
	font-weight: 700;
	display: inline-block;
	margin: -12px 0 32px;
	font-size: 46px;
	position: relative;
}

.estimation h5:after {
	content: '';
	position: absolute;
	bottom: -8px;
	left: 0;
	background: #B8E5F4;
	width: 25%;
	height: 4px;
}

.estimation button {
	margin-top: 16px;
	border-radius: 6px;
	height: 48px;
	color: #ffffff;
	font-size: 16px;
}

footer {
	background: #2d2d2d;
}

footer .container {
	display: flex;
	flex-direction: row;
}

footer a {
  color: #fff;
  display: flex;
  align-items: center;
}
footer .footer-block {
	padding: 32px 0;
	width: 33.33%;
}

footer a img {
  width: 12px;
  height: 12px;
  margin-right: 6px;
}

footer h6.footer-header {
	color: #FFFFFF;
	font-weight: 400;
	font-size: 24px;
	margin-bottom: 24px;
	margin-left: 0;
	margin-top: 0;
}

footer .footer-phone-number,
footer .footer-phone-number-en {
	position: relative;
	padding-left: 42px;
}

footer .afterfooter {
	background: #292929;
}

footer .afterfooter .footer-header {
	font-size: 16px;
	color: #FFFFFF;
	font-weight: 500;
	margin-bottom: 10px;
	margin-left: 0;
}

footer .subfooter {
	padding: 24px 0;
	background-color: #232323;
}

footer .subfooter .container {
	display: block;
}

footer .subfooter .container .clutch {
	float: right;
	opacity: 0.85;
	transition: 0.2s;
	cursor: pointer;
}

footer .subfooter .container .clutch:hover {
	opacity: 1;
}

footer .subfooter h6 {
	margin: 0;
	color: #FFFFFF;
	font-weight: normal;
	padding: 0;
	font-size: 14px;
	max-width: 100%;
	float: left;
	line-height: 50px;
}

footer .footer-text {
	font-size: 16px;
	margin-top: 9px;
}

.afterfooter .footer-text {
	margin-top: 8px;
	font-size: 14px;
}

footer .afterfooter p.footer-text {
	font-size: 14px;
}

footer p {
	color: #FFFFFF;
	margin-bottom: 6px;
}

@media screen and (min-width: 1024px) {
	footer .footer-text {
		max-width: 80%;
	}
}

@media screen and (min-height: 800px) {
	.hero .phones {
		top: 35vh;
	}
}

@media screen and (min-height: 1000px) {
	.hero .phones {
		top: 45vh;
	}
}

@media screen and (min-width: 1920px) {
	.hero {
		background-position: 72% 50%;
	}
}

.hero .phones img {
	width: 60%;
	margin-left: 40%;
}

.hero .phones .iphone:nth-child(2) {
	margin-left: -280px;
	z-index: 10;
	margin-top: 20px;
}

.hero .phones .iphone:nth-child(2) img {
	position: absolute;
	top: 38px;
	left: 8px;
	height: auto;
	width: 349.5px;
}

@media screen and (max-width: 1170px) {
	/* .container {
		width: calc(100% - 32px);
		padding: 0 16px;
	}
	.header nav .navbar-header {
		height: 80px;
	}
	.header nav ul {
		flex-direction: column;
	}
	.header nav ul li {
		font-size: 14px;
	}
	.header nav ul li:nth-child(1) {
		font-size: 14px;
		margin-bottom: 6px;
	} */
	.hero {
		height: inherit;
		min-height: inherit;
		padding: 72px 0;
	}
	.hero a.button {
		width: 25%;
		text-align: center;
	}
	.hero a.button span {
		font-size: 16px;
	}
	.hero h1 {
		font-size: 54px;
		line-height: 110%;
		margin-bottom: 0;
	}
	.hero h2 {
		font-size: 29px;
	}
	.hero .container>div>div>div {
		max-width: 60%;
	}
	.hero .devices {
	  background-size: 45%;
	  background-position: 98% 15%;
	}
	.hero .gradient-div {
		top: -2.5%;
		height: 28.5%;
	}
	.blue-back,
	.white-back,
	.main-page .usual-page-portfolio.about-portfolio.web.main {
		padding: 48px 0;
	}
	#contacts .white-back {
		background-image: none;
	}
	.one-review-title h6 {
		font-size: 22px;
	}
	.clients .part {
		height: 54px;
	}
	.hero .container {
		align-items: center;
	}
	.technologies .part {
		width: 18%;
	}
	#team .container {
		height: 200px;
	}
	.content h3, h2.pre-title {
		font-size: 42px;
	}
	footer .footer-text {
		max-width: 90%;
	}
	.technologies>div {
		width: calc(100% / 2 - 8px);
	}
}

@media screen and (max-width: 1024px) {
	.hero h1 {
		font-size: 66px;
	}
	.hero .gradient-div {
		top: -2.5%;
		height: 23.25%;
	}
	body .usual-page-top .usual-page-top-image h1 {
		font-size: 48px;
	}
	body .usual-page-top .usual-page-top-image .usual-page-top-section.article h1 {
		font-size: 32px;
	}
	.article .usual-page-h2-title h2 {
		font-size: 28px;
	}
}

@media screen and (width: 1024px) {
	.hero .gradient-div {
	  top: -6%;
	  height: 52.25%;
	}
	.hero .devices {
    background-size: 42%;
    background-position: 98% 55%;
	}
}

@media screen and (max-height: 780px) and (max-width: 1680px){
	.hero .gradient-div {
		height: 54.5%;
	}
}

@media screen and (max-height: 630px) {
	.hero .gradient-div {
		height: 61.5%;
	}
}

@media screen and (max-height: 480px) {
	.hero .gradient-div {
		height: 67.5%;
	}
}

@media screen and (width: 1024px) and (height: 1366px) {
	.hero .gradient-div {
    top: -6.5%;
    height: 27.25%;
	}
	.hero .devices {
    background-size: 42%;
    background-position: 97% 17%;
	}
}

@media screen and (max-width: 1020px) {
	.hero h1 {
		font-size: 66px;
	}
	.hero .gradient-div {
		top: -2.5%;
		height: 31%;
	}
	.hero .devices {
	  background-size: 60%;
	  background-position: 150% 30%;
	}
}

@media screen and (min-width: 1000px) and (max-width: 1040px) and (min-height: 700px) and (max-height: 850px) {
	.hero .devices {
		background-size: 47%;
		background-position: 96% 50%;
	}
	.hero h1 {
    font-size: 60px;
    max-width: 50%;
	}
	.hero h2 {
		font-size: 36px;
	}
	.hero p {
		font-size: 19px;
	}
	.hero .gradient-div {
    top: -6%;
    height: 41.25%;
	}
}

@media screen and (min-width: 1291px) and (max-width: 1520px) {
	.hero h1 {
    font-size: 60px;
    max-width: 50%;
	}
	.hero h2 {
		font-size: 38px;
		margin-top: 36px;
	}
	.hero p {
		font-size: 19px;
		margin-top: 16px;
	}
	.hero .gradient-div {
    height: 49.15%;
	}
}

@media screen and (min-width: 1291px) and (max-width: 1520px) and (min-height: 700px) {
	.hero .gradient-div {
    height: 50.15%;
	}
}

@media screen and (min-width: 1291px) and (max-width: 1520px) and (min-height: 740px) {
	.hero .gradient-div {
    height: 51.15%;
	}
}

@media screen and (min-width: 1340px) and (max-width: 1400px) and (min-height: 999px) and (max-height: 1080px) {
	.hero .gradient-div {
    height: 55%;
	}
	.hero .devices {
    background-size: 37%;
    background-position: 89% 50%;
	}
}

@media screen and (max-width: 767px) {
	/* .header nav ul li a {
		font-size: 16px;
	} */
	body {
		max-width: 100vw;
	}
	.content h3, h2.pre-title {
		margin: 0px 0 36px;
	}
	p.description-pre-title {
		margin-bottom: 48px;
		font-size: 18px;
	}
	.hero .container>div:first-child {
		max-width: 100%;
		padding-bottom: 12px;
	}
	.hero h3 {
		margin-top: 0;
		margin-bottom: 16px;
	}
	.hero .gradient-div {
		top: 0;
		left: 0;
		width: 100%;
		height: 216px;
		transform: none;
	}
	.hero .devices {
		display: none;
	}
	.hero .container>div>div {
		flex-direction: column;
		align-items: flex-start;
		margin: 16px 0;
	}
	.hero .container>div>div>div {
		flex-direction: row;
		margin-left: 0;
		padding-left: 0;
		border-left: none;
		margin-top: 16px;
		align-items: center;
		max-width: 100%;
	}
	.technologies>div {
		width: 100%;
	}
	.hero .container>div>div>div img {
		width: 96px;
		margin-bottom: 4px;
	}
	.hero .container>div>div>div span {
		margin-left: 12px;
		border-left: 1px solid #eaeaea;
		padding-left: 12px;
		margin-top: 0;
	}
	.hero h3:after {
		left: -32px;
		bottom: inherit;
		width: 2px;
		height: 100%;
		top: 0;
	}
	.hero p {
		max-width: 95%;
	}
	.hero .techs {
		height: auto;
		width: calc(100vw - 30px);
		margin-top: 32px;
	}
	.logo {
		margin-left: 24px;
		height: 50px;
		background-size: 70%;
	}
	.nav>li>a {
		padding: 10px 24px;
	}
	.one-review-title h6 {
		max-width: 100%;
	}
	.one-review-title h6 {
		font-size: 22px;
	}
	.hero {
		background-position: 46vw 50%;
		background-size: 50vw;
		padding: 0;
		max-width: 100vw;
		overflow-x: hidden;
	}
	.hero p {
		margin-top: 0;
		margin: 12px 0;
		font-size: 18px;
	}
	.hero h1 {
		font-size: 36px;
		margin-top: 48px;
	}
	.hero h2 {
		font-size: 28px;
	}
	.content h3, h2.pre-title {
		font-size: 28px;
	}
	.contacts p {
		font-size: 24px;
	}
	.reviews,
	.review {
		flex-direction: column;
		margin-top: 20px;
	}
	.review {
		width: 100%;
		padding-top: 48px;
	}
	.review {
		margin-top: 0;
		flex-direction: column-reverse;
	}
	.review>div p {
		margin-bottom: 0;
	}
	.review img {
		width: 64px;
	}
	.review>div span {
		font-size: 14px;
	}
	.review>div:last-child {
		padding-right: 0;
		margin-bottom: 20px;
	}
	.hero a.button {
		width: calc(100% - 64px);
		margin-top: 12px;
		margin-bottom: 48px;
	}
	.hero a.button span {
		font-size: 18px;
	}
	.content .clients {
		flex-wrap: wrap;
	}
	.clients .part {
		margin: 0 auto 32px;
		height: 48px;
		width: calc(50% - 24px);
	}
	.content .clients:last-child .part {
		margin-bottom: 32px;
	}
	.content .clients:last-child .part:last-child {
		margin-bottom: 0;
	}
	.technologies .part {
		width: calc(100% - 32px);
		margin-bottom: 32px;
	}
	.commercial {
		padding: 32px 16px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.commercial h5 {
		font-size: 20px;
	}
	.commercial img {
		width: 54px;
		height: 54px;
	}
	.commercial h5:nth-child(1) {
		margin-bottom: 8px;
	}
	.topline {
		margin-top: 0;
	}
	.technologies {
		flex-direction: column;
		margin-top: -32px;
		padding-top: 6px;
	}
	#team .container {
		height: 200px;
	}
	footer .container {
		flex-direction: column;
	}
	footer .subfooter h6 {
		width: 100%;
	}
	footer .subfooter .container .clutch {
		width: 100%;
		margin-top: 16px;
		opacity: 1;
	}
	footer .footer-block>h6.footer-header {
		margin-top: 32px;
	}
	footer .footer-block {
		width: 100%;
		padding: 0;
	}
	.afterfooter .footer-block {
		padding: 32px 0 0;
	}
	.afterfooter .footer-block .footer-header {
		margin-top: 0;
	}
	footer .afterfooter,
	.footer {
		padding-bottom: 32px;
	}
	/**
  Africa
  **/
	.africa h1 {
		font-size: 36px;
	}
	.africa h2 {
		font-size: 24px;
	}
	.africa .why {
		flex-direction: column;
	}
	.africa .why img {
		display: none;
	}
	.africa .content.border>div>div>div>div {
		flex-direction: column;
	}
	.africa .content.border .three {
		width: 100%;
	}
	.africa .content.border .three:before,
	.africa .directions>div>div>div>div:before {
		width: 54px;
		text-align: center;
	}
	.africa .content.border .three p {
		width: 80%;
	}
	.africa .blue-back.two {
		flex-direction: column;
	}
	.africa .right {
		width: calc(100% - 32px);
		padding: 96px 16px;
	}
	.africa .left {
		width: 100%;
		background: url(img/africa/back-2.jpg) no-repeat;
		background-position: 50% 35%;
		height: 420px;
	}
	.africa .directions>div>div>div>div {
		width: 100%;
	}
	.africa .directions>div>div>div>div:nth-child(1),
	.africa .directions>div>div>div>div:nth-child(2) {
		margin-bottom: 0;
	}
	.africa .directions>div>div>div>div:nth-child(1),
	.africa .directions>div>div>div>div>div {
		width: 100%;
	}
	.africa .directions>div>div>div>div>div p,
	.africa .directions>div>div>div>div>div h6 {
		max-width: 95%;
	}
	.africa .blue-back.heads>div>div {
		width: 100%;
	}
	.africa .blue-back.heads>div>div:nth-child(2) {
		margin: 72px 0;
	}
	.africa .blue-back.heads a {
		font-size: 14px;
	}
	.africa .white-back.about>div>div>div:nth-child(1) {
		width: 100%;
		padding-right: 0;
		border-right: none;
	}
	.africa .white-back.about>div>div {
		flex-direction: column;
	}
	.africa .white-back.about>div>div>div:nth-child(2) {
		width: 100%;
		padding-left: 0;
		margin-top: 32px;
		border-top: 1px solid #e4e4e4;
		padding-top: 48px;
	}
	.africa .black-back>div>div {
		padding: 0;
		flex-direction: column;
	}
	.africa .black-back img {
		width: 192px;
		margin-right: 0;
	}
	.africa .black-back p {
		font-size: 20px;
		text-align: center;
	}
	.africa .black-back p:nth-child(1) {
		border-bottom: none;
	}
	/**
  Africa
  **/
	.estimation h5 {
		font-size: 32px;
	}
	.estimation form>div:nth-child(2) {
		flex-direction: column;
	}
	.estimation form>div:nth-child(2)>div:nth-child(1)>div {
		margin-right: 0;
	}
	.estimation form>div:nth-child(2)>div {
		width: 100%;
	}
}

@media screen and (min-width: 1024px) and (max-height: 700px) {
	.blue-back,
	.white-back {
		padding: 72px 0;
	}
	.main-page .very-dark-back,
	.africa-page .very-dark-back {
		padding: 72px 0;
	}
}

@media screen and (min-width: 1900px) and (min-height: 1000px) {
	.gradient {
		height: 57%;
	}
	.hero .devices {
		background-size: 27%;
    background-position: 78% 50%;
	}
}
