/* fonts */
@font-face {
	font-family: 'ProximaNovaBlack';
	src: url('fonts/ProximaNovaBlack.eot');
	src: url('fonts/ProximaNovaBlack.eot') format('embedded-opentype'),
		url('fonts/ProximaNovaBlack.woff2') format('woff2'),
		url('fonts/ProximaNovaBlack.woff') format('woff'),
		url('fonts/ProximaNovaBlack.ttf') format('truetype'),
		url('fonts/ProximaNovaBlack.svg#ProximaNovaBlack') format('svg');
}
@font-face {
	font-family: 'ProximaNovaExtrabld';
	src: url('fonts/ProximaNovaExtrabld.eot');
	src: url('fonts/ProximaNovaExtrabld.eot') format('embedded-opentype'),
		url('fonts/ProximaNovaExtrabld.woff2') format('woff2'),
		url('fonts/ProximaNovaExtrabld.woff') format('woff'),
		url('fonts/ProximaNovaExtrabld.ttf') format('truetype'),
		url('fonts/ProximaNovaExtrabld.svg#ProximaNovaExtrabld') format('svg');
}
@font-face {
	font-family: 'ProximaNovaRegular';
	src: url('fonts/ProximaNovaRegular.eot');
	src: url('fonts/ProximaNovaRegular.eot') format('embedded-opentype'),
  	url('fonts/ProximaNovaRegular.woff2') format('woff2'),
  	url('fonts/ProximaNovaRegular.woff') format('woff'),
  	url('fonts/ProximaNovaRegular.ttf') format('truetype'),
  	url('fonts/ProximaNovaRegular.svg#ProximaNovaRegular') format('svg');
}
@font-face {
	font-family: 'ProximaNovaSemibold';
	src: url('fonts/ProximaNovaSemibold.eot');
	src: url('fonts/ProximaNovaSemibold.eot') format('embedded-opentype'),
  	url('fonts/ProximaNovaSemibold.woff2') format('woff2'),
  	url('fonts/ProximaNovaSemibold.woff') format('woff'),
  	url('fonts/ProximaNovaSemibold.ttf') format('truetype'),
  	url('fonts/ProximaNovaSemibold.svg#ProximaNovaSemibold') format('svg');
}

/* CSS reset */
html, body, div, span, h1, h2, h3, h4, h5, h6, p, a, img, i, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, figure, figcaption, footer, header, menu, nav, section {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
	background-color: #fff;
}
ol, ul {
	list-style: none;
}

	/* Main styles */

/* First screen */
.to-first-screen {
	position: relative;
	top: -24px;
}
.first-screen {
	max-width: 100%;
	height: calc(100vh - 24px);
	margin-top: 24px;
}
.container  {
	max-width: 1216px;
	margin: 0 auto;
	padding: 0 20px;
	min-width: 280px;
}
.container.first-screen-container {
	height: 100%;
	position: relative;
	overflow: hidden;
}
.container:after {
	content: '';
	display: table;
	clear: both;
}
.first-screen .first-screen-logo {
	float: left;
}
.first-screen-logo .logo-text {
	padding: 0 0 10px 15px;
}
.first-screen .request-menu {
	float: right;
	font-family: 'ProximaNovaExtrabld', sans-serif;
	font-size: 14px;
	text-transform: uppercase;
	margin-top: 12px;
}
.first-screen .lang {
	display: inline-block;
	margin-right: 64px;
	position: relative;
	top: 2px;
	cursor: pointer;
	transition: color .3s;
}
.first-screen .lang:hover {
	color: #0112c2;
}
.request-menu .request {
	display: inline;
	padding: 10px 20px;
	margin-right: 64px;
	border: 2px solid #000;
	cursor: pointer;
	transition: all .3s;
	position: relative;
	top: 2px;
}
.request-menu .request:hover {
	color: #fff;
	background-color: #000;
}
.first-screen #nav {
    display: none;
}
.first-screen .nav-button {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 20%;
    cursor: pointer;
    float: right;
    position: relative;
	top: 2px;
}
.nav-button .menu {
	margin-right: 50px;
}
.nav-button span {
    position: absolute;
    width: 36px;
    height: 4px;
    background: #000;
    float: left;
    transition: 500ms;
}
.nav-button span:nth-of-type(1) {
	transform: translateY(-7px);
}
.nav-button span:nth-of-type(2) {
	transform: translateY(5px);
}
.first-screen nav {
	position: absolute;
	top: 0;
	right: -100%;
	width: 100%;
	height: 100vh;
	margin-top: 100px;
	text-align: right;
	background-color: #fff;
	transition: right 500ms;
	z-index: 2;
}
.first-screen nav ul {
    margin-bottom: 36px;
}
.first-screen #nav:checked ~ .nav-button {
    z-index: 11;
}
.first-screen #nav:checked ~ .nav-button span:nth-of-type(1) {
    transform: rotate(45deg) translate(0);
}
.first-screen #nav:checked ~ .nav-button span:nth-of-type(2) {
    transform: rotate(-45deg) translate(0);
}
.first-screen #nav:checked ~ nav {
    right: 20px;
    box-shadow: 30px 0 #fff;
}
.first-screen nav li {
	opacity: 1;
    transform: translate3d(0px, 0px, 0px);
}
.first-screen nav a {
	position: relative;
	overflow: hidden;
	font-family: 'ProximaNovaBlack', sans-serif;
	color: #000;
	font-size: 56px;
	line-height: 100px;
	text-transform: none;
	text-decoration: none;
}
.first-screen nav a span:before {
	content: attr(data-letters);
    position: absolute;
    color: #fff;
    left: 0;
    overflow: hidden;
    white-space: nowrap;
    width: 0;
    -webkit-transition: width .5s;
    transition: width .5s;
    -webkit-transition-timing-function: cubic-bezier(.7,0,.3,1);
    transition-timing-function: cubic-bezier(.7,0,.3,1);
}
.first-screen nav a:hover span:before {
	width: 100%;
}
.first-screen nav a:after {
	content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    right: -21px;
    z-index: -1;
    background: #0112c2;
    -webkit-transform: translate3d(101%,0,0);
    transform: translate3d(101%,0,0);
    -webkit-transition: -webkit-transform .5s;
    transition: -webkit-transform .5s;
    transition: transform .5s;
    transition: transform .5s,-webkit-transform .5s;
    -webkit-transition-timing-function: cubic-bezier(.7,0,.3,1);
    transition-timing-function: cubic-bezier(.7,0,.3,1);
}
.first-screen nav a:hover:after {
	-webkit-transform: translate3d(-20px,0,0);
    transform: translate3d(-20px,0,0);
}
.first-screen-header {
	position: absolute;
	top: 27%;
}
.first-screen-header .first-screen-title {
	position: relative;
	font-family: 'ProximaNovaExtrabld', sans-serif;
	font-size: 78px;
	padding-right: 10px;
}
.first-screen-header .first-screen-title .title-dev {
	display: inline-block;
	color: #0112c2;
	transition: all 0.3s ease;
}
.first-screen-header .first-screen-title .title-des {
	display: inline-block;
	color: #ffba00;
	transition: all 0.3s ease;
}
.first-screen-header .first-screen-title .title-dev:hover,
.first-screen-header .first-screen-title .title-des:hover {
	transform: translateY(-10px);
}
.first-screen-header .first-screen-text {
	font-family: 'ProximaNovaRegular', sans-serif;
	font-size: 20px;
	line-height: 30px;
	padding-left: 20px;
}
.go-to {
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	text-decoration: none;
}
.go-to .go-to-icon {
	text-align: center;
}
.go-to .go-to-text {
	font-family: 'ProximaNovaRegular', sans-serif;
	font-size: 12px;
	margin-top: 7px;
	color: #000;
}

/* Projects */
.project {
	padding: 50px 0 100px;
}
.project .project-title {
	font-family: 'ProximaNovaBlack', sans-serif;
	font-size: 56px;
	margin: 50px 0 95px;
}
.project .project-items {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.project .project-item {
	position: relative;
	margin-bottom: 35px;
}
.project .project-item:before {
	content: "";
	opacity: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.48);
	transition: opacity .3s ease;
;}
.project-item-1, .project-item-6 {
	width: 65.5%;
}
.project-item-2, .project-item-3, .project-item-4, .project-item-5,
.project-item-7, .project-item-8, .project-item-9, .project-item-10 {
	width: 31%;
}
.project .project-item img {
	display: block;
	width: 100%;
	height: auto;
}
.project-item .project-item-title {
	position: absolute;
	top: 21px;
	left: 24px;
	font-family: 'ProximaNovaExtrabld', sans-serif;
	font-size: 20px;
	text-transform: uppercase;
}
.project-item .project-item-title:after {
	content: "";
	display: block;
	width: 15px;
	height: 2px;
	background-color: #000;
	margin-top: 14px;
	transition: all .3s ease;
}
.all-tags{
	position: absolute;
	left: 14px;
	bottom: 4px;
}
.all-tags span{
	display: inline-block;
	margin: 0 10px 10px 0;
	font-family: 'ProximaNovaRegular', sans-serif;
	font-size: 14px;
	color: #fff;
	background-color: rgba(0,0,0,.16);
	padding: 10px 15px;
	transition: background-color .3s ease;
}
.all-tags span:last-child {
	margin-right: 0
}
.project-item .top-corner {
	position: absolute;
	width: 40%;
	height: 40%;
	top: 10px;
	left: 12px;
}
.project-item .top-corner-inverse {
	position: absolute;
	width: 45%;
	height: 40%;
	top: 10px;
	right: 12px;
}
.project-item .bottom-corner {
	position: absolute;
	width: 48%;
	height: 40%;
	bottom: 10px;
	right: 12px;
}
.project-item .bottom-corner-inverse {
	position: absolute;
	width: 55%;
	height: 40%;
	bottom: 10px;
	left: 12px;
}
.project-item .small-title {
	font-family: 'ProximaNovaExtrabld', sans-serif;
	font-size: 20px;
	color: #000;
	margin-bottom: 16px;
}
.project-item .small-text {
	font-family: 'ProximaNovaRegular', sans-serif;
	font-size: 16px;
	color: #000;
	line-height: 24px;
}
.project-item-1:hover:before, .project-item-4:hover:before,
.project-item-5:hover:before, .project-item-6:hover:before,
.project-item-9:hover:before {
	opacity: 1;
}
.project-item:hover .project-item-title {
	color: #fff;
}
.project-item:hover .project-item-title:after {
	background-color: #fff;
	width: 25px;
}
.project-item:hover .project-tag {
	background-color: rgba(0,0,0,.48);;
}
.project-item .project-item-see {
	position: absolute;
	top: 60%;
	left: 50%;
	font-family: 'ProximaNovaExtrabld', sans-serif;
	font-size: 14px;
	text-transform: uppercase;
	transform: translateX(-50%);
}
.project-item .project-item-see:after {
	content: "";
	display: inline-block;
	width: 15px;
	height: 2px;
	background-color: #000;
	position: relative;
	top: -4px;
	margin-left: 10px;
	transition: all .3s ease;
}
.project-item-10:hover:before {
	opacity: 0;
}
.project-item:hover .project-item-see:after {
	width: 25px;
}

/* Our services */
.services {
	padding: 62px 0 115px;
}
.services .container {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}
.services-desc, .services-skills {
	position: relative;
	width: 50%;
}
.services-desc .services-desc-wrapper {
	position: absolute;
	left: 0;
	bottom: 20px;
}
.services-desc .desc-title {
	font-family: 'ProximaNovaBlack', sans-serif;
	font-size: 56px;
	margin-bottom: 40px;
}
.services-desc .desc-text {
	font-family: 'ProximaNovaRegular', sans-serif;
	font-size: 16px;
	margin-right: 10px;
}
.services-skills .skills-dev-title, .services-skills .skills-des-title {
	font-family: 'ProximaNovaExtrabld', sans-serif;
	font-size: 24px;
	padding-bottom: 7px;
	border-bottom: 1px solid #000;
	margin: 80px 0 10px;
}
.services-skills .skills-dev-title {
	background: url(../image/development-icon.png) no-repeat 100% 0;
}
.services-skills .skills-des-title {
	background: url(../image/design-icon.png) no-repeat 100% 0;
}
.skills-dev-text, .skills-des-text {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}
.skills-dev-text .first-col, .skills-dev-text .second-col, .skills-dev-text .third-col, 
.skills-des-text .first-col, .skills-des-text .second-col {
	width: 33.3%;
}
.skills-dev-text .first-col {
	background-color: #f2f2f2;
}
.skills-dev-text .first-col, .skills-dev-text .second-col, .skills-dev-text .third-col {
	padding: 0 20px;
}
.services-skills .ul-main {
	margin-top: 19px;
}
.services-skills ul li {
	font-family: 'ProximaNovaRegular', sans-serif;
	font-size: 16px;
	line-height: 48px;
	color: #000;
	padding-right: 10px;
}
.services-skills .li-header {
	font-family: 'ProximaNovaBlack', sans-serif;
}
.services-skills .ul-inner {
	padding-left: 10px;
}

/* Our blood */
.our-blood {
	color: #fff;
	background-color: #0112c2;
	padding: 112px 0 108px;
}
.our-blood .container {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
}
.our-blood .blood-title-box, .our-blood .blood-desc-box-1, .our-blood .blood-desc-box-2 {
	width: 30%;
}
.our-blood .blood-title {
	font-family: 'ProximaNovaExtrabld', sans-serif;
	font-size: 34px;
}
.our-blood .blood-desc {
	font-family: 'ProximaNovaRegular', sans-serif;
	font-size: 16px;
}

/* Technologies */
.technologies {
	padding: 95px 0;
	font-size: 0;
}
.technologies .technologies-item {
	display: inline-block;
	box-sizing: border-box;
	position: relative;
	width: 16.6%;
	height: 100px;
	text-align: center;
	margin-bottom: 104px;
}
.technologies .technologies-item:before {
	content: "";
	display: block;
	margin: 0 auto;
}
.technologies .technologies-item span {
	font-family: 'ProximaNovaRegular', sans-serif;
	font-size: 16px;
	display: block;
	width: 100%;
	/*padding-top: 36px;*/
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
}

/* sprite for Technologies */
.ai-icon:before, .angular-icon:before, .css-icon:before, .docker-icon:before, .doctrine-icon:before, .drupal-icon:before, .eloquent-icon:before, .gulp-icon:before, .html-icon:before, .jquery-icon:before, .js-icon:before, .mysql-icon:before, .node-icon:before, .php-icon:before, .postsql-icon:before, .ps-icon:before, .rabbit-icon:before, .redis-icon:before, .sass-icon:before, .socket-icon:before, .vue-icon:before, .wp-icon:before, .zend-icon:before {
	background: url(../image/technologies.png) no-repeat;
}

.ai-icon:before {
	background-position: -64px 0;
	width: 49px;
	height: 48px;
}
.angular-icon:before {
	background-position: -301px -1px ;
	width: 45px;
	height: 48px;
}
.css-icon:before {
	background-position: -60px -100px ;
	width: 35px;
	height: 48px;
}
.docker-icon:before {
	background-position: -257px -301px ;
	width: 84px;
	height: 48px;
}
.doctrine-icon:before {
	background-position: -123px -200px ;
	width: 36px;
	height: 48px;
}
.drupal-icon:before {
	background-position: -188px 0;
	width: 41px;
	height: 48px;
}
.eloquent-icon:before {
	background-position: -165px -200px ;
	width: 70px;
	height: 48px;
	position: relative;
	top: 2px;
}
.gulp-icon:before {
	background-position: -319px -100px ;
	width: 22px;
	height: 48px;
}
.html-icon:before {
	background-position: -9px -100px ;
	width: 35px;
	height: 48px;
}
.jquery-icon:before {
	background-position: -150px -113px ;
	width: 100px;
	height: 24px;
	position: relative;
	top: 12px;
}
.js-icon:before {
	background-position: -108px -101px ;
	width: 34px;
	height: 48px;
}
.mysql-icon:before {
	background-position: -311px -207px ;
	width: 69px;
	height: 36px;
	position: relative;
	top: 12px;
}
.node-icon:before {
	background-position: 0 -301px ;
	width: 43px;
	height: 48px;
}
.php-icon:before {
	background-position: -1px -211px ;
	width: 47px;
	height: 24px;
	position: relative;
	top: 12px;
}
.postsql-icon:before {
	background-position: -246px -201px ;
	width: 47px;
	height: 48px;
}
.ps-icon:before {
	background-position: 0 0;
	width: 49px;
	height: 48px;
}
.rabbit-icon:before {
	background-position: -202px -301px ;
	width: 45px;
	height: 48px;
}
.redis-icon:before {
	background-position: -121px -301px ;
	width: 56px;
	height: 48px;
}
.sass-icon:before {
	background-position: -263px -106px ;
	width: 48px;
	height: 36px;
	position: relative;
	top: 7px;
}
.socket-icon:before {
	background-position: -58px -301px ;
	width: 48px;
	height: 48px;
}
.vue-icon:before {
	background-position: -242px -4px ;
	width: 48px;
	height: 42px;
	position: relative;
	top: 4px;
}
.wp-icon:before {
	background-position: -130px 0;
	width: 48px;
	height: 48px;
}
.zend-icon:before {
	background-position: -58px -213px ;
	width: 52px;
	height: 24px;
	position: relative;
	top: 12px;
}

/* Reviews */
.reviews .reviews-title {
	font-family: 'ProximaNovaBlack', sans-serif;
	font-size: 56px;
	margin: 29px 0 85px;
}
.reviews .reviews-items {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.reviews .reviews-item {
	position: relative;
	box-sizing: border-box;
	width: 31%;
	height: 420px;
	background-color: #f2f2f2;
	margin-bottom: 36px;
	color: #000;
    padding: 20px 20px 50px 20px;
}
.reviews-item .reviews-item-name, .popup-review-box .reviews-item-name {
	font-family: 'ProximaNovaExtrabld', sans-serif;
	font-size: 20px;
	text-transform: uppercase;
}
.reviews-item .reviews-item-position, .popup-review-box .reviews-item-position {
	font-family: 'ProximaNovaRegular', sans-serif;
	font-size: 14px;
	line-height: 24px;
	margin: 16px 0 47px;
}
.reviews-item .reviews-item-desc, .popup-review-box .reviews-item-desc {
	font-family: 'ProximaNovaRegular', sans-serif;
	font-size: 16px;
	line-height: 24px;
}
.reviews-item .reviews-item-desc {
	overflow: hidden;
}
.reviews-item .item-icon-image {
    position: absolute;
    left: 20px;
    bottom: 20px;
}
.reviews-item .full-review {
	display: none;
	position: absolute;
	right: 20px;
	bottom: 20px;
	font-family: 'ProximaNovaRegular', sans-serif;
	font-size: 16px;
	text-decoration: underline;
	color: rgba(0,0,0,.48);
	cursor: pointer;
	transition: all .3s;
}
.reviews-item .full-review:hover {
	color: #000;
	text-decoration: none;
}
.reviews-item .reviews-item-logo {
	display: block;
    margin: 0 auto;
    margin-top: 112px;
}
.reviews-item .reviews-item-see {
	position: absolute;
	top: 60%;
	left: 50%;
	font-family: 'ProximaNovaExtrabld', sans-serif;
	font-size: 14px;
	text-transform: uppercase;
	transform: translateX(-50%);
}
.reviews-item .reviews-item-see:after {
	content: "";
	display: inline-block;
	width: 15px;
	height: 2px;
	background-color: #000;
	position: relative;
	top: -4px;
	margin-left: 10px;
	transition: all .3s ease;
}
.reviews-item-9:hover:before {
	opacity: 0;
}
.reviews-item:hover .reviews-item-see:after {
	width: 25px;
}
.reviews-item .reviews-item-write, .reviews-item .reviews-item-time {
	position: absolute;
	bottom: 21px;
	display: none;
}
.reviews-item .reviews-item-write {
	left: 23px;
}
.reviews-item .reviews-item-time {
	right: 23px;
}
.reviews-item .reviews-item-write span, .reviews-item .reviews-item-time span {
	font-family: 'ProximaNovaExtrabld', sans-serif;
	font-size: 16px;
	color: #000;
	padding-left: 13px;
}
.reviews-item .reviews-item-write span {
	letter-spacing: 2px;
}
.reviews-item.reviews-item-5 {
	background-color: #fff;
}
.reviews-item .image-wrapper {
	text-align: center;
	margin-top: 76px;
}

/* Footer */
.footer {
	padding: 179px 0 30px;
}
.footer .container {
	position: relative;
}
.footer .footer-top {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
}
.footer .address-box, .footer .contacts-box {
	width: 31%;
}
.address-box .city {
	font-family: 'ProximaNovaExtrabld', sans-serif;
	font-size: 16px;
	text-transform: uppercase;
}
.address-box .address, .contacts-box p {
	font-family: 'ProximaNovaRegular', sans-serif;
	font-size: 14px;
	line-height: 24px;
	margin: 16px 0 10px;
}
.contacts-box .skype {
	margin-bottom: -17px;
}
.footer .years-box {
	border-top: 1px solid #e5e5e5;
	font-family: 'ProximaNovaRegular', sans-serif;
	font-size: 12px;
	color: #000;
	letter-spacing: 0.2px;
	padding-top: 26px;
	margin-top: 19px;
}
.footer .to-top {
	box-sizing: border-box;
	position: absolute;
	right: 20px;
	top: -30px;
	width: 36px;
	height: 36px;
	border: 2px solid #0112c2;
	transition: all .3s;
}
.footer .to-top:hover {
	color: #fff;
	background-color: #0112c2;
}
.footer .to-top i {
	margin-left: 5.5px;
}

/* send request popup */
#request-popup {
	display: none;
	position: fixed;
	top: 50px;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: #fff;
	z-index: 100;
	opacity: 0;
}
#request-popup .popup-body .popup-title {
    margin: 0 auto;
    font-family: 'ProximaNovaExtrabld', sans-serif;
    font-size: 46px;
    line-height: 10px;
    text-transform: uppercase;
    margin-top: 79px;
    text-align: center;
}
.popup-close {
	position: relative;
	height: 61px;
	background-color: #fafafa;
	cursor: pointer;
}
.popup-close:before, .popup-close:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 27px;
	height: 1px;
	background-color: #232323;
}
.popup-close:before {
	transform: rotate(45deg);
}
.popup-close:after {
	transform: rotate(-45deg);
}
.popup-form {
	width: 60%;
	max-width: 450px;
	margin: 93px auto 0;
	font-size: 18px;
	color: #1d1d22;
}
.popup-form .input-wrapper {
	position: relative;
	margin-top: 7px;
}
.input-wrapper label {
	position: absolute;
	left: 0;
	z-index: -1;
	font-family: 'ProximaNovaRegular', sans-serif;
	transition: all .3s;
}
.input-wrapper .name, .input-wrapper .email, .input-wrapper .phone {
	width: 100%;
	max-width: 100%;
	padding-bottom: 8px;
	outline: none;
	border: none;
	background-color: transparent;
	border-bottom: 2px solid #000;
	transition: all .3s;
}
.input-wrapper .name:focus, .input-wrapper .email:focus, .input-wrapper .phone:focus {
	border-bottom: 2px solid #0112c2;
}
.input-wrapper .name ~ label {
	top: -3px;
}
.input-wrapper .name:focus ~ label, .has-content.name ~ label {
	font-size: 13px;
	color: #0112c2;
	top: -20px;
}
.input-wrapper .email {
	margin-top: 45px;
}
.input-wrapper .email ~ label {
	top: 43px;
}
.input-wrapper .email:focus ~ label, .has-content.email ~ label {
	font-size: 13px;
	color: #0112c2;
	top: 25px;
}
.input-wrapper .phone {
	padding-left: 0;
	padding-right: 0;
	margin-top: 46px;
}
.input-wrapper .phone ~ label {
	top: 43px;
}
.input-wrapper .phone:focus ~ label, .has-content.phone ~ label {
	font-size: 13px;
	color: #0112c2;
	top: 25px;
}
#request-popup .submit-wrapper {
	margin: 35px auto 0;
	position: relative;
	overflow: hidden;
}
#request-popup .popup-submit {
    font-family: 'ProximaNovaExtrabld', sans-serif;
    font-size: 14px;
    width: 100%;
    text-transform: uppercase;
    text-align: center;
    padding: 15px 0;
    color: #fff;
    background-color: #0112c2;
    border: none;
    cursor: pointer;
    transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1);
}
#request-popup .submit-wrapper:after {
	background: #fff;
    content: "";
    height: 110px;
    left: -80px;
    opacity: .8;
    position: absolute;
    top: -35px;
    -webkit-transform: rotate(35deg);
    -ms-transform: rotate(35deg);
    transform: rotate(35deg);
    -webkit-transition: left 1s cubic-bezier(0.19, 1, 0.22, 1);
    transition: left 1s cubic-bezier(0.19, 1, 0.22, 1);
    width: 10px;
    box-shadow: 1px 1px 20px 20px #fff;
}
#request-popup .popup-submit:hover {
	background-color: #000c7e;
}
#request-popup .submit-wrapper:hover:after {
	left: 120%;
}

/* full-review popup */
.review-popup {
	display: none;
	position: fixed;
	top: 50px;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: #fff;
	z-index: 10;
	opacity: 0;
	overflow-y: auto;
}
.review-popup .popup-body .popup-title {
    margin: 0 auto;
    font-family: 'ProximaNovaExtrabld', sans-serif;
    font-size: 45px;
    line-height: 10px;
    text-transform: uppercase;
    margin-top: 79px;
    text-align: center;
}
.popup-close {
	position: relative;
	height: 61px;
	background-color: #fafafa;
	cursor: pointer;
}
.popup-close:before, .popup-close:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 27px;
	height: 1px;
	background-color: #232323;
}
.popup-close:before {
	transform: rotate(45deg);
}
.popup-close:after {
	transform: rotate(-45deg);
}
.review-popup .popup-review-box {
	position: relative;
	width: 80%;
	max-width: 800px;
    background-color: #f2f2f2;
    padding: 20px;
	margin: 50px auto 0;
}
.popup-review-box .item-icon-image {
	margin-top: 50px;
}
.popup-review-box .request {
	position: absolute;
	right: 20px;
	bottom: 20px;
	font-family: 'ProximaNovaExtrabld', sans-serif;
    font-size: 14px;
    text-transform: uppercase;
    padding: 10px 20px;
    border: 2px solid #000;
    cursor: pointer;
    transition: all .3s;
}
.popup-review-box .request:hover {
	color: #fff;
	background-color: #000;
}

/* Media queries */

@media screen and (max-width: 1230px) {
	.project-item .top-corner, .project-item .bottom-corner,
	.project-item .top-corner-inverse, .project-item .bottom-corner-inverse {
		width: 100%;
	}
	.project-item .bottom-corner {
		height: 45%;
	}
	.project-item .bottom-corner, .project-item .top-corner-inverse {
		left: 12px;
	}
	.our-blood .container {
		flex-wrap: wrap;
	}
	.our-blood .blood-title-box {
		width: 100%;
		margin-bottom: 25px;
	}
	.our-blood .blood-desc-box-1, .our-blood .blood-desc-box-2 {
		width: 45%;
		word-wrap: break-word;
	}
}

@media screen and (max-width: 1050px) {
	.first-screen-header .first-screen-title {
		font-size: 64px;
	}
}

@media screen and (max-width: 900px) {
	.first-screen-header .first-screen-title {
		font-size: 56px;
	}
	.project .project-title, .services-desc .desc-title, .reviews .reviews-title {
		font-size: 44px;
	}
	.project-item-1, .project-item-6 {
		width: 100%;
	}
	.project-item-2, .project-item-3, .project-item-4, .project-item-5,
	.project-item-7, .project-item-8, .project-item-9, .project-item-10 {
		width: 45%;
	}
	.project-item.project-item-1 {
		order: 1;
	}
	.project-item.project-item-2 {
		order: 2;
	}
	.project-item.project-item-3 {
		order: 5;
	}
	.project-item.project-item-4 {
		order: 4;
	}
	.project-item.project-item-5 {
		order: 3;
	}
	.project-item.project-item-6 {
		order: 6;
	}
	.project-item.project-item-7 {
		order: 7;
	}
	.project-item.project-item-8 {
		order: 10;
	}
	.project-item.project-item-9 {
		order: 8;
	}
	.project-item.project-item-10 {
		order: 9;
	}
	.services .container {
		flex-direction: column;
	}
	.services-desc {
		width: 45%;
		min-width: 280px;
	}
	.services-skills {
		width: 100%;
	}
	.our-blood {
		padding: 50px 0 50px;
	}
	.technologies .technologies-item {
		width: 25%;
	}
	.reviews .reviews-items {
		justify-content: space-around;
	}
	.reviews .reviews-item {
		width: 45%;
	}
	.reviews-item.reviews-item-5 {
		display: none;
	}
	.footer {
		padding: 50px 0;
	}
	.footer .footer-top {
		flex-wrap: 	wrap;
	}
	.footer .address-box, .footer .contacts-box {
		width: 45%;
	}
	#popup .popup-body .popup-title {
		font-size: 34px;
		line-height: 48px;
		margin-top: 50px;
		padding: 0 10px;
	}
}

@media screen and (max-width: 770px) {
	.first-screen-header .first-screen-title {
		font-size: 48px;
	}
}

@media screen and (max-width: 700px) {
	.request-menu .lang, .request-menu .request {
		margin-right: 16px;
	}
}

@media screen and (max-width: 600px) {
	.first-screen nav a {
		font-size: 44px;
	}
	.project-item .project-item-title, .project-item .small-title {
		font-size: 18px;
	}
	.project-item .small-text {
		font-size: 14px;
		line-height: 20px;
	}
	.technologies {
		padding-bottom: 0;
	}
	.reviews .reviews-item {
		width: 100%;
		height: 300px;
	}
	.reviews-item .reviews-item-logo {
		margin-top: 60px;
	}
	.footer {
		padding: 20px;
	}
	.footer .address-box {
		margin-top: 8px;
	}
	.footer .address-box, .footer .contacts-box {
		width: 100%;
	}
	.popup-form {
		width: 80%;
	}
}

@media screen and (max-width: 550px) {
	.first-screen-logo .logo-text {
		display: none;
	}
	.project .project-item {
		width: 100%;
		overflow: hidden;
	}
	.project .project-item.rectangle img {
		width: auto;
		height: 100%;
	}
	.project-item-2, .project-item-3, .project-item-7, .project-item-8 {
		min-height: 200px;
	}
	.project-item.project-item-3 {
		order: 4;
	}
	.skills-dev-text {
		flex-wrap: wrap;
	}
	.skills-dev-text .first-col {
		width: calc(100% - 40px);
	}
	.skills-dev-text .second-col {
		width: calc(50% - 40px);
	}
	.skills-dev-text .third-col {
		width: calc(50% - 40px);
	}
	.technologies .technologies-item {
		width: 33.3%;
	}
	.reviews-item .reviews-item-desc {
		/*max-height: 95px;*/
		overflow: hidden;
	}
	#request-popup .popup-body .popup-title {
		font-size: 36px;
		line-height: 40px;
	}
}

@media screen and (max-width: 450px) {
	/*.request-menu .request {
		font-size: 12px;
		padding: 6px 7px;
	}*/
}

@media screen and (max-width: 400px) {
	.first-screen nav a {
		font-size: 38px;
	}
	.project .project-title, .services-desc .desc-title, .reviews .reviews-title {
		font-size: 36px;
	}
	.nav-button .menu {
		margin-right: 45px;
	}
	.first-screen-header .first-screen-title {
		font-size: 40px;
	}
	.project-item .project-item-title {
		font-size: 16px;
	}
	.technologies .technologies-item {
		width: 50%;
	}
	.our-blood .blood-desc-box-1, .our-blood .blood-desc-box-2 {
		width: 100%;
	}
}






.box {
    overflow: hidden;
    height: 200px;
    width: 300px;
    line-height: 25px;
}

.box:before {
    content: "";
    float: left;
    width: 5px;
    height: 200px;
}

.box > *:first-child {
    float: right;
    width: 100%;
    margin-left: -5px;
}		

.box:after {
    content: "\02026";
    box-sizing: content-box;
    float: right;
    position: relative;
    top: -25px;
    left: 100%; 
    width: 3em;
    margin-left: -3em;
    padding-right: 5px;	
    text-align: right;
    background-size: 100% 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0), white 50%, white);
}