/* LESS stuff */
.heightfix {
  min-height: 1px;
  height: auto !important;
  height: 1px;
}
.word-wrap {
  white-space: pre;
  /* CSS 2.0 */

  white-space: pre-wrap;
  /* CSS 2.1 */

  white-space: pre-line;
  /* CSS 3.0 */

  white-space: -pre-wrap;
  /* Opera 4-6 */

  white-space: -o-pre-wrap;
  /* Opera 7 */

  white-space: -moz-pre-wrap;
  /* Mozilla */

  white-space: -hp-pre-wrap;
  /* HP Printers */

  word-wrap: break-word;
  /* IE 5+ */

}
/* -- Reset styles -- */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
}
html,
body {
  height: 100%;
}
/* -- Body -- */
body {
  font-size: 14px;
  line-height: 1;
  background: #181818;
  color: #484848;
  font-family: Arial, sans-serif;
}
/* -- Generic Elements -- */
ul,
ol {
  padding: 0;
  margin: 0 0 15px 20px;
}
ul li,
ol li {
  font-size: 12px;
  line-height: 16px;
  margin: 0 0 5px;
}
a {
  color: #484848;
}
ul {
  list-style-type: disc;
}
ul ul {
  margin-top: 5px;
  margin-bottom: 5px;
}
ol {
  list-style-type: decimal;
}
ol ol {
  margin-top: 5px;
  margin-bottom: 5px;
  list-style-type: lower-alpha;
}
p {
  font-size: 12px;
  line-height: 16px;
  margin: 0 0 15px;
}
#body img {
  display: block;
}
/* -- Headings -- */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
  text-align: left;
  margin: 0 0 15px;
  color: #333333;
  font-family: 'AvenirLT-Roman', Helvetica, Arial, sans-serif;
}
h1 {
  font-size: 59.30px;
}
h2 {
  font-size: 18px;
}
h3 {
  font-size: 16px;
}
h4 {
  font-size: 14px;
  font-weight: bold;
}
h5 {
  font-size: 14px;
  font-weight: bold;
}
smaller {
  font-size: 8.65px;
}
/* -- HTML 5 elements -- */
header,
nav,
section,
article,
footer,
aside {
  display: block;
  position: relative;
}
/* -- Generic Elements -- */
div.col {
  display: block;
  float: left;
  margin: 0 15px 15px 0;
}
div.col-one-third {
  width: 303px;
}
div.col-two-thirds {
  width: 620px;
}
div.col-right {
  margin: 0 0 15px;
}
div.half {
  width: 46%;
}
a.find-out-more-reg {
  display: block;
  width: 95px;
  height: 27px;
  line-height: 27px;
  font-size: 12px;
  text-align: center;
  color: #464646;
  background: transparent url(../img/blog_more_btn.png) 0 0 no-repeat;
  float: left;
  text-decoration: none;
}
a.find-out-more-reg:hover {
  text-decoration: underline;
}
a.delete-link {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 18px;
  height: 0;
  padding: 18px 0 0;
  overflow: hidden;
  background: transparent url(../img/close_button.png) 0 0 no-repeat;
  z-index: 81000;
}
a.delete-link:hover {
  background-position: 0 -18px;
}
/* div#body is a sibling to the expose admin bar. It's for applying backgrounds to websites without them being hidden under the admin bar */
div#body {
  height: 300px;
  height: auto !important;
  min-height: 300px;
  position: relative;
  background: #ffffff url(../img/page_bg_top.png) 0 top repeat-x;
  /* -- Site specific code -- */

  /* Services Page cont. Services List */

}
div#body section.container {
  width: 950px;
  min-height: 1px;
  height: auto !important;
  height: 1px;
  margin: 0 auto;
  /* Home Page */

  /* Blog Page */

  /* Who We Are Page */

  /* Services Page */

  /* Contact Page */

  /* Clients Page */

  /* Testimonials Page */

}
div#body section.container header {
  width: 950px;
  height: 162px;
  float: left;
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 0;
}
div#body section.container header div.logo {
  width: 305px;
  height: 79px;
  position: absolute;
  top: 43px;
  left: 0;
  margin: 0;
}
div#body section.container header div.logo a {
  width: 305px;
  height: 79px;
  padding: 0;
  display: block;
  float: left;
}
div#body section.container header nav {
  width: auto;
  height: 28px;
  position: absolute;
  top: 72px;
  right: 0;
}
div#body section.container header nav ul {
  width: auto;
  height: 28px;
  padding: 0;
  margin: 0;
}
div#body section.container header nav ul li {
  width: auto;
  height: 26px;
  float: left;
  display: inline;
  list-style: none;
  padding: 0;
  margin: 0 6px 0 0;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  border: solid 1px #fcfcfc;
}
div#body section.container header nav ul li:hover {
  border-color: #c1e35c;
}
div#body section.container header nav ul li:hover a {
  color: white;
  background: transparent url(../img/nav_bg.png) 0 0 repeat-x;
  border-color: #98c414;
}
div#body section.container header nav ul li a {
  width: auto;
  height: 24px;
  line-height: 24px;
  color: #3c3c3c;
  text-decoration: none;
  text-align: center;
  display: inline-block;
  float: left;
  padding: 0 8px;
  border: solid 1px #fcfcfc;
  font-size: 14px;
  font-family: 'AvenirLT-Roman', Helvetica, Arial, sans-serif;
}
div#body section.container header nav ul li.selected {
  border-color: #c1e35c;
}
div#body section.container header nav ul li.selected a {
  color: white;
  background: transparent url(../img/nav_bg.png) 0 0 repeat-x;
  border-color: #98c414;
}
div#body section.container header nav ul li.last {
  margin: 0;
}
div#body section.container section.main,
div#body section.container #content {
  width: 950px;
  min-height: 1px;
  height: auto !important;
  height: 1px;
  float: left;
  display: inline;
}
div#body section.container section.home div.home-feature {
  display: block;
  width: 950px;
  height: 256px;
  position: relative;
  margin: 0 0 36px;
}
div#body section.container section.home div.home-feature ul.feature {
  display: block;
  width: 950px;
  height: 256px;
  position: relative;
  margin: 0;
  z-index: 1;
}
div#body section.container section.home div.home-feature ul.feature li {
  display: block;
  width: 950px;
  height: 256px;
  position: absolute;
  top: 0;
  left: 0;
  background: white;
}
div#body section.container section.home div.home-feature ul.feature li div.img {
  width: 539px;
  height: 236px;
  float: left;
  margin: 0 22px 0 0;
}
div#body section.container section.home div.home-feature ul.feature li a.learn-more {
  display: block;
  float: left;
  width: 134px;
  height: 34px;
  line-height: 34px;
  text-decoration: none;
  font-size: 19px;
  color: white;
  text-shadow: 1px 0 #333333;
  background: transparent url(../img/learn_more_btn.png) no-repeat 0 0;
  padding: 0 0 0 10px;
  margin: 0 228px 15px 0;
}
div#body section.container section.home div.home-feature ul.feature li a.learn-more:hover {
  text-decoration: none;
  background: transparent url(../img/learn_more_btn.png) no-repeat 0 -34px;
}
div#body section.container section.home div.home-feature ul.featurePager {
  display: block;
  margin: 0;
  position: absolute;
  bottom: 28px;
  left: 8px;
  height: 19px;
  z-index: 1000;
}
div#body section.container section.home div.home-feature ul.featurePager li {
  display: inline-block;
  float: left;
  list-style: none;
  margin: 0;
  width: 18px;
  height: 19px;
}
div#body section.container section.home div.home-feature ul.featurePager li a {
  display: block;
  width: 18px;
  height: 0;
  padding: 19px 0 0;
  background: transparent url(../img/pager_bg.png) 0 -19px no-repeat;
  overflow: hidden;
}
div#body section.container section.home div.home-feature ul.featurePager li.selected a {
  background-position: 0 0;
}
div#body section.container section.home div.home-feature-admin {
  height: 300px;
}
div#body section.container section.home ul.feature-pager-admin {
  bottom: 70px !important;
}
div#body section.container section.home div.col {
  padding: 0 0 0 49px;
  width: 254px;
}
div#body section.container section.home div.col h2,
div#body section.container section.home div.col h3,
div#body section.container section.home div.col p,
div#body section.container section.home div.col a {
  padding: 0 0 0 12px;
}
div#body section.container section.home div.col ul.slider {
  margin: 0;
}
div#body section.container section.home div.col ul.slider li {
  margin: 0;
  list-style: none;
}
div#body section.container section.home div.col ul.slider li div.hln {
  width: 252px;
  height: 28px;
  border: solid 1px #c7c7c7;
  background: transparent url(../img/accordian_selected_bg.png) 0 0 repeat-x;
}
div#body section.container section.home div.col ul.slider li div.hln a.hln {
  display: block;
  padding: 0 9px;
  color: #515151;
  width: 232px;
  height: 28px;
  line-height: 28px;
  background: none;
  border: none;
  text-decoration: none;
}
div#body section.container section.home div.col ul.slider li div.paragraph {
  width: 232px;
  display: block;
  border: solid 1px #c7c7c7;
  border-bottom: none;
  border-top: none;
  padding: 10px;
  overflow: hidden;
}
div#body section.container section.home div.col ul.slider li div.paragraph p {
  padding: 0;
  margin: 0;
}
div#body section.container section.home div.col ul.slider li div.paragraph a.find-out-more-reg {
  padding: 0;
  margin: 10px 15px 0 0;
}
div#body section.container section.home div.col ul.slider li:hover div.hln {
  border: solid 1px #98c414;
  background: none;
}
div#body section.container section.home div.col ul.slider li:hover div.hln a.hln {
  height: 26px;
  line-height: 26px;
  color: white;
  border: solid 1px #b6d75b;
  background: transparent url(../img/accordian_bg.png) 0 0 repeat-x;
}
div#body section.container section.home div.col ul.slider li.selected div.hln {
  border: solid 1px #98c414;
  background: none;
}
div#body section.container section.home div.col ul.slider li.selected div.hln a.hln {
  height: 26px;
  line-height: 26px;
  color: white;
  border: solid 1px #b6d75b;
  background: transparent url(../img/accordian_bg.png) 0 0 repeat-x;
}
div#body section.container section.home div.col ul.slider li.last div.paragraph {
  border-bottom: solid 1px #CCC;
}
div#body section.container section.home div.reducing-cost {
  background: transparent url(../img/sterling_symbol.png) left top no-repeat;
}
div#body section.container section.home div.improving-efficiency {
  background: transparent url(../img/time_symbol.png) left top no-repeat;
}
div#body section.container section.home div.optimising {
  background: transparent url(../img/shuffle_symbol.png) left top no-repeat;
}
div#body section.container section.blog article {
  display: block;
  min-height: 162px;
  clear: both;
  margin: 0 0 15px;
}
div#body section.container section.blog article div.img {
  display: block;
  width: 218px;
  height: 140px;
  border: solid 1px #bcbcbc;
  margin: 0 20px 20px 0;
}
div#body section.container section.blog article h3 {
  display: block;
}
div#body section.container section.blog article h3 a {
  color: #333333;
  font-size: 19px;
  line-height: 19px;
  margin: 15px 0;
  text-decoration: none;
}
div#body section.container section.blog article h3 a:hover {
  text-decoration: underline;
}
div#body section.container section.blog article span.green {
  display: block;
  color: #98C514;
  font-size: 12px;
  margin: -5px 0 10px 0;
}
div#body section.container section.blog article.blog-view {
  height: auto;
}
div#body section.container section.blog article.blog-view div.img {
  width: 274px;
  height: 177px;
  margin: 0 0 20px 20px;
}
div#body section.container section.blog div.pagination {
  display: inline;
  float: left;
  text-align: center;
  width: 100%;
}
div#body section.container section.blog div.pagination span {
  margin: 4px;
}
div#body section.container section.blog div.archive {
  margin: 0 0 20px;
}
div#body section.container section.blog div.archive ul {
  margin: 0;
}
div#body section.container section.blog div.archive ul li {
  position: relative;
  list-style: none;
  padding-left: 18px;
}
div#body section.container section.blog div.archive ul li.open {
  background: transparent url(../img/icons/arrow_down.png) left 4px no-repeat;
}
div#body section.container section.blog div.archive ul li.closed {
  background: transparent url(../img/icons/arrow_right.png) left 4px no-repeat;
}
div#body section.container section.blog div.archive li.open ul {
  display: table;
  margin: 5px 0 0;
}
div#body section.container section.blog div.archive li.closed ul {
  display: none;
  margin: 0;
}
div#body section.container section.blog ul.categories {
  margin: 0;
}
div#body section.container section.blog ul.categories li {
  list-style: none;
  padding-left: 18px;
  background: transparent url(../img/icons/arrow_right.png) left 4px no-repeat;
}
div#body section.container ul.tweets,
div#body section.container ul.latest-news {
  margin: 0;
}
div#body section.container ul.tweets li,
div#body section.container ul.latest-news li {
  list-style: none;
  background: transparent url(../img/green_dot.png) left 5px no-repeat;
  padding: 0 0 0 12px;
}
div#body section.container ul.tweets li a,
div#body section.container ul.latest-news li a {
  color: #333333;
  text-decoration: none;
}
div#body section.container ul.tweets li a:hover,
div#body section.container ul.latest-news li a:hover {
  text-decoration: underline;
}
div#body section.container ul.team-members {
  margin: 0;
  overflow: hidden;
}
div#body section.container ul.team-members li {
  display: block;
  float: left;
  width: 620px;
  height: 124px;
  list-style: none;
  position: relative;
}
div#body section.container ul.team-members li div.img {
  display: block;
  float: left;
  width: 135px;
  height: 104px;
  margin: 0 20px 20px 0;
}
div#body section.container ul.team-members li h4 {
  margin: 10px 0 0;
}
div#body section.container ul.team-members li span.job-title {
  font-weight: bold;
}
div#body section.container ul.partners {
  margin: 0;
  overflow: hidden;
  height: auto;
}
div#body section.container ul.partners li {
  display: block;
  float: left;
  width: 138px;
  height: 50px;
  list-style: none;
  margin: 0 14px 0 0;
  padding: 0 0 14px 0;
  position: relative;
}
div#body section.container ul.partners li div.img {
  display: block;
  width: 128px;
  height: 50px;
}
div#body section.container ul.latest-news {
  margin: 0 0 20px 0;
}
div#body section.container section.services {
  padding: 0 0 20px;
}
div#body section.container section.services div.main-service-image {
  display: block;
  width: 540px;
  height: 236px;
  float: left;
  margin: 0 20px 20px 0;
}
div#body section.container section.service-view div.img {
  margin: 0 0 20px;
}
div#body section.container section.service-view div.large-paragraph p {
  font-size: 16px;
  line-height: 22px;
}
div#body section.container section.contact form#contactForm div.input {
  display: block;
  float: left;
  clear: none;
  width: 300px;
  height: 25px;
  margin: 0 20px 0 0;
}
div#body section.container section.contact form#contactForm div.input label {
  display: block;
  height: 25px;
  line-height: 25px;
  float: left;
  width: 94px;
}
div#body section.container section.contact form#contactForm div.input input,
div#body section.container section.contact form#contactForm div.input textarea {
  display: block;
  width: 194px;
  height: 13px;
  background: white;
  border: solid 1px #dfdfdf;
}
div#body section.container section.contact form#contactForm div.input textarea {
  width: 608px;
  height: 162px;
}
div#body section.container section.contact form#contactForm div.input div.error-message {
  font-size: 13px;
  color: red;
  margin: -6px 0 10px;
}
div#body section.container section.contact form#contactForm div.textarea label {
  width: 100px;
}
div#body section.container section.contact form#contactForm div.submit {
  float: right;
}
div#body section.container section.contact form#contactForm div.submit input {
  border: none;
  display: block;
  width: 95px;
  height: 27px;
  line-height: 27px;
  font-size: 12px;
  text-align: center;
  color: #464646;
  background: transparent url(../img/blog_more_btn.png) 0 0 no-repeat;
  float: left;
  text-decoration: none;
}
div#body section.container section.contact form#contactForm div.submit input:hover {
  cursor: pointer;
  text-decoration: underline;
}
div#body section.container section.contact div.contact-right a {
  color: #484848;
}
div#body section.container section.clients ul.client-logos,
div#body section.container section.clients ul.client-services {
  margin: 0;
  overflow: hidden;
}
div#body section.container section.clients ul.client-logos li,
div#body section.container section.clients ul.client-services li {
  display: inline-block;
  list-style: none;
  float: left;
  width: 220px;
  height: auto;
  margin: 0 20px 20px 0;
  position: relative;
}
div#body section.container section.clients ul.client-logos li h3 a,
div#body section.container section.clients ul.client-services li h3 a {
  text-decoration: none;
}
div#body section.container section.clients ul.client-logos li h3 a:hover,
div#body section.container section.clients ul.client-services li h3 a:hover {
  text-decoration: underline;
}
div#body section.container section.clients ul.client-logos li.last,
div#body section.container section.clients ul.client-services li.last {
  margin-right: 0;
}
div#body section.container section.clients ul.client-logos li.admin,
div#body section.container section.clients ul.client-services li.admin {
  margin: 0 10px 10px 0;
}
div#body section.container section.clients ul.client-services {
  margin: 20px 0 0;
}
div#body section.container section.clients ul.client-services li {
  height: auto;
}
div#body section.container section.clients ul.client-services li div.img {
  margin: 10px 0;
}
div#body section.container section.clients ul.client-services li h3 {
  font-size: 14px;
}
div#body section.container ul#testimonials {
  margin: 0;
  border-top: solid 1px #CCC;
}
div#body section.container ul#testimonials li {
  position: relative;
  list-style: none;
  padding: 10px 0;
  border-bottom: solid 1px #CCC;
}
div#body section.container ul#testimonials li p {
  margin: 0 0 5px;
}
div#body section.service-list-container {
  display: block;
  clear: both;
  height: auto;
  background: #f6f6f7 url(../img/service_list_bg.png) 0 0 repeat-x;
  margin: 0 0 20px;
}
div#body section.service-list-container section.service-list {
  display: block;
  width: 950px;
  margin: 0 auto;
  overflow: hidden;
}
div#body section.service-list-container section.service-list ul.services {
  margin: 20px 0;
  overflow: hidden;
}
div#body section.service-list-container section.service-list ul.services li {
  display: inline-block;
  float: left;
  width: 220px;
  min-height: 334px;
  margin: 0 20px 0 0;
  position: relative;
}
div#body section.service-list-container section.service-list ul.services li div.img {
  width: 218px;
  height: 140px;
  border: solid 1px #bcbcbc;
  margin: 0 0 12px;
}
div#body section.service-list-container section.service-list ul.services li a.find-out-more-reg {
  margin-right: 15px;
}
div#body section.service-list-container section.service-list ul.services li h3 a {
  color: #333333;
  text-decoration: none;
}
div#body section.service-list-container section.service-list ul.services li h3 a:hover {
  text-decoration: underline;
}
div#body section.service-list-container section.service-list ul.services li.first {
  clear: both;
}
div#body section.service-list-container section.service-list ul.services li.last {
  margin: 0;
}
div#body section.service-list-container section.service-list ul.services li.admin {
  clear: none;
  margin: 0 10px 10px 0 !important;
  min-height: 380px !important;
}
/* testimonials fader */
div.testimonials-fader-container {
  display: block;
  height: 56px;
  width: 950px;
  margin: 0 auto 25px;
  position: relative;
}
div.testimonials-fader-container a.link {
  display: block;
  position: absolute;
  width: 18px;
  height: 0;
  padding: 24px 0 0;
  overflow: hidden;
  top: 18px;
}
div.testimonials-fader-container a.link:hover {
  cursor: pointer;
}
div.testimonials-fader-container a.prevLink {
  background: transparent url(../img/testimonials_arrow.png) 0 0 no-repeat;
  left: -18px;
}
div.testimonials-fader-container a.nextLink {
  background: transparent url(../img/testimonials_arrow_right.png) 0 0 no-repeat;
  right: -18px;
}
div.testimonials-fader-container ul.testimonial-list {
  display: block;
  height: 56px;
  width: 950px;
  margin: 0 auto 25px;
  position: relative;
}
div.testimonials-fader-container ul.testimonial-list li {
  margin: 0;
  display: block;
  width: 950px;
  height: 42px;
  position: absolute;
  top: 8px;
  left: 0;
  list-style: none;
}
div.testimonials-fader-container ul.testimonial-list li p.testimonial {
  margin: 0 0 4px;
  text-align: center;
  font-size: 18px;
  line-height: 22px;
  font-style: italic;
  color: white;
  background: #98C514;
}
div.testimonials-fader-container ul.testimonial-list li span.author {
  display: block;
  text-align: center;
  font-size: 16px;
  color: white;
}
a.edit-testimonials {
  display: block;
  position: absolute;
  top: -40px;
  right: 0;
  color: #333;
  font-size: 12px;
  z-index: 100;
}
a.edit-testimonials:hover {
  text-decoration: none;
}
section.footer-container {
  display: block;
  background: transparent url(../img/page_bg.png) 0 bottom repeat-x;
  padding: 26px 0 0;
  height: 506px;
  overflow: hidden;
}
section.footer-container footer {
  display: block;
  width: 950px;
  height: 424px;
  margin: 0 auto;
  color: #b8b8b8;
}
section.footer-container footer h2 {
  font-size: 18px;
  color: #9fce15;
}
section.footer-container footer div.col {
  width: 254px;
  padding: 0 0 0 49px;
}
section.footer-container footer div.col ul.social {
  margin: 15px 0 0;
}
section.footer-container footer div.col ul.social li {
  display: inline-block;
  float: left;
  width: 32px;
  height: 32px;
  list-style: none;
  margin: 0 9px 0 0;
}
section.footer-container footer div.col ul.social li a {
  display: block;
  width: 32px;
  height: 32px;
}
section.footer-container footer div.col a {
  color: #b8b8b8;
  text-decoration: none;
}
section.footer-container footer div.col a:hover {
  color: white;
}
section.footer-container footer div.col ul.latest-news,
section.footer-container footer div.col ul.service-list {
  margin: 0 0 20px;
}
section.footer-container footer div.col ul.latest-news li,
section.footer-container footer div.col ul.service-list li {
  list-style: none;
}
.newsletter {
  padding-top: 20px;
  clear: both;
}
#subForm label {
  margin-right: 15px;
}
#subForm #yulrkhj-yulrkhj {
  width: 201px;
}
#subForm .submit {
  width: auto;
  height: 26px;
  float: right;
  display: inline;
  list-style: none;
  padding: 0;
  margin: 10px 6px 0 0;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  border: solid 1px #c1e35c;
}
#subForm .submit input {
  width: 86px;
  height: 24px;
  line-height: 24px;
  text-decoration: none;
  text-align: center;
  display: inline-block;
  float: left;
  padding: 0 8px;
  font-size: 14px;
  font-family: 'AvenirLT-Roman', Helvetica, Arial, sans-serif;
  color: white;
  background: transparent url(../img/nav_bg.png) 0 0 repeat-x;
  border: solid 1px #98c414;
}
#subForm .submit input:hover {
  cursor: pointer;
}
.documents {
  margin: 0;
  padding: 0;
  position: relative;
}
.documents > li {
  width: 31%;
  float: left;
  list-style: none;
  margin: 0;
  padding: 0;
  margin-right: 20px;
  margin-bottom: 10px;
  position: relative;
  overflow: hidden;
}
.documents > li > .delete-link {
  z-index: auto;
}
.documents > li h3[class^="icon-"] :before,
.documents > li h3[class*=" icon-"] :before {
  margin-right: 5px;
}
.documents > li h3 {
  margin-bottom: 5px;
}
.documents > li li.file-upload {
  overflow: hidden;
}
.documents > li ul.uploadedFiles li.file-upload a.file-link {
  color: transparent;
  text-decoration: none;
}
.documents > li:nth-child(3n) {
  margin-right: 0;
}
/* -- Site-specific generic elements (i.e. bespoke buttons, lists, boxes, column layouts) */
form div.input,
form div.submit {
  width: auto;
  min-height: 1px;
  height: auto !important;
  height: 1px;
  float: left;
  clear: left;
  display: inline;
  margin: 0 0 5px;
}
form div.input label,
form div.submit label {
  display: block;
  margin: 0 0 5px;
}
form div.input input,
form div.submit input,
form div.input textarea,
form div.submit textarea {
  font-family: Arial, sans-serif;
}
form div.input input::selection,
form div.submit input::selection,
form div.input textarea::selection,
form div.submit textarea::selection {
  background: black;
  color: white;
}
form div.input input::-moz-selection,
form div.submit input::-moz-selection,
form div.input textarea::-moz-selection,
form div.submit textarea::-moz-selection {
  background: black;
  color: white;
}
form div.input textarea,
form div.submit textarea {
  width: 450px;
}
form .text input,
form textarea {
  width: 350px;
  font-size: 13px;
  padding: 5px;
  margin: 0 0 10px;
}
/* -- Email Window on Downloads page -- */
.dim {
  position: fixed;
  width: 100%;
  height: 100%;
  background: #000000;
  background: rgba(0, 0, 0, 0.7);
  top: 0;
  left: 0;
  z-index: 98;
}
.emailWindow,
.dim {
  opacity: 0;
  display: none;
  -webkit-transition: opacity .2s linear;
  pointer-events: none;
}
.visible {
  display: block;
  opacity: 1;
  pointer-events: all;
}
div.emailWindow {
  width: 460px;
  position: fixed;
  top: 50%;
  left: 50%;
  margin-left: -250px;
  background: white;
  z-index: 99;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  padding: 20px;
  text-align: center;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
div.emailWindow form {
  width: 415px;
}
div.emailWindow form input[type=text] {
  margin: 0 0 0 10px;
  float: left;
}
div.emailWindow form label {
  float: left;
  width: 40px;
  line-height: 25px;
  font-weight: bold;
}
div.emailWindow form div.input {
  display: block;
  overflow: hidden;
  clear: both;
  width: 415px;
  height: 40px;
  margin-bottom: 15px;
}
div.emailWindow form input,
div.emailWindow form .wrap-form {
  display: inline-block;
  position: relative;
}
div.emailWindow form div.submit {
  display: block;
  width: 70px;
  clear: both;
  float: left;
}
div.emailWindow form input[type=submit] {
  background: #9FCE15;
  color: white;
  font-weight: bold;
  padding: 5px 10px;
  border: none;
  text-shadow: 0 1px 0 #aaa;
}
div.emailWindow .url {
  margin-top: 10px;
  width: 300px;
  padding: 5px 10px;
  border: 1px solid grey;
  color: #333;
  font-weight: bold;
}
div.emailWindow h1 {
  text-align: center;
}
.alert {
  background: #97C700;
  padding: 8px;
  color: white;
  font-size: 16px;
  position: relative;
}
.alert .close {
  position: absolute;
  top: -10px;
  right: -10px;
  display: block;
  width: 28px;
  height: 0;
  padding: 28px 0 0;
  overflow: hidden;
  background: transparent url(../img/close.png) left top no-repeat;
}
.alert .close:hover {
  background-position: 0 -28px;
  cursor: pointer;
}
/* -- Helper classes -- */
.mb-20 {
  margin-bottom: 20px;
}
.lime {
  color: #98C514 !important;
}
.clear {
  clear: both !important;
}
.no-right-margin {
  margin-right: 0 !important;
}
.margin-bottom {
  margin-bottom: 20px !important;
}
.white {
  color: white !important;
}
.white a {
  color: white !important;
}
.white a:hover {
  text-decoration: underline !important;
}
.hide {
  display: none;
}
.float-left {
  float: left !important;
}
.float-right {
  float: right !important;
}
.margin-left {
  margin-left: 20px !important;
}
.margin-right {
  margin-right: 20px !important;
}
.align-left {
  text-align: left !important;
}
.align-right {
  text-align: right !important;
}
.emphasize {
  font-weight: bold;
}
.italic {
  font-style: italic;
}
.pos-rel {
  position: relative;
}
.clearfix {
  clear: both;
  display: block;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  width: 0;
}
