@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,800&display=swap');

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Bold.woff2') format('woff2'),
        url('../fonts/Montserrat-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Medium.woff2') format('woff2'),
        url('../fonts/Montserrat-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}

body {
    font-family: 'Montserrat';
    font-weight: 500;
    font-style: normal;
	font-size: 1rem;
	line-height: 2rem;
}

.PageBG {
	background-image: url('../img/FullBG-xs.jpg');
	background-repeat: no-repeat;
}

.text-psblue {
	color: #243e64;
}

.text-psgray {
	color: #64697a;
}

.text-psred {
	color: #ff3b47;
}

.navbar-brand {
	font-family: 'Open Sans', sans-serif;
	font-size: 1.85rem;
}

.navbar-brand-accent {
	font-weight: 800;
}

.BlockPageTitle {
	text-align: center;
}

.PageTitleMain,
.PageTitleSubtitle {
	margin-bottom: 0.5rem;
	font-weight: 500;
}

.PageTitleMain {
	font-size: 1.75rem;
}

.PageTitleSubtitle {
	font-size: 1rem;
	line-height: 1.6rem;
}

.BlockSectionTitle {
	font-size: 2.25rem;
	background-image: url('../img/sectionbullet.png');
	background-repeat: no-repeat;
	background-position-x: center;
	background-position-y: bottom;
	padding-bottom: 30px;
}

.BlockAboutVisual {
	background-repeat: no-repeat;
	background-position-x: center;
	background-position-y: top;
	background-image: url('../img/about-xs.png');
	min-width: 285px;
	min-height: 126px;
}

.BlockAdvantagesTitle,
.BlockSolutionsTitle {
	font-size: 1.25rem;
	letter-spacing: 0.05rem;
}

.BlockAdvantagesVisual {
	width: 40px;
	height: 40px;
}

.BlockContacts {
	background-image: url('../img/map.png');
	background-repeat: no-repeat;
	background-position: top center;
}

.BlockContactsVisual {
	width: 30px;
	height: 30px;
}

.BlockPartnersChart::before {
    content: '';
    position: absolute;
    width: 2px;
    height: 100%;
    left: 50%;
    top: 0;
    background: #4a90e2;
}

.BlockPartnersChart .row:nth-of-type(2n+1) .BlockPartnersChartTitle::after,
.BlockPartnersChart .row:nth-of-type(2n) .BlockPartnersChartTitle::before {
    content: '';
    width: 1.85714286em;
    height: 1.85714286em;
    background: #fff;
    border: 2px solid #4a90e2;
    border-radius: 50%;
    position: absolute;
    top: 0;
    margin-left: 1px;
}

.BlockPartnersChart .row:nth-of-type(2n+1) .BlockPartnersChartTitle::after {
	right: -18px;
}

.BlockPartnersChart .row:nth-of-type(2n) .BlockPartnersChartTitle::before {
	left: -17px;
}

@media (min-width: 576px) {
	body {
		font-size: 1.15rem;
	}

	.PageBG {
		background-image: url('../img/FullBG-md.jpg');
	}

	.BlockPageTitle {
		text-align: left;
	}

	.PageTitleMain {
		font-size: 2.3rem;
	}

	.PageTitleSubtitle {
		max-width: 600px;
		font-size: 1.25rem;
		line-height: 2.25rem;
	}

	.BlockAboutVisual {
		background-image: url('../img/about-md.png');
		min-width: 224px;
		min-height: 110px;
	}

	.BlockAdvantagesVisual {
		width: 70px;
		height: 70px;
	}

	.BlockAdvantagesBody,
	.BlockSolutionsBody {
		font-size: 1rem;
	}

	.BlockContactsVisual {
		width: 50px;
		height: 50px;
	}

	.BlockContactsEmail {
		font-size: 1rem;
	}
}

@media (max-width: 768px) {
	.container {
		width: 100%;
		max-width: none;
	}
}

@media (min-width: 992px) {
	.PageBG {
		background-image: url('../img/FullBG-lg.jpg');
	}

	.BlockPageTitle {
		margin-top: 6rem !important;
		background-image: url('../img/titleblockbg-lg.png');
		background-repeat: no-repeat;
		background-position-x: right;
		background-position-y: top;
		height: 400px;
		padding-top: 2rem;
	}

	.BlockSolutions {
		margin-top: 10rem !important;
	}

	.BlockAboutVisual {
		background-image: url('../img/about-lg.png');
		min-width: 359px;
		min-height: 176px;
	}

	.BlockContactsEmail {
		font-size: 1.15rem;
	}

}



/*! -- Stack Processes -- */

.process-1,
.process-2,
.process-3 {
    padding-top: 3.71428571em;
    position: relative;
    overflow: hidden;
}

.process-1 .process__item,
.process-3 .process__item {
    width: 50%;
}

.process-2 .process__item {
    width: 50%;
}

.process-1 .process__item:not(:last-child) {
    margin-bottom: 1.85714286em;
}

.process-1:before,
.process-3:before {
    content: '';
    position: absolute;
    width: 2px;
    height: 100%;
    left: 50%;
    top: 0;
    background: #4a90e2;
}

.process-2:before {
    content: '';
    position: absolute;
    width: 2px;
    height: 100%;
    top: 0em;
    left: 50%;
    background: #4a90e2;
}


/* .process-2:before {
    content: '';
    position: absolute;
    width: 2px;
    height: 100%;
    left: 50%;
    top: 0;
    background: #4a90e2;
} */

.process__item {
    position: relative;
}

.process__item:after {
    content: '';
    width: 1.85714286em;
    height: 1.85714286em;
    background: #fff;
    border: 2px solid #4a90e2;
    border-radius: 50%;
    position: absolute;
    top: 0;
    margin-left: 1px;
}

@media all and (min-width: 440px) {
    .process-1 .process__item:nth-child(odd) {
        text-align: right;
        padding-right: 3.71428571em;
    }
    .process-1 .process__item:nth-child(odd):after {
        right: -0.92857143em;
    }
    .process-1 .process__item:nth-child(even) {
        margin-left: 50%;
        padding-left: 3.71428571em;
    }
    .process-1 .process__item:nth-child(even):after {
        left: -0.92857143em;
    }
    .process-2 .process__item:nth-child(odd) {
        left: 50%;
        text-align: left;
        padding-left: 3.71428571em;
        /* bottom: 20px; */
    }
    .process-2 .process__item:nth-child(odd):after {
        left: -0.92857143em;
    }
    .process-2 .process__item:nth-child(even) {
        margin-right: 50%;
        padding-right: 3.71428571em;
    }
    .process-2 .process__item:nth-child(even):after {
        left: -0.92857143em;
    }
    .process-3 .process__item:nth-child(odd) {
        text-align: right;
        padding-right: 3.71428571em;
    }
    .process-3 .process__item:nth-child(odd):after {
        right: -0.92857143em;
    }
    .process-3 .process__item:nth-child(even) {
        margin-left: 50%;
        padding-left: 3.71428571em;
    }
    .process-3 .process__item:nth-child(even):after {
        left: -0.92857143em;
    }
}

@media all and (max-width: 440px) {
    .process-1:before,
    .process-2:before,
    .process-3:before {
        left: 0.92857143em !important;
    }
    .process-1 .process__item,
    .process-2 .process__item,
    .process-3 .process__item {
        width: 100%;
        padding-left: 3.71428571em;
    }
    .process-1 .process__item:after,
    .process-2 .process__item:after,
    .process-3 .process__item:after {
        left: 0;
    }
}

.bg--dark .process-1:before,
.imagebg .process-1:before,
.bg--dark .process-2:before,
.imagebg .process-2:before {
    background: #fff;
}

.bg--dark .process-1 .process__item:after,
.imagebg .process-1 .process__item:after,
.bg--dark .process-2 .process__item:after,
.imagebg .process-2 .process__item:after {
    background: #fff;
}

.bg--dark .process-1 .process__item:after,
.bg--dark .process-2 .process__item:after {
    border-color: #252525;
}

.process-2 {
    position: relative;
}


/* .process-2 .process__item {
    padding-top: 3.71428571em;
} */

.process-2 .process__item:after {
    display: inline-block;
    text-align: center;
}



/*
@media all and (max-width: 767px) {
    .process-2:before {
        height: 100%;
        width: 2px;
        left: 1.85714286em;
        margin-left: 2px;
    }
    .process-2 .process__item:after {
        top: 3.71428571em;
    }
} */

.process-3 {
    list-style: none;
    position: relative;
}

.process-3 li {
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.process-3 li .process__number {
    float: left;
    width: 15%;
    width: 3.71428571em;
    height: 3.71428571em;
    border-radius: 50%;
    border: 2px solid #4a90e2;
    background: #fff;
    text-align: center;
}

.process-3 li .process__number span {
    font-size: 1.35714286em;
    font-weight: bold;
    color: #4a90e2;
    position: relative;
    top: 12px;
}

.process-3 li .process__body {
    width: 80%;
    float: right;
}

.process-3 li .process__body h4 {
    margin-bottom: 0.342105263157895em;
}

.process-3 li:not(:last-child) {
    margin-bottom: 3.71428571em;
}

.process-3:before {
    content: '';
    position: absolute;
    height: 100%;
    /* width: 1px;
    left: 1.85714286em; */
    top: 0;
}

.bg--dark .process-3 li .process__number {
    background: #252525;
}

.bg--dark .process-3:before {
    border-color: #aaa;
}

.process-stepper>li {
    transition: all .3s ease;
    display: inline-block;
    float: left;
    text-align: center;
    position: relative;
}

.process-stepper>li:before {
    transition: all .3s ease;
    content: '';
    width: 0.92857143em;
    height: 0.92857143em;
    background: #ccc;
    border-radius: 50%;
    display: block;
    margin: 0 auto;
    margin-bottom: 0.92857143em;
}

.process-stepper>li:after {
    transition: all .3s ease;
    content: '';
    width: 100%;
    height: 2px;
    position: absolute;
    background: #ccc;
    top: 5px;
    left: 0;
}

.process-stepper>li:first-child:after,
.process-stepper>li:last-child:after {
    width: 50%;
}

.process-stepper>li:first-child:after {
    left: 50%;
}

.process-stepper>li.active:before,
.process-stepper>li.active:after {
    background: #4a90e2;
}

.process-stepper>li>span {
    cursor: default;
}

.process-stepper[data-process-steps="6"]>li {
    width: 16.666666666666667%;
}

.process-stepper[data-process-steps="5"]>li {
    width: 20%;
}

.process-stepper[data-process-steps="4"]>li {
    width: 25%;
}

.process-stepper[data-process-steps="3"]>li {
    width: 33.33333333%;
}

.process-stepper[data-process-steps="2"]>li {
    width: 50%;
}

.bg--dark .process-stepper li:not(.active):before,
.bg--dark .process-stepper li:not(.active):after {
    background: #585858;
}