/* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */
html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{margin:0}
article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}
audio,canvas,video{display:inline-block;vertical-align:baseline}
audio:not([controls]){display:none;height:0}
[hidden],template{display:none}
a{-webkit-tap-highlight-color:transparent;background-color:transparent}
a:active,a:hover{outline:0}
abbr[title]{border-bottom:1px dotted}
b,strong{font-weight:bold}
dfn{font-style:italic}
mark{background:#ff0;color:#000}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sup{top:-0.5em} sub{bottom:-0.25em}
img{border:0} svg:not(:root){overflow:hidden} figure{margin:1em 40px}
hr{-moz-box-sizing:content-box;box-sizing:content-box}
pre{overflow:auto}
code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}
button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}
button{overflow:visible}button,select{text-transform:none}
button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}
button[disabled],html input[disabled]{cursor:default}
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
input{line-height:normal}
input[type=checkbox],input[type=radio]{padding:0}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}
input[type=search]{box-sizing:content-box;-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box}
input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}
fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}
legend{border:0;padding:0}
textarea{overflow:auto}
optgroup{font-weight:bold}
/* End extract from normalize.css */

/* General styles, border:0; removes the border around the viewport in old versions of IE */
body {margin:0;padding:0;border:0;width:100%;color:#000;background:#f6f6f6;font-family:Verdana,sans-serif;font-size:90%;line-height:normal;min-width:320px;}
a {color:#009;transition:.2s ease-out;}
a:hover {color:#00f;}
h1{font-size:2.25em}h2{font-size:1.5em}h3{font-size:1.5em}h4{font-size:1.25em}h5{font-size:1.125em}h6{font-size:1em}
h1 {margin:30px 10px 20px 10px;}
h2, h3, h4 {margin:0 10px 10px 10px;}
p {margin:0 10px;}
hr {clear:both;margin:0;}
ul {margin:0 10px 10px -5px;} /* reduced indent to save space on mobile screen */
img {margin:10px;}
img.map {display:block;margin:0 auto 20px auto;max-width:96%;border:1px solid black;border-radius:8px;page-break-inside:avoid;}
img.logo {float:right;margin:0 0 10px 10px;border:2px solid black;border-radius:8px;}
img.photo {display:block;margin:10px auto 5px auto;max-width:94%;border:0px solid black;border-radius:8px;page-break-inside:avoid;}
img.book {display:block;margin:5px auto 0px auto;width:120px;border:0px solid black;}
.holder {display:block;margin:10px 10px 20px 10px;background:#f6f6f6;border:1px solid black;border-radius:8px;page-break-inside:avoid;}
.holder.green{border:1px solid #00634c;}
.holder.red{border:1px solid red;}
.holder.black{border:1px solid black;}
.holder.blue{border:1px solid blue;background:#eef;}
.holder.grey{border:1px solid #eee;background:#eee;}
.ad {display:table;margin:auto;padding:20px 0 30px 0;}
.ad p {text-align:center;margin-top:0;}
.ad img {display:block;margin:auto;}
.adbusmap {display:table;margin:auto;padding:5px 0 5px 0;text-align:center;margin-top:5px;background:#dc241f;color:white;border:1px solid black;border-radius:8px;width:280px;}
.adbusmap a {color:white;}
.adbusmap a:hover {background:#dc241f;color:#000;text-decoration:none;}
.moveright {float:right;text-align:right;}
.gapunder {margin-bottom:20px;}
.bus {color:#063;}
.londonbus {color:#dc241f;}
iframe {display:block;margin:auto;padding:0;text-align:center;}
.amazon {float:left;width:160px;height:240px;}
.fullwidth {clear:both;}
.centered {text-align:center;}
.caption {text-align:center;margin-top:0;margin-bottom:20px;}

header {clear:both;float:left;width:100%;color:#fff;background:#00634c;margin:0 0 20px 0;padding:5px 0;}
header h1{margin:10px;}
header p{margin:16px 10px;}
header img.logo {border:none;}

/* Footer styles */
footer {clear:both;float:left;width:100%;margin:0;padding:10px 0;color:#fff;background:#00634c;}
footer h4, p {margin:10px;}
footer p.privacy {margin:10px;font-size:0.8em;}
footer a {color:#fff;text-decoration:underline;}
footer a:hover {color:#fff;background:#369;text-decoration:none;}
footer a.btn:hover {color:#000;background:#ddf;text-decoration:none;}
@media print {footer {color:#000;background:#fff;}}
@media print {footer a {color:#000;}}

table {margin:10px;border-collapse:collapse;border:1px solid black;}
table.times {font-size:90%;background:white;border:2px solid black;}
.times td {padding:0px 3px 1px 3px;border-right:1px solid silver;}
table.books {background:#f6f6f6;border:0px solid black;}

/* buttons */
.btn {display:inline-block;outline:0;padding:4px 7px;margin:0 0 6px 0;vertical-align:middle;overflow:hidden;text-decoration:none;transition:.2s ease-out;cursor:pointer;white-space:nowrap;color:#000;background:#ffc;border-radius:4px;border:1px solid #ccc;}
.btn.current{background:#ddf;box-shadow:none;color:#000;cursor:default}
.tab {background:#ffc;}
.short {width:130px;} /* allows for 7+7px padding left/right, 1+1px border and 4px wordspace after button */
.long {width:280px;}
.busmap {background:#dc241f;color:white;border:1px solid #000;}
.ukb {background:#ff9;}
.hotel {background:#ff9;}
.tickets {background:#ff9;}
.offers {background:#00634c;color:white;}
.pdf {background:#cfc;border:1px solid #000;}
.homehead {float:left;padding:6px 16px;margin:10px;color:#fff;background:#00634c;}
.head {float:right;padding:6px 16px;margin:10px 10px 10px 0;color:#fff;background:#555;}
.head:hover, .homehead:hover, .home:hover, .offers:hover {color:#fff;background:#369;}
.plan {padding:4px 8px;}

/* media width breakpoints set 20px greater than 640/960 to allow for side scroll bar */
.show-tiny, .show728, .show468, .show300 {display:none;}
@media (min-width:760px){.show728{display:inline;}}
@media (max-width:759px) and (min-width:500px){.show468{display:inline;}}
@media (max-width:499px){.show300{display:inline;}}
@media (max-width:520px){.hide-tiny{display:none;} p.show-tiny{display:block;}}
@media (max-width:659px){.hide-small{display:none;}}
@media (max-width:979px) and (min-width:660px){.hide-medium{display:none;}}
@media (min-width:980px){.hide-large{display:none;}}

.wrapfull {clear:both;width:100%;}
.colflex {float:left;width:100%;}
.colhalf {float:left;width:50%;}
@media (max-width:659px) {.colhalf{width:100%;}}
@media print {.colhalf{width:100%;}}
.wrap320 {clear:both;margin-right:320px;}
@media (max-width:839px) {.wrap180{clear:both;margin-right:0px;}}
.col320 {float:right;width:320px;margin-right:-320px;}
@media (max-width:659px) {.wrap320{clear:both;margin-right:0px;} .col320 {float:left;width:100%;margin-right:0px;}}
@media (min-width:980px) {.wrap320{clear:both;margin-right:480px;} .col320 {float:left;width:479px;margin-right:-480px;}}
.wrap480 {clear:both;margin-right:480px;}
.col480 {float:right;width:480px;margin-right:-480px;}
@media (max-width:979px) {.wrap480{clear:both;margin-right:0px;} .col480 {float:left;width:100%;margin-right:0px;}}
/* bigger l/r margins for largest screens */
@media (min-width:700px) {h1, h2, h3, h4, header h1, header p, footer h4, footer p.privacy, p, table {margin-left:15px;margin-right:15px;} .homehead {margin-left:15px;} .head {margin-right:15px;}}

.flexwrap {clear:both; display:flex; flex-direction:row; flex-wrap:wrap; justify-content:space-around;}
.tile {width:150px;border:1px solid blue;border-radius:8px;background:#fff;font-size:0.875em;text-align:center;margin:0 4px 8px 4px;padding:8px 0 0 0;}
.tile a {text-decoration:none;}
.tile p {margin:5px 10px 10px 10px;}
@media (max-width:980px) {.tiles6 {max-width:630px;margin:0 auto 0 auto;}} /* tiles go from 6 to 3 or 2 across */
@media (max-width:660px) {.tiles4 {max-width:470px;margin:0 auto 0 auto;}} /* tiles go from 4 to 2 across */

.responsivead {clear:both;display:table;margin:auto;padding:20px 0;width:728px;}
@media (max-width:750px) {.responsivead {width:468px;}}
@media (max-width:600px) {.responsivead {width:320px;}}

.print-only {display:none;}
@media print {body {font-size:80%;background:#fff;} .print-only {text-align:center;display:inline;}}
@media print {.hide-print, .privacy, .ad, .hotel, .tile, adbusmap, .responsivead {display:none;}}
@media print {.bus, .londonbus, a {color:#000;}}

/* all columns full width for printing */
@media print {.wrap320, .wrap480 {clear:both;margin-right:0px;} .col320, .col480 {float:left;width:100%;margin-right:0px;}}

/* insert printing page break, does NOT work on an empty div */
@media print {.printpagebreak {page-break-before:always;}}

