/* major page sections */
.main {
  width:960px;
  padding:0 10px;
  margin:0 auto;
  text-align:left;
}

.narrow {
  width:640px;
  padding:20px;
}

#header,
#content,
#after_content,
#footer {
  min-width:980px;
  _width:980px;
}

#content {
  min-height:600px;
  _height:600px;
}
#footer {
  height: 60px;
  padding: 0 0 30px 0;
}


#footer #follow-us {
  margin: 0 auto 20px auto;
  width: 250px;
  text-align: center;
}

.col-third, .col-fourth, .col-3, .col-4 {
  float:left;
  _display:inline;
}

.container {
  width:100%;
  overflow:hidden;
  position:relative;
}

.container2 {
  width:100%;
}

#top_nav {
  position:relative;
}

#top_nav .info a {
  color: white;
  text-shadow: #222 2px 1px 1px;
  text-decoration: none;
}

#top_nav .info a:hover {
  text-decoration: underline;
}

/**
 * TABS
 *
 * ul.tabs
 * - contains the tabs
 * - padding-right to counter the overlap
 *   so tabs don't "stick out" on the right side
 *
 * ul.tabs li
 * - a tab
 * - sets up the left side of the tab
 * - margin-right to adjust the overlap
 *
 * ul.tabs li a
 * - sets up the right side of the tab
 * - left should be equal to the padding-right
 *   to off-set the right side and complete the tab
 **/

ul.tabs {
  float:left;
  margin:0;
  padding:128px 5px 0 0; /* counter overlap */
  list-style-type:none;
  _display:inline;
}

ul.tabs li {
  float:left;
  background:transparent url(/images/tab.png) left top no-repeat;
  padding:0;
  margin-right:18px; /* overlap */
  _display:inline;
}

ul.tabs li a {
  display:block;
  position:relative;
  top:0;
  left:25px; /* right side */
  background:transparent url(/images/tab.png) right top no-repeat;
  padding:20px 25px 10px 0;
  font-size:167%;
  text-decoration:none;
  color:#000;
}

ul.tabs li a strong {
  display:block;
  padding:0 8px 0 0;
  background:transparent url(/images/marker.gif) right .5em no-repeat;
  font-weight:normal;
}

/**
 * ALL BUTTONS
 * - reset the button tag
 * - define button style
 **/
/* all buttons reset */
button {
  border:0;
  padding:0;
  margin:0;
  background:transparent;
}

.btn,
.btn-default,
.btn-minor,
.btn-minor-default {
  display:inline-block;
  text-decoration:none;
}

/* big button */
.btn,
.btn-default {
  float:left;
  border:0;
  background:transparent;
  margin:0 1em 0 0;
  padding:0;
  overflow:visible; /* fix ie */
  text-align:center;
  text-decoration:none;
  font-size:13px;
  cursor:pointer;
  cursor:hand;
  _display:inline;
}

/* big button left side */
.btn span,
.btn-default span {
  background:transparent url(/images/button.png) left -180px no-repeat;
  float:left;
  margin-right:30px;
  padding-left:30px;
  height:75px;
  _display:inline;
}

/* big button right side */
.btn span span,
.btn-default span span {
  background-position: right -180px;
  padding-left:0;
  padding-right:30px;
  margin-right:-30px;
  padding-top:22px;
  height:50px;
  font-size:22px;
  font-weight:bold;
  white-space:nowrap;
  color:#fff;
  _position:relative;
}

button.btn span span,
button.btn-default span span {
  padding-top:22px;
}

/* minor button */
.btn-minor,
.btn-minor-open,
.btn-minor-close,
.btn-minor-default {
  float:left;
  border:0;
  background:transparent;
  margin:0 1em 0 0;
  padding:0;
  overflow:visible; /* fix ie */
  text-align:center;
  text-decoration:none;
  font-size:11px;
  font-weight:bold;
  cursor:pointer;
  cursor:hand;
  _display:inline;
}

/* minor button left side */
.btn-minor span,
.btn-minor-open span,
.btn-minor-close span,
.btn-minor-default span {
  background:transparent url(/images/button-small.png) left 0px no-repeat;
  float:left;
  margin-right:0px;
  padding-left:0px;
  height:30px;
  _display:inline;
}

/* minor button right side */
.btn-minor span span,
.btn-minor-open span span,
.btn-minor-close span span,
.btn-minor-default span span {
  background-position: right 0px;
  padding-left:0;
  padding-right:20px;
  margin-left:10px;
  padding-top:8px;
  height:22px;
  white-space:nowrap;
  color:#fff;
  position:relative;
  top:0;
  left:10px;
}

.btn-minor-open span span,
.btn-minor-close span span {
  margin-left:0;
  padding-right:10px;
}

button.btn-minor span span,
button.btn-minor-open span span,
button.btn-minor-close span span,
button.btn-default-minor span span {
  padding-top:8px;
}


/* ALL BUTTONS */
/* fix ie */
button.btn,
button.btn-default,
button.btn-minor, /* TODO: check this */
button.btn-minor-default { /* TODO: check this */
  _margin-left:0;
  _margin-top:-2px;
}

/* fix ff */
button::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
input[type="file"] > input[type="button"]::-moz-focus-inner {
  padding: 0;
  border: none;
}


/* page specific */
/* ============================= home ===========================*/
#home .col-third {width:304px;}
#home .col-fourth {width:222px;}
#home #recent_solutions { width: 182px; }

/* ============================= contact =========================*/
#contact .col-third {width:304px;}
#contact .col-fourth {width:220px;}
#contact .col-3 {width:240px;}

/* ============================= UTILS ===========================*/
/* @clearfix */
.clearfix:after {
  content:".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

.clearfix {
  display: inline-block;
}

html[xmlns] .clearfix {
  display: block;
}

* html .clearfix {
  height: 1%;
}

