html {
	position: relative;
	min-height: 100%;
}
body {
	background-image: linear-gradient(120deg, #fdfbfb 0%, #ebedee 100%);
	font-family: 'LatoWeb', Arial, Helvetica, sans-serif;
	font-size: 1.063rem;
	font-weight: 400;
	line-height: 1.375;
	color: #3C3C48;
}

main {
	background: url(../img/bg_2.png);
	background-size: 70%;
	background-repeat: no-repeat;
	background-position: 90% 30%;
	background-attachment: fixed;
	padding-top: 6.375rem;
}

@media (min-width: 1200px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl {
		max-width: 1220px;
	}
}

/* --- Typography --- */

h1,h2,h3,h4,h5 {
	font-family: 'Montserrat', sans-serif;
	color: #184eae;
	margin-bottom: 0;
}

.h2, h2 {
	font-size: 1.5rem;
}

p {
	margin-top: 0;
	margin-bottom: 0;
}

/* --- Typography - End --- */

input, select, textarea {
	outline: none;
}
.p-section {
	padding: 6.25rem 0 2.875rem 0;
}
.p-section-bg {
	background: rgba(52,85,139, .1);
	padding: 6.25rem 0;
	margin-top: 6.25rem;
}
.p-row-r {
	padding-right: 2rem;
}
.p-row-l {
	padding-left: 2rem;
}
.p-top-0 {
	padding-top: 0!important;
}
.p-top-24 {
	padding-top: 1.5rem;
}
.p-top-38 {
	padding-top: 2.375rem;
}
.p-top-60 {
	padding-top: 3.75rem;
}
.p-top-120 {
	padding-top: 7.5rem;
}
.p-bottom-0 {
	padding-bottom: 0!important;
}
.p-bottom-8 {
	padding-bottom: .5rem;
}
.img-fluid {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: left;
}

/* --- BTN Style --- */

.btn {
	font-family: 'Montserrat',sans-serif;
	font-size: .875rem;
	font-weight: 500;
	letter-spacing: .0625rem;
	padding: .75rem 2.375rem!important;
}
.btn-rs {
	color: #fff;
	background-color: #1c9fe7;
	border-color: #1c9fe7;
}
.btn-rs:hover {
	color: #fff;
	background-color: rgb(0, 128, 197);
	border-color: rgb(0, 128, 197);
}

/* --- BTN Style - End --- */

/* --- Top Menu --- */

.navbar {
	font-family: 'Montserrat',sans-serif;
	padding-top: 1.625rem;
	padding-bottom: 1.625rem;
}
.navbar-bg {
	background-image: linear-gradient(10deg, #fdfbfb 0%, #ebedee 100%);
}
.navbar-nav .nav-link {
	font-size: 1rem;
	color: #3C3C48;
}
.navbar-nav .nav-link:hover {
	color: #184eae;
}
.navbar .navbar-right {
	display: flex;
	align-items: center;
}
.navbar .navbar-right .navbar-phone {
	margin-right: 1rem;
	font-size: 1.25rem;
	font-weight: 500;
	color: #184eae;
}

.navbar .navbar-right .menu-language {
	position: relative;
	border: 1px solid rgba(60, 60, 72, .3);
	padding: .3125rem .875rem;
	border-radius: 4px;
	cursor: pointer;
}
.navbar .navbar-right .menu-language>.selected {
	display: flex;
	align-items: center;
}
.navbar .navbar-right .menu-language>.selected div img {
	width: auto;
	height: 24px;
	margin-right: .5rem;
	vertical-align: sub;
}
.navbar .navbar-right .menu-language>.selected .delta:before {
	content: "";
	display: block;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid #a0a0a9;
	transition: transform .2s ease;
}
.navbar .navbar-right .menu-language>.selected .doubleselect {
	position: absolute;
	top: 50px;
	left: 0;
	display: none;
	background-color: #000;
	padding: .375rem .75rem;
}
.navbar .navbar-right .menu-language>.selected .doubleselect .dslang {
	display: flex;
	align-items: center;
}
.navbar .navbar-right .menu-language>.selected .doubleselect .dslang img {
	width: auto;
	height: 24px;
	margin-right: .5rem;
}
.navbar .navbar-right .menu-language>.selected .doubleselect:hover {
	background-color: #2d2337;
	cursor: pointer;
}
.navbar .navbar-right .menu-language .selected:hover .doubleselect {
	display: block!important;
}
.hormenu {
	position: sticky;
	top: 120px;
	display: flex;
	flex-direction: column;
	font-size: 1rem;
	margin-top: 2.5rem;
	margin-right: 1rem;
	border-right: 2px solid #e5e8ed;
}
.hormenu a {
	color: #3C3C48;
	padding: .5rem 1rem;
}
.hormenu a:hover {
	color: #34558B;
	text-decoration: none;
}
.hormenu a.active {
	background-color: #e5e8ed;
}

/* --- Top Menu - END --- */

/* --- Main Content --- */

.container {
	position: relative;
}
.full-vh {
	min-height: calc(100vh - 6.375rem);
}

.main-heading {
	width: 90%;
	font-family: 'Montserrat', sans-serif;
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.2;
	color: #184eae;
	margin-top: 4rem;
}
.main-heading p {
	font-size: 1.5rem;
	font-weight: 300;
	line-height: 2rem;
	margin-top: 1.5rem;
	margin-bottom: 2.5rem;
	color: #5a5c64;
}
.main-services a {
	display: flex;
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.75rem;
	color:#3c3c48;
	margin-bottom: 3.5rem;
}
.main-services a img {
	height: 68px;
	margin-right: 2rem;
	margin-top: auto;
	margin-bottom: auto;
}
.main-services a:hover {
	text-decoration: none;
	color: #34558B;
}
.main-services a p {
	padding-top: .25rem;
}
.block-capabilities {
	min-height: 218px;
	background-color: #fff;
	padding: 2.375rem;
	margin-bottom: 1.875rem;
	border-radius: 8px;
	border: 1px solid #e5e8ed;
	box-shadow: 0 0 18px rgba(0,0,0,0.1);
}
.block-capabilities h3 {
	font-size: 1.25rem;
	font-weight: 500;
	padding-bottom: 1.25rem;
}
.heading-capabilities {
	font-family: 'Montserrat', sans-serif;
	font-size: 2.25rem;
	font-weight: 600;
	color: #184eae;
	margin-bottom: 3rem;
}
.heading-capabilities::after {
	content: "";
	display: flex;
	width: 48px;
	margin: 1.25rem 0 0 .1875rem;
	border: 2px solid #437fec;
}
.block-capabilities p {
	font-size: 1rem;
}
.block-services h2 {
	font-size: 2.25rem;
	font-weight: 600;
}
.block-services h2::after {
	content: "";
	display: flex;
	width: 48px;
	margin-top: 1.25rem;
	margin-left: .1875rem;
	border: 2px solid #437fec;
}
.block-services p {
	line-height: 1.5rem;
	padding-top: 1.25rem;
	margin-left: .1875rem;
}
.bs-column {
	padding: 1.25rem;
}
.bs-column h2 {
	font-size: 1.25rem;
	font-weight: 600;
	color: #184eae;
}
.bs-column p {
	font-size: 1rem;
	line-height: 1.5;
	color: #000;
	padding-top: 1rem;
	padding-bottom: 0;
}
.bs-column h2::after {
	display: none;
}
.bs-price {
	background-color: #fff;
	padding: 2.375rem;
	border-radius: 8px;
	border: 1px solid #e5e8ed;
	box-shadow: 0 0 18px rgba(0,0,0,0.1);
}
.bs-price .cost {
	font-size: 1.75rem;
	font-weight: 500;
	color: #437fec;
	margin-top: .5rem;
}
.bs-price ul {
	font-size: .9375rem;
	list-style: none;
	padding-left: 0;
	margin-top: .5rem;
	margin-bottom: 0;
}
.bs-price ul li div {
	display: inline-flex;
	font-weight: 600;
	width: calc(100% - 110px);
	background: url(../img/border-dotted.png) repeat-x 0 66%;
	font-weight: 700;
	margin-right: .3125rem;
}
.bs-price ul li div span {
	background-color: #fff;
	padding-right: .3125rem;
}

.scrollbottom {
	position: absolute;
	display: flex;
	justify-content: center;
	bottom: 60px;
	width: 100%;
}
.mouse {
	width: 25px;
	height: 35px;
	border-radius: 12px;
	border: 2px solid #3c3c48;
}
.mouse:before {
	width: 4px;
	height: 8px;
	display: block;
	position: absolute;
	left: 50%;
	top: 6px;
	border-radius: 2px;
	margin-left: -2px;
	content: '';
	background: #3C3C48;
	animation: mousesmallmove 1000ms infinite;
}
.mouse > span {
	position: absolute;
	left: 50%;
	top: 44px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 4px 0 4px;
	border-color: #3C3C48 transparent transparent transparent;
	content: '';
	margin-left: -4px;
	animation: arrowfade 1000ms infinite;
}
.mouse > span:after {
	top: 4px;
	animation-delay: 200ms;
}
.mouse > span:before {
	top: 13px;
	animation-delay: 400ms;
}

@keyframes mousesmallmove {
	0% {
		transform: translateY(-1px);
	}
	50% {
		transform: translateY(1px);
	}
	100% {
		transform: translateY(-1px);
	}
}

@keyframes arrowfade {
	0% {
	  opacity: 20;
	  filter: alpha(opacity=2000);
	  opacity: 0.2;
	  filter: alpha(opacity=20);
	}
	70% {
	  opacity: 100;
	  filter: alpha(opacity=10000);
	  opacity: 1;
	  filter: alpha(opacity=100);
	}
	100% {
	  opacity: 50;
	  filter: alpha(opacity=5000);
	  opacity: 0.5;
	  filter: alpha(opacity=50);
	}
}

.block-working {
	display: flex;
	flex-direction: row;
	margin: 1.5rem 0;
}
.block-working>.b-w-img {
	padding-top: .5rem;
}
.block-working>.b-w-img img {
	height:68px;
}
.block-working>.b-w-desc {
	margin-left: 2rem;
}
.block-working>.b-w-desc div {
	font-size: 1.125rem;
	font-weight: 500;
}
.block-working>.b-w-desc p {
	font-size: 1rem;
	padding: .375rem 0 .625rem 0;
}

/* --- Main Content - END --- */

/* --- Full Page Content --- */

.content {
	font-size: 1rem;
	margin-top: 2rem;
}
.content h1 {
	margin-bottom: 2rem;
}
.content h2 {
	margin-bottom: .75rem;
}
.content p {
	margin-bottom: 1.75rem;
}
.content img {
	width: 100%;
	height: auto;
	margin-bottom: 2rem;
	border-radius: 8px;
}
.content ul {
	padding-left: 1rem;
	list-style: none;
}
.content ul li {
	position: relative;
	padding-left: 25px;
}
.content ul li:before {
	position: absolute;
	left: 0;
	top: 11px;
	content: "";
	width: 14px;
	height: 2px;
	background: #6a8dc3;
}

/* --- Full Page Content - END --- */

/* --- Contacts --- */

.contacts {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 11.88rem;
}
.contacts span {
	font-family: 'Montserrat',sans-serif;
	font-size: 1.625rem;
	font-weight: 600;
}
.feedback {
	display: flex;
	flex-direction: column;
	width: 100%;
	background-color: #fff;
	border-radius: 8px;
	padding: 1rem 2.5rem 2.5rem 2.5rem;
	box-shadow: 0 0 18px rgba(0,0,0,0.1);
}
.feedback form .field {
	width: 100%;
	position: relative;
	margin-bottom: 2rem;
}
.feedback form .field input {
	width: 100%;
	height: 41px;
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 2px solid #e5e8ed;
	outline: none;
}
.feedback form .field textarea {
	width: 100%;
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 2px solid #e5e8ed;
	outline: transparent solid 1px !important;
}
.feedback form .field label {
	position: absolute;
	left: 0;
	top: .375rem;
	font-size: 1rem;
	color: #184eae;
	transition:  all 0.2s linear;
}
.feedback form .field input:focus + label, .feedback form .field input + label.show, .feedback form .field textarea:focus + label, .feedback form .field textarea + label.show {
	left: 0;
	font-size: .875rem;
	top: -.75rem;
}
.feedback form input:active, .feedback form input:focus, .feedback form textarea:active, .feedback form textarea:focus {
	border-bottom: 2px solid #6a8dc3;
}
.feedback form .field-btn {
	display: flex;
	align-items: flex-end;
}
.feedback form .field-btn p {
	font-size: .875rem;
	margin-left: 1rem;
}
.feedback .error {
	height: 1.5rem;
	font-size: .875rem;
	color: #ed2024;
}
.feedback .error span {
	display: none;
}

/* --- Contacts - END --- */

/* --- Footer --- */

.f-block {
	font-size: .875rem;
	color: #babec5;
	padding: 1rem 0;
	border-top: 2px solid #d5dae2;
}
.f-block div {
	display: inline-block;
	width: 49%;
}
.f-block div:last-child {
	text-align: right;
}

/* --- Footer - End--- */