html {background: #65657f;} /* fouc */
body {
  font-size: 100%;
  color: #000;
  background: #65657f;
  margin: 0;
  padding: 0;
}

#page {
  font: 14px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif;
}

a, a:visited {
  color: #9393a5;
  text-decoration: none;
  text-shadow: #000 1px 1px 1px;
}
a:hover {color: #fc6;}
a:active {color: #8a8a9e; background: 0;} /* ie 10 bkg */
a:hover, a:active {text-shadow: #000 1px 1px 1px;}

h2, h3 {
  font-family: Georgia, serif;
  font-weight: bold;
  font-style: italic;
  line-height: normal;
  margin: 12px 0 6px;
  text-shadow: #8a8a9e 1px 1px 2px;
}

h2 {font-size: 20px;}  /* was 1.5em */
h3 {font-size: 16px;}  /* was 1.25em */

/* general
------------------------------------------ */
.mtop {margin-top: 0px;}
.mbot {margin-bottom: 0px;}
.mnot {margin-top: 0px; margin-bottom: 0px;}
.martop {margin-top: 12px;}
.marbot {margin-bottom: 12px;}
.martop2 {margin-top: 24px;}
.clear {clear: both;}
.center {text-align: center;}
.alignleft {text-align: left;}
.alignright {text-align: right;}
.justify {text-align: justify;}
.i {font-style: italic;}
.b {font-weight: bold;}
.small {font-size: 12px;}
a img {border: 0;}
img {vertical-align: middle;}
p {margin: 1em 0;}
.divider {margin-top: 6px;}
#w3 {float: right; margin-right: -6px;}
#trk {margin-left: -60px;}

.clearfix:after {
  content: " ";
  display: block;
  /* height: 0; */
  clear: both;
  /* visibility: hidden; */
}
.clearfix {
  *zoom: 1;
}

/* layout
------------------------------------------ */
.header, #content, .footer {
  max-width: 64em; /* 1024px */
  margin: 0 auto;
  padding: 0 10px;
}
/* give ie8 a desktop layout */
.lt-ie9 .header, .lt-ie9 #content, .lt-ie9 .footer {
  min-width: 48em; /* 768px */
}

#wrapper {
  border-top: 1px solid #1e1e26;
  border-bottom: 1px solid #8a8a9e;
}

#wrap {
  border-top: 1px solid #4c4c60;
  border-bottom: 1px solid #78788f;
}

.header {
  position: relative;
  height: 99px;
  padding-top: 18px;
}

.header h1 {
  font-size: 0;
  margin: 0;
}

.header h1 a {
	display: block;
  width: 269px;
  height: 81px;
  background: url(/img/logo_ez.png) no-repeat;
  text-indent: -9000px;
}

@media
  only screen and (-webkit-min-device-pixel-ratio: 2),
  only screen and (   min--moz-device-pixel-ratio: 2),
  only screen and (     -o-min-device-pixel-ratio: 2/1),
  only screen and (        min-device-pixel-ratio: 2),
  only screen and (                min-resolution: 192dpi),
  only screen and (                min-resolution: 2dppx) {

  .header h1 a {
  	display: block;
    width: 269px;
    height: 81px;
    background-image: url(/img/logo_ez_2x.png);
    -webkit-background-size: 269px 162px;
    -moz-background-size: 269px 162px;
    -o-background-size: 269px 162px;
    background-size: 269px 162px;
  }

}

.header h1 a:hover {background-position: 0 -81px;}
.header h1 a:focus {outline: 0;}

.footer {
	text-align: center;
	font-size: 12px;
	margin-top: 10px;
}

/* content
------------------------------------------ */
#content {
  padding: 14px 10px;
}

.col1, .col2 {
  float: left;
  width: 50%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.col1 {padding-right: 20px;}
.col2 {padding-left: 20px;}

@media only screen and (max-width: 640px) {
  .col1, .col2 {
    float: none;
    width: 100%;
    padding: 0;
  }
  #servicespg .martop2 {
    margin-top: 12px;
  }
}

/* nav animation
------------------------------------------ */
.slide {
  -webkit-animation: slidein 1s both;
  -moz-animation: slidein 1s both;
  -o-animation: slidein 1s both;
  animation: slidein 1s both;
}

@-webkit-keyframes slidein {
	0% {
		opacity: 0;
		-webkit-transform: translateX(2000px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
	}
}
@-moz-keyframes slidein {
	0% {
		opacity: 0;
		-moz-transform: translateX(2000px);
	}
	100% {
		opacity: 1;
		-moz-transform: translateX(0);
	}
}
@-o-keyframes slidein {
	0% {
		opacity: 0;
		-o-transform: translateX(2000px);
	}
	100% {
		opacity: 1;
		-o-transform: translateX(0);
	}
}
@keyframes slidein {
	0% {
		opacity: 0;
		transform: translateX(2000px);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

/* nav
------------------------------------------ */
.nav {
  line-height: normal;
	font-weight: bold;
	list-style: none;
	position: absolute;
	right: 0;
	bottom: 14px;
	margin: 0;
	padding: 0;
	white-space: nowrap;
}
.nav li {
	float: left;
}

.nav a, .nav a:visited, .nav span {
  position: relative;
  font: italic bold 16px/normal Georgia, serif;
  color: #000;
  text-decoration: none;
  padding: 0 11px 17px;
  text-shadow: #8a8a9e 1px 1px 2px;
}

.nav a:hover, .nav span {
	color: #fc6;
	text-shadow: #000 1px 1px 1px;
	/* background: url(/img/notch.png) no-repeat 50% 100%; */
}

.nav a:hover:after,
.nav a:visited:after,
.nav span:after,
.nav a:hover:before,
.nav a:visited:before,
.nav span:before {
  position: absolute;
  left: 50%;
  border: solid transparent;
  content: "\00a0";
  width: 0;
  height: 0;
  pointer-events: none;
}

.nav a:hover:after,
.nav span:after {
  bottom: 0;
  border-bottom-color: #65657f;
  border-width: 11px;
  margin-left: -11px;
}

.nav a:hover:before,
.nav span:before {
  bottom: 2px;
  border-bottom-color: #1e1e26;
  border-width: 12px;
  margin-left: -12px;
}

.nav a:focus {outline: 0;}

@media only screen and (max-width: 640px) {
  .header {
    height: 111px;
  }
}

/* testimonial quotes
------------------------------------------ */
#homepg #content {position: relative;}

#quotes {
  margin: 0;
  padding: 0;
}

#quotes li {
  display: none;  /* if no js */
  list-style-type: none;
  position: absolute;
  bottom: 9px;
  right: 22px;
  width: 300px;
}

#quotes .author {
  font-size: 12px;
  font-style: italic;
  text-align: right;
}

.quotemark {
  font: bold 20px/0 Georgia, serif;
  color: #474759;
}

@media only screen and (max-width: 640px) {
  #quotes li {
    position: static;
    margin-top: 20px;
  }
}

/* print
------------------------------------------ */
#cards {
  position: relative;
  width: 296px;
  height: 294px;
  margin: 10px auto 0;
}

#cards img {
  display: none;  /* if no js */
  position: absolute;
  top: 0;
  left: 0;
}

#cards img:first-child {
  display: block;  /* if no js */
}

/* quotes
------------------------------------------ */
#quotelink {margin: 5px 0; text-align: center;}

#quotelink a, #quotelink a:visited {
  font: italic bold 16px/normal Georgia, serif;
	color: #65657f;
	text-shadow: none;
  -webkit-transition: 1s ease-in-out;
  -moz-transition: 1s ease-in-out;
  -o-transition: 1s ease-in-out;
  transition: 1s ease-in-out;
}

#quotelink a:hover {
	color: #fc6;
	text-shadow: #000 1px 1px 2px;
}

#proceed {
	font: italic bold 18px/normal Georgia, serif;
	text-align: center;
}

#quotepage {
  font: 14px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif;
	margin: 20px auto;
	text-align: center;
}

#quotepage #content {
  display: table;
}

#quote {
	font-weight: bold;
	height: 110px;
	display: table-cell;
	vertical-align: middle;
}

.quotelinks {
  font: italic bold 14px/normal Georgia, serif;
}

/* web portfolio
------------------------------------------ */
.site {
	position: relative;
	background: url(/s/ss_text.png) no-repeat 100% 50%;
}

.site ul, .sites ul {
	list-style-type: none;
	margin: 6px 272px 0 0;
	padding: 0;
}
.site li, .sites li {margin-top: 3px;}
.site li a, .sites li a {font-weight: bold;}

.site ul ul {margin: 0 0 0 24px;}

.site a img, .site a:hover img {
	position: absolute;
	width: 260px;
	height: 177px;
	top: 50%;
	right: 0px;
	margin-top: -90px;
	border: 2px solid;
	border-color: #1e1e26 #8a8a9e #8a8a9e #1e1e26;
}

.site a img {visibility: hidden;}

.site a:hover img {
	visibility: visible;
	display: block;
}

@media only screen and (max-width: 768px) {
  .site {
    background: 0;
  }
  .site ul, .sites ul {
    margin-right: 0;
  }
  .site a img, .site a:hover img {
    display: none;
  }
}

/* contact form
------------------------------------------ */
form {
  margin: 0;
  padding: 0;
  line-height: normal;
}

label {
	clear: left;
	float: left;
	width: 7em;
	margin: 6px 0.5em 0 0;
	text-align: right;
	white-space: nowrap
}

input, textarea {
  font-size: 14px;
	width: 40%;
	margin: 6px 0 0;
	padding: 1px;
	border: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

input#submit {
	width: auto;
	border: 1px solid #1e1e26;
	padding: 2px 3px;
	margin: 0 0 0 7.5em;
	background: transparent;
}

input#url {margin-left: 7.5em;}
select {margin-top: 6px;}

.req {font-weight: bold; color: #f00;}
.valid {margin-left: 3px;}
.error {color: #fc6; font-size: 12px;}

@media only screen and (max-width: 640px) {
  input, textarea {
    width: 60%;
  }
}
