/*
 * 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
   ========================================================================== */

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: #d7c48c;
    text-shadow: none;
}

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

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 0.5em 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;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

html,
button,
input,
select,
textarea {
  font: 400 14px/1.231 'Open Sans', Arial, Helvetica, sans-serif;
}
html {
  background: #d3ccb9 50% top no-repeat url('../images/background.jpg');
}
header {
  margin: 1em auto 0; color: #000; font-size: 0.9em; text-align: right;
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, #fff 100%);
}

#header-box { width: 80%; margin: 0 auto 1em; }
#logo { position: relative; z-index: 4; width: 64px; margin-bottom: -7em; }
header .addr { margin: 0 0 1.5em 80px; line-height: 1.2; }
header .phone { color: #b50638; margin: 0; font-weight: bold; font-size: 2em; }
footer { margin: 0; padding: 0.3em 0; background-color: rgba(0,0,0,0.7); color: #fff;
          font-size: 0.8em; text-align: center; }
footer p { margin: 0.8em auto; }
footer a { color: #d7b96c; }
footer a:hover { color: #fff; }
nav {
  position: relative; min-height: 3em;
  color: #fff;
  background: #8f0222;
  background: -moz-linear-gradient(top, #a90329 0%, #8f0222 44%, #6d0019 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#a90329),
                color-stop(44%,#8f0222), color-stop(100%,#6d0019));
  background: -webkit-linear-gradient(top, #a90329 0%, #8f0222 44%, #6d0019 100%);
  background: -o-linear-gradient(top, #a90329 0%, #8f0222 44%, #6d0019 100%);
  background: -ms-linear-gradient(top, #a90329 0%, #8f0222 44%, #6d0019 100%);
  background: linear-gradient(to bottom, #a90329 0%, #8f0222 44%, #6d0019 100%);
}
nav ul {
  position: absolute; z-index: 3; top: -1em; left: 9%; width: 80%; margin: 0 auto; padding: 0 1%;
  text-align: right; list-style: none; box-shadow: 0 10px 10px -10px #000;
  background: #a90329;
  background: -moz-linear-gradient(top, #b50638 0%, #9d0430 44%, #7e0025 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b50638),
    color-stop(44%,#9d0430), color-stop(100%,#7e0025));
  background: -webkit-linear-gradient(top, #b50638 0%, #9d0430 44%, #7e0025 100%);
  background: -o-linear-gradient(top, #b50638 0%, #9d0430 44%, #7e0025 100%);
  background: -ms-linear-gradient(top, #b50638 0%, #9d0430 44%, #7e0025 100%);
  background: linear-gradient(to bottom, #b50638 0%, #9d0430 44%, #7e0025 100%);
}
nav li { display: inline-block; }
nav li a {
  display: inline-block; padding: 0.8em 1em 1.2em; color: #fff;
  font-size: 0.85em; font-weight: normal; text-decoration: none; text-transform: uppercase;
}
nav a.active,
nav li.active a { font-weight: bold; color: #d7b96c; }
nav li a:hover { background-color: #fffbef; color: #000; box-shadow: 0 0 35px 5px #fff; }
nav li.hide span { margin-left: 70px; float: left; }
footer nav { background: none; min-height: auto; margin-top: 0.5em; }
footer nav ul {
  position: relative; top: 0; left: auto; width: 100%; padding: 0;
  background: none; box-shadow: none; text-align: center;
}
footer nav li a { padding: 0.4em 1em 0.8em; }
a { text-decoration: none; font-weight: bold; color: #b50638; }
a:hover { color: #d7b96c; }
form { }
fieldset { }
label {
  display: block; margin: 0.8em 0 0.3em;
  font-size: 0.9em; font-weight: normal; text-transform: uppercase;
}
label.inline { display: inline-block; width: 30%; text-align: right; }
label.inline2 { display: inline-block; vertical-align: baseline; width: auto; text-align: left;
 margin-left: .5rem; }
textarea,
select,
input    { margin: 0.2em 0; border: 1px solid #ddd; background: #fdfdfd; }
textarea,
input    { padding: 2px; }
input[type="button"],
input[type="submit"],
a.btn,
button   {
  position: relative; display: inline-block; margin: 0.3em 0; padding: 0.3em 1em;
  text-decoration: none; text-transform: uppercase; font-weight: normal;
  border: none;
  background: #a90329;
  background: -moz-linear-gradient(top, #b50638 0%, #9d0430 44%, #7e0025 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b50638),
    color-stop(44%,#9d0430), color-stop(100%,#7e0025));
  background: -webkit-linear-gradient(top, #b50638 0%, #9d0430 44%, #7e0025 100%);
  background: -o-linear-gradient(top, #b50638 0%, #9d0430 44%, #7e0025 100%);
  background: -ms-linear-gradient(top, #b50638 0%, #9d0430 44%, #7e0025 100%);
  background: linear-gradient(to bottom, #b50638 0%, #9d0430 44%, #7e0025 100%);
  color: #fff; }
input[type="button"]:hover,
input[type="submit"]:hover,
a.btn:hover, button:hover   { background: #fffbef; color: #000; box-shadow: 0 0 35px 5px #fff; }
input[type="button"]:active,
input[type="submit"]:active,
a.btn:active, button:active { top: 1px; left: 1px; }
textarea:focus,
select:focus,
input:focus           { background: #fffbef; color: #000; box-shadow: 0 0 35px 5px #fff; }
input[type="image"],
input[type="checkbox"],
input[type="radio"]    { border: none; }
input.h2 { font-family: 'Seaweed Script'; font-weight: normal; font-size: 2em; }
.form-ind { display: inline-block; width: 65%; }
.form-chk { display: inline-block; width: 30%; margin-top: .5rem; vertical-align: top; text-align: right; }
.form-btns { margin: 1em auto 0; padding: .5em 0; background-color: #000; text-align: center; }
h1 {
  padding: 0.5em 0.75em; margin-left: -0.5rem; margin-right: -0.5rem; margin-bottom: 1em;
  color: #fff; box-shadow: 0 0.5rem 0.5rem -0.5rem #000;
  font-family: 'Seaweed Script'; font-weight: normal;
  background: #a90329;
  background: -moz-linear-gradient(top, #b50638 0%, #9d0430 44%, #7e0025 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b50638),
    color-stop(44%,#9d0430), color-stop(100%,#7e0025));
  background: -webkit-linear-gradient(top, #b50638 0%, #9d0430 44%, #7e0025 100%);
  background: -o-linear-gradient(top, #b50638 0%, #9d0430 44%, #7e0025 100%);
  background: -ms-linear-gradient(top, #b50638 0%, #9d0430 44%, #7e0025 100%);
  background: linear-gradient(to bottom, #b50638 0%, #9d0430 44%, #7e0025 100%);
}
h1.ad { font: 400 22px/1.231 'Open Sans', Arial, Helvetica, sans-serif !important;
 text-align: left !important;
 background: none; color: #a90329; box-shadow: none; padding: 0 1em .3em !important;
 margin: .5em auto 0 !important;
 border-bottom: 1px solid #ddd; }
.red-box h1.ad { border-bottom: 1px solid #d7b96c; }
h2 {
  margin: 1rem 1.5rem -1rem;
  font-family: 'Seaweed Script'; font-weight: normal; font-size: 2em;
}
h3 {
  margin: 1rem 1.5rem -1rem; font-size: 1.2em;
}
p { margin: 1.5rem; }
img,
iframe { width: 100%; }
.c ul { list-style: none; padding-left: 0; }

#page { width: 80%; min-height: 400px; margin: 0 auto; }
#head-images {
  position: relative; z-index: 2; margin: 0 0 1em; padding: 0 10%;
  background-color: rgba(0,0,0,0.7); width: 80%;
}
#head-images img,
#head-images iframe { box-shadow: 0 0 35px 5px #000; margin: -1em 0; }
#head-images img ~ img { width: 80%; display: none; position: absolute; left: 10%; top: 0; }
.box { margin: 1em 0; *zoom: 1; }
.box:before,
.box:after { content: " "; display: table; }
.box:after { clear: both; }
.content-box { background-color: #fff; border-bottom: 1em solid #6d0019; }
.content-box .form-btns { margin-bottom: -1em; }
.red-box h1,
.grey-box h1,
.trans-box h1 {
  padding: 0.2em; margin: 0.3em auto;
  background: none; box-shadow: none;
  font-size: 2em; text-align: center;
}
.red-box        { background-color: #6d0019; color: #fff; }
.red-box label  { font-size: 0.8em; }
.red-box h1     { color: #fff; }
.red-box img.brd,
.trans-box img.brd { border: 0.5em solid #fffbef;
                     box-sizing: border-box;
                     -moz-box-sizing: border-box;
                     -webkit-box-sizing: border-box; }
.span2-5 .red-box h1 { color: #d7b96c; }
.red-box a      { color: #fff; }
.red-box a:hover { color: #d7b96c; }
.grey-box       { background-color: #666; color: #fff; }
.grey-box h1    { color: #fff; }
.trans-box h1   { color: #000; }
.trans-box      { background-color: rgba(0,0,0,0.2); }
.grey-box a,
.trans-box a    { color: #fff; text-shadow: 0 0 0.3em #000; }
.grey-box a:hover  { text-shadow: none; color: #d7b96c; }
.trans-box a:hover { text-shadow: none; }
.pad-box     { padding: 1.5rem; }
.handwrite   { font-family: 'Dancing Script'; font-weight: normal; font-size: 2em; }
.warn       { background: rgba(255,255,255,0.5); margin: 0.8em 0; padding: 0.3em; }
.content-box .warn { background: rgba(200,0,0,0.7); color: #fff; }
.notice     { background: rgba(0,0,0,0.7); color: #fff; padding: 0.8em; text-align: center; }
.notice.warn { background: rgba(200,0,0,0.7); }
.notice .form-btns { margin: 1em -0.8em -0.8em; }
.notice a   { color: #fff; }
.notice.overlay { background: rgba(0,0,0,.3); padding: 0; margin: -1em 0 1em; z-index: 10; }
.notice.overlay p { margin: 0 .2em; font-size: .8em; }
.social     { margin: 1em 0; background-color: rgba(255,255,255,.4); text-align: center; }
.social img { width: 50%; margin: 0.3em 0; }
.cnrlogo    { max-height: 120px; width: auto; float: right; margin: 0.8em; }
.phn { font-weight: bold; }
.widSSP, .widWRL { width: 100% !important; margin: 0 auto !important; }
.widSSP img,
.widWRL img { width: auto; }
.widSSPBranding img,
.widWRLBranding img { max-width: 100%; }
.widWRL a { text-shadow: none; }
.widSSPData dd,
.widSSP dt,
.widWRL dt { width: auto !important; }
.widSSPData,
.widWRLData { border: none !important; }
.widWRLData textarea { width: 95% !important; min-width: auto !important; }
.widSSPData dt { width: auto !important; }
.comment + .comment { display: none; }
#gallery { margin: 1em auto; padding: 0 1em; list-style: none; text-align: center; }
#gallery > li { display: inline-block; height: 10em; width: 10em; padding: .5em;
 background: none; text-align: center; margin: .5em; vertical-align: top; }
#gallery > li a { display: block; }
#gallery > li img { width: auto; max-width: 100%; height: auto; max-height: 10em;
 vertical-align: top; }
#viewer { position: fixed; top: 0; left: 0; z-index: 5;
 background-color: rgba(0,0,0,.7); text-align: center;
 width: 100%; max-width: 100%; height: 100vh; }
#viewer div { background-color: #fff; padding: .5em; width: 95%; height: auto;
 min-height: 5em; max-height: 95vh; margin: 0 auto; position: absolute;
 top: 2.5%; left: 2.5%; right: 2.5%; }
#viewer a { color: #000; text-shadow: 0 0 0.3em #fff; background: rgba(255,255,255,.5);
 padding: 0 .5em; border-radius: 3em; }
#viewer a.close { position: absolute; top: 1em; right: 1em; }
#viewer a:hover { color: #fff; text-shadow: 0 0 .3em #000; }
#viewer a.prev { position: absolute; top: 50%; left: 1em; font-size: 2em; }
#viewer a.next { position: absolute; top: 50%; right: 1em; font-size: 2em; }
#viewer img { width: auto; max-width: 100%; height: auto; max-height: inherit; }
#whats-on-list li { margin: .8em .8em .8em 0; }
#whats-on-list .event { font-weight: bold; font-size: 1.1em; display: block; }
#whats-on-list .date { display: block; font-style: italic; }

.section     { clear: both; margin: 0; padding: 0; }
.group:before,
.group:after { content: ""; display: table; }
.group:after { clear: both; }
.group { zoom:1; /* For IE 6/7 (trigger hasLayout) */ }
.col { display: block; float: left; margin: 1% 0 1% 1.6%; }
.col:first-child { margin-left: 0; }
.span1-3 { width: 32.266%; }
.span1-5 { width: 17.12%; }
.span2-5 { width: 37.84%; }
.span3-5 { width: 58.56%; }
.span1-5 { width: 18.72%; }
.span2-5 { width: 39.04%; }
.span3-5 { width: 59.36%; }

@font-face {
	font-family: 'windmill';
	src:url('../fonts/windmill_-4l0c4n.eot');
	src:url('../fonts/windmill.eot') format('embedded-opentype'),
		url('../fonts/windmill_-4l0c4n.woff') format('woff'),
		url('../fonts/windmill_-4l0c4n.ttf') format('truetype'),
		url('../fonts/windmill_-4l0c4n-windmill.svg') format('svg');
	font-weight: normal;
	font-style: normal;
}
[class^="icon-"], [class*=" icon-"] {
	font-family: 'windmill';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.icon-close:before { content: "\e600"; }
.icon-trash:before { content: "\e601"; }

form .msg { margin: 0 auto; width: 95%; }
.action-set { position: absolute; top: .5rem; right: .5rem; font-size: .8em; }
.action-set ul { list-style: none; padding: 0; margin: 0; }
.action-set li { margin: 0; }
#gallery .action-set { top: auto; bottom: .5rem; }
#gallery .action-set a { color: #b50638; text-shadow: none; }
#gallery .action-set a:hover { color: #d7b96c; }
.reorderable-list li { cursor: pointer; min-height: 1em; }
.alert { -moz-box-sizing: border-box; box-sizing: border-box; margin: .2em auto .5em;
 padding: .5em 2px .5em .5em; position: relative;
 font-weight: 400; line-height: 1.3; text-align: left;
 background-color: #f8faf7; border: 1px solid #edf1ec; }
.alert.warn, .alert.error { background-color: #faf8f7; color: #000; border: 1px solid #f1edec; }
.alert h3 { margin: 0; font-size: 1.1em; line-height: 1.2; }
.alert p { margin: 0; font-size: .8em; }
.alert .ind-block + p { margin-top: .5em; }
.alert p + p { margin-top: .8em; }
.alert a { color: #b50638; text-shadow: none; }
.alert .ind-block { margin: 0 1em 0 0; }
.field-block { display: inline-block; width: 69%; vertical-align: top; }
.adm-list { list-style: none; margin: 0; padding: 0; }
.adm-list > li { position: relative; padding: .3rem 2rem .3rem .3rem; margin: .3em 1em;
 border-radius: .5rem; }
.adm-list .action-set { display: none; }
.adm-list > li:hover { box-shadow: 0 0 15px 2px #eee; }
.adm-list > li:hover .action-set { display: block; }
.adm-list .date { font-style: italic; display: block; }

a.btn.waiting, input[type='submit'].waiting, button.waiting { color: #000;
 background: #ddd -webkit-linear-gradient(-45deg, rgba(255,255,255,.6) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.6) 50%, rgba(255,255,255,.6) 75%, transparent 75%, transparent);
 background: #ddd linear-gradient(-45deg, rgba(255,255,255,.6) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.6) 50%, rgba(255,255,255,.6) 75%, transparent 75%, transparent);
 background-repeat: repeat;
 background-size: 40px 40px, 100% 100%;
 -webkit-animation: progress-bar-stripes 2s linear infinite;
 animation: progress-bar-stripes 2s linear infinite;
}
@-webkit-keyframes progress-bar-stripes {
 from { background-position: 0 0; }
 to { background-position: 40px 0; }
}
@keyframes progress-bar-stripes {
  from { background-position: 0 0; }
  to { background-position: 40px 0; }
}



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

.l { text-align: left; }
.r { text-align: right; }
.c { text-align: center; margin-left: auto; margin-right: auto; }
.j { text-align: justify; }
.fl { float: left; }
.fr { float: right; }
.cl { clear: left; }
.cr { clear: right; }
.cb { clear: both; }
.w10 { width: 10%; }
.w20 { width: 20%; }
.w25 { width: 25%; }
.w30 { width: 30%; }
.w33 { width: 33%; }
.w40 { width: 40%; }
.w50 { width: 50%; }
.w65 { width: 65%; }
.w80 { width: 80%; }
.w95 { width: 95%; }
.w100 { width: 100%; }
.field-block .w25 { width: 40%; }
.w10rem { width: 10rem; }
.h5em { height: 5em; }
.h10em { height: 10em; }
.mh120px { max-height: 120px; width: auto; }
.marl30 { margin-left: 30%; }
.marl1em { margin-left: 1em; }
.marr1em { margin-right: 1em; }
.mar1em { margin: 1em; }
.brd { border: 1px solid #000; }
.small { font-size: 0.8em; }
.smaller { font-size: 0.9em; }
.larger { font-size: 1.2em; }
.large  { font-size: 1.4em; }
.note { font-style: italic; }
.hide { display: none; }

/*
 * 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: 150%;
}

/*
 * 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: 2000px) {
  body { font-size: 115%; }
}
@media only screen and (min-width: 1600px) {
  body { font-size: 110%; }
}
@media only screen and (min-width: 1200px) {
  body { font-size: 105%; }
}

@media only screen and (max-width: 970px) {
  #page, #header-box { width: 90%; }
  #head-images { width: 90%; padding: 0 5%; }
  #head-images img ~ img { width: 90%; left: 5%; }
  nav ul { left: 4%; width: 90%; }
}

@media only screen and (max-width: 860px) {
  header { margin-top: .3em; }
  .notice.overlay { margin-top: -.3em; }
  #logo { margin-bottom: -7em; }
  nav li a { padding-left: .5em; padding-right: .5em; }
  .box { font-size: .9em; }
}

@media only screen and (max-width: 760px) {
  nav { font-size: .8em; }
  footer { font-size: .7em; }
  footer nav { font-size: 105%; }
}

@media only screen and (max-width: 640px) {
  p, h2 { margin: 0.5rem; }
  .col { float: none; margin: 1% 0 1% 0; width: 100%; }
  header .phone { font-size: 1.4em; }
  header nav ul li ~ li { display: none; }
  header nav ul li.hide { display: inline-block; width: 100%; text-align: right; }
  header nav li { width: 50%; float: left; }
  header nav li ~ li { text-align: center; }
  header nav li ~ li a { width: 100%; padding-left: 0; padding-right: 0; }
  header nav a#pull { position: relative; padding-right: 30px; padding-left: 5px; }
  header nav a#pull:after {
    display: inline-block; position: absolute; right: 0; top: 5px;
    content: "";
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAB3RJTUUH3QIPEhIkG4IFewAAAAlwSFlzAAAewQAAHsEBw2lUUwAAAChJREFUeNpjYKASYPwPBNQwiIlaLhp8BrEAMeOgc9ForA01MJrX6AgAaAQJF7jVxkQAAAAASUVORK5CYII=) no-repeat;
    width: 25px; height: 25px;
  }
  header nav a#pull:hover:after {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAB3RJTUUH3QIPEhIvjFDc8wAAAAlwSFlzAAAewQAAHsEBw2lUUwAAACxJREFUeNpjYKASYATi/9QwiIlaLhp8BjH+/0+VIKKiixhGY23ogdFYoyMAAKoABhNE6aR6AAAAAElFTkSuQmCC) no-repeat;
  }
  label.inline, label.inline2 { display: block; width: 90%; margin-left: 5%; text-align: left; }
  input.w65, input.w20, input.w25, select, textarea.w65, span.qn {
   margin-left: 5%; margin-right: 5%; width: 90%; }
  .field-block { display: block; width: auto; margin-left: 5%; }
  .field-block input.w10rem { margin-left: 0; margin-right: 5%; width: 95%; }
}

@media only screen and (max-width: 240px) {
  .box { font-size: 0.8em; }
  nav li.hide span { margin-left: 0; }
}

@media print,
       (-o-min-device-pixel-ratio: 5/4),
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 120dpi) {
    /* 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;
        font-size: 0.9em;
    }

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

    /*
     * 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;
    }
    
    h1 { text-align: center; margin: 0.5em auto; padding: 0; }
    p { margin: 0.5rem 1.5rem; }
    header .addr { font-size: 0.8em; line-height: 4; }
    section, article { border: 1px solid #ddd; }
    #logo { width: 1cm; margin-top: -1em; }
    .prt-hide,
    nav, form { display: none; }
}