@font-face {
	font-family: "trajan pro 3";
	src: url("../font/TrajanPro3.otf");
	font-weight: normal;
	font-style: normal;
  }

@media only screen and (min-width: 769px) {
	#menu {
		display:block !important;
	}
}


@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (-moz-min-device-pixel-ratio: 1.5),
only screen and (-o-min-device-pixel-ratio: 3/2),
only screen and (min-device-pixel-ratio: 1.5) {
	
	#footer, #header, body {
		background-image:url(../img/egg_shell_-2x.jpg) !important;
	}

	#mainSpot {
		background-image:url(../img/rockywall_-2x.jpg) !important;
	}

	#servicesPage #base .column .linksList li a, #categoryPage .column .linksList li a, #mainSpot .categoryLink {
		background-image: url(../img/arrow_-2x.jpg) !important;
	}

	#header .linkAway, #menu .linkAway {
		background-image:url(../img/external_-2x.jpg) !important;
	}
	
	#header .contacts .phone, #menu .phone, #footer .phone {
		background-image:url(../img/phone_-2x.jpg) !important;
	}
	
	#header .contacts .mail, #menu .mail, #footer .mail {
		background-image:url(../img/mail_-2x.jpg) !important;
	}

	#footer .address {
		background-image:url(../img/pin_-2x.jpg) !important;
	}

	.f-field .jq-selectbox__trigger {
		background-image: url(../img/dropDownArrow_-2x.jpg) !important;

	}

	#contactsPage  .contactsList .address p {
		background-image: url(../img/addressCircle_-2x.jpg) !important;
	}
	
	#contactsPage  .contactsList .phone a {
		background-image: url(../img/phoneCircle_-2x.jpg) !important;
	}
	
	#contactsPage  .contactsList .mail a {
		background-image: url(../img/mailCircle_-2x.jpg) !important;
	}
	
	#contactsPage  .contactsList .facebook a {
		background-image: url(../img/facebookCircle_-2x.jpg) !important;
	}

	#lightbox .contacts .phone {
		background-image: url(../img/phoneC_-2x.jpg) !important;
	}
	
	#lightbox .contacts .mail {
		background-image: url(../img/mailC_-2x.jpg) !important;
	}
}


#footer, #header, body {
    background-color: rgb(60, 64, 96);
    background-image:url(../img/egg_shell.gif);
	background-size: 256px;
    background-attachment: fixed;
    background-position: 0 0;
}

#header {
	position: relative;
	z-index:1;
}

.logoHolder {
	display:block;
	float:left;
	max-width: 46%;
	margin: 0.5em 2em 0 0;
}

.button {
	margin:0;
	display:block;
	font: 300 1em/1.5em 'Open Sans', arial, sans-serif;
	padding: 0.7em 1em;
	text-align: center;
	text-transform: uppercase;
	color: rgb(255, 255, 255) !important;
	border-radius: 6px;
	letter-spacing: 0.15em;
	cursor: pointer;
	text-decoration: none;
	background-color: #505580;
	box-shadow: 0 4px 0px rgb(60,64,96);
}

#header ul li:last-child a, #footer ul li:last-child a {
	border-bottom: none !important;
}

#header .linkAway, #menu .linkAway {
	background-image: url(../img/external.png);
	background-size: 24px;
	clear: left;
}

#header .contacts .phone, #menu .phone, #footer .phone {
	background-image: url(../img/phone.png);
	background-size: 24px;
}

#header .contacts .mail, #menu .mail, #footer .mail {
	background-image: url(../img/mail.png);
	background-size: 149px 24px;
	width: 149px;
	text-decoration: none;
	box-sizing:border-box;
	-moz-box-sizing:border-box;
}


#header .contacts {
	float: left;
	border-left: solid 1px rgb(128, 134, 168);
	padding: 1em 0 0 1.5em;
}

.wrapper {
	margin:0 auto;
	padding: 0 20px;
	max-width: 1024px;
	position: relative;
}

#base .wrapper, #subContent .wrapper, #mainSpot .wrapper {
	padding:0!important;
}


#side, 
#servicesPage .column,
#categoryPage .column,
form
{
	padding-left: 3%;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
}

h1,
h2,
h3,
p {
	padding-left: 3%;
	padding-right: 3%;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
}
ul {
	margin-left: 3%;
	padding: 0;
	list-style-position:inside;
}
.subColumn, 
.contactsList {
	padding-right: 3%;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
}


#header .contacts a {
    float: left;
    font: 300 1em/1.5em 'Open Sans', sans-serif;
    color: rgb(255, 255, 255);
	background-position: 0 0;
    background-repeat: no-repeat;
    padding-left: 1.7em;
    margin: 0px 0px 0.5em;
}

#header .contacts .phone {
	clear:left;
    margin-right:2em;
}

#header .wrapper {
	padding-top: 30px;
	padding-bottom:30px;
}

#menu {
	padding: 0.7em 0;
	background-color: transparent;
    border-top: solid 1px rgb(128, 134, 168);
/*
	background-image:url(../img/egg_shell.gif);
	background-attachment: scroll;
	background-position: center center;
*/
}

#header #menu .wrapper {
	padding-top:0;
	padding-bottom:0;
}

#menu ul {
    list-style:none;
    float: left;
    margin: 0;
    padding: 0;	
}

#menu ul li {
	display:inline-block; 
    margin: 0 35px 0 0;
	padding:0;
}

#menu ul li.active {
    border-bottom: solid 3px rgb(128, 134, 168);
}

#menu ul li a {
	display:block;
	font-size: 1em;
	text-align: center;
	line-height: 1.2em;
	font-family: 'Open Sans', arial, sans-serif;
	padding: 0.8em 0;
	color: rgb(255, 255, 255);
	font-weight: 300;
	text-decoration:none;
	transition: all 0.3s ease;
}

#menuButton {
	float: left;
	line-height: 2.8em;
	padding: 0 1em;
	display: none;
	box-shadow: none;
	background-color: transparent;
	border: 1px solid rgb(255, 255, 255);
	transition: all 0.3s ease;
}

#menu .menuContacts {
	float: left;
}

#menu .menuContacts a {
	display: none;
	font: 300 1em/1.5em 'Open Sans', arial, sans-serif;
	padding: 0.5em 0.5em 0.5em 1.7em;
	margin: 0;
	color: rgb(255, 255, 255);
	background-position: 0 center;
	background-repeat:no-repeat;
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
}

#menu .menuContacts .contactButton {
	display: block;
	background-color: transparent;
	border: 1px solid rgb(255, 255, 255);
	box-shadow: none;
	padding: 0.6em 1em;
	transition: all 0.3s ease;
}

#menu .menuContacts .contactButton:hover, #menuButton:hover {
	background-color: #505580;
}


/*Footer snap to bottom*/

html, body {
	height: 100%;
}

body > .primaryContainer {
	height: auto;
	min-height: 100%;
}

.primaryContainer {
	background-color:#fff;
}

#footer {
	position: relative;
	margin-top: -8em;
	clear:both;
}

.primaryContainer >:last-child {
	padding-bottom: 11em !important;
}



/* Footer part  */

#footer {
	padding: 1em 0 2em;
}

#footer .menu {
	float:left;
	font: 300 1em/1.5em 'Open Sans', arial, sans-serif;
	margin: 0;
	padding: 0 0 0.5em 0;
	width:60%;
}

#footer .menu li {
	display:inline-block;
	margin-right: 1em;
}

#footer .menu li a {
	display: block;
	padding: 0.5em 0;
	color: #fff;
}

#footer .contacts {
	float: right;
	width:40%;
	margin: 0;
}

#footer .contacts span,
#footer .contacts a {
	display: inline-block;
	font: 300 1em/1.5em 'Open Sans', arial, sans-serif;
	color: rgb(255, 255, 255);
	padding: 0.5em 0 0.5em 1.7em;
	background-position: left center;
	background-repeat: no-repeat;
}

#footer .phone {
	margin-right:1em;
}

#footer .contacts .address {
	background-image:url(../img/pin.png);
	background-size: 24px;
}

#footer .copyright {
	text-align:left;
    font-weight: 300;
    line-height: 1.5em;
    font-family: 'Open Sans', arial, sans-serif;
    color: rgb(255, 255, 255);
}




/*Lightbox part*/

.errorMessage {
	padding: 0;
	margin-bottom: 1em;
	color: #a13032 !important;
}

.lightboxWrapper {
	position:absolute;
    width: 100%;
	height: 1200px;
	z-index: 50;
}

.lightboxShade {
	background-color: #3c4060;
	opacity: 0.4;
	height: 100%;
	width: 100%;
	position: fixed;
}

#lightbox, #lightbox_success {
	margin:50px auto 0;
	background-color: #ffffff;
	width: 90%;
	max-width: 640px;
	border-radius: 6px;
	position: relative;
	z-index: 100;
	transform: translate3d(0,0,0);
}

#lightbox h2, #lightbox_success h2 {
	padding: .7em 85px 0.5em;
	font: 1.3em/2em "trajan pro 3", serif;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin: 0;
	color: #333333;
	background-color: #f2f2f2;
	border-radius: 6px 6px 0 0;
}

#lightbox .closeButton, #lightbox_success .closeButton {
	position:absolute;
	right: 1em;
	top: 1em;
	width: 1em;
	padding:0.5em;
}

#lightbox form {
	padding: 34px 85px;
}

.f-field {
	padding-bottom: 1.15em;
}

.f-field label {
	float: left;
	font: 1em/1.2em 'Open Sans', sans-serif;
	color: rgb(51, 51, 51);
	padding: 0.35em 1em 0.35em 0;
	margin-right: -3px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

.b-textarea label {
	display:none;
}

.f-field input[type="text"],
.f-field input[type="email"],
.f-field input[type="tel"],
.f-field textarea,
.f-field select,
.f-field .jq-selectbox-wrapper {
	float: right;
	width: 65%;
	font: 1em/2em 'Open Sans', sans-serif;
	height: 2em;
	border-radius: 4px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	outline:none;
}
.f-field input[type="text"],
.f-field input[type="email"],
.f-field input[type="tel"],
.f-field textarea {
	padding: 0 0.5em;
	border: 1px solid #3c4060;
	-webkit-appearance:none;
}

.f-field textarea {
	float:none;
	width:100%;
	height: auto;
	line-height: 1.5em;
	padding: 0.5em;
}


input[type="submit"] {
	border:0 none;
	outline:none;
	width:220px;
}

.f-field .jq-selectbox {
	width: 100% !important;
}

.f-field .jq-selectbox__select-text {
	cursor: pointer;
	color: #333333;
	border: 1px solid #3c4060;
	padding: 0 0.5em;
	height: 2em;
	line-height: 1.85em;
	border-radius: 4px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	white-space:nowrap;
	overflow:hidden;
}

.f-field .jq-selectbox__trigger {
	cursor: pointer;
	width: 1.9em;
	height:100%;
	position:absolute;
	right:0;
	top:0;
	background: url(../img/dropDownArrow.png) no-repeat;
	background-position: 0.7em 0.8em;
	background-size:10px;
	border-radius: 0 4px 4px 0;
}

.f-field .jq-selectbox__dropdown {
	width: 100%;
	background-color: #fff;
	border: 1px solid #999;
	box-shadow: 0 3px 15px rgba(60,64,96,0.3);
	margin-top: -1px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	border-radius: 0 0 4px 4px;
}

.f-field .jq-selectbox ul {
	margin:0;
	padding: 0.5em 0;
	line-height: 1.25;
}

.f-field .jq-selectbox ul li {
	padding: 0.2em 1em;
	color: #333333;
	cursor: pointer;
	transition: all 0.2s ease-out;
}

.f-field .jq-selectbox.opened .jq-selectbox__select-text {
	border-radius: 4px 4px 0 0;
}


.f-field .jq-selectbox ul li:hover,
.f-field .jq-selectbox ul li:focus {
	color: #fff;
	background-color:#999;
}

.f-field input[type="text"]:focus,
.f-field input[type="email"]:focus,
.f-field input[type="tel"]:focus,
.f-field textarea:focus {
    box-shadow: 0 3px 15px rgba(60,64,96,0.3);
    border: 1px solid #999;
}
.focused .jq-selectbox__select {
    box-shadow: 0 3px 15px rgba(60,64,96,0.3);
}
input[type="submit"]:hover, input[type="submit"]:focus {
    box-shadow: 0 4px 0px rgb(60,64,96), 0 5px 7px rgba(60,64,96,0.5);
}
 
.arrorField input[type="text"],
.arrorField input[type="email"],
.arrorField input[type="tel"],
.arrorField textarea,
.arrorField .jq-selectbox__select-text {
    border: 2px solid #a13032;
}

.arrorField label {
    color: #a13032;
}

.arrorField textarea:focus {
    margin-bottom:2px;
}

#lightbox .button, #lightbox_success .button {
	width:220px;
}

#lightbox .contacts {
	border-top: 1px dashed #dadada;
	padding: 20px 85px 10px;
	text-align:center;
	letter-spacing: 4em;
}

#lightbox .contacts a {
	letter-spacing:normal;
    display:inline-block;
	height:2.1em;
	font: 1em/1.7em 'Open Sans', sans-serif;
    color: rgb(60, 64, 96);
    white-space:nowrap;
	text-decoration:none;
	margin-bottom: 0.5em;
	background-size: 24px;
	background-position: left 0.1em;
	background-repeat: no-repeat;
	padding-left: 26px;
}

#lightbox .contacts .phone {
	background-image: url(../img/phoneC.png);
}

#lightbox .contacts .mail {
	background-image: url(../img/mailC.png);
	background-size: 149px 24px;
	width:120px;
}

#lightbox .contacts a:hover hr {
	-webkit-transform:scaleX(1.07);
	-moz-transform:scaleX(1.07);
	-o-transform:scaleX(1.07);
	-ms-transform:scaleX(1.07);
	transform:scaleX(1.07);
}

#lightbox .contacts a img {
	display:inline-block;
	vertical-align:text-bottom;
	margin-right:0.5em;
}

#lightbox .contacts a hr {
	margin:0;
	border-color: rgb(60, 64, 96);
	transition: all 0.2s ease-out;
	margin-left: -24px;
}

.successMessage {
    padding: 30px 20px 44px 85px;
}
.successMessage p {
    font: 1em/1.3em 'Open Sans', sans-serif;
    margin-bottom:2em;
	padding:0;
}



/* Main page content part */

/* Every page */

#base {
    background-color: rgb(255, 255, 255);
	padding-top: 4em;
	overflow: auto;
	padding-bottom: 3em;
}

#base h1{
	font: 2.3em/1.2em "trajan pro 3", serif;
	letter-spacing: 0.15em;
	text-transform:uppercase;
    margin: 0 0 1em 0;
	color: #444444;
}

#base h2 {
	font: 300 2.5em/1.2em 'Open Sans', arial, sans-serif;
    margin: 0 0 0.6em 0;
    color: #444444;  
}

#base h3 {
	font: bold 1em/1.2em 'Open Sans', arial, sans-serif;
	color: #444444;
}

#base p, #subContent p {
	font: normal 1em/1.5em 'Open Sans', arial, sans-serif;
    margin: 0 0 0.75em 0;
    color: rgb(51, 51, 51);
}

#base .introParagraph, #subContent .introParagraph {
	font-size: 1.2em;
	font-family: 'Open Sans', arial, sans-serif;
	margin-bottom: 1.5em;
}

#base a, #subContent a {
	color: #5c6294;
}

#base ul, #subContent ul {
	font: normal 1em/1.5em 'Open Sans', arial, sans-serif;
}

li {
    padding:0 0 0.4em 0;
}

#subContent {
    background-color: #f2f2f2;
    padding-bottom: 3em;
	padding-top: 4em;
    overflow: hidden;
}

#subContent h2 {
    text-transform: uppercase;
    color: #a13032;
    font: 1.5em/1em "trajan pro 3", serif;
    letter-spacing: 0.23em;
    padding: 0;
	margin: 0 0 1em;
}

#subContent .titleComment {
	display:block;
	max-width:500px;
	margin:0 auto;
	font: 1em/1.4em 'Open Sans', sans-serif;
	padding-bottom: 1em;
}

#subContent hr {
	height: 3px;
	width: 40px;
	margin: 0 auto;
	margin: 0 auto 1.3em;
	background-color: #a13032;
	border: none;
}


/* Index page */

#mainSpot {
	position:relative;
	overflow:hidden;
	border-bottom: 3px solid #dadada;
	background-color: #f2f2f2;
	background: url(../img/rockywall.png) center bottom fixed;
	background-size: 500px;
}

#mainSpot img {
	width: 290px;
	margin: 0;
	padding: 0;
	margin-top: 20px;
	margin-bottom: 0;
	position:absolute;
	bottom:0;
	left:0;
}

#mainSpot h1 {
	font-family: "trajan pro 3", serif;
	font-style: normal;
	font-weight: 400;
	text-transform: uppercase;
	font-size: 2.9em;
	line-height: 1.5em;
	padding: 1.7em 3%;
	margin: 10px 0 0 30%;
	color: #333333;
	position: relative;
	z-index: 5;
	width: 69%;
	max-width: 560px;
	display: inline-block;
	vertical-align: middle;
}

#mainSpot .linksHolder {
	display:none;
}

#indexPage #main {
	float:left;
    width: 68%;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

#indexColumn {
	width:32%;
	float:left;
	padding-left: 3%;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

#indexColumn h2 {
	padding: 0;
	font-size: 1.5em;
	margin: 0.5em 0 0.75em 0;
}

#indexColumn .categoryLink {
	display:block;
	padding: 0.4em 0;
}
#indexColumn .button {
	width:230px;
	padding: 0.7em 0; 
	margin-top: 1.2em;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}



/* Services page */

#servicesPage #base .column {
    width: 35%;
	float: left;
    padding-right: 1.5em;
	padding-top: 0.5em;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

.subColumn {
    width:30%;
	float: left;
	padding-top: 1em;
	padding-left: 1.5em;
	border-left: 2px solid #dadada;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

#servicesPage #base .column h2 {
	padding: 0;
	font-size: 1.8em;
	margin:0 0 1em 0;
}

.subColumn h3 {
	padding: 0;
	margin:0 0 1em 0;
}

#servicesPage #base .column .linksList, #categoryPage .column .linksList, .subColumn .linksList {
    list-style: none;
    margin: 0 0 1.5em;
	padding-right: 0;
}

#servicesPage #base .column .linksList li, #categoryPage .column .linksList li {
    padding: 0 1em 0 0;
	margin-bottom: 0.75em;
}

#servicesPage #base .subColumn .linksList li {
    padding: 0 1em 0.75em 0;   
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

#servicesPage #base .column .linksList li a, #categoryPage .column .linksList li a {
	padding:0.2em 0 0.2em 1.3em;
	display:inline-block;
	background-position:left 0.65em;
	background-image: url(../img/arrow.png);
	background-repeat: no-repeat;
	background-size: 10px;
}




/* Category page */

#categoryPage .column {
	width:70%;
	float:left;
	padding-right:20px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

#categoryPage .column h1 {
	padding-left: 0;
	margin-bottom: 0.75em;
}




/*Profile page*/

#profilePage .intro, #profilePage .mainInfo {
	float:right;
	clear:right;
	width:49%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#profilePage .photoHolder {
	width: 45%;
	margin: 0 3%;
	float:left;
	border-radius:6px;
	overflow: hidden;
	box-sizing: border-box;
	-moz-box-sizing:border-box;
}

#profilePage #subContent {
	text-align: center;
}

#profilePage .photoHolder img {
	width:100%;
}

#profilePage .mainDiplomImg {
	display:block;
	margin:0 auto;
	width:100%;
	max-width:960px;
}



/* Contacts part */

#contactsPage #base form {
    z-index:1; 
    position:relative;
    width:58%;
    margin-right:7%;
    float:left;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

#contactsPage .contactsList {
    width:35%;
    float:right;
    margin:0;
    list-style: none;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

#contactsPage  .contactsList li a, #contactsPage  .contactsList li p {
	padding: 0.4em 0.75em 0.4em 2.5em;
	margin: 0 0 0.75em 0;
	display:inline-block;
	line-height:1.3em;
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 32px;
}

#contactsPage  .contactsList .address p {
	background-image: url(../img/addressCircle.png);
}

#contactsPage  .contactsList .phone a {
	background-image: url(../img/phoneCircle.png);
}

#contactsPage  .contactsList .mail a {
	background-image: url(../img/mailCircle.png);
	background-size: 170px 32px;
	width: 170px;
	text-decoration:none;
}

#contactsPage  .contactsList .facebook a {
	background-image: url(../img/facebookCircle.png);
}


/* Service group part*/

#serviceGroupPage #priceContent {
    font: 1em/1.5em 'Open Sans', arial, sans-serif;
	width:65%;
	float:left;
	border-collapse:collapse;
	border-top: 3px solid #dadada;
}

#serviceGroupPage td {
	padding: 0.85em;
	border-bottom: 1px dashed #dadada;
}

#serviceGroupPage .priceCell {
	width:15%;
}

#serviceGroupPage .serviceCell, #serviceGroupPage thead td, #serviceGroupPage tfoot td {
	padding-left:5%;
}

#serviceGroupPage thead {
	border-bottom: 3px solid #dadada;
	font-style: italic;
	background-color: #f2f2f2;
}

#serviceGroupPage tfoot {
	border-top: 3px solid #dadada;
}

.commentCell {
	font-size: 0.85em;
}
#serviceGroupPage tfoot td {
	border: none;
}

#serviceGroupPage tfoot .button {
	float:left;
}

#serviceGroupPage .subColumn {
	margin-left:5%;
}

#serviceGroupPage .subColumn ul {
	list-style: none;
	padding: 0;
	margin-bottom: 3em;
	margin-left: 0;
}

#serviceGroupPage .subColumn h3 {
	padding-left:0;
}

#serviceGroupPage .subColumn h2 {
	padding-left: 0;
	background-size: 2.25em;
	margin-bottom: 1em;
	font-size: 1.5em;
}

#serviceGroupPage #subContent p {
	max-width: 680px;
}

#serviceGroupPage #subContent li {
	list-style-position:outside;
	margin-left:20px;
	max-width: 620px;
}

/*articlePage*/

#articlePage #main {
	width: 70%;
	float:left;
}

#articlePage #main h2 {
	font-size: 1.6em;
	margin-bottom: 1em;
	margin-top: 1em;
}
#articlePage #main ul {
	margin-left:40px;
	list-style-position:outside;
	padding-left:0px;
}

#articlePage #main ul p {
	padding-left:0;
}

#articlePage #main li {
	padding-bottom:1em;
}

#articlePage #side {
	max-width:300px;
	padding-left:2em;
}

.floating {
	left: 0;
	top: 0;
}