/**************************************************
 LAYOUT & STRUCTURE OF CONTENT
        
  <div class="container">
    <div class="row">
      <div class="col span-1">Content</div>
      <div class="col span-2">Content</div>
      <div class="col span-3">Content</div>
    </div>
  </div>
        
***************************************************/

h1, h2, h3, h4, h5, h6, p, ul, ol, dl, table, form, blockquote,
section, header, footer, aside, article, nav {
  margin-bottom: 1.5em;
}

/**************************************************
  SETUP LAYOUT HERE
  Spend time calulating a unique span for each website.
  By default we are using 940px and adjust to one column
  under 
***************************************************/
body {
  min-width: 1100px;
  padding-bottom: 5em;
}
#content .container.page,
#content .container > .row > .page {
  padding-top: 55px;
  min-height: 500px;
}

.container {
  margin-left: auto;
  margin-right: auto;
  width: 930px;
  position: relative;
}
.row {
  margin-left: -36px;
  *zoom: 1;
}
ul.row,
ul.row li {
  list-style: none;
  padding-left: 0;
}
.row:before,
.row:after {
  display: table;
  content: "";
  line-height: 0;
}
.row:after {
  clear: both;
}
[class*="span"] {
  float: left;
  margin-left: 36px;
}
iframe,
article object {
  width: 100%;
  max-width: 500px;
}


/**************************************************
 12 Column Layout

 @todo, can I set this span up with less so I can 
         easily swap the span with a control file?
***************************************************/

.span-12 { width: 924px; }
.span-11 { width: 842px; }
.span-10 { width: 764px; }
.span-9  { width: 784px; }
.span-8  { width: 604px; }
.span-7  { width: 524px; }
.span-6  { width: 444px; }
.span-5  { width: 364px; }
.span-4  { width: 284px; }
.span-3  { width: 204px; }
.span-2  { width: 124px; }
.span-1  { width: 44px;  }


.page {
  border: 1px solid #cbcbcb;
  border: 1px solid rgba(0, 0, 0, 0.2);
  /*margin-bottom:20px;*/
}

.page-12 {
  padding: 55px;
}
.page-9 {
  padding: 20px 55px 30px 55px;
  margin-left:-20px;
  width: 629px;
}
.page-3 {
  padding:  20px;
  margin-left: -20px;
  width: 180px;
}



/**************************************************
 MEDIA
 .media-box is for the common format of images being floated left alongside text
 .media-span is for a gallery-like display of media content
***************************************************/

/* Media Box */
.media-box .media-content                 { display:table-cell; zoom:1; }
.media-box .media-content > :first-child { margin-top:0; }
.media-box .media-content > :last-child  { margin-bottom:0; }
.media-box .img     { float:left; padding-right:10px; } 
.media-box .img img { display:block; }

/* Media span 
.media-span {
  margin-left: -20px;
  margin-bottom: 0;
  zoom: 1;
}
.media-span:before, .media-span:after {
  display: table;
  content: "";
  zoom: 1;
}
.media-span li {
  display: inline;
}
.media-span a {
  float: left;
  padding: 4px;
  margin: 0 0 18px 20px;
  border: 1px solid #ddd;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
}
.media-span a img {
  display: block;
}
.media-span a:hover {
  border-color: #0069d6;
  -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
  -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
  box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
}
*/

/**************************************************
 CLEAR FLOATED ELEMENTS
***************************************************/

.clearfix {
  *zoom: 1;
}
.clearfix:before,
.clearfix:after {
  display: table;
  content: "";
  line-height: 0;
}
.clearfix:after {
  clear: both;
}


/**************************************************
 HEADER
***************************************************/
#header .group {
  background: rgb(25, 25, 25);
  padding: 1em 2em 0.5em;
}
#header .group:after {
  content: "";
  display: table;
  clear: both;
}
#header .branding {
  font-size: inherit;
}
#header .branding,
#header nav.primary {
  margin-right: 1.5em;
}
#header .branding,
#header nav.primary,
#header .social {
  float: left;
}
#header .branding,
#header nav.primary li,
#header nav.books li {
  line-height: 1;
}
#header nav.books {
  float: right;
}
#header nav.secondary {
  margin-top: 0.5em;
  float: right;
  padding: 0.5em 2em;
  text-transform: uppercase;
}
#header nav.secondary a {
  color: inherit;
}
#header a {
  color: #ede8e3;
  text-decoration: none;
}
#header a:hover,
#header a:active,
#header a:focus {
  text-decoration: underline;
}
#header a:focus {
  
}
#header h2 {
  margin: 0;
}
#header h2 + p {
  margin-top: 0;
}
#header nav,
#header .social {
  margin-bottom: 0;
}
#header .social {
  margin-top: -0.25em;
}
#header ul,
#header li {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}
#header ul {
  margin-bottom: 0;
}
#header li {
  float: left;
  margin-right: 1em;
  padding-bottom: 0;
  line-height: 1;
}
#header li a {
  font-family: "futura", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: normal;
  line-height: 1;
}
#header .branding,
#header nav.books li a,
#header nav.secondary li a {
  font-family: "futura-pt-condensed", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: bold;
  font-size: 18px;
  line-height: 16px;
}
#header nav li {
  margin-right: 0;
}
#header nav li + li:before {
  padding-left: 0.5em;
  padding-right: 0.5em;
  content: "•";
  color: #ede8e3;
}
#header nav.secondary li + li:before {
  color: inherit;
}
#header nav.secondary a {
  display: inline-block;
  padding-top: 0.4em;
}
#header nav.secondary ul,
#header .search,
#header .search h3,
#header .search p {
  display: inline;
}
#header .search input {
  border-width: 0;
}
#header nav.secondary ul {
}
#header .search {
  position: relative;
  margin-left: 1em;
}
#header .search h3,
#header .search label span {
  /* @hidden-accessible */
  position: absolute;
  left: -9999px;
}
#header .search label br {
  display: none;
}
#header .search button {
  width: auto;
  background: white url(/assets/images/icons/lense.png) no-repeat center;
  background: white url(/assets/images/icons/lense.svg) no-repeat center, none;
  border-width: 0;
  padding: 0;
  text-indent: -9999px;
  overflow: hidden;
  width: 28px;
  height: 22px;
  margin: 0;
  position: absolute;
  top: 0;
  right: 2px;
}
#header .search input,
#header .search button {
  background-color: transparent;
}
#header .search input {
  box-shadow: 0 0 0 transparent;
  border: 1px solid rgba(0, 0, 0, 0.05);
  background: rgba(255, 255, 255, 0.5);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#88FFFFFF', endColorstr='#88FFFFFF',GradientType=0 ); /* IE6-9 */
}
#header .search input:focus {
  background: white;
}

#header .mobile-social {
  display: none;
}

/**************************************************
 SOCIAL ICONS
***************************************************/
.social .twitter a,
.social .facebook a,
.social .pinterest a {
  /* @hidden-accessible-text */
  text-indent: -9999px;
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
}
.social .twitter a {
  background-image: url(/assets/images/icons/twitter.png);
  background-image: url(/assets/images/icons/twitter.svg), none;
}
.social .facebook a {
  background-image: url(/assets/images/icons/facebook.png);
  background-image: url(/assets/images/icons/facebook.svg), none;
}
.social .pinterest a {
  background-image: url(/assets/images/icons/pinterest.png);
  background-image: url(/assets/images/icons/pinterest.svg), none;
}


/**************************************************
 HEADLINES
***************************************************/
ul.headlines,
ul.headlines li {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}
ul.headlines li {
  margin-bottom: 24px; /* @line-height */
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
ul.headlines li:last-child {
  margin-bottom: 0;
  border-bottom-width: 0;
  padding-bottom: 0;
}
ul.headlines li > a {
  color: inherit;
  text-decoration: none;
  display: block;
  font-weight: normal;
}
ul.headlines h1,
ul.headlines h3:first-child {
  margin-bottom: 6px;
  font-size: 1.25em;
  font-family: "futura-pt-condensed", "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 1.25em;
  text-transform: none;
}
ul.headlines h3:first-child {
  margin-bottom: 0.5em;
}
ul.headlines h1 + h2 {
  color: inherit;
  font-weight: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: 1.4em;
  margin-bottom: 0.25em;
}
ul.headlines .source,
.article .source {
   /* IE 8 */
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";

  /* IE 5-7 */
  filter: alpha(opacity=40);
  
  opacity: .4;
  font-size: 10px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 14px;
  text-transform: uppercase;
}
.article h1 { 
  margin-bottom: 8px;
} 
.article .source {
  font-size: 11px;
}
ul.headlines .source img {
  position: absolute;
  width: 125px;
  height: auto;
  right: 0;
  
   /* IE 8 */
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=35)";
  
  /* IE 5-7 */
  filter: alpha(opacity=35);
  
  opacity: 0.35;
  top: 8px;
}
ul.headlines .has-category > a {
  margin-right: 9em; /* This is arbitrary (it happens to be about the width of the widest “special topic”). */
}
ul.headlines .has-category > a:hover h1,
ul.headlines .has-category > a:active h1,
ul.headlines .has-category > a:focus h1 {
  text-decoration: underline;
}
ul.headlines .category {
  margin-bottom: 0;
}
ul.headlines .date,
ul.headlines .location,
ul.headlines .category {
  color: #bfbfbf;
  font-weight: bold;
  text-decoration: none;
  text-transform: uppercase;
  font-family: "futura-pt-condensed", "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin-bottom: 0;
  line-height: 1;
}
ul.headlines .category a {
  color: inherit;
  text-decoration: inherit;
}
ul.headlines .category a:hover,
ul.headlines .category a:active,
ul.headlines .category a:focus {
  color: black;
  text-decoration: underline;
}
ul.headlines li {
  position: relative;
}
ul.headlines .category {
  margin: 0;
  position: absolute;
  top: 4px;
  right: 0;
}
ul.headlines .event-description {
  font-size: 14px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
ul.headlines li {
  position: relative;
}
ul.headlines.events h3:first-child {
  
}
ul.headlines.events li {
  /* padding-top: 2.5em; */
  padding-right: 9em;
}
ul.headlines h2 {
	margin: 10px 0 20px;
}

/**************************************************
 HOME
***************************************************/
section.home {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
section.home .container {
  margin-top: 5em;
  margin-left: auto;
  margin-right: auto;
  /*
  background: white;
  background: rgba(255, 255, 255, 0.75);
  */
  padding: 55px;
  width: auto;
  margin-left: 300px;
}
section.home .container:after {
  content: "";
  display: table;
  clear: both;
}
section.home h2 {
  margin-bottom: 0;
  font-size: 20px;
}
section.home .more {
  text-transform: lowercase;
}
section.home section {
  margin-top: 72px; /* @line-height x 3 */
  float: left;
  width: 40%;
}
section.home section + section {
  margin-left: 6%;
  width: 54%;
}
section.home ul.headlines li {
  margin-bottom: 24px;
  border-width: 0;
  padding-bottom: 0;
}
section.home .headlines h3:first-child {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 18px;
  color: #0049e3; /* @link-color */
  margin-bottom: 0;
}
section.home .headlines h3 + p {
  color: #444;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 11px;
  margin-bottom: 6px;
}


/**************************************************
 BOOK
***************************************************/
.book-image {
  float: left;
  margin: 0 20px 10px 0;
  border: 1px solid #a39c94;
  border: 1px solid rgba(0, 0, 0, 0.1);
}


/**************************************************
 ASIDE
***************************************************/
aside ul,
aside li {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}
aside ul {
  margin-bottom: 0;
}
aside li:last-child {
  padding-bottom: 0;
}
aside ul.months {
  padding: 5px 0 0 15px;
  border-top: 1px solid rgba(0,0,0,0.1);
  margin: 3px 0 15px 0;
}
aside.book ul,
aside.book li {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}
aside li {
  line-height: normal;
  padding: 0;
}
.feed a,
.subscribe a,
aside li a {
  text-decoration: none;
  font-family: "futura", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: normal;
  font-size: 14px;
}
aside.book {
  margin-top: -140px;
  margin-left: -72px; /* aside.margin + content.padding - arbitraryNumber (37px + 55px - 20px ) */
}
aside.book:after {
  content: "";
  display: table;
  clear: both;
}
aside.book img {
  border: 1px solid #a39c94;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 0.25em rgba(0, 0, 0, 0.25);
  margin-bottom: 0;
  margin-right: 0.75em;
  display: block;
  float: left;
}
aside.book ul {
  padding-top: 2em;
  white-space: nowrap;
}
aside.book li a:after {
  content: " »";
}
aside.subscribe a {
  background: transparent url(/assets/images/icons/email.ie.png) left no-repeat;
  background-image: url(/assets/images/icons/email.svg), none;
  background-size: contain;
  color: rgb(102, 102, 102);
  padding-left: 1.75em;
}
.feed a {
  background: transparent url(/assets/images/icons/rss.png) left no-repeat;
  background-image: url(/assets/images/icons/rss.svg), none;
  background-size: contain;
  padding-left: 1.75em;
  color: rgb(102, 102, 102);
}

#subForm h4 {
  text-transform: none;
  font-family: inherit;
  font-size: 15px;
  font-weight: normal;
}


/**************************************************
 CONTENT HEADER
***************************************************/
#content > header {
  margin-top: 5.5em;
  margin-bottom: 2em;
  margin-left: auto;
  margin-right: auto;
  width: 930px;
  display: table;
}
#content > header > div {
  display: table-row;
}
#content > header > div > div {
  display: table-cell;
  vertical-align: bottom;
  height: 90px; /* This number is arbitrary. It happens to be about the height of the tallest header on the site. */
}
#content > header a {
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  text-transform: inherit;
  text-decoration: inherit;
}
#content > header a:hover,
#content > header a:active,
#content > header a:focus {
  text-decoration: underline;
}
#content > header .title a:hover,
#content > header .title a:active,
#content > header .title a:focus {
  text-decoration: none;
}


#content > header h1,
#content > header h2,
#content > header h3 {
  width: 450px;
}
#content > header h1:first-child,
#content > header h2:first-child {
  margin-bottom: 0.25em;
}
#content > header h1 + h2:last-child,
#content > header h2 + h3:last-child {
  margin-top: 0;
  font-weight: inherit;
  font-size: 16px;
  line-height: 22px;
  font-family: inherit;
  margin-bottom: 0;
}


/**************************************************
 CONTENT
***************************************************/
#content img[align="left"] {
  margin-right: 1.5em;
  margin-bottom: 0.75em;
  border: 1px solid rgba(0, 0, 0, 0.1);
}


/**************************************************
 BLOG / ARTICLES
***************************************************/
article + article {
  margin-top: 0.75em;
  padding-top: 1.5em;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
article h1 a {
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  text-transform: inherit;
  text-decoration: inherit;
}
article h1 + h2 {
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}
/* Video player responsive design by John Surdakowski
   http://avexdesigns.com/responsive-youtube-embed/ */
.video-player {
	position: relative !important;
    padding-bottom: 56.25% !important;
    padding-top: 30px !important;
    height: 0 !important;
    overflow: hidden !important;
}
.video-player iframe,
.video-player object,
.video-player embed {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: inherit !important;
}

/* Make sure none of our 
   images break the design */
article img {
  max-width:100%;
}

/* Full Width Image */
article figure.full-width img {
  margin-bottom: 0;
  max-width:100%;
  position:relative;
}
article figure.full-width figcaption {
  border-bottom: 1px dashed #cbcbcb;
  font-style: italic;
  padding: 0 .5em;
  margin-bottom: 1.5em;
}

/* Half Width Image */
article figure.half-width {
  max-width: 44%;
  position:relative;
}
article figure.half-width.left { 
  float: left; 
  padding-right: 3%;
}
article figure.half-width.right { 
  float: right; 
  padding-left: 3%;
}
article figure.half-width.center { 
  margin: 0 auto;
}
article figure.half-width img {
  margin-bottom: 0;
  position:relative;
  width:100%;
}
article figure.half-width figcaption {
  border-bottom: 1px dashed #cbcbcb;
  font-style: italic;
  padding: 0 .5em;
  margin-bottom: 1.5em;
}

/* Pull Quote */
article blockquote.pull-quote { 
  border: 0;
  border-top: 1px dashed #cbcbcb;
  border-bottom: 1px dashed #cbcbcb;
  font-size:1.6em;
  line-height: 1.2em;
  margin-bottom: 1em;
  max-width:44%;
  padding-top: .5em;
  position:relative;
}
article blockquote.pull-quote.left { 
  float: left; 
  margin-right: 3%;
}
article blockquote.pull-quote.right { 
  float: right; 
  margin-left: 3%;
}
article blockquote.pull-quote.center { 
  max-width: 100%;
}
article blockquote.pull-quote footer {
  margin: 0;
  padding: 0;
}

/* Photo Gallery */
article ul.gallery {
  border-top: 1px dashed #cbcbcb;
  border-bottom: 1px dashed #cbcbcb;
  display: block;
  margin: 0 0 1em;
  /*overflow:scroll;*/
  padding: 2% 0 0;
  position:relative;
  text-align: center;
  /*white-space:nowrap;*/
}
article ul.gallery li {
  display: inline;
}
article ul.gallery img {
  margin: .1em;
  max-height:120px;
  position:relative;
}

.pagination {
  text-align: right;
  margin-top: 24px; /* @line-height */
  padding-top: 24px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.pagination,
.pagination li {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}
.pagination li {
  display: inline-block;
  margin-right: 1em;
  text-transform: lowercase;
}
.pagination a {
  text-decoration: none;
}
.pagination .active {
  font-weight: bold;
}
.pagination .active a {
  color: inherit;
}
.pagination .previous a:before {
  content: "← ";
}
.pagination .next a:after {
  content: " →";
}
.read-more {
  margin-top: 5px;
  text-transform: uppercase;
  font-size: 12px;
}


/**************************************************
 PERSON
***************************************************/
.person img {
  float: right;
  margin-left: 1.5em;
  margin-bottom: 0.5em;
}
.person ul {
  clear: both;
  padding-top: 48px; /* @line-height x 2 */
}
.person ul:after {
  content: "";
  display: table;
  clear: both;
}
.person ul,
.person li {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}
.person li {
  float: left;
  width: 30%;
}
.person li + li {
  padding-left: 5%;
}

.person iframe {
  display: block;
  margin: 0 auto;
}


/**************************************************
 MEDIA KIT
***************************************************/
.media-kit ul,
.media-kit li {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}
.media-kit li {
  display: inline-block;
  vertical-align: top;
  margin-bottom: 5px;
}
.media-kit li img {
  display: block;
  margin-bottom: 0;
}
.media-kit p a {
  text-decoration: none;
}
.media-kit p a:hover,
.media-kit p a:active,
.media-kit p a:focus {
  text-decoration: underline;
}
.media-kit p a:after {
  content: " »";
}
.media-kit section {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.media-kit .photo-credit {
  font-size: .8em;
  line-height: 1.4;
  margin: 5px 0 10px 0 ;
  max-width: 200px;
}


/**************************************************
 COMMENTS
***************************************************/
#comments {
  width: 100%;
  max-width: 100% !important;
}
#fbcomments, .fb_iframe_widget, 
.fb_iframe_widget[style], 
.fb_iframe_widget iframe[style], 
#fbcomments iframe[style] {
  width: 100% !important;
  max-width: 100% !important;
}
#fbcomments span, 
.fb_iframe_widget span, 
.fb_iframe_widget span[style], 
.fb_iframe_widget iframe span[style], 
#fbcomments iframe span[style] {
  width: 100% !important;
  max-width: 100% !important;
}


