body {
  background: #f2eede;
  font-family: "cronos-pro", georgia, serif;
  font-size: 90%;
  color: #7b7a72; }
  @media only screen and (min-width: 768px) {
    body {
      font-size: 100%; } }

img, embed, object, iframe {
  max-width: 100%; }

.background {
  background: transparent url(../img/key-bottom-small.jpg) 90% 0 no-repeat;
  padding-top: 10px; }

.home .background {
  background: transparent url(../img/key-bottom.jpg) 80% 0 no-repeat scroll;
  padding-top: 10px; }

/**
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    contenteditable attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that are clearfixed.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */
.clearfix:before,
.clearfix:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */ }

.clearfix:after {
  clear: both; }

/**
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */
.clearfix {
  *zoom: 1; }

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
  color: #2f343b;
  margin: 0 0 1em 0; }

h2 {
  font-size: 1.625em;
  line-height: 1.15384615; }

h3 {
  font-size: 1.375em;
  line-height: 1.15384615; }

p {
  font-size: 1.125em;
  line-height: 1.2;
  margin: 0 0 1em; }

a {
  color: #7b7a72;
  font-weight: bold; }

.wrapper {
  width: 90%;
  max-width: 960px;
  margin: 0 auto; }

section {
  margin-bottom: 3em; }

header {
  background: #2f343b url(../img/key-top.jpg) 79% bottom no-repeat scroll; }
  header img {
    padding: 4.5em 0 3em; }

.about header, .contact-us header, .our-team header, .why-carney header {
  background: #2f343b url(../img/key-top-small.jpg) 90% bottom no-repeat; }

nav {
  background: #797b79;
  background: rgba(121, 123, 121, 0.8);
  border-top: 1px solid white;
  border-bottom: 1px solid white;
  padding: 10px;
  margin-bottom: 1em; }

nav ul {
  padding: 0; }

nav ul li {
  display: inline; }

nav a {
  color: white;
  text-decoration: none;
  font-size: 1.375em;
  font-weight: normal; }

nav ul li.current-nav-item a {
  font-weight: bold; }

.introduction {
  background: white;
  background: rgba(255, 255, 255, 0.4);
  border-top: 1px solid white;
  border-bottom: 1px solid white;
  padding-bottom: 1em; }
  .introduction a {
    color: #2f343b; }

@media only screen and (min-width: 960px) {
  .about-content {
    display: block;
    float: left;
    margin-left: 0;
    margin-right: -99.9%;
    width: 65.9375%; } }

@media only screen and (min-width: 960px) {
  .about-image {
    display: block;
    float: left;
    margin-left: 68.02083%;
    margin-right: -99.9%;
    width: 31.92708%; } }

@media only screen and (min-width: 960px) {
  .contact-details {
    display: block;
    float: left;
    margin-left: 0;
    margin-right: -99.9%;
    width: 48.93229%; } }

.map {
  margin-bottom: 1em; }
  @media only screen and (min-width: 960px) {
    .map {
      display: block;
      float: left;
      margin-left: 51.01562%;
      margin-right: -99.9%;
      width: 48.93229%; } }

@media only screen and (min-width: 960px) {
  .why-one {
    display: block;
    float: left;
    margin-left: 0;
    margin-right: -99.9%;
    width: 31.92708%; } }

@media only screen and (min-width: 960px) {
  .why-two {
    display: block;
    float: left;
    margin-left: 34.01042%;
    margin-right: -99.9%;
    width: 31.92708%; } }

@media only screen and (min-width: 960px) {
  .why-three {
    display: block;
    float: left;
    margin-left: 68.02083%;
    margin-right: -99.9%;
    width: 31.92708%; } }

.introduction .wrapper {
  overflow: auto; }
  @media only screen and (min-width: 960px) {
    .introduction .wrapper div {
      display: block;
      float: left;
      margin-left: 0;
      margin-right: -99.9%;
      width: 65.9375%; } }

.home .main .wrapper {
  overflow: auto; }
  @media only screen and (min-width: 960px) {
    .home .main .wrapper div {
      display: block;
      float: left;
      margin-left: 0;
      margin-right: -99.9%;
      width: 65.9375%; } }

.team-member {
  background: white;
  background: rgba(255, 255, 255, 0.7);
  margin-top: 90px;
  border-top: 1px solid white;
  border-bottom: 1px solid white;
  position: relative;
  margin-bottom: 1em; }
  .team-member img {
    display: block;
    position: relative;
    top: -90px;
    margin-left: auto;
    margin-right: auto; }

.team-member-bio {
  margin-top: -70px;
  padding: 1em; }

@media only screen and (min-width: 768px) {
  .team-member--stephen {
    display: block;
    float: left;
    margin-left: 0;
    margin-right: -99.9%;
    width: 96%; } }

@media only screen and (min-width: 768px) {
  .team-member--barbara {
    display: block;
    float: left;
    margin-left: 51.26953%;
    margin-right: -99.9%;
    width: 96%; } }

@media only screen and (min-width: 960px) {
  .contact-details-phone {
    display: block;
    float: left;
    margin-left: 0;
    margin-right: -99.9%;
    width: 23.42448%; } }

@media only screen and (min-width: 960px) {
  .contact-details-email {
    display: block;
    float: left;
    margin-left: 25.50781%;
    margin-right: -99.9%;
    width: 23.42448%; } }

@media only screen and (min-width: 960px) {
  .contact-details-street {
    display: block;
    float: left;
    margin-left: 51.01562%;
    margin-right: -99.9%;
    width: 23.42448%; } }

@media only screen and (min-width: 960px) {
  .contact-details-postal {
    display: block;
    float: left;
    margin-left: 76.52344%;
    margin-right: -99.9%;
    width: 23.42448%; } }

footer[role="contentinfo"] {
  background: #797b79;
  background: rgba(121, 123, 121, 0.8);
  border-top: 1px solid white;
  border-bottom: 1px solid white;
  padding: 10px;
  color: white;
  font-size: 1.125em;
  clear: both; }
  footer[role="contentinfo"] p {
    margin-bottom: 0; }
