/**
  *
  * Theme Name: Orange Gnome: Writings
  *
  * Description: Theme for writings.orangegnome.com
  * Author: Brent Lineberry
  * Author URI: http://www.lineberrydesign.com/
  * Version: 1.2
  *
  
/*
 *  Changelog:
 *    Version: 1.2
 *      Changed image caption filter to better handle responsiveness
 *
 *      Adjusted styles on pre code
 *        Decreased font size
 *        Allowed breaks
 *
 *      Changed archive header dumb quotes to typographic quotes
 *
 *      Changed default ul list-style-type to circle
 *
 *      Changed header sizes for small screens
 *      Adjusted <hr /> styles in content
 *
 *
 *    Version 1.1
 *      Adjusted styles on pre code (prettyprint combo)
 *        Line-height to 1
 *        Rounded corners
 *        Increased font size
 *    
 *      Update Improved HTML5 Captions to use add_filter
 *    
 *      Added "Prettyprint" shortcode
 *
 */
  
  

/* HTML5 ✰ Boilerplate
 * ==|== normalize ==========================================================
 */

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }

html { font-size: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { margin: 0; font-size: 13px; line-height: 1.231; }
body, button, input, select, textarea { font-family: sans-serif; color: #222; }

::-moz-selection { background: #fe57a1; color: #fff; text-shadow: none; }
::selection { background: #fe57a1; color: #fff; text-shadow: none; }

a { color: #00e; }
a:visited { color: #551a8b; }
a:hover { color: #06e; }
a:focus { outline: thin dotted; }
a:hover, a:active { outline: 0; }

abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
blockquote { margin: 1em 40px; }
dfn { font-style: italic; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
pre, code, kbd, samp { font-family: monospace, monospace; _font-family: 'courier new', monospace; font-size: 1em; }
pre { white-space: pre; white-space: pre-wrap; }
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
small { font-size: 85%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
label { cursor: pointer; }
legend { border: 0; *margin-left: -7px; padding: 0; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; *overflow: visible; }
table button, table input { *overflow: auto; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }

table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }


/* ==|== primary styles =====================================================
   Author: 
   
   B5B5B5
   
   
   ========================================================================== */


/* General Styles */

::-moz-selection { 
  background: #444; 
  
  color: #FFF; 
  text-shadow: none; 
}
::selection { 
  background: #444; 
  
  color: #FFF; 
  text-shadow: none; 
}

body { 
  font: 16px/1.5 "Adobe Garamond Pro",Georgia,serif; 
  color: #444; 
}

p { 
  margin: 1.5em 0; 
}
blockquote p { 
  margin-bottom: 0; 
}
p:first-child { 
  margin: 0; 
}

h1,h2,h3,h4,h5,h6 { 
  margin: 1em 0 0; 
  
  font-weight: bold; 
}
h1 { 
  font-size: 2.0em; 
}
h2 { 
  font-size: 1.8em;
  line-height: 1.388888888;
}
h3 { 
  font-size: 1.6em;
  line-height: 1.5625; 
}
h4 { 
  font-size: 1.4em; 
  line-height: 1.428571429;
}
h5 { 
  font-size: 1.2em; 
  line-height: 1.666666666;
}
h6 { 
  font-size: 1.0em; 
}

a { text-decoration: none; }
a:link, a:visited { color: inherit; border-bottom: 1px dotted #444; border-color: inherit;
  -webkit-transition: color 0.2s ease;
  -moz-transition:    color 0.2s ease;
  -o-transition:      color 0.2s ease;
  transition:         color 0.2s ease;
}
a:hover, a:active { 
  border-color: #B5B5B5;
  
  color: #B5B5B5; 
}
/*a img { vertical-align: text-bottom; }*/
a img { vertical-align: top; border: 0 none; }

ol, ul { padding: 0 0 0 1em; }
ul { list-style-type: circle; }

blockquote { font-size: 1.2em; line-height: 1.6666666; font-style: italic; position: relative; margin: 2em 0 1.5em 3em; }
blockquote:before { content: '\201C'; font-size: 5em; position: absolute; height: 0; line-height: 0; margin-left: -0.5em; margin-top: 0.4em; }
blockquote cite { font-style: normal; display: block; text-align: right; margin-top: -1.5em; }
blockquote cite:before { content: '\2014'; }



th, td { padding: 0.5em; border: 1px solid #B5B5B5; }

dl { margin: 1.5em 0; }
dt { font-weight: bold; }
dd { margin-left: 1em; }

abbr, acronym { font-style: italic; cursor: help; }

pre, code, kbd, samp, tt { font-size: 0.875em; line-height: 1; }
pre { line-height: 1.142857142857143; overflow: auto; padding: 0.5em; }
pre code { line-height: 1.142857142857143; font-size: 1em; }

s { text-decoration: line-through; }

var { font-size: 0.875em; line-height: 1; font-style: normal; font-family: monospace; }
var:before { content: '['; }
var:after { content: ']'; }

form ul {
  margin: 0;
  padding: 0;

  list-style: none;
}
form li, form p {
  margin: 0.75em 0 0;
}
input, textarea {
  padding: 0 0.5em;
  
  border: 1px solid #848484;
  
  background: #FFF;
  
  color: #848484;
  font-family: inherit;
}
input {
  height: 2.125em;
  width: 33%;
}
input:focus, textarea:focus {
  color: #444;
}
input[type=submit] {
  height: 2.25em;
  width: auto;

  line-height: 1.5;
  font-size: 1em;
  font-variant: small-caps;
  font-weight: bold;
}
textarea {
  height: 33%;
  width: 66%;
  padding: 0.5em;
}
::-webkit-input-placeholder { 
  font-style: italic;
}
:-moz-placeholder {
  font-style: italic;
}

hr {
  margin: 1.5em 0;
  
  border: none;
}


/* Layout Styles */

.l-container {
  padding: 0 9.2006033182504% 0 18.4012066365008%; /* 122 / 1326 | 244 / 1326 */
  overflow: hidden;
}

.l-column-primary {
  width: 53.9583333333333%; /* 518 / 960 */ 
  float: left;
}

.l-column-secondary {
  width: 33.3333333333333%; /* 320 / 960 */ 
  float: right;
}






/* Modules */



.aligncenter, .alignleft, .alignright { 
  margin: 1.5em; 
  border: 1px solid #B7B7B7; 
  padding: 2px;
  
  background: #FFF;  
}
.aligncenter img, .alignleft img, .alignright img { 
  max-width: 98.8416988416988%; /* ( 518 - 4 - 2 ) / 518 */ 
  height: auto; 
}
.boxsizing .aligncenter img, .boxsizing .alignleft img, .boxsizing .alignright img { 
  -webkit-box-sizing: border-box; 
     -moz-box-sizing: border-box; 
          box-sizing: border-box; 
  max-width: 100%; /* ( 518 - 72 ) / 518 */ 
  height: auto; 
}
.wp-caption.aligncenter img, .wp-caption.alignleft img, .wp-caption.alignright img { max-width: 100%; /* ( 535 - 40 -4 ) / 535 */ height: auto; }

.aligncenter, div.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.alignleft {
	float: left; margin: 0 1em 0 0;
}
.alignright {
	float: right; margin: 0 0 0 1em;
}
.wp-caption {
	background-color: #FFF;
	border: 1px solid #B7B7B7;
	text-align: center;
	padding: 2px; 
}
.wp-caption img {
	border: 0 none;
	margin: 0;
	padding: 0;
}
.wp-caption p.wp-caption-text {
	font-size: 0.71em; color: #4D4D4D;
	line-height: 1.408450704225352;
	margin: 0;
	padding: 1.5em 0 0;
}
.size-large, .size-medium, .size-small {
  height: auto;
}
.boxsizing .size-large, .boxsizing .size-medium, .boxsizing .size-small { 
  -webkit-box-sizing: border-box; 
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
.size-large { 
  margin-left: 0;
  margin-right: 0;
  width: 98.8416988416988%; /* ( 518 - 4 - 2 ) / 518 */ 
}
.boxsizing .size-large { 
  width: 100%;
}
.size-medium { 
  width: 64.8648648648649%; /* ( 342 - 4 - 2 ) / 518 */
}
.boxsizing .size-medium { 
  width: 66%;
}
.size-small { 
  width: 0.318532818532819%; /* ( 171 - 4 - 2 ) / 518 */
}
.boxsizing .size-small { 
  width: 33%;
}
figcaption { font-size: 0.71em; color: #4D4D4D; line-height: 1.408450704225352; margin: 0; padding: 1.5em 0 0; }
.size-large img,
.size-medium img,
.size-small img,
.boxsizing .size-large img,
.boxsizing .size-medium img,
.boxsizing .size-small img {
  width: auto;
  max-width: 100%;
}




#site-header { 
  position: relative;
  min-height: 3em;
  margin-bottom: -1px;
  
  border-bottom: 1px solid #444;  
  
  font-variant: small-caps;
  opacity: 0.38;
  
  overflow: hidden;
  
  -webkit-transition: opacity 0.2s ease;
  -moz-transition:    opacity 0.2s ease;
  -o-transition:      opacity 0.2s ease;
  transition:         opacity 0.2s ease;
}
#site-header:hover {
  opacity: 1;
}

#site-header a { 
  border: none; 
}





#site-header .site-title { 
  margin: -0.5em 0 0;
  position: absolute;
  top: 50%;
  width: auto;
  
  font-size: 1em;
  line-height: 1.5;
  font-weight: normal;
}





.site-nav { 
  margin: 1.5em 0;
}
.site-nav li { display: inline; }
.site-nav li:first-child { margin-left: -1em; }
.site-nav a { padding: 0 1em; }





#main {
  padding-top: 6.5em;
  padding-bottom: 6.5em;
  clear: both;
}

#main .posts {
  margin: 0;
  padding: 0;
}




.posts { list-style: none; margin: 0; padding: 0; }
.pst {
  margin: 10.5em 0 0;
}
.pst:first-child {
  margin-top: 0;
}
.pst .post-title {
  margin: 0;
  
  font-size: 2.25em;
  line-height: 1.11111112;
}
.pst .post-title a { 
  border: none; 
}
.pst .page-link {
  margin: 1.5em 0 0;
}
.pst .meta {
  font-size: 0.75em;
  line-height: 1.3333333;
  color: #848484;
  text-transform: uppercase;
}
.pst div.content {
  margin: 2.5em 0;
}
.pst div.content > p:first-child:first-letter {
  float: left;
  padding: 0.4em 0.1em 0 0;
  padding: 0 0.1em 0 0;
  display: block;
  height: 1em;
  
  font-size: 3em;
  line-height: 1;
  text-transform: uppercase;
}
.pst div.content :first-child {
  margin-top: 0;
}
.pst .shr {
  margin-top: 6.5em;
}
.posts .shr { 
  margin-top: 2.5em;
}


.xrp {
  color: #848484;
}





.shr {
  overflow: hidden;
}
.shr-title {
  margin: 0;
  
  font-size: 1.5em;
  line-height: 1;
  font-variant: small-caps;
}
.shr dl { 
  margin: 0;
  padding: 0;
  
  font-size: 0.875em;
  line-height: 1.7142857;
}
.shr dt, .shr dd {
  float: left;
}
.shr dt { 
  clear: left;
}
.shr ul { 
  list-style: none;
  padding: 0;
  clear: both;
  height: 6em;
}
.shr li {
  float: left;
  width: 62px;
  margin-right: 1em;
}



.pgn {
  margin: 10.5em 0 0;
  overflow: hidden;

  color: #848484;
  font-style: italic;
}
.pgn a {
  border: none;
}
.pgn .older {
  float: left;
}
.pgn .newer {
  float: right;
}




.com {
  margin: 6.5em 0 0;
}
.com-title {
  margin: 0;
  
  font-size: 1.5em;
  line-height: 1;
  font-variant: small-caps;
}
.com-list {
  margin: 0;
  padding: 0;

  list-style: none;
}
.com-item {
  margin: 4em 0;
}
.com-author {
  font-style: normal;
  font-weight: bold;
}
.com-meta {
  font-size: 0.75em;
  line-height: 1.3333333;
  color: #848484;
  text-transform: uppercase;
}
.com-link:link, .com-link:visited {
  color: #848484;
  font-style: italic;
}
.com-disclaimer {
  color: #848484;
  font-style: italic;
  margin-top: 0;
}
.com-disclaimer-title {
  margin-bottom: 0;
}
.js .com-disclaimer-text {
  display: none;
}



.pge {

}
.pge-title {
  margin-top: 0;
}
.pge .posts {
  margin-top: 6.5em;
}
.pge .xrp {
  margin: 4em 0;

  color: #444;
}
.pge .post-title {
  font-size: 1.5em;
  line-height: 1;
}



.ftn {
  padding-left: 1em;
  
  font-family: "Lucida Sans", "Lucida Grande", "Lucida Sans Unicode", sans-serif;
  font-size: 0.6875em;
  line-height: 1.454545454545455;
  color: #848484;
}



#sidebar {
  margin: 0;
  padding: 0;
  list-style: none;
  color: #848484;
}

.sbr {
  margin: 6.5em 0 0;
}
.sbr:first-child { 
  margin-top: 0;
}
.sbr-title {
  margin: 0;

  font-size: 1.3125em;
  font-variant: small-caps;
  line-height: 1.142857142857143;
}
.sbr > ul { 
  margin: 0;
  list-style: none;
  padding: 0;
}
.sbr > ul > li {
  padding: 0.25em 0;
}




#site-footer {
  clear: both;
  padding-top: 1.714285714285714em;
  padding-bottom: 1.714285714285714em;
  margin-top: -1.714285714285714em;
  
  font-size: 0.875em;
  line-height: 1.7142857;
  font-variant: small-caps;
  
  opacity: 0.38;
  
  -webkit-transition: opacity 0.2s ease;
  -moz-transition:    opacity 0.2s ease;
  -o-transition:      opacity 0.2s ease;
  transition:         opacity 0.2s ease;
}
#site-footer:hover {
  opacity: 1;
}
#site-footer .site-title {
  font-style: italic;
}




#sidebar-more {
  display: none;
  margin-bottom: -2em;
  overflow: hidden;
  height: 2em;
  
  text-indent: 9999em;
  
  -webkit-backface-visibility: hidden;
}
.js #sidebar-more {
  display: block;
}
#sidebar-more .toggle-button {
  margin-top: 8px;
  position: relative;  
  height: 20px;
  width: 20px;
  z-index: 1;
  
  opacity: 0.38;
  cursor: pointer;
  
  -webkit-transition: opacity 0.2s ease;
  -moz-transition:    opacity 0.2s ease;
  -o-transition:      opacity 0.2s ease;
  transition:         opacity 0.2s ease;
}
#sidebar-more:hover .toggle-button {
  opacity: 1;
}
#sidebar-more .toggle-button:before { 
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0px;
  right: 0px;
  z-index: 2;
  
  border: 1px solid #444;
  border-radius: 20px;
  
  content: '';
}
#sidebar-more .toggle-button:after { 
  position: absolute;
  top: 6px;
  left: 4px;
  width: 0;
  height: 0;
  z-index: 3;
  
  border: 6px solid #444;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: none;
  
  content: '';
}
#sidebar-more.active .toggle-button {
  -webkit-transform: rotate(180deg);
     -moz-transform: rotate(180deg);
       -o-transform: rotate(180deg);
          transform: rotate(180deg);
  
  -webkit-animation: rotate-down 0.5s 1 ease;
}
#sidebar-more.inactive .toggle-button {
  -webkit-transform: rotate(0deg);
     -moz-transform: rotate(0deg);
       -o-transform: rotate(0deg);
          transform: rotate(0deg);

  -webkit-animation: rotate-up 0.5s 1 ease;
}

@-webkit-keyframes rotate-down {
  0% {
    -webkit-transform: rotate(0deg);
       -moz-transform: rotate(0deg);
         -o-transform: rotate(0deg);
            transform: rotate(0deg);
  }                    
  100% {               
    -webkit-transform: rotate(180deg);
       -moz-transform: rotate(180deg);
         -o-transform: rotate(180deg);
            transform: rotate(180deg);
  }
}
@-webkit-keyframes rotate-up {
  0% {
    -webkit-transform: rotate(180deg);
       -moz-transform: rotate(180deg);
         -o-transform: rotate(180deg);
            transform: rotate(180deg);
  }                    
  100% {               
    -webkit-transform: rotate(0deg);
       -moz-transform: rotate(0deg);
         -o-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}
.js #sidebar {
  display: none;
}


/* ==|== Prettify.js Styles ======================================== */
/* Pretty printing styles. Used with prettify.js. */

/* SPAN elements with the classes below are added by prettyprint. */

code .pln { color: #000 }  /* plain text */

@media screen {
  .prettyprint { background: #1a1a1a; border-radius: 20px; }
  
  code .pln { color: #F9F9F9 }  /* plain text */
  
  code .str { color: #9daf7b }  /* string content */
  code .kwd { color: #dcb771 }  /* a keyword */
  code .com { color: #736d73 }  /* a comment */
  code .typ { color: #F9F9F9 }  /* a type name */
  code .lit { color: #fbf3a2 }  /* a literal value */
  /* punctuation, lisp open bracket, lisp close bracket */
  code .pun, code .opn, code .clo { color: #F9F9F9 }
  code .tag { color: #b28248 }  /* a markup tag name */
  code .atn { color: #b28248 }  /* a markup attribute name */
  code .atv { color: #9daf7b }  /* a markup attribute value */
  code .dec, code .var { color: #859997 }  /* a declaration; a variable name */
  code .fun { color: #b28248 }  /* a function name */
}

/* Use higher contrast and text-weight for printable form. */
@media print, projection {
  .prettyify { background: transparent; }
  code .str { color: #060 }
  code .kwd { color: #006; font-weight: bold }
  code .com { color: #600; font-style: italic }
  code .typ { color: #404; font-weight: bold }
  code .lit { color: #044 }
  code .pun, code .opn, code .clo { color: #440 }
  code .tag { color: #006; font-weight: bold }
  code .atn { color: #404 }
  code .atv { color: #060 }
}

/* Put a border around prettyprinted code snippets. */
pre.prettyprint { padding: 1em; border: 1px solid #888 }

/* Specify class=linenums on a pre to get line numbering */
ol.linenums { margin-top: 0; margin-bottom: 0 } /* IE indents via margin-left */
li.L0,
li.L1,
li.L2,
li.L3,
li.L5,
li.L6,
li.L7,
li.L8 { list-style-type: none }
/* Alternate shading for lines */
li.L1,
li.L3,
li.L5,
li.L7,
li.L9 { background: #eee }





/* ==|== non-semantic helper classes ======================================== */
.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; }
.ir br { display: none; }
.hidden { display: none !important; visibility: hidden; }
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.invisible { visibility: hidden; }
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }


/* ==|== media queries ====================================================== */
@media only screen and (max-width: 950px ) {
  .l-container {
    padding: 0 18.4012066365008%; /* 244 / 1326 */
  }
  .l-column-primary {
    width: auto;
    float: none;
  }
  .l-column-secondary {
    width: auto;
    float: none;
  }
  
  
  
  #site-header .site-title { 
    margin: 1.5em 0;
    position: relative;
    width: auto;

    font-size: 1em;
    line-height: 1.5;
    font-weight: normal;
  }
  
  
  
  .js #sidebar-more {
    display: none;
  }
  #sidebar {
    margin-top: 10.5em;
  }
  .js #sidebar { 
    display: block;
  }
  .sbr {
    display: inline-block;
    vertical-align: top;
    width: 50%;
  }
  .sbr:nth-child(-n + 2) {
    margin-top: 0;
  }
}

@media only screen and (max-width: 675px) {
  .sbr {
    display: block;
    width: 100%;
  }
  .sbr:nth-child(-n + 2) {
    margin-top: 6.5em;
  }
  .sbr:first-child { 
    margin-top: 0;
  }
    
}

@media only screen and (max-width: 545px) {
  .size-large, .size-medium { 
    margin: 1.5em 0;
    width: 98.2608695652174%; /* ( 345 - 4 - 2 ) / 345 */ 
  }
  .boxsizing .size-large, .boxsizing .size-medium { 
    width: 100%;
  }
  .size-small { 
    width: 64.0579710144928%; /* ( 227 - 4 - 2 ) / 345 */
  }
  .boxsizing .size-small { 
    width: 66%;
  }
}

@media only screen and (max-width: 480px) {
  h1,
  h2 { 
    font-size: 1.4em; 
    line-height: 1.428571429;
  }
  h3,
  h4 { 
    font-size: 1.2em; 
    line-height: 1.666666666;
  }
  h5,
  h6 { 
    font-size: 1.0em; 
  }

  .l-container {
    padding: 0 2em; /* 244 / 1326 */
  }
  
  input, textarea {
    width: 66%;
  }
  .boxsizing input, .boxsizing textarea { 
    box-sizing: border-box;
    width: 100%;
  }
  
  .pst .post-title {
    font-size: 1.8em;
    line-height: 1.388888888;
  }
}
@media only screen and (max-width: 320px) {
  .size-small, .boxsizing .size-small { 
    margin: 1.5em 0;
    width: 97.9166666666667%; /* ( 288 - 4 - 2 ) / 288 */
  }
  .boxsizing .size-small { 
    width: 100%;
  }
}

@media only screen and (min-width: 1550px) {
  .l-container {
    padding: 0 9.2006033182504% 0 24.132730015083%; /* 122 / 1326 | 320 / 1326 */
  }
}
@media only screen and (min-width: 1690px) {
  .l-container {
    padding: 0 24.132730015083%; /* 320 / 1326 */
  }
}


/* ==|== print styles ======================================================= */

@media print {
  * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } 
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .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; }
  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; }
}