/*

BASE (MOBILE) SIZE
	These are the mobile styles. It's what people see on their phones.
	Remember, keep it light: Speed is Important.
*/

/* typography */
body{
	background:#fff;
	color:#666;
	font-family:"Noto Serif", Arial, Helvetica, sans-serif; 
	font-size:1em;
	line-height:1.8em; 
	font-weight:normal;
}

h1 { font-family: "Noto Serif", Serif;font-weight:normal; line-height:1.5em;
	margin:.45em 0;
	padding:0; }

 h2, h3, h4, h5, h6{
	font-weight:normal;
	font-family:"Noto Serif", Helvetica, Arial, sans-serif; 
	line-height:1.5em;
	margin:.45em 0;
	padding:0;
} 


/* links 
footer a,
a:visited,
a:active,
a:hover{color:#fff;}
a:hover{ text-decoration:none;}

.headercolours a,
a:visited,
a:active,
a:hover{color:#fff;}
a:hover{ text-decoration:none;}

h1, h2 a,
a:visited,
a:active,
a:hover{color:#fff;}
a:hover{ text-decoration:none;}*/

a,
a:visited,
a:active { text-decoration:none; color:#6b8e5c;}
a:hover{ text-decoration:none; color:#64a248;}

a.link2:link { color: #fff; text-decoration: none; background: transparent; font-size:1.1em; font-weight: 500; }
a.link2:visited { color: #fff; background: transparent; text-decoration: none; font-size:1.1em;  font-weight: 500; }
a.link2:hover { color: #fff; background: transparent;  text-decoration: underline; font-size:1.1em;  font-weight: 500; }

a.link3:link { color: #cca250; text-decoration: none; background: #534840; font-size:1.4em; font-weight: 500; padding: 10px; margin: 10px 0; text-align: center; }
a.link3:visited { color: #cca250; background: #534840; text-decoration: none; font-size:1.4em;  font-weight: 500; padding: 10px; margin: 10px 0; text-align: center; }
a.link3:hover { color: #cca250; background: #362e28;  text-decoration: none; font-size:1.4em;  font-weight: 500; padding: 10px; margin: 10px 0; text-align: center; }

a.link4:link { color: #fff; text-decoration: none; background: none; font-size:1em; font-weight: 500; }
a.link4:visited { color: #fff; background: none; text-decoration: none; font-size:1em;  font-weight: 500; }
a.link4:hover { color: #f2da7b; background: none;  text-decoration: none; font-size:1em;  font-weight: 500; }

a.link6:link { font: 1.3em lora, arial, Tahoma, Helvetica, sans-serif; color: #b0a15c; text-decoration: none; background: none; font-weight: 500; display: block; margin-bottom: 8px; }
a.link6:visited { font: 1.3em lora, arial, Tahoma, Helvetica, sans-serif; color: #b0a15c; background: none; text-decoration: none; font-weight: 500; display: block; margin-bottom: 8px; }
a.link6:hover { font: 1.3em lora, arial, Tahoma, Helvetica, sans-serif; color: #504844; background: none;  text-decoration: none; font-weight: 500; display: block; margin-bottom: 8px; }


a.override:link { font: 1.6em  cinzel, lora, arial, sans serif; color: #b0a15c; border-bottom: dotted 1px #b0a15c;   font-weight: 500; margin-top: 20px; color: #b4b25d; text-decoration: none; background: transparent; text-transform: uppercase; }
a.override:visited { font: 1.6em  cinzel, lora, arial, sans serif; color: #b0a15c; border-bottom: dotted 1px #b0a15c;   font-weight: 500; margin-top: 20px; color: #b4b25d; text-decoration: none; background: transparent; text-transform: uppercase; }
a.override:hover { font: 1.6em  cinzel, lora, arial, sans serif; color: #b0a15c; border-bottom: dotted 1px #b0a15c;   font-weight: 500; margin-top: 20px; color: #b4b25d; text-decoration: none; background: transparent; text-transform: uppercase; }

a.menus:link { color: #fff; text-decoration: none; background: #c3dbcb url(../images/menubg.gif) no-repeat; font-size:1.2em; font-weight: 500; height: 43px; width: 202px; padding: 12px 0 10px 20px; margin: 0 8px 8px 0; float: left; }
a.menus:visited { color: #fff;  background: #c3dbcb url(../images/menubg.gif) no-repeat; font-size:1.2em; text-decoration: none; font-size:1.2em; font-weight: 500; height: 43px; width: 202px; padding: 12px 0 10px 20px; margin: 0 8px 8px 0; float: left; }
a.menus:hover { color: #e7f3ed;  background: #c3dbcb url(../images/menubg.gif) no-repeat; font-size:1.2em;  text-decoration: none; font-size:1.2em; font-weight: 500; height: 43px; width: 202px; padding: 12px 0 10px 20px; margin: 0 8px 8px 0; float: left;}

.leftlist { float: left; width: 48%; background: #625854; padding: 5px 6px; margin: 2px; }
.clear { clear: both; }

.specialoffers { width: 45%; background: #7b6b65; border-radius:7px; float: left; text-align: center; padding: 15px; color: #fff!important; margin: 0 0 15px 10px; min-height: 300px; }
.specialoffers h2 { color: #d6c9c6; }
.specialoffers h3 { color: #fff; }

.transport { width: 45%; background: #171413; border-radius:7px; float: left; text-align: center; padding: 15px; color: #fff!important; margin: 0 0 15px 10px; min-height: 330px; }
.transport h2 { color: #d6c9c6; }
.transport h3 { color: #d6c9c6; font-size: 1.2em; }

.fleet { background: #000; color: #fff; padding: 10px; text-align: center; max-width: 400px; }
h2.fleet { margin: 0; }
p.fleet1 { margin: 0; }

.readmore { background: #f58221; color: #fff; padding: 10px; text-align: center; max-width: 400px; }

.nodot { list-style-type: none; }

#layerbot { z-index: -5!important; position: relative; }

.red { color: #d6281a; }
.white { color: #fff; }

.gallerycontainer { width: 100%; float: left; background: #d8d4b8; padding: 20px 0; }

#bookingwidget { position: relative; padding-bottom: 2px; }
.bookingbox { background: #839b93; color: #fff; padding: 15px; }
.bookingbox h2 { color: #15392d; font-weight: 700; }

.shootbg {  background: #44403d; }

/* Box sizing. Awesome thing. Read about it here: http://www.w3schools.com/cssref/css3_pr_box-sizing.asp */
*{	box-sizing:border-box;
	-moz-box-sizing:border-box;}

  
/* structure */   
.wrapper{
	width: 92%; 
	margin: 0 auto;
}
.wrapperwide{
	width: 92%; 
	margin: 0 auto;
}

header{ 
	padding:15px 0;
}
#banner{ 
	text-align:center;
	margin: 0 auto 6px;
}
#banner p { padding: 0; margin: -2px; }

/* HEADER */
#header { height:640px; }
.headerimg { background-position: center top; background-repeat: no-repeat; width:100%; height:640px; position:absolute; }

#hero{
	background:#fff;
	padding:0;
}
#hero h1{ 
	line-height:1.5em;
	margin-top:10px;
	margin-bottom:10px;
	color: #c7cbbb; }

.flexslider{
	display:none;
}

#content {  
	margin:0;
	padding: 20px;
}
#contentgreen {  
	margin:0;
	padding: 20px;
	background: #477072;
}

.greenbackground { background: #fff; padding: 20px; }

.imglarge img { width: 100%; height: 100% }

#nav-outer { padding-top:0; position:relative; background:url(../images/bgheader1.png) no-repeat top center; height: 380px; }

/*p{ margin:0 0 1.5em;}*/

.dots { border-top: dotted 1px #ccc; padding-top: 10px; }
.tel { font: 1.5em cinzel, arial, verdana, sans serif; color: #c0bc9c; } 
.package { float: left; background: #a38447; padding: 15px; color: #fff; text-align: center; border: solid 2px #8f7441; width: 45%; margin: 0 15px 0 0; }
.enlarge img { width: 100%; }

/* RESPONSIVE IMAGES */
img{ max-width:100%; height:auto;}

/*SPACE GRID ELEMENTS VERTICALLY, SINCE THEY ARE ONE UNDER ANOTHER SO FAR*/
.grid_1,
.grid_2,
.grid_3,
.grid_4,
.grid_5,
.grid_6,
.grid_7,
.grid_8,
.grid_9,
.grid_10,
.grid_11,
.grid_12 {
	margin-bottom:10px;
	/*positioning and padding*/
	position: relative;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
}
.grid_12a {
	margin-bottom:10px;
	/*positioning and padding*/
	position: relative;
    min-height: 1px;
    padding-left: 0;
    padding-right: 0;
}

/*FOOTER*/
footer{  
	clear:both;
	padding:20px 0;
}
footer ul{
	margin:0;
	padding:0;
}

/*footer p { color: #413735;  }*/

#contact { float:right;
	margin: .35em 0 0 0; }
	
.back-to-top {
background: none;
margin: 0;
position: fixed;
bottom: 0;
right: 0;
width: 70px;
height: 70px;
z-index: 100;
display: none;
text-decoration: none;
/*color: #69c8df;*/
background-color: none;
}

.back-to-top i {
  font-size: 60px;
}

/*colors and backgrounds*/
body{
	background: #fff; 
}
h1, h2 {
	color:#bc7229;
}
h3, h4, h5, h6 { color: #a09348; }

.logo { padding-bottom: 15px; }
#logo h1 { font-size: 3em; margin: 10px 0; }

.bordered { border: solid 1px #b6afd5; padding: 0 15px; text-align: center; }

footer{ 
	background: #fdf6dd;
	color:#313b38;
}
/*footer h1, footer h2, footer h3, footer h4{ 
	color:#fff; 
	margin-bottom:10px;
}*/
footer ul{
	margin:0 0 0 8%;
}

a.buttonlink{ 
	background:#625854; 
	border-radius:7px; 
	color:#fff;
	display:block;
	float:left; 
	margin:10px 15px 10px 0; 
	padding:10px;
	text-decoration:none;
}
a.buttonlink:hover{
	background:#33291d;
}
.greenelement{
	background:#5ec79e;
	color:#fff;
}
.violetelement{
	background:#887dc2;
	color:#fff;
}

.border { border: solid #dcd0b5 1px; }
.calltoaction { border: solid 1px #8d817d; text-align: center; padding: 10px; background: #b39759; color: #b48d4a; }
.calltoaction a { color: #b48d4a; text-transform: uppercase; text-decoration: none; }
#negative { margin-top: -600px; position: relative; z-index: 1000; }
#positive { margin-top: 280px; }
.background { background:#dde1e7; 
	border-radius:7px; 
	display:block;
	margin:10px; 
	padding:10px; 
	text-align: center; }
	
.leftgallery2 { float: left; margin: 5px 14px 10px 3px; }
.clear { clear: both; }

a.festive:link { color: #fff; text-decoration: none; background: #c3dbcb url(../images/festivebg.gif) no-repeat; font-size:1.2em; font-weight: 700; width: 267px; display: block; padding: 15px 0 15px 20px; }
a.festive:visited { color: #fff;  background: #c3dbcb url(../images/festivebg.gif) no-repeat; font-size:1.2em; text-decoration: none; font-size:1.2em; font-weight: 700; width: 267px; display: block; padding: 15px 0 15px 20px; }
a.festive:hover { color: #a0c8ac;  background: #c3dbcb url(../images/festivebg.gif) no-repeat; font-size:1.2em;  text-decoration: none; font-size:1.2em; font-weight: 700; width: 267px; display: block; padding: 15px 0 15px 20px; }

.tablestripe tbody tr:nth-child(odd) {
   background-color: #e6e8ea;
}
.tableheader { text-align: left; background: #000; color: #fff; }

	/* Make Facebook Widget responsive */
#fb-root {
    display: none;
}
.fb_iframe_widget, .fb_iframe_widget span, .fb_iframe_widget span iframe[style] {
    width: 100% !important;
}
.socialbg {  background: none;  padding: 2px 0 0 0; margin: 0; height: 57px; margin: 0 auto; }

#mc_embed_signup{ background:#fff; clear:left; font: normal 14px Helvetica, Arial, sans-serif!important; color: #a09348; border: dotted 1px #a09348; }

/* Contain floats*/ 
.clearfix:before,
.clearfix:after,
.row:before,
.row:after {
  content: " ";
  display: table;
}
.clearfix:after,
.container:after,
.row:after{
  clear: both;
}


#CDSWIDCOE { margin: 0!important;}

.paddingtop { padding-top: 0; }
.nodisplay { display: none; }

/*.whitelink a { color: #fff!important; text-decoration: none!important; }*/
#brown { background: #100901; }

.picright { float: left; padding: 15px; background: #efeceb; margin: 10px; width: 100%; text-align: center; }
#navmarg { width: 100%; margin: -310px 0 0 0; display: block; position: relative; }
.contact { padding-top: 0; }
.nivo-caption {
	font-size: 1em!important;
	position:absolute;
	left:25%!important;
	top:20%!important;
	background:rgba(215, 208, 180, 0.7)	!important;
	color:#fff;
	width:50%!important;
	height: 40%!important;
	z-index:8;
	padding: 5px 10px;
	line-height: 1.5em;
	opacity: 1!important;
	overflow: hidden;
	display: none;
	-moz-opacity: 1!important;
	filter:alpha(opacity=8);
	-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
	-moz-box-sizing: border-box;    /* Firefox, other Gecko */
	box-sizing: border-box;         /* Opera/IE 8+ */
} 
.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px; height: 0; overflow: hidden;
}
 
.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/*
LARGER MOBILE DEVICES
This is for mobile devices with a bit larger screens.
*/
@media only screen and (min-width: 481px) {
#banner{
	float:left;
	text-align:left;
	margin-bottom:-20px;/*this depends on the height of the logo*/
}
.menu-toggle{/*make menu float right, instead of sitting under the logo*/
	margin-top:10px; /*this depends on the height of the logo*/
	float:right;
}
.nodisplay { display: none; }
.picright { float: left; padding: 15px; background: #efeceb; margin: 10px; width: 45%; text-align: center; min-height: 360px;
} 
.picright1 { float: left; padding: 15px; background: #efeceb; margin: 10px; width: 45%; text-align: center; min-height: 220px;
}
#nav-outer { padding-top:0; position:relative; background:url(../images/bgheader2.png) no-repeat top center; height: 270px; }
.socialbg {  background: none;  padding: 2px 0 0 0; margin: 0; height: 57px; }
.contact { padding-top: 0; }
#navmarg { width: 92%; margin: -440px 0 0 0; display: block; position: relative; }
.nivo-caption {
	font-size: 1.5em!important;
	position:absolute;
	left:25%!important;
	top:20%!important;
	background:rgba(215, 208, 180, 0.7)	!important;
	color:#fff;
	width:50%!important;
	height: 40%!important;
	z-index:8;
	padding: 5px 10px;
	line-height: 1.5em;
	opacity: 1!important;
	overflow: hidden;
	display: none;
	-moz-opacity: 1!important;
	filter:alpha(opacity=8);
	-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
	-moz-box-sizing: border-box;    /* Firefox, other Gecko */
	box-sizing: border-box;         /* Opera/IE 8+ */
} 
}
/*
TABLET & SMALLER LAPTOPS
The average viewing window and preferred media query for those is 768px.
But I think that some more breathing space is good:)
*/
@media only screen and (min-width: 920px) {

.wrapper{
	max-width: 1200px; 
	margin: 0 auto;
}
.wrapperwide{
	max-width: 1200px; 
	margin: 0 auto;
}

#banner{ 
	float:left; 
	text-align:left;
	margin-bottom:0px;
	margin-top: 6px;
}
header{
	padding:0;
}
#content {  
	float:left;
	width:65%;
}
#content.wide-content{
	float:none;
	width:100%;
}

.flexslider{
display:block;
/*demo 1 slider theme*/	
margin: 0 0 60px; 
background: #fff; 
border: 4px solid #fff; 
-webkit-border-radius: 4px; 
-moz-border-radius: 4px; 
-o-border-radius: 4px; 
border-radius: 4px; 
box-shadow: 0 1px 4px rgba(0,0,0,.2); 
-webkit-box-shadow: 0 1px 4px rgba(0,0,0,.2); 
-moz-box-shadow: 0 1px 4px rgba(0,0,0,.2); 
-o-box-shadow: 0 1px 4px rgba(0,0,0,.2);
}


aside { 
	float:right;
	width:30%;
}


/*GRID*/
/*
 & Columns : 12 

 */
 .row{
	 margin-left: -15px;
     margin-right: -15px;
}
 
.grid_1 { width: 8.33333333%; }
.grid_2 { width: 16.66666667%; }
.grid_3 { width: 25%; }
.grid_4 { width: 33.33333333%; }
.grid_5 { width: 41.66666667%; }
.grid_6 { width: 50%; }
.grid_7 { width: 58.33333333%; }
.grid_8 { width: 66.66666667%; }
.grid_9 { width: 75%; }
.grid_10 { width: 83.33333333%; }
.grid_11 { width: 91.66666667%; }
.grid_12 { width: 100%; }

.grid_1,
.grid_2,
.grid_3,
.grid_4,
.grid_5,
.grid_6,
.grid_7,
.grid_8,
.grid_9,
.grid_10,
.grid_11,
.grid_12 {
	float: left;
	display: block;
}
.grid_12a {
	margin-bottom:10px;
	/*positioning and padding*/
	position: relative;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
}

.rightfloat{float:right;}
/* @notation inspired by tinyGrid, .row and percentage by Twitter Bootstrap
 */
 
#hero [class*="grid_"] { margin-bottom:-20px;}
.nodisplay { display: block; }
.picright { float: left; padding: 15px; background: #efeceb; margin: 10px; width: 45%; min-height: 360px; }
.picright1 { float: left; padding: 15px; background: #efeceb; margin: 10px; width: 45%; text-align: center; min-height: 220px;
}
#nav-outer { height:203px; padding-top:0; position:relative; background:url(../images/bgheader.png) no-repeat top center; }
.socialbg {  background:url(../images/social.png) no-repeat top center;  padding: 2px 0 0 0; margin: 105px 0 -9px 0; height: 57px; }
.contact { padding-top: 15px; }
#navmarg { width: 92%; margin: -477px 0 0 30px; }
.transport { width: 31%; background: #171413; border-radius:7px; float: left; text-align: center; padding: 15px; color: #fff!important; margin: 0 0 15px 10px; }
.nivo-caption {
	font-size: 1.9em!important;
	position:absolute;
	left:25%!important;
	top:20%!important;
	background:rgba(215, 208, 180, 0.7)	!important;
	color:#fff;
	width:50%!important;
	height: 25%!important;
	z-index:8;
	padding: 25px 10px;
	line-height: 1.5em;
	opacity: 1!important;
	overflow: hidden;
	display: none;
	-moz-opacity: 1!important;
	filter:alpha(opacity=8);
	-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
	-moz-box-sizing: border-box;    /* Firefox, other Gecko */
	box-sizing: border-box;         /* Opera/IE 8+ */
} 
.paddingtop { padding-top: 40px; }
}

/*
DESKTOP
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.
*/
@media only screen and (min-width: 1030px) {
.wrapper{
	max-width: 1200px; 
	margin: 0 auto;
}
.wrapperwide{
	max-width: 1400px; 
	margin: 0 auto;
}
.nodisplay { display: block; }
.grid_12a {
	margin-bottom:10px;
	/*positioning and padding*/
	position: relative;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
}
.picright { float: left; padding: 15px; background: #efeceb; margin: 10px; width: 30%; min-height: 360px; }
.picright1 { float: left; padding: 15px; background: #efeceb; margin: 10px; width: 30%; text-align: center; min-height: 220px;
}
#nav-outer { height:203px; padding-top:0; position:relative; background:url(../images/bgheader.png) no-repeat top center; }
.socialbg {  background:url(../images/social.png) no-repeat top center;  padding: 2px 0 0 0; margin: 105px 0 -9px 0; height: 57px; }
.contact { padding-top: 15px; }
#navmarg { width: 92%;  margin: -477px 0 0 0;  }
.transport { width: 31%; background: #171413; border-radius:7px; float: left; text-align: center; padding: 15px; color: #fff!important; margin: 0 0 15px 10px; }
.nivo-caption {
	font-size: 2.2em!important;
	position:absolute;
	left:25%!important;
	top:20%!important;
	background:rgba(215, 208, 180, 0.7)	!important;
	color:#fff;
	width:50%!important;
	height: 25%!important;
	z-index:8;
	padding: 25px 10px;
	line-height: 1.5em;
	opacity: 1!important;
	overflow: hidden;
	display: none;
	-moz-opacity: 1!important;
	filter:alpha(opacity=8);
	-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
	-moz-box-sizing: border-box;    /* Firefox, other Gecko */
	box-sizing: border-box;         /* Opera/IE 8+ */
} 
} 

/*
LARGE VIEWING SIZE
This is for the larger monitors and possibly full screen viewers.
*/
@media only screen and (min-width: 1240px) {
.nodisplay { display: block; }
.grid_12a {
	margin-bottom:10px;
	/*positioning and padding*/
	position: relative;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
}
.picright { float: left; padding: 15px; background: #efeceb; margin: 10px; width: 22%; min-height: 360px; }
.picright1 { float: left; padding: 15px; background: #efeceb; margin: 10px; width: 22%; text-align: center; min-height: 220px;
}
#nav-outer { height:203px; padding-top:0; position:relative; background:url(../images/bgheader.png) no-repeat top center; }
.socialbg {  background:url(../images/social.png) no-repeat top center;  padding: 2px 0 0 0; margin: 105px 0 -9px 0; height: 57px; }
.contact { padding-top: 15px; }
#navmarg { width: 100%;  margin: -477px 0 0 0; }
.transport { width: 31%; background: #171413; border-radius:7px; float: left; text-align: center; padding: 15px; color: #fff!important; margin: 0 0 15px 10px; }

.nivo-caption {
	font-size: 2.5em!important;
	position:absolute;
	left:25%!important;
	top:20%!important;
	background:rgba(215, 208, 180, 0.7)	!important;
	color:#fff;
	width:50%!important;
	height: 20%!important;
	z-index:8;
	padding: 25px 10px;
	line-height: 1.5em;
	opacity: 1!important;
	overflow: hidden;
	display: none;
	-moz-opacity: 1!important;
	filter:alpha(opacity=8);
	-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
	-moz-box-sizing: border-box;    /* Firefox, other Gecko */
	box-sizing: border-box;         /* Opera/IE 8+ */
} 
} 

/*
RETINA (2x RESOLUTION DEVICES)
This applies to the retina iPhone (4s) and iPad (2,3) along with
other displays with a 2x resolution.
*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
       only screen and (min--moz-device-pixel-ratio: 1.5),
       only screen and (min-device-pixel-ratio: 1.5) {
.nodisplay { display: none; }
#hero,
#page-header{
	background:#fff;
	padding:20px 0 0 0;
}
.grid_8 {
	margin-bottom:0;
	/*positioning and padding*/
	position: relative;
    min-height: 1px;
    padding-left: 0;
    padding-right: 0;
}
} 

/*
iPHONE 5 MEDIA QUERY
iPhone 5 or iPod Touch 5th generation styles (you can include your own file if you want)
*/
@media (device-height: 568px) and (-webkit-min-device-pixel-ratio: 2) { 

  .nodisplay { display: none; }
  #hero,
#page-header{
	background:#fff;
	padding:20px 0 0 0;
}
.grid_8 {
	margin-bottom:0;
	/*positioning and padding*/
	position: relative;
    min-height: 1px;
    padding-left: 0;
    padding-right: 0;
}
}

/*
PRINT STYLESHEET
*/
@media print {
  * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
  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: ""; }  /* Don't show links for images, or javascript/internal links */
  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; }
}