* {margin: 0; padding: 0; outline: none; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;}
html {height: 100%;}
body {height: 100%; min-height: 100%; font: normal 112.5%/1.4 'proxima_nova_regular', Georgia, Verdana, Arial; color: #424242;}

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

a {color: #424242; cursor:pointer;}
a img {border:none;}

p { margin:0 0 1em 0; }

strong {font: normal 1em/1.4 'proxima_nova_bold';}
em {font: normal 1em/1.4 'proxima_nova_italic';}

ol {margin: 0 0 1.25em 1.25em;}
ol li {margin: 0 0 0.4em 0;}
ul {margin: 0 0 1.5em 0;}
ul li {margin: 0 0 10px 30px; list-style: none;}
ul li:before {content: '\2014'; color: #ff954a; margin: 0 15px 0 -30px;}

h1 {font: normal 2.4em/1.0 'proxima_nova_regular'; margin: 0 0 1.25em 0;}
h2 {font: normal 2.4em/1.0 'proxima_nova_regular'; margin: 0 0 1.25em 0;}
h3 {font: normal 2.4em/1.0 'proxima_nova_regular'; margin: 0 0 1.25em 0;}

/* Grid */
#pageWrap {min-width: 1000px; min-height:100%; background: #fff; overflow: hidden;}
#headWrap {min-width: 1000px; width: 100%; height: 70px; background: #ff964a; position: fixed; top: 0; z-index: 100;}
header, footer, .widthFix {max-width: 1400px; margin: 0 auto; padding: 0 25px; position: relative;}

.spacer {clear: both;}
.greyBg {background: #e9e9e9; position: relative;}
.bgLayer {width: 100%; position: absolute; left: 0; top: 0; z-index: 1;}
.txtLayer {position: relative; z-index: 3;}
.heightFix {height: 670px;}
.leftCol {width: 25%; float: left;}
.rightCol {width: 25%; float: right;}
.mainCol {width: 50%; float: left; padding: 0 25px;}

.big {font: normal 1.55em/1.2 'proxima_nova_regular'; color: #010101;}
.H1 {font: normal 2.4em/1.0 'proxima_nova_regular'; margin: 0 0 25px 0; color: #010101;}

/* Header */
#logo {width: 283px; height: 46px; float: left; margin: 12px 0; background: url(../img/logo.png) 0 0 no-repeat; cursor: pointer;}
#menuWrap {margin: 0 0 0 310px;}
menu {width: 100%; display: table;}
menu li {display: inline-block; vertical-align: middle; height: 70px;}
menu li a {display: block; text-decoration: none; font: normal 1em/1.4 'proxima_nova_regular'; color: #fff; height: 70px; padding: 18px 37px 18px 18px; -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; -ms-transition: all 0.5s ease; transition: all 0.5s ease;}
menu li a.act, menu li a:hover {background: #404040; color: #fff;}
menu li a .small {color: #b46a35; font: normal 0.625em/1.0 'proxima_nova_regular';}
menu li a.act .small, menu li a:hover .small {color: #b8b8b8;}

/* Sections */
section {position: relative;overflow: hidden;}
.pictogram {max-width: 264px;}
.pictogram img {display: block; width: 100%; height: auto;}
#about {padding: 70px 0 0 0;}
#pic01 {position: absolute; left: 25px; bottom: 25px;}
#img01 {width: 1006px; height: 485px; padding: 25px 0 0 0;}
#img02 {width: 431px; position: absolute; right: 0; bottom: 0; z-index: 2;}
#img02 img {width: 100%; height: auto; display: block;}
#txt01 {margin: 0 0 0 550px; padding: 190px 0 0 0; max-width: 710px;}
#txt02 {width: 880px; display: flex;justify-content: space-between; align-self: end; position: absolute; right: 0; bottom: 30px;}
#txt02 p {max-width: 390px;}
#txt03 {margin: 50px 155px 25px 310px;}
#txt04 {margin: 25px 155px 50px 310px;}

#services {padding: 40px 0 25px 0;}
#pic02 {margin: -15px 0 50px 0;}
#img03 {width: 429px; height: 423px; margin: 100px 0 0 0; float: right;}
.niceBlock {font: normal 0.875em/1.4 'proxima_nova_regular'; position: relative; z-index: 1;}
.niceBlock img {display: block; margin: 0 0 25px 0;}
#logos {white-space: nowrap; margin: 0 0 40px 0;}
#logos img {display: inline-block; vertical-align: middle; margin: 0 0 0 25px;}
#logos img:first-child {margin: 0;}
#services .rightCol {font: normal 0.875em/1.4 'proxima_nova_regular'; }
#loadLink {color: #089bb5; margin: 0 0 0 58px;}
#loadLink span {display: inline-block; vertical-align: middle; width: 48px; height: 48px; background: url(../img/load.jpg) 0 0 no-repeat; margin: 0 10px 0 -58px;}

#personal {padding: 40px 0 25px 0;}
#img04 {width: 577px; height: 422px; position: absolute; top: 25px; right: 25px; z-index: 1;}
#img07 {width: 426px; height: 206px; float: right; margin: 0 380px 0 0; position: relative; z-index: 0;}
#pic03 {float: left; }
#personal #pt01 {margin: 0 620px 1em 0;}
#personal #pt02 {margin: 0 775px 1em 0;}
#personal .personalTable {width: 60%; float: left; margin: 50px 0 0 25px; position: relative; z-index: 2;}
#personal .personalTable table {width: 100%;}
#personal .personalTable table a {border-bottom: 1px dotted #089bb5; text-decoration: none; color: #089bb5;}
table {border-collapse: collapse; border-spacing: 0;}
caption {text-align: left; margin: 0 0 25px 0; font: normal 1em/1.4 'proxima_nova_bold';}
table tbody tr:nth-child(odd) {background: #f2f2f2;}
table tr th {font: normal 0.875em/1.4 'proxima_nova_regular'; color: #999; background: #fff; text-align: left; padding: 2px 8px;}
table tr td {font: normal 0.875em/1.4 'proxima_nova_regular'; padding: 2px 8px;}

.modalBox {display: none; width: 590px; position: fixed; left: 50%; top: 50%; z-index: 100; margin: -180px 0 0 -290px; background: #fff; border: 3px solid #ff964a; padding: 20px; -webkit-box-shadow: 0 0 10px rgba(18, 16, 11, 0.5); -moz-box-shadow: 0 0 10px rgba(18, 16, 11, 0.5); box-shadow: 0 0 10px rgba(18, 16, 11, 0.5); }
.modalBox p {font: normal 0.875em/1.4 'proxima_nova_regular';}

#equipment {padding: 40px 0 0 0;}
.equipLink {border-bottom: 1px dotted #089bb5; text-decoration: none; color: #089bb5;}
#img06 {width: 291px; height: 519px;}
#equipment .niceBlock {margin: 30px 0 0 0;}
#pic04 {margin: 0 0 50px 0;}
#equipment .leftCol {font: normal 0.875em/1.4 'proxima_nova_regular'; }

.equipBox {display: table; width: 800px; height: 525px;}
.equipBox .description, .equipBox .image {display: table-cell; vertical-align: middle;}
.equipBox .description {width: 60%; padding: 0 25px 0 0;}
.equipBox .image {text-align: center; background: #e9e9e9; width: 40%;}

/* Contacts */
#mapBox {height: 505px; border-top: 1px solid #404040;}
.contactList {display: flex; padding: 0 265px 0 0;}
.contactList img {position: absolute; right: 25px; bottom: 30px;}
.contactList .contact {width: 33%; padding: 20px 20px 20px 0;}
.contactList .phone {text-decoration: none;}
.contactList .mail {color: #6610f2;}

.addressList {display: flex; align-items: end; padding: 50px 25px 0 25px;}
.addressList .address {background: #fff; padding: 20px; margin: 0 20px 0 0; transition: all .3s ease; cursor: pointer;}
.addressList .address.active {background: #404040; color: #fff;}
.addressList .address .title {font: normal 1em/1.4 'proxima_nova_bold'; margin: 0 0 10px 0;}
.addressList .address .phone {text-decoration: none;}

/* Sloder */
.js-modal {display: none; width: 100%; height: 100%; position: fixed; left: 0; top: 0; z-index: 9999; background: rgba(0, 0, 0, 0.7);}
.js-modal .viewport {padding: 50px 25px 25px 25px; background: #fff; position: absolute; left: 50%; top: 50%;}
.prevArr, .nextArr {width: 72px; height: 144px; position: absolute; top: 50%; margin: -72px 0 0 0; cursor: pointer;}
.prevArr {left: -72px; background: #313132 url(../img/arrows.png) 0 0 no-repeat;}
.nextArr {right: -72px; background: #313132 url(../img/arrows.png) 100% 0 no-repeat;}
.js-modal .viewport .slide {position: absolute; display: none;}
.js-modal .js-close {position: absolute; top: 15px; right: 25px; cursor: pointer;}
.js-open, .visible > img {cursor: pointer;}

#imgSlider .viewport {width: 1250px; height: 784px; margin: -382px 0 0 -625px;}
#imgSlider .thumbs {text-align: center; height: 169px; overflow: hidden; font-size: 0;}
#imgSlider .thumbs div {display: inline-block; width: 286px; margin: 0 0 0 25px; position: relative;}
#imgSlider .thumbs div:first-child {margin: 0;}
#imgSlider .thumbs div img {display: block; width: 100%; height: auto;}
#imgSlider .thumbs div img.mask {position: absolute; left: 0; top: 0; -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; -ms-transition: all 0.5s ease; transition: all 0.5s ease;}
#imgSlider .thumbs div:hover img.mask {-moz-opacity: 0; -khtml-opacity: 0; opacity: 0; filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}
#imgSlider .slide img {display: block; width: 1200px; height: auto;}

#equipSlider .viewport {width: 850px; height: 650px; margin: -325px 0 0 -425px;}

.paraLayerDown, .paraLayerUp {position: relative;}

@media screen and (max-width: 1400px) {
	#imgSlider .viewport {width: 1030px; height: 655px; margin: -320px 0 0 -515px;}
	#imgSlider .slide img {width: 980px;}
	#img02 {width: 400px;}
	#txt01 {margin: 0 0 0 485px;}
}

@media screen and (max-width: 1200px) {
	menu li a {padding: 18px 30px 18px 10px;}
	#txt01 {margin: 0 0 0 450px; padding: 150px 0 0 0;}
	#txt01 .big {font: normal 1.4em/1.2 'proxima_nova_regular';}
	#txt02 {bottom: 15px;}
	#txt03 {margin: 50px 70px 25px 310px;}
	#txt04 {margin: 25px 70px 50px 310px;}
	#personal .tableCol {width: 70%;}
	#img05 {float: right;}
	#imgSlider .viewport {width: 850px; height: 548px; margin: -274px 0 0 -425px;}
	#imgSlider .slide img {width: 800px;}
	#img02 {width: 380px; right: -35px;}
}