/********* General *********/
body {
  margin: 0;
  padding: 0;
  font: 62.5% Arial, Verdana, sans-serif;
  background: #26253c url(/theme/background-gradient.png) repeat-x scroll 0 0;
}

h1 {
  text-align: left;
  margin: 0;
  font-size: 2em;
  color: #b3d335;
}

h2 {
  text-align: left;
  margin: 10px 0 0 0;
  font-size: 1.5em;
  color: #5463c1;
}

h3 {
  text-align: left;
  margin: 10px 0 0 0;
  font-size: 1.3em;
  color: #5463c1;
}

h4 {
  text-align: left;
  margin: 10px 0 0 0;
  font-size: 1.2em;
  color: #5463c1;
}

p {
  margin: 0 0 10px 0;
}

a {
  text-decoration: none;
  color: #5463c1;
  font-weight: bold;
}
a:hover {
  text-decoration: underline;
}
a:visited {
  color: #5463c1;
  font-weight: bold;
}
a.current-page {
  cursor: default;
}

ol,
ul {
  margin: 0 0 10px 20px;
  padding: 0;
}

ul {
  list-style-image: url(/theme/bullet.png);
}

li {
  margin: 0;
  padding: 0;
}

img {
  border: 0;
}


/********* Page Structure *********/

html, body {
  height: 100%;
  margin: 0px;
}
#container {
  min-height: 100%; /* Non-IE */
  height: auto !important; /* Non-IE */
  height: 100%; /* IE interprets as min-height */
  margin: 0 auto -70px auto;
}
#footer-surrogate {
  height: 70px; /* This reserves space for the actual footer */
}
#container-bottom {
  height: 70px;
}



#container {
  width: 1000px;
  color: #333;
  background: transparent url(/theme/content-bg.png) repeat-y scroll 0 0;
  behavior: url(/theme/iepngfix.htc); /* Transparent PNG fix */
}
#inner-container {
  position: relative;
}
#header {
  height: 239px;
  background: transparent url(/theme/header-bg.png) no-repeat scroll 0 0;
  behavior: url(/theme/iepngfix.htc); /* Transparent PNG fix */
}
#content {
  padding: 0 40px;
}
#footer {
  color: #5463c1;
  position: relative;
  text-align: center;
  width: 1000px;
  margin: 0 auto;
  padding: 20px 0 0 0;
  height: 50px;
  background: transparent url(/theme/footer-bg.png) no-repeat scroll 0 100%;
}

#navigation {
  height: 25px;
  background: #eee;
}

#topic-icon {
  float: left;
  width: 80px;
  height: 80px;
}
#teaser {
  margin: -16px 350px 0 86px;
  margin-top: -16px;
  position: relative;
  font-size: 1.4em;
  font-style: italic;
}

#body {
  clear: left;
  font-size: 1.2em;
  margin-right: 350px;
}

.technology-column {
  float: left;
  width: 190px;
}

#call-to-action {
  clear: left;
  font-size: 1.4em;
  font-style: italic;
  position: relative;
}

#header h1 {
  margin: 0;
  padding: 70px 0 0 50px;
  text-align: left;
}


/********* Sidebar *********/

#sidebar {
  position: absolute;
  width: 350px;
  top: 200px;
  left: 650px;
}
#sidebar-header {
  width: 350px;
  height: 5px;
  font-size: 1px;
  background: transparent url(/theme/pullquote-top.png) no-repeat scroll 0 0;
  behavior: url(/theme/iepngfix.htc); /* Transparent PNG fix */
}
#sidebar-body {
  width: 200px;
  padding: 20px 20px 20px 130px;
  background: transparent url(/theme/pullquote-bg.png) repeat-y scroll 0 0;
  behavior: url(/theme/iepngfix.htc); /* Transparent PNG fix */
}
#sidebar-footer {
  width: 350px;
  height: 5px;
  font-size: 1px;
  background: transparent url(/theme/pullquote-bottom.png) no-repeat scroll 0 0;
  behavior: url(/theme/iepngfix.htc); /* Transparent PNG fix */
}
#sidebar .sidebar-image {
  position: absolute;
  left: 1px;
  top: 1px;
}
#sidebar .sidebar-pullquote {
  margin: -24px -24px -27px -26px;
}

#sidebar {
  font-size: 1.3em;
  line-height: 1.8em;
}
#sidebar h1,
#sidebar h2,
#sidebar h3 {
  font-size: 1em;
}
#sidebar li {
  font-size: .9em;
  line-height: 1em;
  margin-bottom: 10px;
}
#sidebar a,
#sidebar a:visited {
  color: #333;
  font-weight: normal;
}

#sidebar .fixed-height {
  height: 205px;
}


/********* Navigation *********/

#navigation {
  height: 55px;
  background: transparent url(/theme/menu-left.png) no-repeat scroll 0 0;
  width: 546px;
  margin: 0 auto;
}

#navigation div {
  background: transparent url(/theme/menu-right.png) no-repeat scroll 100% 0;
}

#navigation ul {
  list-style: none;
  margin: 0 38px;
  height: 15px;
  padding: 20px 0;
  width: 470px;
  background: transparent url(/theme/menu-bg.png) repeat-x scroll 100% 0;
  text-align: center;
}

#navigation li {
  display: inline;
  margin: 0;
  padding: 0 10px;
}

#navigation a {
  font-size: 12px;
  font-weight: normal;
  color: #fff;
}
#navigation a.current-page {
  color: #b3d335;
}


/********* JavaScript *********/

.js #topic-icon img {
  display: none;
}
.js #sidebar {
  display: none;
}
.js #content {
  display: none;
}
.js .home-section .icon img {
  display: none;
}

.transparent-png {
  behavior: url(/theme/iepngfix.htc);
}

.loading {
  background: transparent url(/theme/ajax-loader.gif) no-repeat scroll 50% 50%;
  width: 100px;
  height: 100px;
  margin: 0 auto;
}


/********* Miscellaneous *********/

.image-box {
  float: left;
  margin-right: 10px;
  margin-bottom: 10px;
}
.clear {
  clear: both;
}


/********* Home Page *********/
.home-section {
  font-size: 1.2em;
  font-style: italic;
  clear: both;
}
.home-section .icon {
  margin-top: -8px;
  margin-bottom: 20px;
  position: relative;
  width: 124px;
  height: 117px;
}

.icon-left .icon {
  float: left;
}
.icon-left p {
  margin-left: 135px;
}

.icon-right .icon {
  float: right;
}
.icon-right p {
  margin-right: 135px;
}


/********* Contact Form *********/

#contact {
  width: 570px;
}

#contact ol {
  list-style: none;
  margin: 0;
  width: 275px;
  float: left;
}

#contact li {
  width: 275px;
  height: 50px;
  position: relative;
  margin-bottom: 10px;
}

#contact li label {
  position: absolute;
  top: 0;
  left: 0;
  width: 75px;
  padding: 15px 0px;
  text-align: right;
  font-weight: bold;
  z-index: 52;
}

#contact li input {
  display: block;
  padding: 15px 15px 15px 90px;
  width: 170px;
  height: 20px;
  background: transparent url(/theme/field-half.png) no-repeat scroll 0 0;
  border: none;
}
#contact li input:focus {
  background-position: -275px 0;
}
#contact li input.required {
  background-position: 0 -50px;
}
#contact li input.required:focus {
  background-position: -275px -50px;
}
#contact li input.error {
  background-position: 0 -100px;
}
#contact li input.error:focus {
  background-position: -275px -100px;
}

#contact ol.message {
  margin-left: 20px;
}

#contact li.field-message {
  width: 275px;
  height: 230px;
  position: relative;
  margin-bottom: 10px;
}
#contact li.field-message label {
  position: absolute;
  z-index: 52;
  top: 0;
  left: 0;
  width: 245px;
  padding: 15px 15px 15px 15px;
  text-align: center;
  font-weight: bold;
}
#contact li.field-message textarea {
  padding: 50px 15px 15px 15px;
  width: 245px;
  height: 180px;
  background: transparent url(/theme/field-message.png) no-repeat scroll 0 0;
  border: none;
  overflow: hidden;
  font: 1em Arial, Verdana, sans-serif;
}
#contact li.field-message textarea:focus {
  background-position: -275px 0;
}


#contact li.field-submit input {
  display: block;
  padding: 0;
  width: 275px;
  height: 50px;
  background: transparent url(/theme/field-button.png) no-repeat scroll 0 0;
  border: none;
  text-align: center;
  font-weight: bold;
  font-size: 1em;
}
#contact li.field-submit input:hover {
  background-position: -275px 0;
}
.strut {
  height: 250px;
  width: 50px;
}

