/*
 * HTML5 Boilerplate
 *
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

@import url('../css/normalize.css');
@import url('../css/bootstrap.css');

html,
button,
input,
select,
textarea {
    color: #222;
}

body {
    font-size: 1em;
    line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection declarations have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between images and the bottom of their containers: h5bp.com/i/440
 */

img {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Chrome Frame prompt
   ========================================================================== */

.chromeframe {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* =============================================================================
   FDP Resets
============================================================================= */

.content_image_box {
border-color: transparent;
border-width: 0;
background-image: none;
background-color: transparent;
width: auto;
}

.oldie .content_image_box {
display:inline;
}

/* =============================================================================
   Structure
============================================================================= */

html {
  background: url('../graphics/layout/bg_html.gif') repeat top center #ffffff;
  min-width: 980px;
}

body {
margin: 0;
padding: 0;
height: 100%;
background: url('../graphics/layout/bg_body.gif') no-repeat top center white;
}

.wrap {
  width: 960px;
  margin: 0 auto; 
}

.group {
margin: 0 auto;
padding: 0;
width: 960px;
position: relative;
}
   .group:after {
   content: ".";
   display: block;
   height: 0;
   clear: both;
   visibility: hidden;
   }

/* Helper Classes */

.left { float: left; }
.right { float: right; }
.clear {clear: both; }

.block li { display: block; }
.inline li { display: inline; }
.inline-block li { display: inline-block; }

.helper_block { display: block; }
li.helper_inline { display: inline; }
.helpder_iblock { display: inline-block; }

.clear { clear: both; height: 0; }

a:link, a:visited {
  color: #549b8d;
  text-decoration: none;
}

a:hover, a:active {
  color: #db5a39;
}

h1, h2, h3, h4, h5, h5 { font-family: 'Rosario', sans-serif; }

/* =============================================================================
   Typography                                                                 
============================================================================= */

body {
font-family: 'Rosario', sans-serif;
font-size: 14px;
color: #44342e;
}

button, input, select, textarea {
font-family: 'Helvetica', 'Arial', sans-serif;
}

/* =============================================================================
   Header
============================================================================= */

header {
width: 960px;
margin: 0 auto;
}

#logo {
padding-top: 9px;
padding-left: 1px;
}

#logo img { 
padding: 0;
max-height: 120px;
width: auto;
}

header ul { list-style: none; padding: 0; margin: 0; }
header ul li { display: inline-block; line-height: 0; }

header .collection_item_label,
header .collection_item_description { display: none; }

header span, header #fontsizer, header .social_media { 
  float: right; 
  line-height: 39px;
  font-size: 14px;
  color: #549b8d;
}

header #fontsizer { padding-top: 4px; }

#fs_sml { font-size: 16px; padding: 0 6px; }
#fs_med { font-size: 18px; padding: 0 6px; }
#fs_lrg { font-size: 20px; padding: 0 6px; }

header span { line-height: 50px; }

header .right { margin-top: 20px; }

header .social_media ul li {
    display: inline-block; 
    height: 37px;
    width: 37px;
    overflow: hidden;
    position: relative;
    padding-left: 9px; 
    }

    header .social_media ul li img { position: absolute; bottom: 0; right: 0; margin: 0;  }
    header .social_media ul li img:hover { bottom: -37px; }

/* =============================================================================
   Search
============================================================================= */

header #search {
clear: both;
}

header .google_site_search_form { background: #e4e4e4; }

#search input.google_site_search_form_textbox {
background: none !important;
border: none;
height: 28px;
margin-bottom: 0;
padding-left: 10px;
width: 230px;
font-family: 'Rosario', sans-serif;
font-size: 16px;
color: #5E5E5E;
font-style: italic;
box-shadow: none;
}

#search input.google_site_search_form_search_button {
border: none;
background-color: transparent;
background-image: url('../graphics/layout/search.gif');
background-repeat: no-repeat;
background-position: center center;
font-size: 0;
height: 40px;
width: 34px;
line-height: 44px;
}


/* =============================================================================
   Navigation
============================================================================= */

nav {
z-index: 9001;
position: relative;
width: 960px;
margin: 17px auto 0;
}

nav ul {
height: 50px;
background: url('../graphics/layout/nav_bg.gif') repeat-x top left; 
padding: 0; 
margin: 0;
border-radius: 3px;
text-align: center;
}

nav ul li {
position: relative;
display: inline-block;
line-height: 50px;
padding: 0 22px;
border-right: 1px solid #3f322c;
border-left: 1px solid #584942;
margin-left: -3px;
}

  nav ul li.first { border-left: none; }
  nav ul li.last { border-right: none; }

  nav ul li.current_page { background: url('../graphics/layout/nav_bg.gif') repeat-x top left; }

  nav ul li:hover { background: #db5a39; }

nav ul li a:link, nav ul li a:visited {
font-size: 17px;
text-transform: uppercase;
color: white;
font-weight: bold;
display: block;
height: 50px;
}
nav ul li a:hover, nav ul li a:active {}

nav ul li.home {
background: url('../graphics/layout/nav_home.png') no-repeat center center #3A2D27;
width: 50px;
padding: 0 0 0 15px;
border-top-left-radius: 3px;
border-bottom-left-radius: 3px;
  }

  nav ul li.home a { display: block; }

/* -- 
  Second Tier 
---- */

nav ul li ul {
visibility: hidden;
position: absolute;
background: #db5a39;
border-radius: 0;
height: auto;
text-align: left;
width: 229px;
left: 0;
}

nav ul li ul li {
border-right: none;
border-left: none;
border-bottom: 1px solid #c6411f;
border-top: 1px solid #d66142;
padding: 0; 
width: 229px;
margin: 0;
}

  nav ul li ul li:hover { background: #ce431e; }

  nav ul li ul li.first { border-top: none; }
  nav ul li ul li.last { border-bottom: none; }

nav ul li ul li a:link, nav ul li ul li a:visited {
font-weight: normal;
font-size: 15px;
text-transform: none;
display: block;
padding: 0 13px;
}
nav ul li ul li a:hover, nav ul li ul li a:active {}

/* -- 
  Third Tier 
---- */

nav ul li ul li ul {
  left: 229px;
  top: 0; 
  background: url('../graphics/layout/nav_dd_arrow.jpg') no-repeat top left #f99d1c;
}

  nav ul li ul li ul li {
    border-bottom: 1px solid #d98a1b;
    border-top: 1px solid #faad40;
    }




/* =============================================================================
   Spotlight
============================================================================= */

#spotlight {
width: 965px;
margin: 17px auto 0;
position: relative;
}

#spotlight_content {
  background: url('../graphics/layout/bg_spotlight.png') no-repeat top left;
  height: auto;
  width: auto;
  padding-top: 10px;
  padding-left: 10px;
  float: left;
  position: relative;
}

#spotlight_content ul {
  list-style: none; 
  height: 352px;
  width: 697px;
  overflow: hidden;
  margin: 0;
  padding: 0; 
}

#spotlight_content .collection_item_label {
z-index: 8761;
color: #F99D1C;
font-weight: bold;
font-style: italic;
font-size: 50px;
position: absolute;
top: 169px;
line-height: 65px;
width: 335px;
left: 36px;
text-shadow:-1px 1px 1px #4a3932;
}

  #spotlight_content .collection_item_description { display: none; }

#quicklinks {
background: white;
margin-top: 14px;
height: 324px;
position: absolute;
right: 2px;
padding-right: 22px;
width: 247px;
}

  #quicklinks ul { list-style: none; padding: 0; margin: 0; }

  #quicklinks li.first { background: #e2c443; }
  #quicklinks li { background: #db5a39; margin-top: 16px; clear:both; }
  #quicklinks li.last { background: #549b8d; }

  #quicklinks li.first:hover { background: #d38820; }
  #quicklinks li:hover { background: #d34e23; }
  #quicklinks li.last:hover { background: #007678; }

  #quicklinks ul li a {
    color: white;
    font-size: 20px;
    text-transform: uppercase;
    font-weight: normal;
    }

#quicklinks .collection_item_label { 
padding-top: 18px;
padding-bottom: 12px;
 }

#quicklinks .collection_item_description { display: none; }

#quicklinks .content_image_box { 
  float: left;
height: 56px;
line-height: 56px;
width: 72px;
text-align: center;
padding-right: 9px;
  }

.email {
font-weight: normal;
font-size: 20px;
font-style: italic;
color: #F99D1C;
margin-top: 5px;
}

  .email p { padding-left: 10px; margin: 0; }

.email .e2ma_signup_form {
background: #44342E;
padding-left: 10px;
width: 96%;
position: relative;
}

.email .e2ma_signup_form_label, .email #e2ma_signup_reset_button { display: none; }

.email .e2ma_signup_form_element INPUT {
margin-top: 10px;
height: 23px;
margin-bottom: 14px;
width: 190px;
border-radius: 0;  
}

.email .e2ma_signup_form_button_row {
 position: absolute;
top: 4px;
right: -18px;
}

.email #e2ma_signup_submit_button {
background: url('../graphics/layout/email_btn.png') no-repeat top left;
height: 39px;
width: 39px;
border: none; 
font-size: 0;
}

  .email #e2ma_signup_submit_button:hover {
    background-position: bottom left; 
  }


#spotlight_nav {
position: absolute;
bottom: -10px;
left: 0;
width: 695px;
text-align: center;
z-index: 9000;
}

   #spotlight_nav a {
    text-indent: -9999px;
    display: inline-block;
    outline: 0 none;
    background: #346057;
    height: 12px;
    width: 12px;
    border-radius: 15px;
    padding: 0;
    margin: 0 4px;
   }

      .ie7 #spotlight_nav a {
      text-indent: 0;
      line-height: 0;
      font-size: 0;
      }

   #spotlight_nav a.activeSlide {
   background: #fcfcfc;
   }

/* =============================================================================
   Content
============================================================================= */

h4 {
color: #e2c443;
font-size: 20px;
font-weight: normal;
margin: 0;
}
   
#main_top {
background: url('../graphics/layout/content_top.png') no-repeat top right;
height: 32px;
width: 974px;
margin: 14px auto 0;
padding-right: 10px;
}
#main_btm {
background: url('../graphics/layout/content_btm.png') no-repeat top right;
height: 29px;
width: 974px;
margin: 0 auto;
padding-right: 10px;
z-index: 2 !important;
position: relative;
}

#main {
background: url('../graphics/layout/bg_content.png') repeat-y top right;
width: 974px;
margin: 0 auto;
padding-right: 10px;
z-index: 2 !important;
position: relative;
}

#content {
margin-left: 40px;
width: 530px;
font-size: 16px;
line-height: 22px;
}

aside { 
width: 345px;
}

#events {
background: url('../graphics/layout/events.png') no-repeat top left;
height: 145px;
overflow: hidden;
padding-left: 53px;
margin-top: -6px;
margin-bottom: 23px;
}

  #events ul { list-style: none; padding: 0; margin: 0; }

  #events a:link, #events a:visited { 
    color: #f99d1c;
    font-size: 17px;
    font-style: italic;
    font-weight: normal;
    }
  #events a:hover, #events a:active {
    color: #db5a39;
    }

  #events .collection_item_label a:link::after, #events .collection_item_label a:visited::after { 
    content: url('../graphics/layout/arrow.png');
    padding-left: 10px;
    }
  #events .collection_item_label a:hover::after, #events .collection_item_label a:active::after {
    content: url('../graphics/layout/arrow_h.png');
    }

#news {
background: url('../graphics/layout/news.png') no-repeat top left;
height: 285px;
overflow: hidden;
padding-left: 53px;
color: #44342E;
padding-right: 20px;
}

#news .content_news_article_by_line { font-size: 16px; }

#news a:link, #news a:visited {
color: #44342E;
font-size: 16px;
}
#news a:hover, #news a:active { text-decoration: underline; }

#news .news_articles { padding-top: 7px; }

#news .news_archives a:link, #news .news_archives a:visited {
color: #F99D1C;
font-size: 17px;
font-style: italic;
font-weight: normal;
}

  #news .news_archives a:hover, #news .news_archives a:active { color: #db5a39; text-decoration: none;  }

  #news .news_archives a:link::after, #news .news_archives a:visited::after { 
    content: url('../graphics/layout/arrow.png');
    padding-left: 10px;
    }
  #news .news_archives a:hover::after, #news .news_archives a:active::after {
    content: url('../graphics/layout/arrow_h.png');
    }

    #news div.news_articles ul li { margin-bottom: 1em; }

#sponsors {
background: url('../graphics/layout/bg_sponsors.png') no-repeat center 20px; 
margin-left: 20px;
min-height: 140px; 
}

#sponsors h4 { padding-left: 30px; }

#sponsors ul { list-style: none; margin: 0 0 0 35px; padding: 0; text-align: center; }

#sponsors ul li { 
  float: left;
  background: url('../graphics/layout/bg_sponsor_box.png') no-repeat top left; 
  height: 74px;
  width: 126px;
  margin-top: 4px;
  margin-right: 22px;
  padding-top: 10px;
  }

#sponsors .content_image img { margin-left: 0; }

#sponsors .collection_item_label, #sponsors .collection_item_description { display: none; }

/* =============================================================================
   Footer
============================================================================= */
   
footer {
background: url('../graphics/layout/bg_footer_bar.gif') repeat-x top center #4C3B34;
height: 100%;
margin-top: -60px;
z-index: 0;
position: relative;
padding-top: 70px;
min-height: 125px;
}

#contactinfo {
  color: white;
  font-size: 16px;
  width: 600px;
}

#contactinfo .locations_website_title {
color: #F99D1C;
font-size: 16px;
font-weight: bold;
padding: 0;
}

div.locations div.locations_website_title, div.locations div.locations_additional, div.locations div.location {
padding: 0;
}
div.locations div.locations_website_title, div.locations span.location_phone_label, div.locations span.location_email_label, div.locations span.location_facebook_label, div.locations span.location_twitter_label {
font-weight: normal;
}

#contactinfo .location_info { display: none; }

#contactinfo .location_address1,
#contactinfo .location_phone1 { float: left; padding-right: 5px; }

#contactinfo .location_address2::before,
#contactinfo .location_phone2::before {
  padding-right: 5px;
  content: url('../graphics/layout/bullet.gif');
}

#footerlinks {  }

#footerlinks ul { list-style: none; margin: 0; padding: 0; }

  #footerlinks ul li { display: inline-block; padding: 0 5px 0 10px; border-left: 1px solid #f99d1c; }

    #footerlinks ul li.first { border-left: none; }

  #footerlinks ul li a:link, #footerlinks ul li a:visited {
    color: #F99D1C;
    font-size: 16px;
    }

    #footerlinks ul li a:hover, #footerlinks ul li a:active { color: #db5a39; }

  #footerlinks .collection_item_description { display: none; }


footer .social_media { clear: right; }

footer .social_media ul li {
    display: inline-block; 
    height: 37px;
    width: 37px;
    overflow: hidden;
    position: relative;
    padding-left: 9px; 
    }

    footer .social_media ul li img { position: absolute; bottom: 0; top: 0; margin: 0;  }
    footer .social_media ul li img:hover { top: -37px; }

  footer .social_media .collection_item_label, footer .social_media .collection_item_description {
    display: none; 
  }

/* =============================================================================
   Internal
============================================================================= */

body.internal { background: url('../graphics/layout/bg_body_int.gif') no-repeat top center; }

.internal #masthead {
background: url('../graphics/layout/bg_masthead.png') no-repeat top left;
width: 949px;
height: 256px;
margin: 17px auto -5px;
padding: 17px 0 0 16px;
}

.internal #main {
background: url('../graphics/layout/int_bg_content.png') repeat-y top left; 
width: 960px;
}

.internal #main_top { 
background: url('../graphics/layout/int_content_top.png') no-repeat top left;
height: 16px;
width: 960px;
}
.internal #main_btm { 
background: url('../graphics/layout/int_content_btm.png') no-repeat top left;
height: 20px;
width: 960px;
}

.internal #content { 
margin-left: 30px;
width: 630px;
padding-top: 14px;
min-height: 600px;
}

  .internal #content p { margin-top: 0; }

  .internal #content h4 { margin: 0 0 5px 0; }

.internal #sponsors { margin-left: 0; margin-top: 10em; background: url('../graphics/layout/bg_sponsors_int.png') no-repeat center 20px; }

.internal #sponsors h4 { padding-left: 0; }

.internal #sponsors ul li { margin-top: 5px; }

.internal aside {
  width: 270px;
}

.internal aside h4.sectiontitle {
padding-left: 32px;
padding-top: 12px;
text-transform: uppercase;
}

#subnav ul { list-style: none; padding: 0 0 0 32px; margin: 0 }

  #subnav ul li { line-height: 40px; }

    #subnav ul li a:link, #subnav ul li a:visited {
      color: #00babc;
      font-size: 16px;
      font-style: italic; 
      }

      #subnav ul li a:hover, #subnav ul li a:active, #subnav ul li.current_page a { text-decoration: underline; }

  #subnav ul li ul { margin: 0 0 5px 0; padding-left: 20px; }

    #subnav ul li ul li { line-height: 16px; }

      #subnav ul li ul li a:link, #subnav ul li ul li a:visited { 
        font-size: 13px; 
        font-style: normal;
      }


.internal #quicklinks { 
background: none;
margin-top: 0;
height: auto;
position: relative;
margin-left: 10px;
}

/* =============================================================================
   General QA
============================================================================= */

#sponsors ul li {
padding-left:10px;
}

.e2ma_signup_message, .e2ma_signup_form_required_footnote { display: none; }

.e2ma_login_container {
margin-top: 10px;
}

#content, .internal #content { text-align: justify; }



/* =============================================================================
   Browser QA
============================================================================= */

/* Modern =================================================================== */

   

/* IE (.ie) ================================================================= */

   

/* IE9 (.ie9) =============================================================== */

   

/* IE8 (.ie8) =============================================================== */

   

/* IE8 &amp; IE7 (.oldie) ======================================================= */

	.oldie nav ul li { float: left; padding: 0 14px; }
	.oldie nav ul li ul li { float: none; width: 200px;}
	
	.oldie #spotlight_content .collection_item_label { width: 500px; }
   

/* IE7 (.ie7) =============================================================== */

   .ie7 .clear { height: 1px; }
   
   .ie7 .social_media ul li { float: left; }
   .ie7 header .right { width: 282px; }
   .ie7 #quicklinks ul li { height: 51px; }
   .ie7 #quicklinks ul li .collection_item_label { float: left; }
   .ie7 #footerlinks ul li  { float:left; }
   .ie7 footer .social_media { width: 179px; }
   .ie7 footer .social_media ul li { float: left; }

/* =============================================================================
   FDP Styles
============================================================================= */

#catalog {
margin:1.14em 0;
position:relative;
}

#catalog_order_details th {
padding:4px 10px;
}

#internal div.dlCategoriesContainer h4 {
color:#edecea;
font-size:1.1em;
margin:0;
}

#message_details .value {
padding-left:10px;
}

#order_details_cart_actions,.dlItemDetailsFormSubmitContainer,.dlItemDetailsCategory {
font-size:0.9em;
}

.catalog_order_details_section .catalog_order_items_reorder_button {
bottom:0;
clear:both;
margin-top:-1.14em;
position:relative;
right:0;
}

.column_title,table#content_online_proof tbody tr td {
padding:4px 10px 4px 0;
}

.dlItemDetailsPhotoContainer img.dlDetailsPhoto,.dlPhotoContainer img.dlPhoto {
border-color:rgba(0,0,0,0.1);
}

.dlListHeadingContainer a {
color:#edecea;
}

div.dlSpecifyDetailsLinkContainer a:hover,div.dlSpecifyDetailsLinkContainer a:active {
background:#edecea;
color:#B78B90;
}

div.form_row_submit,table#content_online_proof thead tr,#internal h5.form_title,div.dlItemDetailsHeading,div.dlSpecifyDetailsLinkContainer a:link,div.dlSpecifyDetailsLinkContainer a:visited,.dlListHeadingContainer,.dlCategoriesTitle {
background:#e8e8e6;
color:#edecea;
font-size:0.9em;
}

h5.form_title {
clear:both;
}


table.content_data_table td.row_odd,table.express_order p.category_title,#catalog_order_details th,.catalog_order_details_wrapper .catalog_order_section_row .catalog_order_section .catalog_order_section_title,#message_details .label.online_proof_details_label,table.express_order td.order_details_subtotal_value,table.express_order td.order_details_tax_value,table.express_order td.order_details_total_value,.dlItemDetailsFormHeading,.dlItemDetailsCategory {
background: transparent;
color:#555;
vertical-align:middle;
}

table.express_order tr.category,table.express_order tr.category td {
background:transparent none;
}

/* =============================================================================
|   Form Reset                                                                 |
============================================================================= */

button, input, select {
   height: 22px;
   font-size: 12px;
   line-height: 14px;
   }

button, input { padding: 2px 10px; }

input.content_login_portal_password, input.content_login_portal_username, .form_row_submit {
   width: 100%;
   margin: 0;
   padding: 0;
   }

table.calendar tbody td span.day, table.calendar thead th, table.content_data_table th.column_label, div.catalog_display_express p.continue_button, table.express_order th, .dlItemDetailsFormSubmitContainer, div.content_catalog_cart_navigation a:hover {
   background: #E8E8E6;
   color: #333;
   }

table.express_order tr.item td { padding: 7px; }

.dlCategoriesTitle h4, .dlListHeadingContainer a,  { color: #333; }

div.form_row_submit, table#content_online_proof thead tr, #internal h5.form_title, div.dlItemDetailsHeading, div.dlSpecifyDetailsLinkContainer a:link, div.dlSpecifyDetailsLinkContainer a:visited, .dlListHeadingContainer, .dlCategoriesTitle {
   background: #E8E8E6;
   color: #333;
   }

div.required_form_label { color: #EF3A35; }

div.portal_login { clear: both; }

/* =============================================================================
   Sticky Footer -- Comment In If Desired
============================================================================= */
/*
*  {
   margin: 0;
   }

html, body {
   height: 100%;
   }

.wrapper {
   min-height: 100%;
   height: auto !important;
   height: 100%;
   margin: 0 auto (footer-height); /* the bottom margin is the negative value of the footer's height *//*
   background: black url('../graphics/bg.jpg') no-repeat top center;
   }

.push   {
   height: (footer-height); /* .push must be the same height as footer */
   }

/*Opera Fix*//*
body:before {
   content:"";
   height:100%;
   float:left;
   width:0;
   margin-top:-32767px;
   }

* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Image replacement
 */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    /* IE 6/7 fallback */
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 100%;
}

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

.hidden {
    display: none !important;
    visibility: hidden;
}

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp.com/p
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screenreaders, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * 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 receive the 'clearfix' class.
 * 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;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   Theses examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
       only screen and (min-resolution: 144dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important; /* Black prints faster: h5bp.com/s */
        box-shadow:none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links for images, or javascript/internal links
     */

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group; /* h5bp.com/t */
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}