html { padding:0px; margin:0px; }
body { color:#2a2f50; padding:0px 0 0px; margin:0px; font-family: 'Raleway',Arial,Helvetica,sans-serif; background:#fff; font-size:87.5%; text-align:left; line-height:1.3em; /*overflow-x:hidden;*/ }
h1, h2, h3, h4, h5, .h1, .h2, .h3, .p, p { margin:0; padding:0 0 24px; }
ul, ol { margin-top:0; }

h1, .h1 { font-size: 3.286em; line-height:1.1em; font-weight: 600;  }
h2, .h2 { font-size: 2.575em; line-height: 1.3em; font-weight: 300; color: #90162b; }
h3, .h3 { font-size: 1.858em; font-weight: bold; line-height: 1.3em; }
h4, .h4 { color: #9a182e; font-weight: bold; }
h4.h3 { color:#2a2f50; }

form { margin:0; padding:0; }
label { font-weight:bold; font-size:1.07em; }
img { border-style:none; vertical-align:middle; max-width:100%; width:auto; height:auto; }
a { text-decoration: none; transition: color 0.2s linear; -o-transition: color 0.2s linear; -moz-transition: color 0.2s linear; -webkit-transition: color 0.2s linear; color:#9a182e; }
a:hover { color:#c4c5a5; }
select::-ms-expand { display: none; }
p { line-height: 1.75em; }

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

/* Utility Classes */
.cs:after, .thumbnails li:after, .linklist li:after, .panel:after, .trds:after, .halves:after, .qtrs:after, .months ul:after{ content: "."; display: block; height: 0; clear: both; visibility: hidden; overflow:hidden; }
.clear { clear:both; height:0px; overflow:hidden; }
.clearhalf { clear:both; height:9px; overflow:hidden; }
.clearspace { clear:both; height:18px; overflow:hidden; }
.cleardblspace { clear:both; height:36px; overflow:hidden; }
.small { font-size:0.9em; line-height:1.3em; }
.smaller { font-size: 0.75em; line-height:1.3em; }
.bigger{ font-size: 1.35em; line-height:1.3em; }
.big { font-size: 1.2em; line-height:1.3em; }
.photoright { float:right; margin-left:15px; margin-bottom:10px; clear:right; }
.photoleft { float:left; margin-right:15px; margin-bottom:10px; clear:left; }
.hidden { display:none; }
.alttext { display:block; font-size:0px; width:0px; height:0px; overflow:hidden; text-indent:-9999px; }
.left { text-align:left!important; }
.center { text-align:center!important; }
.right { text-align:right!important; }
.justify { text-align:justify!important; }
.fl { float:left!important; }
.fr { float:right!important; }
.nomargin { margin:0!important; }
.esc { margin-right:-2%; }
.nowrap { white-space:nowrap; }
.half { float:left; width:48%; margin:0 2% 0 0; overflow:hidden; }
.trd { float:left; width:31.3%; margin:0 2% 0 0; overflow:hidden; }
.twotrd { float:left; width:64.5%; margin:0 2% 0 0; overflow:hidden; }
.qtr { float:left; width:23%; margin:0 2% 2% 0; overflow:hidden; }
.fth { float:left; width:18%; margin:0 2% 0 0; overflow:hidden; }
.sixth { float:left; width:13%; margin:0 2% 0 0%; overflow:hidden; }
.threeqtr { float:left; width:73%; margin:0 2% 0 0; overflow:hidden; }
.left_section { float:left; width:48.5%; }
.right_section { float:right; width:48.5%; }
.colour { color: #9a182e; }
.subcolour { color: #2a2f50; }
.sep { margin: 0 10px; }
.u { text-transform: uppercase; }
.relative { position: relative; }
.inlineblock { display: inline-block!important; }
.inline { display: inline!important; }
.semibold { font-weight: 600; }
.btn, .directionsSearch, .input-submit { font-family: 'Raleway',Arial,Helvetica,sans-serif; color: #fff; background: #2a2f50; border: 1px solid #2a2f50; border-radius: 30px; padding:9px 20.5px; cursor: pointer; text-align: center; transition: all 0.2s linear; -o-transition: all 0.2s linear; -moz-transition: all 0.2s linear; -webkit-transition: all 0.2s linear; display: inline-block; outline:0; line-height: 1em; }
.btn:hover, .directionsSearch:hover, .input-submit:hover { background: #fff; color: #2a2f50; border-color: #2a2f50; }
.rbtn { background: #8a1629; border: 1px solid #fff; }
.rbtn:hover { background: #fff; border-color: #8a1629; color: #8a1629; }
.btn.regularmargin { margin: 0 0 20px; }
.overflowhidden { overflow:hidden; }
.btn.btnmarginbottom { margin-bottom: 7px; }

.escholder { padding-bottom: 10px; }

.container { max-width:1046px; margin:0 auto; position:relative; z-index:2; }
.widecontainer { max-width:1086px; margin:0 auto; position:relative; z-index:2; }
.homepageholder { background:#000; }

.qtrs { margin-bottom: 1.8%; }

.homepageholder .btn { line-height: 1.3em; }

.header { position: relative; }
.header .logo { position: absolute; top: 9px; left: 50%; margin-left: -61.5px; z-index: 10; }

.pageintro h1.noh2, .pageintro .h1.noh2 { padding-bottom: 25px; }

.groupsep { margin-bottom: 5px; }

#nav { text-align:center; }
#nav .span { display:inline-block; vertical-align:middle; }
#nav .span ul { display:inline-block; }
#nav ul { list-style:none; padding: 0; margin: 0; text-align: center; }
#nav ul li { display: inline-block; position: relative; vertical-align: middle; }
#nav ul li a { text-decoration:none; color: #fff; background: #9a182e; padding: 40px 29px 30px; display: inline-block;  transition: background 0.2s linear; -moz-transition: background 0.2s linear; -o-transition: background 0.2s linear; -webkit-transition: background 0.2s linear; }
#nav ul li:hover a, #nav ul li.active a { color: #c4c5a5; }
.nav { display: block; background: #9a182e; border-bottom: 12px solid #2a2f50; padding: 0 0 0 0px; }
#nav ul li.callnav a { padding: 32.5px 13px; }
#nav ul li.emailnav a { padding: 34.5px 13px; }
#nav ul li.appnav a { padding: 28.5px 13px; }
#nav ul li.webcamnav a { padding: 29.5px 13px; }
.navleft { display: inline-block; vertical-align: middle; padding-right: /*60px*/0; }
.navright { display: inline-block; vertical-align: middle; padding-left: 70px; position: relative; left: 92px; }

.subnav { text-align: center; background: #2a2f50; }
.subnav ul { list-style-type: none; padding: 0; margin: 0; }
.subnav ul li { display: inline-block; position: relative; }
.subnav ul li a { text-decoration:none; color: #fff; background: #2a2f50; padding:24px 24px 21px; display: inline-block;  transition: background 0.2s linear; -moz-transition: background 0.2s linear; -o-transition: background 0.2s linear; -webkit-transition: background 0.2s linear; }
.subnav ul li:hover a, .subnav ul li.active a { background: #262b4a; color: #c4c5a5; }

.gallery { position: relative; width:100%; }
.gallery .galleryItem { width:100%!important; position:relative; }
.gallery .galleryText { display: block; color: #fff; font-size: 4.145em; text-align: center; margin: 0 auto; line-height: 1.3em; padding: 9% 3% 0; box-sizing: border-box; position: absolute; top: 0; left: 0; width: 100%; font-weight:bold; overflow: hidden; }
.gallery .imgholder img { width: 100%; display:block; }

#introduction { position: relative; background: url(intro-back.jpg) center no-repeat; background-size: cover; }
#introduction .cover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0.4; background: #000; }
#introduction .logo { text-align: center; padding: 110px 10px 65px; }
#introduction .content { padding-top:255px; padding-bottom:195px; }
.homepageholder .smoothscroll { position:absolute; left:50%; bottom:75px; margin-left:-11px; z-index: 2; }
#therailway { position: relative; background: url(railway-back.jpg) center no-repeat; background-size: cover; color: #fff; text-align: center; padding: 180px 0 25px; box-sizing: border-box; }
#therailway .cover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #000; opacity: 0.23; }
.content { z-index: 2; position: relative; }
#fares { position: relative;  background: url(fares-back.jpg) center no-repeat; background-size: cover; }
#fares .cover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0.6; background: #000; }
.newsevents { position: relative;  background: url(newsevents-back.jpg) center no-repeat; background-size: cover; box-sizing: border-box; }
.newsevents .cover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0.95; background: #2a2f50; }

.flexbox { -webkit-flex-flow:row wrap; -ms-flex-flow: row wrap; flex-flow:row wrap; flex-direction:row; -webkit-flex-direction:row; -moz-flex-direction:row; -ms-flex-direction:row; flex-wrap:wrap; -webkit-flex-wrap:wrap; -moz-flex-wrap:wrap; -ms-flex-wrap:wrap; display: -webkit-box;display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; align-items:top; }
.winsafari .flexbox { display:block; }

#skrollr-body {min-height: 1px; position:relative; overflow-x: hidden; }

.tb { display: table; -moz-display: block; width: 100%; height: 100%; table-layout: fixed; position: relative; }
.tb .c { display: table-cell; vertical-align: middle; text-align: center; position: relative; }

.icon { display: inline-block; overflow: hidden; background-image: url(nr_assets.png); text-indent:100%; position: relative; vertical-align: middle; }
.icon.navhome { width: 17px; height: 17px; background-position: 0px -49px; }
.icon.navcircle { width: 14px; height: 14px; background-position: -20px -52px; }
.icon.navanchor { width: 15px; height: 17px; background-position: -36px -49px; }
.icon.arrow { width: 10px; height: 16px; background-position: -4px -82px; }
.icon.goldarrow { width: 10px; height: 16px; background-position: -87px -84px; }
.icon.social { width: 46px; height: 46px; background-position: 0 0; cursor: pointer; }
.icon.booktickets { width: 33px; height: 34px; background-position: -49px 0px; }
.icon.timetables { width: 20px; height: 20px; background-position: -86px 0px; }
.icon.events { width: 20px; height: 20px; background-position: -82px -59px; }
.icon.giftexperiences { width: 20px; height: 16px; background-position: -56px -57px; }
.icon.viewtimetableicon { width: 43px; height: 38px; background-position: -114px 0px; margin-left: 14px; }
.icon.call { width: 23px; height: 23px; background-position: -136px -59px; }
.icon.call:hover { background-position: -251px -68px; }
.icon.email { width: 23px; height: 17px; background-position: -107px -59px; }
.icon.email:hover { background-position: -222px -68px; }
.icon.app { width: 24px; height: 31px; background-position: -166px -62px; }
.icon.app:hover { background-position: -195px -62px; }
.icon.webcam { width: 24px; height: 29px; background-position: -86px -23px; }
.icon.webcam:hover { background-position: -221px -23px; }
.icon.english { width: 24px; height: 19px; background-position: -193px -20px; }
.icon.nederlands { width: 24px; height: 19px; background-position: -166px 0; }
.icon.francais { width: 24px; height: 19px; background-position: -166px -40px; }
.icon.deutsch { width: 24px; height: 19px; background-position: -193px -40px; }
.icon.japanese { width: 24px; height: 19px; background-position: -166px -20px; }
.icon.espanol { width: 24px; height: 19px; background-position: -193px 0; }
.icon.chinese { width: 24px; height: 19px; background-position: -219px 0; }
.icon.back { width: 13px; height: 19px; background-position: -17px -81px; }
.icon.next { width: 13px; height: 19px; background-position: -32px -81px; }
.icon.instagram { width: 40px; height: 40px; background-position: -172px -104px; }
.icon.tripadvisor { width: 40px; height: 40px; background-position: -0px -104px; }
.icon.googleplus { width: 40px; height: 40px; background-position: -258px -104px; }
.icon.pinterest { width: 40px; height: 40px; background-position: -215px -104px; }
.icon.youtube { width: 40px; height: 40px; background-position: -129px -104px; }
.icon.facebook { width: 40px; height: 40px; background-position: -43px -104px; }
.icon.twitter { width: 40px; height: 40px; background-position: -86px -104px; }
.icon.wordpress { width: 40px; height: 40px; background-position: -301px -104px; }
.icon.scroll { width: 22px; height: 52px; background-position: -250px -2px; }


.aicon { width: 50px; height: 50px; display: inline-block; vertical-align: middle; }
.aicon { color: transparent; }
.aicon.property-icon-sleep { background: url(sleep-icon.png) center no-repeat; transition: all 0.2s linear; -o-transition: all 0.2s linear; -moz-transition: all 0.2s linear; -webkit-transition: all 0.2s linear; }
.aicon.property-icon-sleep:hover { background: url(sleep-icon-hover.png) center no-repeat; }
.aicon.property-icon-dog-friendly { background: url(dogfriendly-icon.png) center no-repeat; transition: all 0.2s linear; -o-transition: all 0.2s linear; -moz-transition: all 0.2s linear; -webkit-transition: all 0.2s linear; }
.aicon.property-icon-dog-friendly:hover { background: url(dogfriendly-icon-hover.png) center no-repeat; }
.aicon.property-icon-towels { background: url(towels-icon.png) center no-repeat; transition: all 0.2s linear; -o-transition: all 0.2s linear; -moz-transition: all 0.2s linear; -webkit-transition: all 0.2s linear; }
.aicon.property-icon-towels:hover { background: url(towels-icon-hover.png) center no-repeat; }
.aicon.property-icon-bedding-included { background: url(sleep-icon.png) center no-repeat; transition: all 0.2s linear; -o-transition: all 0.2s linear; -moz-transition: all 0.2s linear; -webkit-transition: all 0.2s linear; }
.aicon.property-icon-bedding-included:hover { background: url(sleep-icon-hover.png) center no-repeat; }
.aicon.property-icon-garden { background: url(garden-icon.png) center no-repeat; transition: all 0.2s linear; -o-transition: all 0.2s linear; -moz-transition: all 0.2s linear; -webkit-transition: all 0.2s linear; }
.aicon.property-icon-garden:hover { background: url(garden-icon-hover.png) center no-repeat; }
.aicon.property-icon-tv { background: url(tv-icon.png) center no-repeat; transition: all 0.2s linear; -o-transition: all 0.2s linear; -moz-transition: all 0.2s linear; -webkit-transition: all 0.2s linear; }
.aicon.property-icon-tv:hover { background: url(tv-icon-hover.png) center no-repeat; }

.footer { color: #fff; background: #9c142a; text-align: center; padding: 22px 10px 20px; box-sizing: border-box; line-height: 2.4em; }

.socials { display: none; width: 100%; box-sizing: border-box; height: auto; background: #1d2032; text-align: center; padding: 40px 20px 34px; }
.socials .icon { margin: 0 11px; }
.close { background: url(close.png) center no-repeat; width: 37px; height: 37px; cursor: pointer; }
.socials .close { margin: 10px auto; }
.socialholder .icon.social { transition: all 0.2s ease; -o-transition: all 0.2s ease; -moz-transition: all 0.2s ease; -webkit-transition: all 0.2s ease; }
.socialholder.active .icon.social { transform: rotate(90deg); -o-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -webkit-transform: rotate(90deg); }

.mobilesocials { display: none; }
.mobilesocials.active { display: block; position: absolute; top: 0; left: 0; width: 100%; height: auto; background: #2a2f50; min-height: 100%; text-align: center; padding: 3px; }
.mobilesocials .close { margin: 15px 5px; }
.mobilesocials .icon { margin: 3px; }

.selectcontainer { display:inline-block; position:relative; width:40%; margin-right: 15px; vertical-align:top; text-align:left; }
.selectLabel { color: #2f3767; border-radius: 2px; border: 0; box-sizing:border-box; font-family: 'Raleway',Arial,Helvetica,sans-serif; padding:13px 14px 12px 14px; vertical-align: top; background:#fff; appearance: none; -moz-appearance: none; -webkit-appearance:none; width:100%; cursor: pointer; }
.selectLabel strong { font-weight:normal; color:#c31a35; }
.selectLabel .icon { background:url(select-arrow.png) center 97% no-repeat; width:20px; height:13px; transition: transform 0.2s linear; -webkit-transition: transform 0.2s linear; -webkit-transition: -webkit-transform 0.2s linear; -o-transition: transform 0.2s linear; -moz-transition: transform 0.2s linear; float:right; margin-top:4px; margin-left:10px; -ms-transform: rotate(180deg);  }
.selectLabel a { text-decoration:none; color:#415161; outline:none; }
.selectLabel.active .icon { transform: rotate(180deg); -ms-transform: rotate(180deg); -webkit-transform: rotate(180deg); transition: transform 0.2s linear; -webkit-transition: transform 0.2s linear; -o-transition: transform 0.2s linear; -moz-transition: transform 0.2s linear; }
.selectcontainer { position:relative; }
.selectOpts { position:absolute; left:0px; top:100%; width:99.6%; background:#fff; border: 1px solid #e6e6e6; border-top:0; border-bottom: 0; text-align:left; z-index:6; white-space:normal; max-height: 300px; overflow: auto; }
.selectOpts .opt { padding:14px 10px; font-size: 86%; border-bottom: 1px solid #e6e6e6; cursor: pointer; color: #2f3767; }
.selectOpts .opt:nth-child(odd) { background: #f7f7f7; }
.selectLabel img, .selectOpts .opt img { margin-right:10px; vertical-align:middle; }
.selectOpts .opt.selected { background:#f7f7f7; }
.selectOpts .opt:hover { background:#e6e6e6; }

#map { height: 500px; width: 100%; position:relative; }

#gallery { height: auto!important; }

.gallerybuttons .container { z-index:7; }
.itemButtons { text-align:center; position:absolute; margin-top:-51px; width:100%; }
.itemButton { width:14px; height:14px; border-radius:8px; border:#fff 1px solid; display:inline-block; margin:5px; cursor:pointer; }
.itemButton.activeButton { background:#9a182e; }

h1 .titlemain { color: #fff; font-weight: 600; display: block; text-shadow: 1px 1px #000; text-align: center; padding-bottom: 6px; }
h2 .titlemain { color: #fff; font-weight: 600; display: block; text-shadow: 1px 1px #000; text-align: center; font-size: 1.278em; padding-bottom: 17px; }
h1 .titlesub { color: #fff; display: block; font-weight: 300; font-size: 78.45%; text-shadow: 1px 1px #000; text-align: center; }
h2 .titlesub { color: #fff; display: block; font-weight: 300; text-shadow: 1px 1px #000; text-align: center; padding-bottom: 10px; }
#introduction .titlesub { padding-bottom: 28px; }

.todo_box img { border: 6px solid #fff; }
.todo_box { width: 31%; margin: 0 2% 0 0; float: left; box-sizing: border-box; padding: 38px 23px 38px 16px; border-radius: 13px; box-shadow: 0 9px #2a2f50; background: url(redbrick.jpg); }
.todo_box .boxdetails { width: 54%; float: left; box-sizing: border-box; padding-right: 15px; }
.todo_box .boximg { width: 46%; float: left; }
.todo_box .boxdetails .title { font-weight: 600; font-size: 193%; line-height: 1.5em; padding-bottom: 17px; }

.btnrow { padding: 19px 0 190px; }
.btnrow .btn { margin: 0 20px; padding: 9px 35.5px; }

.bluebar { color: #fff; background: url(bluebrick.jpg); text-align: center; padding: 105px 10px 33px; position: relative; z-index: 2; }
.bluebar .bartitle { font-weight: 600; font-size: 3.29em; line-height: 1.2em; padding-bottom: 12px; text-shadow: 1px 1px #000; }
.bluebar .barsub { color: #b4a879; font-size: 129%; }
.bluebar .viewtimetable { position: absolute; bottom: 45px; right: 40px; }
.bluebar:after { content: " "; display: inline-block; width: 61px; height: 30px; background: url(bluebrick-arrow.png) center no-repeat; position: absolute; left: 50%; margin-left: -30.5px; bottom: -30px; }
.bluebar .viewtimetable a { color: #fff; }
.bluebar .viewtimetable a:hover { color: #9a182e; }

#fares { color: #fff; padding: 180px 0 33px; box-sizing: border-box; }
#fares .faresmain { color: #fff; display: block;  text-align: center; font-size: 127.65%; font-weight: 600; padding-bottom: 18px; }
#fares .faressub { color: #b4a879; display: block; text-align: center; font-size: 111%; padding-bottom: 70px; }
#fares .container { max-width: 1081px; }
#fares .faressection { width: 67%; margin-right: 2%; float: left; padding: 48px 32px 28px 12px; position: relative; box-sizing: border-box; font-size: 93%; font-weight: 300; }
#fares .faressection .pointtitle { font-weight: 600; font-size: 108%; display: block; padding-bottom: 3px; color: #b4a879; }
#fares .faressection .pointtitle a { color:#b4a879; text-decoration:none; }
#fares .faressection .pointtitle a:hover { color:#8a1629; }
#fares .faressection .sectioncover { width: 100%; height: 100%; position: absolute; top: 0; left: 0; opacity: 0.52; background: url(darkbrick.jpg); }
#fares .accessinfo { width: 31%; float: left; position: relative; padding: 48px 35px 33px 38px; box-sizing: border-box; font-size: 93%; font-weight: 300; }
#fares .accessinfo .title { font-weight: 600; font-size: 108%; display: block; padding-bottom: 3px; }
#fares .accessinfo p { z-index: 1; position: relative; }
#fares .accessinfo .sectioncover { width: 100%; height: 100%; position: absolute; top: 0; left: 0; opacity: 0.85; background: url(goldbrick.jpg); }
#fares a { color:#fff; }
#fares .accessinfo a { text-decoration:underline; }
#fares a:hover { color: #2a2f50; }
#fares a.btn { text-decoration:none; color:#fff; }
#fares .leftfares, #fares .rightfares { z-index: 1; position: relative; }
#fares .leftfares { float: left; width: 46%; margin-right: 6%; }
#fares .rightfares { float: left; width: 48%; }
#fares .farepoint { padding: 0 0 0 24px; background: url(bulletsquare.png) 0 5px no-repeat; margin: 0 0 35px; line-height: 1.8em; }
#fares .farepoint strong { font-weight: 600; }
#fares .farepoint hr { margin-top: 32px; }
#fares .faredetail { padding: 0 0 0 24px; margin: 0 0 35px; }
#fares a.btn:hover { color: #2a2f50; }
#fares a.btn.rbtn:hover { color: #8a1629; }
#fares .farepoint ul { padding: 0 0 0 16px; }
#fares .faredetail .viewtimetable .icon.viewtimetableicon { margin: 0 8px 0 0; }
#fares .faredetail .viewtimetable { margin: 0 0 50px; display: block; }
#fares .faredetail .rbtn { float: right; }
#fares .faredetail .btn { padding: 10px 30px; font-size: 108%; font-weight: 400; }
#fares .faredetail .viewtimetable:hover { color:#9a182e }

hr { width: 100%; height: 1px; background: #141623; border: 0; }

.interactivemap { /*background: url(map-placeholder.jpg) center no-repeat; background-size: cover;*/ }

.newsevents { color: #fff; padding: 82px 0 77px; }
.eventnewsitems { border-bottom: 1px dashed #fff; padding: 25px 0 28px; }
.eventnewsitems img { border: 6px solid #fff; float: right; margin-left: 5px; }
.latestnewshalf { width: 44%; margin-right: 12%; float: left; }
.latesteventshalf { width: 44%; float: left; }
.newsevents .title { color: #b4a879; font-weight: 600; font-size: 193%; line-height: 1.2em; padding-bottom: 16px; }
.newsevents .subheading { font-weight: 300; border-bottom: 1px dashed #fff; padding-bottom: 37px; }
.eventnewsitems p { width: 68%; padding-bottom: 22px; }
.eventnewsitems .btn { padding: 10px 30.95px; border:#fff 1px solid; }
.newsevents .newseventsbtn.btn { margin-top: 44px; border:#fff 1px solid; }

.goldfooter { background: #b4a879; padding:34px 0 7px; }
.goldfooter p { color: #fff; }
.goldfooter .title { font-weight: 600; font-size: 193.5%; line-height: 1.2em; padding-bottom: 5px; }
.goldfooter a.btn { float:right; margin-top:-69px; border:#fff 1px solid; }
.newsletterhalf { width: 48%; margin-right: 8%; float: left; position: relative; }
.socialhalf { width: 44%; float: left; position: relative; }
.newsletterhalf .btn { position: absolute; top: 9px; right: 0; padding: 10px 33px; }
.socialhalf .icon.social { position: absolute; top: 6px; right: 0; }

.redfooter { background: #9a182e; color: #fff; padding: 36px 0 42px; }
.redfooter a { color: #fff; }
.redfooter a:hover { color: #c4c5a5; }
.redfooter .contacthalf { width: 61%; margin-right: 6%; float: left; padding-top:16px; }
.redfooter .linkhalf { width: 33%; float: left; font-size: 86%; }
.redfooter .linkhalf a { display: block; padding: 6px 0; }
.redfooter .contacthalf .title { font-weight: 600; font-size: 114.5%; padding-bottom: 7px; }
.redfooter .contacthalf strong { font-weight: 600; padding: 8px 0; display: inline-block; }
.redfooter .socialicons { padding-top:23px; }
.redfooter .socialicons a { margin-right:19px; }

.bluefooter { background: #1d2032; padding:33px 0 26px; }
.bluefooter .infohalf { color: #908764; float: left; width: 65%; margin-right: 2%; }
.bluefooter .infohalf a { color: #908764; }
.bluefooter .languagehalf { float: left; width: 33%; font-size: 86%; }
.bluefooter .languagehalf a { display: block; color: #fff; padding-bottom: 10px; }
.bluefooter .languagehalf a .icon { margin-right: 10px; }
.bluefooter .languagehalf a:hover { color: #c4c5a5; }

.fixednav { position: fixed; top: 125px; left: 31px; z-index: 10; color: #828282; display: block; }
.fixednav .navinside { position: relative; border-radius: 30px; background: #fff; box-shadow: 1px 0 1px #e4e4e4; }
.fixednav ul { list-style-type: none; padding: 0; margin: 0; overflow: hidden; }
.fixednav .navinside ul .icon { z-index: 5; position: relative; }
.fixednav .navinside ul .icon.navcircle { margin: 9px 16px 9px 17px; z-index: 5; position: relative; }
.fixednav .navinside ul .icon.navhome { margin: 18px 15px 11px; }
.fixednav .navinside .icon.navanchor { margin: 9px 16px 11px; }
.fixednav .navanchorholder { border-top: 1px solid #e9e9e9; margin-top: 2px; }
.fixednav .navlabel { position: absolute; background: #fff; padding: 9px 12px 8px 55px; line-height: 1em; font-size: 86%; border-radius: 30px; z-index: -1; cursor: default; white-space: nowrap; overflow: hidden; transition: all 0.2s linear; -o-transition: all 0.2s linear; -moz-transition: all 0.2s linear; -webkit-transition: all 0.2s linear; }
.fixednav .navlabel span { display:block; position:relative; transition: all 0.2s linear; -o-transition: all 0.2s linear; -moz-transition: all 0.2s linear; -webkit-transition: all 0.2s linear; }
.fixednav .navlabel.nav1 { top: 12px; }
.fixednav .navlabel.nav2 { top: 46px; }
.fixednav .navlabel.nav3 { top: 78px; }
.fixednav .navlabel.nav4 { top: 111px; }
.fixednav .navlabel.nav5 { top: 145px; }

.fixedpanelholder { width:100%; overflow:hidden; }
.fixedpanel { position:fixed; left:100%; margin-top:0; margin-left:-82px; width:323px; top:70%; background:url(darkredbrick.jpg); font-size:1.2em; z-index: 15; transition:left 0.5s linear; -webkit-transition: left 0.5s linear; -moz-transition:left 0.5s linear; -o-transition:left 0.5s linear; border-radius: 11px; margin-top:-160px; }
.fixedpanel.homecenter { position:absolute; left:50%; top:70%; margin-left:-161.5px; margin-top:-160px; transition: all 0.2s linear; -o-transition: all 0.2s linear; -moz-transition: all 0.2s linear; -webkit-transition: all 0.4s linear; }
.fixedpanel a { color:#fff; text-decoration:none; display:block; border-bottom:1px dashed #710d1e; background:url(redbrick.jpg); clear:both; position:relative; left:0px; transition:all 0.2s linear; -webkit-transition: all 0.2s linear; -moz-transition:all 0.2s linear; -o-transition:all 0.2s linear; }
.fixedpanel a:first-child { border-radius:10px 0 0 0; border:0; }
.fixedpanel a:last-child  { border-radius:0 0 10px 10px; border-bottom:0; background: url(darkredbrick.jpg); }
.fixedpanel a:hover { left:-241px; }
.fixedpanel.homecenter a:hover { left:0; }
.fixedpanel .iconsection { background: url(darkredbrick.jpg); float:left; padding:14px 21px 13px 20px; margin:0; border-bottom: 1px dashed #710d1e; }
.fixedpanel a:first-child .iconsection { border: 0; }
.fixedpanel .iconsection.booknow { background-image:url(icon_booknow.png); }
.fixedpanel .iconsection.facilities { background-image:url(icon_facilities.png); }
.fixedpanel .iconsection.selfcatering { background-image:url(icon_selfcatering.png); }
.fixedpanel .iconsection.holidayhomes { background-image:url(icon_holidayhomes.png); }
.fixedpanel .textsection { padding: 15px 16px 15px 22px; display: block; overflow: hidden; font-weight: 300; font-size: 95.3%; }
.fixedpanel .booking { background: url(bluebrick.jpg); margin-bottom:-2px; }
.fixedpanel .booking .iconsection { background: url(darkbluebrick.jpg); padding: 20px 14px 16px 14px; border-top-left-radius: 10px; margin: 0; }
.fixedpanel .booking .textsection { font-size: 1.43em; padding: 28px 15px 25px 22px; font-weight: bold; }
.fixedpanel .arrow, .fixedpanel .goldarrow { float: right; }
.fixedpanel a:last-child .iconsection { border-radius: 0 0 0 10px; border-bottom: 0; }
.fixedpanel a:last-child .textsection { background: url(redbrick.jpg); padding-bottom: 14px; }
.fixedpanel.homecenter a:last-child .textsection { border-bottom-right-radius: 10px; }
.fixedpanel a:last-child .textsection { border-bottom-left-radius: 10px; }
.fixedpanel.homecenter a:first-child { border-top-right-radius: 10px; }
.fixedpanelholder.homemobile { display: none; }

.expandfares_head .arrow, .expandfares_head .goldarrow { display: none; }
.expandfares_head.nodesktop { display: none; }
.newsevents .newsexpandhead .icon { display: none; }
.expanderholder { display: none; }
.languagehalf .newsexpandhead { display: none; }

.internalpages .fixedpanel { top:293px; }
.internalpagesmobile .fixedpanel .textsection { text-align: left; }
.internalpagesmobile .fixedpanel { display: none; position: absolute; }
.gallery .emptygallery#gallery .galleryText { font-size: 100%; }

.pageintro h1 { padding-bottom: 6px; }
.pageintro h1.regularpadding { padding-bottom: 25px; }
.pageintro h2 { padding-bottom:26px; }
.pageintro h2.altpadding { padding-bottom:54px }
.pageintro h3 { margin-top:9px; }
.pageintro { padding: 73px 0 47px }
.pageintro ul { list-style:none; margin:0; padding:0 0 35px; }
.pageintro ul li { background:url(li_dot.png) 0px 6px no-repeat; padding:0 0 27px 30px; line-height:1.7em; }
.leafletimg { margin-bottom: -20px; float: right; }
.accomodationlistings { background: #ebebeb; padding: 40px 0 34px; }
.accomodationlistings .accomodationitem { background: #fff; border-radius: 2px; padding: 25px; width: 48%; margin-right: 2%; margin-bottom: 2%; float: left; box-sizing: border-box; }
.accomodationlistings .accomodationitem .accomodationimg { margin-left: 2%; width: 48%; float: right; }
.accomodationlistings .accomodationitem .accomodationdetail { width: 48%; float: left; }
.accomodationlistings .accomodationitem .accomodationdetail .accomodationname { font-weight: bold; font-size: 140%; line-height: 1em; padding-bottom: 8px; }
.accomodationlistings .accomodationitem .accomodationdetail .btn { margin-right: 9px; }
.accomodationlistings .accomodationitem .accomodationdetail p { padding-bottom: 10px; }
.accomodationfooter { padding: 48px 0 100px; line-height: 1.7em; }
.mobileleaflet { display: none; }

.eventborder { width: 100%; background: url(brickdivide.png); height: 26px; border-bottom: 1px solid #ebebeb; margin-bottom: 40px; }
.eventsholder { padding: 10px 0 60px; }
.eventitem .btn { margin-right: 19px; }
.eventdate { font-weight: bold; color: #9a182e; padding-bottom: 23px; }
.eventname { /*font-size: 172%; line-height: 1.1em; */ font-size: 193%; line-height: 1.15em; padding-bottom: 20px; font-weight: bold; }
.eventitem { padding: /*0 0 40px*/ 0 0 60px; text-align: left; }
.eventitem .eventimg { width: 15%; margin-right: 2%; float: left; position: relative; }
.eventitem .eventdetails { width: 83%; float: left; }
.eventitem .eventdetails p { padding-bottom: 20px; }
.revealevents { text-align: center; background: #9a182e; color: #fff; border-radius: 30px; padding: 13px 0 12px; cursor: pointer; border: 1px solid #fff; transition: all 0.2s linear; -o-transition: all 0.2s linear; -moz-transition: all 0.2s linear; -webkit-transition: all 0.2s linear; }
.revealevents:hover { color: #9a182e; border-color: #9a182e; background: #fff; }

.timetablesection { background: #ebebeb; padding: 40px 0 36px; }
.belowdivide { padding:33px 0 85px; }
.timetablekey { padding: 0 0 55px; line-height: 1.7em; }
.timetablekey .keyleft { width: 71%; margin-right: 4%; float: left; }
.timetablekey .keyright { width: 25%; float: left; }
.timetablekey .keyletter { margin-right: 28px; display: inline-block; width: 20px; }
.timetablekey .keydescription { display: inline-block; font-size: 86%; }
.timetableinstructions { margin: 0 0 0 50px; color: #9a182e; }
.keyitem { padding-bottom: 15px; }
.timetablekey .keyleft { font-weight: bold; }
.timetablekey .keyright { font-weight: 600; }
.keycolour { width: 15px; height: 4px; display: inline-block; vertical-align: middle; margin-right: 8px; }
.keycolour.red { background: #bb0433; }
.keycolour.green { background: #568a36; }
.keycolour.yellow { background: #d1a200; }
.keycolour.blue { background: #5370ab; }
.keycolour.brown { background: #6b4226; }
.keycolour.pink { background: #e594c0; }
.keycolour.light-blue { background: #9BC2E6 }

.pleasenote { padding:0px; font-size: 86%; line-height: 1.8em; }

.cookienotice { background:#fff; text-align:center; padding:7px 10px; width:100%; left:0px; top:0px; z-index:1003; box-sizing:border-box; }

table.farestable { width: 100%; border-collapse: collapse; margin: 10px 0 27px; }
table.farestable th { color:#fff; background: #2a2f50; font-weight: bold; padding: 16px 17px 14px; border-right: 1px solid #fff; width: 17%; text-align: left; }
table.farestable th:first-child { width: 32%; border-radius:3px 0 0 3px;  }
table.farestable tr th:last-child, table tr td:last-child { border-right: 0; border-top-right-radius: 2px; border-bottom-right-radius: 2px; }
table.farestable tr th:first-child, table tr td:first-child { border-top-left-radius: 2px; border-bottom-left-radius: 2px; }
table.farestable tr { border-bottom: 10px solid #fff; }
table.farestable tbody tr:last-child { border-bottom: 0; }
table.farestable td { padding: 16px 17px 12px; border-right: 1px solid #fff; background: #f2f2f2; }

.additionalfares { padding: 42px 0 18px; }
.additionalfares div { padding-bottom: 26px; line-height: 1.6em; }
.bookonlinebtn { margin-right: 25px; }
.timetableshr { border: 0; background: url(timetablehr.png); height: 1px; margin:  30px 0 0px; }
.timetableshr.smallmargins { border: 0; background: url(timetablehr.png); height: 1px; margin:  20px 0; }
.extrapadding { padding-bottom: 45px; }

.timetablepanel { background: #fff; border-radius: 2px; padding: 41px 42px 31px 53px; }
#faresinfo .timetablepanel { padding: 41px 21px 31px 21px; }
.timetablepanel h3 { padding-bottom:3px; }
#faresinfo .timetablepanel h3 { padding-bottom:19px; }
.timetablepanel h4 { font-size: 1.858em; line-height: 1.3em; padding-bottom:30px; }
.timetablepanel .departuresleft { width: 49%; margin-right: 2%; float: left; padding-right: 10px; box-sizing: border-box; padding-top:24px; }
.timetablepanel .timetableright { width: 49%; float: left; }
.timetablepanel .departureslist { width: 45%; margin-right: 5%; float: left; }
.timetablepanel .departureslist .departureitem, .timetablepanel .departuresleft td { background: #f4f4f4; font-weight: 600; text-transform: uppercase; padding: 6px 20px; border-radius: 2px; margin-bottom: 7px; }
.timetablepanel .departuresleft table { border-collapse: separate; border-spacing:23px 7px; margin-left:-23px; width:100%; }
.timetablepanel .departuresleft table th { padding-bottom:16px; }
.timetablepanel .departureslist strong { padding-bottom: 18px; display: block; }
.ui-datepicker-title { border-radius: 2px; background: #9a182e; color: #fff; font-weight: 600; padding: 13px 16px; text-align: center; font-size: 129%; }
.ui-datepicker-title a, .ui-datepicker-title a:hover { color:#fff; }
.ui-datepicker-prev, .ui-datepicker-next { overflow: hidden; background-image: url(nr_assets.png); text-indent: 100%; position: relative; vertical-align: middle; cursor: pointer; width: 13px; height: 19px; margin-top:13px; }
.ui-datepicker-prev { float: left; background-position:-17px -81px; margin-left:16px; }
.ui-datepicker-next { float: right; background-position:-32px -81px; margin-right:16px; }
table.ui-datepicker-calendar { width: 100%; border-collapse: collapse; border: 1px solid #ebebeb; }
table.ui-datepicker-calendar thead th { text-align: center; background: #f4f4f4; border-right: 1px solid #fff; padding: 24px 0 11px; width: 14.2855%; font-weight: 600; }
table.ui-datepicker-calendar thead th:last-child { border: 0 }
table.ui-datepicker-calendar tbody tr { border-top: 1px solid #fff; }
table.ui-datepicker-calendar tbody tr td { border-right: 1px solid #fff; color: #9e9e9e; font-weight: 600; text-align: right; }
table.ui-datepicker-calendar tbody tr td a { display:block; padding: 9px 10px 26px; color:#9e9e9e; cursor: pointer; }
table.ui-datepicker-calendar tbody tr td.red a { border-bottom: 4px solid #bb0433; display: inline-block; padding-bottom: 9px; }
table.ui-datepicker-calendar tbody tr td.red, table.ui-datepicker-calendar tbody tr td.green, table.ui-datepicker-calendar tbody tr td.yellow { cursor: pointer; }
.ui-datepicker-calendarpanel .ui-datepicker-calendarright table.ui-datepicker-calendar tbody tr td.red.active { background: #9a182e; }
table.ui-datepicker-calendar tbody tr td.red.active span { border-color: #fff; color: #fff; }
table.ui-datepicker-calendar tbody tr td.green span { border-bottom: 4px solid #568a36; display: inline-block; padding-bottom: 9px; }
.ui-datepicker-calendarpanel .ui-datepicker-calendarright table.ui-datepicker-calendar tbody tr td.green.active { background: #568a36; }
table.ui-datepicker-calendar tbody tr td.green.active span { border-color: #fff; color: #fff; }
table.ui-datepicker-calendar tbody tr td.yellow span { border-bottom: 4px solid #d1a200; display: inline-block; padding-bottom: 9px; }
.ui-datepicker-calendarpanel .ui-datepicker-calendarright table.ui-datepicker-calendar tbody tr td.yellow.active { background: #d1a200; }
table.ui-datepicker-calendar tbody tr td.yellow.active span { border-color: #fff; color: #fff; }
table.ui-datepicker-calendar tbody tr td:last-child { border-right: 1px solid #ebebeb; }
table.ui-datepicker-calendar tbody tr td:first-child { border-left: 1px solid #ebebeb; }
table.ui-datepicker-calendar tbody tr:nth-child(odd) td:nth-child(even) { background: #f9f9f9; }
table.ui-datepicker-calendar tbody tr:nth-child(even) td:nth-child(odd) { background: #f9f9f9; }
table.ui-datepicker-calendar span.event { font-size: 0px; text-indent: 100%; display: block; margin-left: auto; margin-right: 0px; height: 3px; width: 15px; overflow: hidden; padding: 0; margin-top:7px; }
.ui-datepicker-calendar td a.ui-state-active { background:#9a182e; color:#fff; }


/*.timetablepanel .departuresleft { display: none; }*/
.timetablepanel .departuresleft.red h4 { color: #9a182e; }
.timetablepanel .departuresleft.yellow h4 { color: #d1a200; }
.timetablepanel .departuresleft.green h4 { color: #568a36; }
.timetablepanel .departuresleft.active { display: block; }

.planbackground { background: url(planback.jpg) center no-repeat; background-size: cover; }
.planitem { width: 31%; float: left; margin: 0 2% 2% 0; }
.planitem.wide { width:48%; }
.planitem.wide2 { width: 64%; }
.planitem .planname { background: url(redbrick.jpg); border-top-left-radius: 6px; border-top-right-radius: 6px; color: #fff; padding: 27px 10px 25px; text-align: center; font-weight: bold; font-size: 172%; line-height: 1.1em; display: block; }
.planitem .plandesc { background: url(greyback.jpg); border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; text-align: center; color: #272d4a; padding: 30px 25px 25px; font-weight: 300; }
.plancontent img { width:100%; }
.planbackground .escholder { padding: 0; }
.planname .icon.arrow, .planitem .planname .icon.goldarrow, .stayheader .icon.arrow { display: none; }
.equalfares { display: inline-block; }

.escholder.imagesection { padding: 8px 0 38px; }
.awardlogos { padding: 30px 0 145px; }
.awardlogos .awarditem { margin: 10px 28px; display: inline-block; }
.awardlogos .awarditem.first { margin-left: 0; }

#sck-form label, #subForm label, .form-container label { font-weight: 600; display: block; margin-bottom: 10px; }
#sck-form input[type="text"], #subForm input[type="text"], #subForm input[type="email"], #sck-form input[type="text"], #sck-form select, .form-container input[type="text"], .form-container input[type="email"], .postcode { border: 1px solid #90162b; border-radius: 2px; padding:11px 5px 12px; background:#f7f7f7; box-sizing: border-box; }
#sck-form textarea, #subForm textarea, #sck-form select { font-family: 'Raleway',Arial,Helvetica,sans-serif; resize: none; border: 1px solid #90162b; border-radius: 2px; padding: 11px 5px 12px; background:#f7f7f7; box-sizing: border-box; }
#sck-form input[type="text"].field, #sck-form textarea.field, #subForm input[type="text"].field, #subForm textarea.field, #sck-form input.field, #subForm input.field, .form-container input.input-text { width: 100%; margin-bottom: 8px; }
.form-container .form-singlecheckbox label { display:inline;  }
#sck-form .sck-note-p, #subForm .sck-note-p { color: #90162b; font-weight: 300; display: block; margin-bottom: 5px; }
.form-container .form-singlecheckbox, .captcha-field { padding:0 0 20px; }
.formselect { width: 80px; max-width: 100%; }

.expand_head { font-size: 1.3em; color: #fff; background: #2a2f50; font-weight: 600; margin-bottom: 20px; padding: 16px; cursor: pointer; }
.expand_head .arrow { float: right; margin-top: 2px; transition: all 0.2s linear; -o-transition: all 0.2s linear; -webkit-transition: all 0.2s linear; -moz-transition: all 0.2s linear; }
.expand_head.active .arrow { transform: rotate(90deg); }
.expand_body { margin-bottom: 12px; }
.ticketoption { background: #f5f5f5; padding: 47px 43px 33px; margin-bottom: 39px; border: 1px solid #d2d2d2; border-radius: 5px; box-sizing: border-box; }
.ticketoption .title { font-size: 1.43em; font-weight: bold; padding-bottom: 30px; }
.ticketoption .title .btn { font-size: 14px; font-weight: 400; }
.ticketoption .ticketpricing { padding: 16px 26px; background: #fcfcfc; margin: 10px 0; line-height: 1.7em; border-radius: 5px; border: 1px solid #d2d2d2; box-sizing: border-box; }
.expand_head.extramargin { margin-bottom: 40px; }
.ticketoption .ticketcontent .title span { width: 68%; display: inline-block; line-height: 1.4em; }

.ticketimg { width: 20%; margin-right: 4%; float: left; }
.ticketimg img { border-radius: 5px; border: 1px solid #d2d2d2; }
.ticketcontent { float: left; width: 76%; }

.eventthumb { max-width:91px; }

.iconCheckSection { display:none; }
.map_canvas { margin-bottom:20px; }

.photogallery { margin:0; padding:0; list-style:none; position:relative;z-index:0}
.photogallery li, .pageintro ul.photogallery li { float:left; width:14.6%; height:auto; margin:0 2% 30px 0%; padding:0; background:transparent; font-size:1.144em; line-height:1.3em; border:0; }
.photogallery li:nth-child(6n+1) { clear:left; }
.photogallery li a { color:#000; }
.photogallery .galleryImage { padding-bottom:100%; height:0px; overflow:hidden; position:relative; margin-bottom:20px; background-position:center; background-size:cover; }
.photogallery .galleryImage img { position:absolute; min-width:100%; min-height:100%; height:100%; }

#photogallery .galleryItem { width:100%!important; text-align:center; }
#photogallery { height:auto!important; min-height:0px!important; }
#photogallery .activeItem { position:relative!important; }
#photogalleryitems .itemButtons { position:static; margin-top:0; }
.photogalleryholder .leftButton, .photogalleryholder .rightButton { width:14px; height:25px!important; position:absolute; margin-top:18px; cursor:pointer; }
.photogalleryholder .leftButton { background:url(nr_assets.png) -64px -77px no-repeat; left:20px; }
.photogalleryholder .rightButton { background:url(nr_assets.png) -48px -77px no-repeat; right:20px; }
.gallerymessage { border:#e9e9e9 8px solid; background:#f5f5f5; padding:15px 40px; text-align:center; margin-bottom:20px; }
#photogalleryitems .itemButtons .itemButton { float:left; width:14.6%; height:auto; margin:0 2% 2% 0%; font-size:1.144em; line-height:1.3em; border:0; }
#photogalleryitems .itemButtons .itemButton .image { display:block; padding-bottom:100%; height:0px; overflow:hidden; position:relative; background-position:center; background-size:cover; }
.photogalleryholder .esc { margin-right:-2.4%; }

.postcode { margin:5px 10px; padding:11px 10px 12px; outline:0; }
.desc { margin-bottom:20px; line-height:1.7em; }

.months { border-bottom:#d9d9d9 1px solid; clear:both; margin:10px 0 50px; }
.months ul { margin:0; padding:0; list-style:none; display:block; border-bottom:#d9d9d9 1px solid; }
.months ul li { margin:0; padding:0; float:left; margin-right:3.6%; list-style:none; background:transparent; }
.months ul li.last { margin-right:0; }
.months ul li a, .months ul li span { display:block; color:#282828; padding:4px 0 13px; text-align:center; text-decoration:none; font-weight:bold; }
.months ul li a:hover, .months ul li span:hover { color:#9a182e; }
.months ul li.active a, .months ul li.active span { border-bottom:#9a182e 2px solid; margin-bottom:-2px; color:#9a182e; }

#introduction, #therailway, #thejourney, #fares, .newsevents { background-attachment:fixed; }
.mobileview #introduction, .mobileview #therailway, .mobileview #thejourney, .mobileview #fares, .mobileview .newsevents { background-attachment:scroll; }

.fadeinout { position:relative; }

.rightimages { float:right; margin:0 0 20px 10%; max-width:245px; }
.flagsep { margin-right:10px; }

.interactivemap { position:relative; text-align:center; background:#d8e69f; }
#train, #train-portrait { position:absolute; width:1.45833%; left: 6.5%; top: 54%; }
#svgoverlay, #svgoverlay-portrait { position:absolute; left:0; top:0; width:100%; height:100%; }
.interactivemap img.backmap { width:100%; display:block; }
/*.interactivemap #interactivemapportrait img.backmap { height:100%; width:auto; }*/
#interactivemap, #interactivemapportrait { top:0px; width:100%; position:relative; }

.goldline { background:#b4a187; border:0; height:1px; margin-bottom:25px; }
.faq { border-bottom:#eaeaea 1px solid; margin-bottom:25px; }
.pageintro h3.faqtitle { margin-top: 39px; padding-bottom:19px; }
.faqform { padding:30px 0 55px; }
.faqform .formsection { float:left; padding-right:30px; }
.faqform strong { display:block; padding-bottom:15px; }
#sck-form.faqform select, .faqform #filter_keyword { width:289px; box-sizing:border-box; padding:11px 15px 12px; max-width:100%; }
#sck-form select { background:#f7f7f7 url(down_arrow.png) 97% center no-repeat; -webkit-appearance:none; -moz-appearance:none; -ms-appearance:none; }

.dotpointholder { position:absolute; border-radius:50%; transition:all 0.2s linear; -o-transition: all 0.2s linear; -webkit-transition: all 0.2s linear; -moz-transition: all 0.2s linear; box-shadow:#666 4px 4px 4px; }
.dotpoint { border-radius:50%; border:#fff 2px solid; overflow:hidden;  }
.dotpointcontent { opacity:0; width:0px; height:0px; transition:all 0.2s linear; -o-transition: all 0.2s linear; -webkit-transition: all 0.2s linear; -moz-transition: all 0.2s linear; box-shadow:#000 3px 3px 3px; }
.dotpointholder .dotpointcontent { opacity:1; width:48px; height:48px; background:rgba(39,44,74,0.9); line-height:48px; vertical-align:middle; cursor:pointer; }
.dotpointholder .poptitle { position:absolute; background:#2a2f50; top:107px; text-align:center; opacity:0; right:-17px; width:292px; box-sizing:border-box; transition:all 0.2s linear; -o-transition:all 0.2s linear; -webkit-transition:all 0.2s linear; -moz-transition:all 0.2s linear; line-height:1.3em; box-shadow:#666 4px 4px 4px; border-radius:4px; pointer-events: none; }
.dotpointholder .poptitle .p { padding:20px; overflow:hidden; display:block; text-align:left; background:#fff; border-radius:0 5px 5px 0; }
.dotpointholder .poptitle a { background:#2a2f50 url(findoutmore-arrow.png) 96% center no-repeat; padding:10px 20px; color:#fff; display:block; text-align:left; overflow:hidden; }
.dotpointholder .poptitle img { float:left; border:#f1f1f1 9px solid; border-radius:4px 0px 4px 4px; }
.dotpointholder .poptitle .poppoint { content:" "; background:url(popupspeechtriangle.png) 80% 100% no-repeat; width:100%; height:63px; margin-top:-63px; right:0px; position:absolute; display:block; }
.dotpointholder:hover, .jsenabled .dotpointholder.active { z-index:5; }
.dotpointholder:hover .dotpointcontent { background:rgba(194,157,80,0.9); }
.dotpointholder:hover .poptitle { opacity:1; pointer-events: auto;}
.jsenabled .dotpointholder:hover .poptitle { opacity:0; }
.jsenabled .dotpointholder.active .poptitle, .jsenabled .dotpointholder.active:hover .poptitle { opacity:1; }
.dotpointholder.popupward .poptitle { top:auto; bottom:107px; }
.dotpointholder.popupward .poptitle .poppoint { top:100%; margin-top:0px; background-image:url(popupspeechtriangle-upward.png); background-position:78% 0px; }
.dotpointholder.popright .poptitle { right:auto; left:-44px;}
.dotpointholder.popright .poptitle .poppoint { background-position:10% 100%; }
.dotpointholder.popupward.popright .poptitle .poppoint { background-position:10% 0%; }
.mapkey { bottom:20px; width:90%; left:5%; position:fixed; text-align:center; }
.mapkey .keyholder { display:inline-block; border-bottom:#9eb447 5px solid; border-radius:4px; padding:8px 24px 6px; background: #a3ba52; background: -moz-linear-gradient(top,  #a3ba52 0%, #84aa45 100%); background: -webkit-linear-gradient(top,  #a3ba52 0%,#84aa45 100%); background: linear-gradient(to bottom,  #a3ba52 0%,#84aa45 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a3ba52', endColorstr='#84aa45',GradientType=0 ); color:#fff; }
.mapkey .keyitem { margin:8px; display:inline-block; font-weight:bold; color:#fff; padding:0; }
.mapkey .keyitem img { margin-right:5px; }
.forceiconshow .dotpointholder { transform:scale(1)!important; }
.forceiconshow #interactivemap, .forceiconshow #interactivemapportrait { position:static!important; }

#interactivemapportrait { display:none; }

.linkitem { margin-bottom:40px; }
.fth:nth-child(5n+1) { clear:both; }

.homeawards { position: absolute; bottom: 40px; width: 100%; left: 0; padding: 0 40px; box-sizing: border-box; }
.homeawards .leftawards { float: left; text-align: left; }
.homeawards .leftawards img { margin-right: 39px; }
.homeawards .rightawards { float: right; text-align: right; }
.homeawards .rightawards img { margin-left: 39px; }

.eventdate .date { display:inline-block; margin-right:15px; }
.subnav#smallernav, .subnav#smallernav ul li a { background:transparent; }
.container .subnav { float:left; margin-right:20px; /*width: 28.4%;*/ width: 25%; margin-right: 5.5%; text-align:left; border-radius:5px; }
.container .subnav .title { background:#262b49; color:#fff; border-radius:5px 5px 0 0; font-weight:bold; font-size:120%; padding:24px 28px; }
.container .subnav .title .icon { width:18px; height:10px; float:right; background-position:-278px -2px; display:none; }
.container .subnav .title a { color:#fff; display:inline-block; }
.container .subnav ul { list-style:none; margin:0; padding:0; background:#9a182e url(small_nav_back.png); }
.container .subnav ul li { display:block; padding:0; }
.container .subnav ul li a { display:block; padding:18px 28px 15px; border-bottom:#a22239 1px solid; border-top:#790e22 1px solid; }
.container .subnav ul li a:hover { background:rgba(129,17,37,0.8)!important; }
.container .subnav ul li:last-child a { border-bottom:0; border-radius:0 0 5px 5px; }

.btn.btnspacing { line-height: 1em; padding: 11px 25px; margin: 23px 0 60px; }

.timetabletabs { background:#2a2f50; }
.timetabletabs .lefttab { width:50%; float:left; }
.timetabletabs .container { display:block; max-width:523px; margin-left:auto; margin-right:0px; padding:18px 0; font-weight:bold; text-align:center; font-size:180%; line-height:1em; color:#fff; position:relative; }
.timetabletabs .righttab { width:50%; float:left; }
.timetabletabs .righttab .container { margin-left:0px; margin-right:auto; }
.timetabletabs .activetab { background:#9a182e; }
.timetabletabs .activetab span:after { content:" "; position:absolute; left:50%; top:100%; width: 0; height: 0; border-style: solid; border-width: 17px 18px 0 18px; border-color: #9a182e transparent transparent transparent; margin-left:-18px; }

iframe#tripadvisorframe { float:right; margin-left:10px; border:0; width:130px; margin-top:-17px; }

#subForm input[type="text"], #subForm input[type="email"] { width:100%; box-sizing:border-box; }

a.pdfdownload { border:#9a182e 1px solid; color:#fff; display:inline-block; font-size:1.1em; font-weight:normal; margin:8px 0; width:71%; border-radius:2px; padding:12px 10px 12px 20px; color:#fff; background: #3b45b6; background: -moz-linear-gradient(left,  #ba384e 0%, #2e379e 100%); background: -webkit-linear-gradient(left,  #ba384e 0%,#9a182e 100%); background: linear-gradient(to right,  #ba384e 0%,#9a182e 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ba384e', endColorstr='#9a182e',GradientType=1 ); text-decoration:none; box-sizing:border-box; }
.pdfdownload:before { content:" "; float:right; margin:-2px 0 -2px 10px; width:20px; height:27px; background:url(pdf_download.png) top left no-repeat; }

.mobile_expand_head {  }

.filterspanel { border-radius: 2px; background: #fff; margin-bottom: 20px; padding: 15px 20px; }
.inlineselect { display: inline-block; margin: 0 10px; }

.tariffheader { background:url(../images/tariff-headback.jpg); padding: 25px 30px 20px; border-bottom: 9px solid #9a182e; }
.pageintro .tariffheader h3 { padding: 0; margin: 0; color: #d2c9a3; font-size: 2em; }
.tariffheader .propertyname { color: #fff; font-weight: bold; font-size: 129%; padding-bottom: 8px; }
.tariffpanel { border: 1px solid #f1f1f1; border-radius: 2px; background: #f6f6f6; }
.tariffinfo { padding: 35px 50px 10px 28px; }
.tariffnote { font-size: 86%; }
p.nopadding { padding: 0 0 7px; }
.selfcateringleft ul li { background: url(li_dot.png) 0px 7px no-repeat; padding: 0 0 6px 22px; }
.selfcateringleft .escholder { padding-bottom: 35px; }
.selfcateringleft .escholder .half img { border-radius: 2px; }

.months { display: none; }
.container.eventstop.pageintro { padding-bottom:17px; }

.eventsborder { width: 100%; display: block; background: #dddddd; height: 1px; margin-bottom: 60px; }
.eventribbon { position: absolute; top:0; left: 0; width: 100%; }

.featuredevent { background: url(featuredevent-back.jpg); padding: 30px 0 28px; }
.featuredevent .container { max-width: 1123px; padding: 0; }
.featuredevent .eventitem { background: #fff; padding: 30px 40px 33px; border-radius: 1px; box-sizing: border-box; border: 1px solid #e6e6e6; position: relative; }
.featuredribbon { position: absolute; top:0; right: 0; }
.eventitem .container { padding: 0 40px 0; }

.eventfilters { padding: 35px 0 45px; }
.eventfilters input[type="date"], .eventfilters input[type="text"] { border: 1px solid #90162b; border-radius: 3px; padding: 8.5px 15px 9.5px; background: url(calendar-icon.png) 96% 8px no-repeat #f7f7f7; box-sizing: border-box; margin-right: 19px; font-family: 'Raleway',Arial,Helvetica,sans-serif; min-height: 40px; color: #2a2f50; }
.filtertitle { font-weight: bold; padding-bottom: 15px; }
.eventfilters input[type="text"]::-webkit-input-placeholder { color: #2a2f50; }
.eventfilters input[type="text"]:-moz-placeholder { color: #2a2f50; }
.eventfilters input[type="text"]::-moz-placeholder { color: #2a2f50; }
.eventfilters input[type="text"]:-ms-input-placeholder { color: #2a2f50; }

#introabout { background: #fff; text-align: center; padding: 92px 0 0; }
#introabout .btnrow { padding: 19px 0 101px; }
#introabout .h1 { color: #2a2f50; padding-bottom: 18px; }
#introabout h2 { padding-bottom: 34px; }

.awardsbar { position: relative; background: url(../images/awards-divide.jpg) center no-repeat; background-size: cover; }
.awardsbar .cover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0.92; background: #252946; }
.awardicons { position: relative; text-align: center; padding: 40px 10px 36px; }
.awardicons img, .awardicons #TA_certificateOfExcellence214 { margin: 10px 20px; }
.awardicons #TA_certificateOfExcellence214 { display: inline-block; vertical-align: middle; }
.awardicons #TA_certificateOfExcellence214 img { width: auto; padding: 0; max-width: 100%; }
#todotrds { background: url(featuredevent-back.jpg); padding:61px 0 52px; }
.trdpanelname { background: #9a182e; color: #fff; font-weight: bold; font-size: 172%; line-height: 1.4em; text-align: center; border-top-left-radius: 7px; border-top-right-radius: 7px; padding: 20px 10px 17px; display: block; }
.trdpaneldesc { background: #fff; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; text-align: center; padding: 33px 25px 26px; }
.trdpaneldesc p:first-child { padding-bottom:12px; }
.trdpaneldesc p:last-child { padding-bottom:38px; }
.trdpanelimg { height: 120px; overflow: hidden; position: relative; display: block; }
.trdpanelimg img { min-width: 100%; min-height: 100%; max-width: none; position: absolute; top: 0; right: 0px; }
#panelevents { display: none; }
.prevevent { width: 15px; height: 29px; background: url(prevevent.png) center no-repeat; position: absolute; top: 50%; margin-top: -14.5px; left: 20px; cursor: pointer; }
.nextevent { width: 15px; height: 29px; background: url(nextevent.png) center no-repeat; position: absolute; top: 50%; margin-top: -14.5px; right: 20px; cursor: pointer; }
a.trdpanelname { color: #fff; }

#scrollinfo { background: url(../images/scrollinfo-back.jpg) center no-repeat; background-size: cover; background-attachment: fixed; padding: 83px 0 87px; }
.boxesholder { margin: 0 -1%; padding: 39px 0 0; overflow: hidden; }
.infobox.blue .headerbox { background: url(darkbluebrick.jpg); border-top-left-radius: 6px; border-top-right-radius: 6px; }
.infobox.red .headerbox { background: url(redbrick.jpg); border-top-left-radius: 6px; border-top-right-radius: 6px; }
.infobox { width: 48%; position: relative; float: left; margin: 0 1%; }
.infobox .headerbox { text-align: center; color: #fff; position: relative; font-weight: bold; font-size: 236%; line-height:122%; padding: 63px 6% 54px; background-clip: padding-box;
-moz-background-clip: padding;
-webkit-background-clip: padding; }
.infobox .headerbox .boxtitle { max-width:295px; margin:0 auto; }
.infobox .headerbox img { position: absolute; top: -39px; left: 50%; margin-left: -44.5px; }
.infobox .boxcontent { background: #fff; text-align: center; padding: 0 33px 45px; border-bottom-right-radius: 6px; border-bottom-left-radius: 6px; }
.infobox .boxcontent img { position: relative; top: -28px; margin-bottom: 5px; }
.infobox .boxcontent .btn { margin-top: 8px; }
.prevbox { left: -76px; }
.nextbox { right: -76px; }
.nextbox, .prevbox { text-align: center; position: absolute; top:34.3%; color: #fff; margin: 84px 0 87px; font-size: 86%; cursor: pointer; }
.nextbox img, .prevbox img { margin-bottom: 6px; }
.boxeswide { position: relative; }

.plansection .sectiontitles .sectionlogo { float: left; margin-right: 20px; }
.plansection .sectiontitles .titles .main { font-weight: 600; font-size: 214.5%; line-height: 1em; padding-bottom: 13px; }
.plansection .sectiontitles .titles .sub { font-weight: 300; color: #90162b; font-size: 129%; line-height: 1.1em; }
.plansection .sectiontitles .titles { float: left; padding-top: 16px; }
.plansection .sectiontitles { padding-bottom: 20px; }
.plansection { padding: 40px 0 30px; }
.eventbox { width: 48%; float: left; margin: 0 2% 0 0; }
.planitem.wide2 .plandesc { text-align: left; padding-top: 20px; }
.eventbox .eventtype { text-transform: uppercase; color: #fff; font-weight: bold; font-size: 129%; background: #2a2f50; letter-spacing: 0.04em; padding: 10px; margin-bottom: 18px; text-align: center; }
#featuredevent, #nextevent { padding-bottom: 25px; }
.nexteventdesc a { font-weight: bold; }
.nexteventimg { float: left; width: 24%; margin-right: 6%; }
.besideeventimg { float: left; width: 70%; }
.nexteventtitle { font-weight: bold; font-size: 114.5%; padding-top: 3px; }
.nexteventdate { line-height: 1.65em; }
.nexteventdesc { line-height: 1.7em; padding: 23px 0 0px; }
.btn.widebtn { width: 99%; box-sizing: border-box; }
.sectiontitles + p { padding-bottom: 40px; }

.staypanel { display: table; margin: 22px 0 0; }
.staypanel .stayimg { background: url(bluebrick.jpg); display: table-cell; width: 26%; padding: 10px; box-sizing: border-box; position: relative; border-top-left-radius: 10px; border-bottom-left-radius: 10px; }
.staypanel .stayimg .imgsholder img.mainsideimg { border-radius: 2px; }
.staypanel .stayimg .imgsholder { position: relative; overflow: hidden; }
.staypanel .stayimg .imgsholder img.stayribbon { position: absolute; top: 0; left: 0; }
.staypanel .stayheader { background: url(redbrick.jpg); color: #fff; font-weight: bold; font-size: 172%; line-height: 1.2em; padding: 35px 50px 25px; margin-bottom: 25px; border-top-right-radius: 10px; display: block; }
.staypanel .staycontent { background: url(greyback.jpg); display: table-cell; vertical-align: top; width: 74%; border-bottom-right-radius: 10px; border-top-right-radius: 10px; padding-bottom: 20px; box-sizing: border-box; }
.staypanel .staycontent p, .staypanel .staycontent a { margin: 0 40px 0 50px; }
.staypanel .staycontent p { padding-bottom: 21px; }

.right_section.selfcateringright .iframecalendarholder { padding: 30px; box-sizing: border-box; }

.staypanel .staycontent a.stayheader { margin: 0 0 25px; }

.leftButton, .rightButton { background: #2a2f50 url(sc_arrow_left.png) center center no-repeat; width: 40px; height: 60px!important; position: absolute; top: 50%; margin-top: -30px; z-index: 11; cursor: pointer; }
.rightButton { right: 0px; background-image: url(sc_arrow_right.png); }

.selfcateringright .gallery { margin-bottom: 20px; }

.escholder.pagepanels { padding: 15px 0 0; }
.pagepanels h3 { font-size: 1.93em; font-weight: 600; padding: 0 0 22px; margin: 0; }
.itemimg img { width: 100%; margin: 0 0 36px; }
.pagepanels p { padding: 0 0 34px; }
.pagepanels a.btn { margin: 0 0 40px; }

img.backarrow { margin: -1px 8px 0 0; }

.panelsnobtns.pagepanels p { padding: 0 0 25px; }
.panelsnobtns.pagepanels .half { margin-bottom: 5px; }
.panelsnobtns.pagepanels .trd { margin-bottom: 25px; }
span.equalitemheading, span.equalitemheading3 { display: block; }
.escholder.thingstodolist { padding: 15px 0 0; }
.pageintro .pagepanels.panelsnobtns .trd ul li { padding-bottom: 1px; }

span.paging_page a, span.paging_selected { display: inline-block; font-size: 115%; font-weight: bold; background: #c7c7c7; color: #fff; cursor: pointer; padding: 12px 14px; min-width: 42px; text-align: center; box-sizing: border-box; border-radius: 5px; margin-right: 7px; margin-bottom: 7px; transition: all 0.2s linear; -o-transition: all 0.2s linear; -moz-transition: all 0.2s linear; -webkit-transition: all 0.2s linear; }
span.paging_selected a { color: #fff; }
span.paging_selected, span.paging_page a:hover { background: #2a2f50; }
span.nextprevlinks { display: inline-block; font-weight: bold; padding: 0 30px; }
span.prevnextdivide { display: inline-block; margin: 0 9px; }
hr.abovenews { margin: 6px 0 0; background: #b5b5b5; }
.pagingholder { padding: 46px 0 0; }
.newspageitem { border-bottom: 1px solid #e5e5e5; padding: 40px 0 38px; }
.pageintro .newspageitem h3 { font-size: 1.43em; margin: 0; padding: 0 0 16px; }
.newspageitem p.newspagedate strong { color: #9a182e; }
.newsitemcontent { float: left; }
.newspageitem .photoleft { margin-right: 34px; margin-bottom: 25px; }
.newspageitem .photoleft img { border-radius: 4px; border: 1px solid #d2d2d2; max-width: 120px; }
.pageintro h3.pressreleaseheading { padding: 19px 0 29px; margin: 0; color: #9e273a; font-weight: bold; font-size: 1.43em; }

.pressreleases .newspageitem .photoleft { width: 12%; margin-right: 3%; }
.pressreleases .newsitemcontent { width: 85%; }
.pressreleases .newspageitem .photoleft img { max-width: 100%; }

a.nolink, a.nolink:hover { color: #2a2f50; cursor: default; }
.clickprev, .clicknext { cursor: pointer;}

.extrapaddingp { padding-bottom: 70px; }
.timetablecaption { padding: 36px 0 0; }
.timetablecaption .timetablecolours { float: right; padding: 8px 0 0; }
.timetablecaption .keyitem { display: inline-block; padding: 0; }
.timetablecaption .keyitem .keydescription { display: inline-block; font-weight: 600; font-size: 86%; margin-right: 35px; }
.timetablecaption .keyitem:last-child .keydescription { margin: 0; }
.timetablecaption .keyitem .keycolour { margin-right: 11px; }

.dieselinfopop { display: none; }
.timetablepanel .departuresleft td.dieselitem { position: relative; padding-right: 10px; }
.dieselinfoicon { background: url(diesel-i.png) center no-repeat; width: 16px; height: 16px; float: right; cursor: pointer; }
.dieselinfoicon:hover + .dieselinfopop { display: block; }
.dieselinfopop { text-transform: none; font-weight: 400; position: absolute; width: 100%; z-index: 1; top: 100%; background: #fff; right: -17px; border: 1px solid #b5b5b5; border-radius: 4px; box-shadow: 0px 3px 8px 0px #e3e3e3; padding: 20px 36px 20px 24px; box-sizing: border-box; width: 259px; margin: 9px 0 0; line-height: 1.5em; }
.dieselinfopop:before { content: " "; position: absolute; top: -9px; right: 27px; width: 0; height: 0; border-style: solid; border-width: 0 7.5px 8px 7.5px; border-color: transparent transparent #b5b5b5 transparent; }
.beneathtimetable { padding: 15px 0 30px; }
.beneathtimetable .btn { margin-bottom: 49px; }
.beneathtimetable img { margin-bottom: 22px; }
.beneathtimetable p { padding-bottom: 37px; }

.app_section { background:url(../images/phone-back.jpg) center no-repeat; background-size:cover; padding:10.5% 15px 8.8%; }
.redpanel { background:url(red_panel_back.png); background:rgba(154,24,46,0.9); color:#fff; display:block; padding:27px 31px; border-radius:3px; }
.redpanel img { float:left; margin-right:10%; max-width: 48%; }
.redpanel .bigtext { font-size:300%; line-height:1.2em; font-weight:bold; }

.infoleft { position: relative; }

.panelpin { background: url(../images/corner-pin.png) center no-repeat; width: 17px; height: 17px; display: inline-block; position: absolute; }
.panelpin.topleftpin { top: 15px; left: 13px; }
.panelpin.toprightpin { top: 15px; right: 14px; }
.panelpin.bottomleftpin { left: 13px; bottom: 13px; }
.panelpin.bottomrightpin { bottom: 13px; right: 14px; }

.engineinfo { background: url(engine-brick.jpg) center no-repeat; background-size: cover; max-width: 1167px; margin: 0 auto 72px; box-sizing: border-box; padding: 62px 59px 62px 64px; border-radius: 5px; }
.infoleft { border-radius: 5px; background: rgba(255,255,255,0.8); box-sizing: border-box; padding: 48px 54px 33px; width: 49%; float: left; }
.inforight { width: 45%; float: right; }
.infoleft p { padding: 0; }

.engineinfo .rightButton, .engineinfo .leftButton { width: 12px; height: 20px!important; border: 1px solid #fff; border-radius: 5px; margin-top: -18px; }
.engineinfo .leftButton { background: url(engine-leftarrow.png) center no-repeat; padding: 8px 12px 6px 10px; left: 13px; }
.engineinfo .rightButton { background: url(engine-rightarrow.png) center no-repeat; padding: 8px 10px 6px 12px; right: 14px; }

.galleryframe { background: url(gallery-frame.jpg) center no-repeat; position: relative; background-size: cover; width: 469px; height: 363px; }
.galleryframe .gallery { width: 362px; height: 255px; position: absolute; top: 55px; left: 51px; }

.infoleft h3, .infoleft .h3 { font-weight: 600; font-size: 2.15em; padding-bottom: 22px; }
.infoleft img { margin-bottom: 26px; }
.infoleft ul { margin: 0; padding: 0; list-style-type: none; }
.infoleft ul li { font-size: 114.5%; padding-bottom: 12px; font-weight: 600; }
.infoleft ul li strong { color: #9a182e; }

.container.headercontent { padding: 75px 0 51px; }
.container.headercontent h1 { padding-bottom: 7px; }
.container.engineinfomain { padding-bottom: 47px; }

.rightgallery { position: relative; }

.callhover { display: none; position: absolute; top: 0; right: 53px; background: #781529; padding: 39px 15px 31px; box-sizing: border-box; width: 141px; }
.nav ul li:hover .callhover { display: block; }

.pageintro ul.sitemaplist li { padding-bottom: 8px; padding-left: 22px; }
.pageintro ul.sitemaplist, .pageintro ul.sitemaplist ul { padding-bottom: 0; }

.selfcateringleft .limitheight { min-height: 200px; }
.limitheight.limited { overflow:hidden; position:relative; margin-bottom: 40px; }
.limitheight.limited:after, .limitheight.limited .after { position:absolute; width:100%; bottom:0px; left:0px; padding-top:41px; vertical-align:bottom; background:url(white-fade.png) bottom repeat-x; color:#90162b; cursor:pointer; z-index:5; content:"Read More";  }
.panelsnobtns .limitheight { min-height: 160px; }

.selfcateringleft .btn { margin-bottom: 30px; }

.threellimit { position:relative; overflow:hidden; }
.threellimit .readmore { position:absolute; bottom:2px; right:0px; padding-left:5px; background:#fff; color:#9a182e; cursor:pointer; }
.threellimit .readmore:before { content:" "; position:absolute; left:-30px; width:30px; top:0px; bottom:0px; background: -moz-linear-gradient(left,  rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%); background: -webkit-linear-gradient(left,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 ); }

.paging { padding: 32px 0 0; }


.tripadvisoraward { display: inline-block; vertical-align: middle; }
.tripadvisoraward img { max-width: 100%!important; width: auto!important; }

.withincontentgallery { float: right; margin: 0 0 20px 20px; position: relative; }
#incontentgallery { height: 375px; width: 572px; }

.tabcontrol ul {list-style:none; margin:0; padding:0; }
.tabcontrol ul li { display:inline-block; background:#9a182e; padding:0; margin-right:5px; border-radius:5px 5px 0 0; }
.tabcontrol ul li a { padding:20px; display:block; outline:0; color:#fff; }
.tabcontrol ul li.ui-state-active { background:#2A2F4A; }
.tab_content { padding:20px 20px 20px; border:#2A2F4A 1px solid; }

.allstations { background:#eff2ec; padding:40px; border-radius:10px; margin-bottom:10px; }
.allstations h3 { color:#971d31; text-transform:uppercase; }

.allstations th, .allstations td { padding:14px 25px; }
.allstations p { font-size:114.3%; }
.allstations table { width:100%; border-collapse:collapse; }
.allstations thead th { color:#fff; text-align:center; }
.allstations thead th:first-child { text-align:left; font-weight:normal; color:#000; background:#fff; }
.allstations thead .allstations__cell--red { background-color:#971d31; }
.allstations thead .allstations__cell--yellow { background-color:#fdc748; }
.allstations thead .allstations__cell--green { background-color:#6cbc6f; }
.allstations thead .allstations__cell--blue { background-color:#094584; }
.allstations thead .allstations__cell--lightblue { background-color:#00b3f0; }
.allstations thead .allstations__cell--brown { background-color:#643f15; }
.allstations tbody .allstations__cell--red { background-color:#ebe1df; }
.allstations tbody .allstations__cell--yellow { background-color:#f6f2e2; }
.allstations tbody .allstations__cell--green { background-color:#e7f1e6; }
.allstations tbody .allstations__cell--lightblue { background-color:#e1eff2; }
.allstations tbody .allstations__cell--blue { background-color:#dde5e8; }
.allstations tbody .allstations__cell--brown { background-color:#e6e4dc; }
.allstations thead th:first-child.allstations__cell--red, .allstations thead th:first-child.allstations__cell--yellow, .allstations thead th:first-child.allstations__cell--green, .allstations thead th:first-child.allstations__cell--blue, .allstations thead th:first-child.allstations__cell--lightblue, .allstations thead th:first-child.allstations__cell--brown { color: #fff; font-weight: bold; }
.allstations thead th:first-child.allstations__cell--red { background-color:#971d31; }
.allstations thead th:first-child.allstations__cell--yellow { background-color:#fdc748; }
.allstations thead th:first-child.allstations__cell--green { background-color:#6cbc6f; }
.allstations thead th:first-child.allstations__cell--blue { background-color:#094584; }
.allstations thead th:first-child.allstations__cell--lightblue { background-color:#00b3f0; }
.allstations thead th:first-child.allstations__cell--brown { background-color:#643f15; }

.allstations tbody { font-weight:bold; }
.allstations tbody td { text-align:center; }
.allstations tbody th { background:#f5f7f3; }

.beneathtimetable.container { max-width:1086px; }

.tt-add__column { float:left; width:49.5%; font-size:114.3%; line-height:1.7em; margin-bottom: 10px; }
.tt-add__panel { margin-bottom:10px; }
.tt-add__column:nth-child(even) { float:right; }

.tt-add__row-head { background:#e1e2e4; padding:27px 20px 20px 40px; border-radius:10px 10px 0 0; }
.tt-add__row-head.tt-add__row-head--walker { background-color:#e8ded4; }
.tt-add__row-head.tt-add__row-head--green { background-color:#d9e2d2; }
.tt-add__row-head p { font-size:112.5%; }
.tt-add__row-head p:last-child { padding-bottom:7px; }
.tt-add__row-head h3 { color:#971d31; text-transform:uppercase; padding-bottom:5px; }
.tt-add__row-body { background:#f4f4f4; padding:20px 40px; border-radius:0 0 10px 10px; }
.tt-add__row-body td {padding-right:20px; }
.tt-add__row-body p { padding-bottom: 10px; }
.tt-add__row-body p:last-child { padding-bottom: 0; }
.tt-add__row-body .btn { margin-bottom:0; }
.tt-add__row-head-icon { float:right; margin-left:20px; margin-top:-5px; }
.tt-add__row-head-circle { border-radius:50%; font-weight:500; color:#fff; padding:36px 20px; background:#971d31; float:right; font-size:160%; text-align:center; margin-top:-30px; }

.nomarginbottom { margin-bottom:0!important; }

.menu__top { background:url(menu_top.png) bottom no-repeat; background-size:100% auto; height:0px; overflow: hidden; padding-bottom:16.5%; width:100%; }
.menu__borders { background:url(menu_borders.png) repeat-y; background-size:100% auto; padding:0 6.2%; }
.menu__back { background:url(menu_back.png); background-size:1.4% auto; margin:-6% auto; float:left; width:100%; box-sizing: border-box; padding:7%; border-radius:6.2%; text-align:center; line-height:1.7em; }
.menu__back p:last-child { padding-bottom:0; }
.menu__bottom { background:url(menu_bottom.png) top no-repeat; background-size:100% auto; height:0px; overflow: hidden; padding-bottom:16.6%; width:100%; }
.menu__flourish { background:url(menu_flourish.png) center no-repeat; background-size:contain; padding-bottom:5.8%; overflow: hidden; height:0px; margin-bottom:20px;  }
.expand_head--alt { background-color: #f7f7f7; color:#a5a5a5; font-weight:normal; }
.expand_head--alt .arrow { background-image:none; border:#8d1a2e 2px solid; width:16px; border-width:2px 2px 0 0; transform:rotate(45deg); transform-origin:55% 25%; }
.expand_head--alt.active .arrow { transform:rotate(135deg); }

.sidemap { float:right; max-width:69%; }
.expanderlist { float:right; width:726px; max-width:100%; margin-left:58px; }
.expand_plus { padding-bottom:0; }
.expand_plus:before { content:"+"; float:right; margin:0px 0 0 10px; transition:transform 0.2s linear; }
.active .expand_plus:before { transform:rotate(45deg); }
.subcontainer { padding-left:15px; padding-right:15px; margin-top:-20px ;}
.expandersideimage { overflow:hidden; }
.sidecommentary { overflow:hidden; margin-bottom: 10px; }

@media (orientation:portrait) {
    #interactivemap { display:none; }
    #interactivemapportrait { display:block; }
}

/* Height */
@media (max-height: 930px) {
    #introduction .logo { padding: 60px 10px 25px; }
    #introduction .content { padding-top:235px; }
}
@media (max-height: 780px) {
    #introduction .logo { padding: 45px 10px 10px; }
    #introduction .titlesub { padding-bottom: 25px; }
    #introduction .content { padding-top:55px; }
}
@media (max-height: 745px) {
    .homefixed.fixedpanelholder { display: none; }
    .fixedpanelholder.homemobile { display: block; padding-bottom: 20px; }
    .fixedpanelholder.homemobile .fixedpanel { position: relative; top: 0!important; left: 0; margin: 0 auto; }
    .fixedpanelholder.homemobile .fixedpanel a:hover { left:0; }
    .fixedpanelholder.homemobile .fixedpanel a:last-child .textsection { border-bottom-right-radius: 10px; }
    .fixedpanelholder.homemobile .fixedpanel a:first-child { border-top-right-radius: 10px; }
}
/* Width */
@media (max-width: 1550px) {
  #nav ul li a { padding: 40px 15px 30px; }
}
@media (max-width: 1362px) {
    #google_translate_element { clear:both; }
}
@media (max-width: 1350px) {
    /*#nav ul li a { padding: 40px 25px 30px; }*/
    .nav { padding: 0 0 0 15px; }
    .navleft { padding-right: 23px; }
    .navright { left: 32px; }
}
@media (max-width: 1300px) {
    .fixednav { left: 8px; }
    #nav .navleft li a { padding: 40px 20px 30px; }
    .navleft { float: left; padding: 0; }
    .navright { float: right; padding: 0; }
    #nav .navright li a { padding-left: /*15px*/10px; padding-right: /*15px*/10px; }
    .nav { padding: 0; }
    .subnav ul.plansubnav li a { padding: 25px 19px 22px; }
    .nextbox { right: -63px; }
    .prevbox { left: -63px; }
    .navright { left: 0; position: static; }
}
@media (max-width: 1200px) {
    .fixedpanel { margin-left: -70px; }
    .fixedpanel a:hover { left: -253px; }
    #nav .navleft li a { padding: 40px 16px 30px; }
    #nav ul .navright li a, #nav .navright ul li a { padding-left: 12px; padding-right: 12px; }
    .subnav ul.plansubnav li a { padding: 25px 18px 22px; }
    #scrollinfo .container { margin: 0 65px; }
    .engineinfo { margin-left: 10px; margin-right: 10px; }
    .inforight { width: 46%; }
    .callhover { right: 47px; }
}
@media (max-width: 1175px) {
    .fixednav { display: none; }
    .fixedpanel { margin-left: -62px; }
    .fixedpanel a:hover { left: -261px; }
    .subnav ul.plansubnav li a { padding: 25px 15px 22px; }
    #nav ul .navright li a, #nav .navright ul li a { padding-left: 8px; padding-right: 8px; }
}
@media (max-width: 1115px) {
    #nav .navleft li a { padding: 40px 10px 30px; }
    .homefixed.fixedpanelholder { display: none; }
    .fixedpanelholder.homemobile { display: block; }
    .fixedpanelholder.homemobile .fixedpanel { position: relative; top: 0!important; left: 0; margin: 0 auto; }
    .fixedpanelholder.homemobile .fixedpanel a:hover { left:0; }
    .fixedpanelholder.homemobile .fixedpanel a:last-child .textsection { border-bottom-right-radius: 10px; }
    .fixedpanelholder.homemobile .fixedpanel a:first-child { border-top-right-radius: 10px; }
    #introduction .titlesub { padding-bottom: 42px; }
    #fares .container { padding: 0 15px; }
    .newsevents { padding: 82px 10px 77px; }
    .goldfooter { padding: 35px 10px 10px; }
    .redfooter { padding: 42px 10px 29px; }
    .internalpages .fixedpanel { display: none; }
    .internalpagesmobile .fixedpanel { display: block; }
    .emptygallery#gallery { min-height: 275px!important }
    .gallery .emptygallery#gallery .galleryItem { height: 100%; background-size: cover; background-position: center; }
    .gallery .emptygallery#gallery .galleryText { height: 100%!important; padding: 0; }
    .gallery .emptygallery#gallery .galleryItem .imgholder img { display: none; }
    .pageintro { padding: 75px 15px 20px; }
    .accomodationfooter { padding: 48px 15px 100px; }
    .accomodationlistings { padding: 40px 15px 34px; }
    .belowdivide { padding: 33px 15px 85px; }
    .subnav ul li a { padding: 25px 18px 22px; }
    .timetablekey .keyleft { width: 69%; }
    .timetablekey .keyright { width: 27%; }
    .bluefooter { padding: 17px 15px 44px; }
    /*#nav ul .navright li a { padding-left: 11px; padding-right: 11px; }*/
    .subnav ul.plansubnav li a { padding: 25px 13px 22px; }

    .pleasenote, .timetablekey { padding:0 15px; }
    .timetablepanel, #faresinfo .timetablepanel { padding:15px; }
    .dieselinfopop { width: 245px; padding: 20px 25px 20px 20px; }
    .galleryframe { width: 419px; height: 313px; background-size: contain; }
    .galleryframe .gallery { width: 312px; height: 205px; top: 47px; }
    .infoleft { padding: 34px 46px 28px; }
    .infoleft img { margin-bottom: 15px; }
    .infoleft h3, .infoleft .h3 { padding-bottom: 10px; }
    .infoleft ul li { padding-bottom: 10px; }
    .engineinfo .rightButton, .engineinfo .leftButton { margin-top: -8px; }
    .callhover { right: 45px; }
    .subcontainer { margin-top:0; }
}
@media (max-width: 1070px) {
    #therailway .content { padding: 0 10px; }
    #therailway .content .esc { margin-right: -3%; }
    #fares .faredetail .rbtn { float: none; }
    #fares .faredetail .btn { margin: 0 10px 10px 0; }
    #nav ul .navleft li a { padding: 40px 15px 30px; }
    /*#nav ul .navright li a { padding-left: 10px; padding-right: 10px; }*/
    .subnav ul.plansubnav li a { padding: 25px 12px 22px; }
    .escholder { overflow:hidden; }
    #todotrds { padding: 61px 10px; }
    .beneathtimetable { padding: 15px 10px 30px; }
    .dieselinfopop { width: 225px; padding: 15px 20px 15px 15px; }
    .callhover { right: 43px; }
}
@media (max-width: 1035px) {
    #nav ul .navright li a, #nav .navright ul li a { padding-left: 6px; padding-right: 6px; }
    #nav ul li a { padding: 40px 15px 30px; }
    .todo_box .boxdetails { width: 61%; padding-right: 10px; }
    .todo_box .boximg { width: 38%; }
    .subnav ul li a { padding: 25px 17px 22px; }
    #news { min-height: auto!important; }
    .subnav ul.plansubnav li a { padding: 25px 10px 22px; }
    #introduction, #therailway, #thejourney, #fares, .newsevents, #scrollinfo { background-attachment: scroll; }
    .callhover { right: 39px; }
}
@media (max-width: 990px) {
    #nav ul .navright li a, #nav .navright ul li a { padding-left: 5px; padding-right: 5px; }
    .bluebar .viewtimetable { position: relative; bottom: 0; right: 0; margin-top: 15px; float: right; }
    .bluebar { padding: 60px 10px 10px; }
    .socialhalf .icon.social { position: static; }
    .goldfooter p { padding-bottom: 13px; }
    .newsletterhalf .btn { position: static; }
    .goldfooter { padding: 22px 10px 20px; }
    .subnav ul li a { padding: 25px 16px 22px; }
    .timetablekey .keyleft .keydescription { max-width: 89%; vertical-align: middle; }
    .timetablekey .keyright { width: 30%; }
    .timetablekey .keyleft { width: 66%; }
    table.timetable tbody tr td { padding: 7px 8px 24px; }
    table.timetable thead th { padding: 20px 0 11px; }
    .subnav ul.plansubnav li a { padding: 25px 10px 22px; }
    #scrollinfo { padding: 35px 0 45px; }
    .months ul li { margin-right:2%; }
    .ticketoption .ticketcontent .title span { width: 75%; }
    .dieselinfopop { width: 204px; padding: 12px 10px 12px 12px; }
    .timetablecaption .keyitem .keydescription { margin-right: 17px; }
    .callhover { right: 37px; }
    .footerbetweenlogo.fr { float: none!important; margin: 15px 10px 0; display: block; }
    .expanderlist { float:none; margin:0; width:100%; }
    .expandersideimage { display:none; }
}
@media (max-width: 960px) {
    .container .subnav { float:none; width:auto; margin:-30px 0 30px; background:#272c4a!important; }
    .container .overflowhidden .subnav { margin-top:0; }
    .container .subnav { clear:both; }
    .container .subnav .title { font-size:100%; border-radius:5px; position:relative; z-index:5; padding:18px 19px; }
    .container .subnav ul li a { padding:15px 19px 12px; }
    .container .subnav .title .icon { display:block; margin-top:3px; transition: all 0.2s linear; -o-transition: all 0.2s linear; -moz-transition: all 0.2s linear; -webkit-transition: all 0.2s linear; transform:rotate(180deg); -webkit-transform:rotate(180deg); -moz-transform:rotate(180deg); -ms-transform:rotate(180deg);}
    .container .subnav .active .icon { transform:rotate(0deg); -webkit-transform:rotate(0deg); -moz-transform:rotate(0deg); -ms-transform:rotate(0deg); }
    .container .subnav .mobile_expand_body { border-radius:5px; overflow:hidden; }
    .subnav .menu-toggle { padding: 15px 20px; border-bottom: 0; }
    .subnav ul li { float: none; display: block; }
    .subnav ul li a { width: 100%; padding: 16px 10px; box-sizing: border-box; background: #1f223e; }
    .subnav ul li:hover a, .subnav ul li.active a { color: #c4c5a5; }
    .menu-toggle { padding: 20px 20px 52px; border-bottom: 12px solid #2a2f50; cursor: pointer; }
    .menu-toggle .toggleholder { display: block; }
    .menu-toggle .toggleholder .line1 { background: #fff; height: 3px; width: 23px; border-radius: 25%; display: block; margin-bottom: 3px; }
    .menu-toggle .toggleholder .line2 { background: #fff; height: 3px; width: 23px; border-radius: 25%; display: block; margin-bottom: 3px; transition: all 0.2s linear; -o-transition: all 0.2s linear; -moz-transition: all 0.2s linear; -webkit-transition: all 0.2s linear; }
    .menu-toggle.selected .toggleholder .line2 { margin-left: 7px; }
    .menu-toggle .toggleholder .line3 { background: #fff; height: 3px; width: 23px; border-radius: 25%; display: block; }
    .nav { border-bottom: 0; }
    #nav .span { display: block; }
    #nav .span ul { display:block; padding-top:0; }
    #nav .span.navleft ul { padding-top:40px; }
    #nav ul { background: #671523; padding-top: 40px; display:block; }
    #nav ul li { float: none; display: block; }
    .navright, .navleft { float: none; display: block; }
    #nav .navright li:hover a, #nav .navleft li:hover a, #nav .navleft li.active a, #nav .navright li.active a { background: #6e1323; color: #c4c5a5; }
    #nav .navright li a, #nav .navleft li a, #nav ul li a { display: block; text-align: center; padding: 16px 10px; background: #671523; }
    #nav .navright .mobilenavicons li a { width: 25%; float: left; box-sizing: border-box; background: #981b30; }
    #nav .navright .mobilenavicons li:hover a { background: #6e1323; }
    #nav .navright .mobilenavicons { display: block; margin-top: 17px; }
    #nav .navright .mobilenavicons li.callnav a { padding: 19.5px 0; }
    #nav .navright .mobilenavicons li.emailnav a { padding: 21.5px 0; }
    #nav .navright .mobilenavicons li.appnav a { padding: 15px 0 16px; }
    #nav .navright .mobilenavicons li.webcamnav a { padding: 16.5px 0; }
    #fares .faressection { padding: 52px 32px 29px 12px; }
    .subnav ul.plansubnav li a { padding: 25px 8px 22px; }
    .mobile_expand_head { cursor:pointer; }
    .infobox .headerbox { font-size: 220%; padding: 60px 8% 56px; }
    .container .sidenav.multiplenavs .subnav { background: none!important; }
    .sidenav.multiplenavs p { padding: 0; height: 10px; }
    .container .multiplenavs .subnav .title.active { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
    .container .multiplenavs .subnav .mobile_expand_body { border-top-left-radius: 0; border-top-right-radius: 0; }
    .subnav p, .subnav .btn { display: none; }
    .timetablecaption .keyitem .keydescription { margin-right: 10px; }
    .timetablecaption .keyitem .keycolour { margin-right: 5px; }

    .redpanel { text-align:center; }
    .redpanel img { float:none; margin:0 auto 10px; display:block; max-width:100%; }
    .engineinfo { padding: 42px 39px 42px 44px; }
    .galleryframe { width: 369px; height: 263px; }
    .galleryframe .gallery { width: 262px; height: 155px; top: 40px; }
    .engineinfo .rightButton, .engineinfo .leftButton { margin-top: -3px; }
    .infoleft h3, .infoleft .h3 { font-size: 2em; }
    .infoleft { padding: 32px 40px 26px; }
    .infoleft ul li { padding-bottom: 5px; font-size: 105%; }
    .infoleft img { margin-bottom: 9px; }
    .container.headercontent { padding: 35px 0 16px; }
    .container.engineinfomain { padding-bottom: 27px; }
    .engineinfo { margin-bottom: 40px; }
    .callhover, .nav ul li:hover .callhover { display: none; }
    .sidemap { width:auto; float:none; max-width:100%; }
}
@media (max-width: 920px) {
  .timetablecaption .timetablecolours { float: none; padding: 18px 0 10px; }

}
@media (max-width: 900px) {
    .todo_box { width: 32%; margin: 0 0.55% 0 0; padding: 38px 22px 38px 9px; }
    .btnrow { padding: 19px 0 90px; }
    #therailway { padding: 100px 0 10px; }
    .todo_box .boxdetails { width: 66%; }
    .todo_box .boximg { width: 33%; }
    .todo_box { width: 40%; margin: 0 3% 30px 0; float: none; display: inline-block; }
    #fares .faressection { padding: 40px 15px 15px 10px; }
    #fares .accessinfo { padding: 40px 15px 20px 20px; }
    .leafletimg { margin-bottom: 10px; }
    .timetablekey .keyleft { width: 63%; }
    .timetablekey .keyright { width: 33%; }
    .container .photoright { margin-top: 5px; }
    .redfooter .contacthalf { padding-top:0px; }

    .fth { width:23%; }
    .fth:nth-child(5n+1) { clear:none; }
    .fth:nth-child(4n+1) { clear:both; }
    .infobox .headerbox { padding: 49px 33px 46px; }
    .ticketoption .ticketcontent .title span { width: 71%; }
    .dieselinfopop { width: 180px; padding: 9px 7px 9px 9px; font-size: 90%; }
}
@media (max-width: 840px) {
    #introduction h1 { padding: 0 10px 25px; }
    #introduction .logo { padding: 70px 10px 45px; }
    h1, .h1 { font-size: 2.6em; }
    h2, .h2 { font-size: 2.215em; }
    h2 .titlemain { font-size: 1.08em; }
    h1 .titlesub { font-size: 85.2%; }
    h2 .titlesub { font-size: 92.5%; }
    .bluebar .bartitle { font-size: 2.6em; }
    #fares .faresmain { font-size: 107%; }
    #fares .faressub { font-size: 91%; }
    #fares { padding: 90px 0 33px; }
    #fares .faressub { padding-bottom: 25px; }
    .redfooter .linkhalf, .bluefooter .languagehalf { width: 36%; }
    .bluefooter .infohalf { width: 62%; }
    .redfooter .contacthalf { width: 100%; margin: 0 0 20px 0; }
    .accomodationlistings .accomodationitem .accomodationdetail { width: 65%; }
    .accomodationlistings .accomodationitem .accomodationimg { margin-right: 3%; width: 31%; }
    .accomodationlistings .accomodationitem .accomodationdetail .accomodationname { font-size: 165%; }
    .timetablekey .keyleft { width: 58%; }
    .timetablekey .keyright { width: 38%; }
    .timetablekey .keyleft .keydescription { max-width: 83%; }
    .timetablepanel .departuresleft { padding-right: 0; }
    .timetablepanel .departuresleft { width: 100%; float: none; margin-bottom: 30px; }
    .timetablepanel .departuresleft table { border-spacing:3px; margin-left:-3px; }
    .timetablepanel .timetableright { width: 100%; float: none; }
    table.timetable thead th { padding: 24px 0 11px; }
    table.timetable tbody tr td { padding: 9px 10px 31px; }
    #fares .faressection { padding: 40px 15px 21px 10px; }
    .homeawards { position: relative; bottom: 120px; }

    .goldfooter a.btn  { margin-top:10px; float:none; }
    .infobox .headerbox { font-size: 200%; }
    /*.staypanel .stayimg { padding: 33px 31px 34px 30px; }*/
    .staypanel .stayheader { padding: 22px 20px 18px; margin-bottom: 15px; font-size: 170%; }
    .staypanel .staycontent a.stayheader { margin-bottom: 15px; }
    .staypanel .staycontent p, .staypanel .staycontent a { margin: 0 20px 0 20px; }
    .planitem .plandesc { padding: 25px 10px 20px; }
    .flagsep { display: inline-block; margin-bottom: 10px; }
    .ticketoption { padding: 37px 33px 23px; }
    .ticketoption .ticketpricing { padding: 16px 18px; }
    span.pagenums { display: block; }
    span.nextprevlinks { display: block; padding: 7px 0; }
    .paging_panel { text-align: center; padding: 0 0 15px }
    span.paging_page a, span.paging_selected { margin: 0 3.5px 7px; }
    .pressreleases .newsitemcontent { width: 79%; }
    .pressreleases .newspageitem .photoleft { width: 18%; margin-right: 3%; }
    .inforight { width: 49%; }
    #incontentgallery { width: 452px; }

    .allstations { padding:10px; }
    .allstations th, .allstations td { padding:7px 20px; }
    .tt-add__row-head { padding:17px 10px 10px 10px; }
    .tt-add__row-body { padding:10px; }
}
@media (max-width: 820px) {
  .accomodationlistings .accomodationitem { float: left; box-sizing: border-box; width: auto; margin-right: 0; }
  .accomodationlistings .accomodationitem .accomodationimg { margin: 0; width: 35%; }
  .accomodationlistings .accomodationitem .accomodationdetail { width: 63%; margin-right: 2%; }
  .selfcateringequal { height: auto!important; }
}
@media (max-width: 800px) {
  .timetablecaption .keyitem { display: block; padding: 0 0 5px; }
  .galleryframe { width: 319px; height: 213px; }
  .galleryframe .gallery { width: 212px; height: 105px; top: 33px; }
  .engineinfo .rightButton, .engineinfo .leftButton { margin-top: 6px; }
  .engineinfo .rightButton { right: 5px; }
  .infoleft h3, .infoleft .h3 { font-size: 1.7em; }
  .infoleft img { margin-bottom: 5px; }
  .infoleft ul li { padding-bottom: 2px; font-size: 100%; }
  .infoleft { padding: 32px 37px 26px; }
  .engineinfo .leftButton { left: 5px; }
}
@media (max-width: 750px) {
    .eventitem .eventdetails { width: 73%; }
    .eventitem .eventimg { width: 25%; }
    .timetablekey .keyletter { margin-right: 10px; }
    .timetableinstructions { margin: 0 0 0 34px; }
    .timetablekey .keyright { width: 44%; }
    .timetablekey .keyleft { width: 52%; }
    .emptygallery#gallery .itemButtons { margin-top: -33px; }
    .redfooter .contacthalf .sep { display: none; }
    .redfooter .contacthalf strong { display: block; padding: 10px 0 0; }
    .photogallery li { width:31.3%; }
    .photogallery li:nth-child(6n+1) { clear:none; }
    .photogallery li:nth-child(3n+1) { clear:left; }


    .fth { width:31%; }
    .fth:nth-child(4n+1) { clear:none; }
    .fth:nth-child(3n+1) { clear:both; }
    .eventitem .btn { margin-bottom: 10px; }
    .featuredevent .eventitem .eventdate { max-width: 59%; }
    .ticketoption { padding: 32px 28px 18px; }
    .ticketoption .ticketcontent .title span { width: 67%; }
    .beneathtimetable .btn { margin-bottom: 33px; }
    #incontentgallery { width: 372px; }

    .tt-add__column, .tt-add__column:nth-child(even) { width:auto; float:none; }

}
@media (max-width: 685px) {
  .infoleft { width: 100%; float: none; margin-bottom: 20px; }
  .inforight { width: 100%; float: none; }
  .galleryframe { margin: 0 auto; width: 369px; height: 263px;}
  .galleryframe .gallery { width: 262px; height: 155px; top: 40px; }
  .engineinfo .rightButton, .engineinfo .leftButton { margin-top: 3px; }
}
@media (max-width: 650px) {
    #introduction .titlesub { padding-bottom: 25px; }
    .todo_box { width: 44%; margin: 0 2% 30px 0; }
    #fares .farepoint { margin: 0; background: none; padding: 0 0 10px; }
    .expandfares_body hr { display: none; }
    .expandfares_head .arrow { display: inline-block; float: right; margin-top: 3px; transition: all 0.2s linear; -o-transition: all 0.2s linear; -moz-transition: all 0.2s linear; -webkit-transition: all 0.2s linear; }
    .expandfares_head.active .arrow { transform: rotate(90deg); -ms-transform: rotate(90deg); }
    #fares .faressection .expandfares_head, #fares .expandfares_head { color: #fff; font-weight: bold; background: #91886b; border-radius: 2px; padding: 15px 18px 13px 17px; }
    #fares .rightfares, #fares .leftfares { width: 100%; float: none; }
    .expandfares_body { margin-bottom: 7px; background: rgba(13,15,23,0.52); padding: 23px 32px 19px 16px; }
    #fares .faressection .sectioncover { display: none; }
    .expandfares_head.nodesktop { display: block; }
    #fares .faressection { padding: 0; width: 100%; float: none; }
    #fares .accessinfo .sectioncover { display: none; }
    #fares .accessinfo { padding: 23px 32px 19px 16px; width: 100%; float: none; }
    .expandfares_head { cursor: pointer; }
    .expandfares_head.nodesktop .arrow { margin-top: 1px; }
    #fares .faredetail { padding: 0; margin: 16px 0 15px; text-align: center; }
    #fares .faredetail .viewtimetable { margin: 0 0 20px; }
    #fares .faredetail .btn { margin: 0 10.5px 10px; }
    #fares { padding: 45px 0 33px; min-height: auto!important; }
    .latesteventshalf { width: 47.5%; }
    .latestnewshalf { width: 47.5%; margin-right: 5%; }
    .redfooter .linkhalf, .bluefooter .languagehalf { width: 100%; }
    .redfooter .contacthalf, .bluefooter .infohalf { width: 100%; margin: 0; }
    .redfooter .contacthalf { text-align: center; margin-bottom: 40px; }
    .redfooter .linkhalf { padding: 0 20px 0 35px; box-sizing: border-box; }

    .bluefooter .infohalf { text-align: center; margin-bottom: 20px; }
    .accomodationlistings .accomodationitem .accomodationdetail .accomodationname { font-size: 144%; padding-bottom: 15px; }
    .accomodationlistings .accomodationitem .accomodationdetail { width: 54%; }
    .accomodationlistings .accomodationitem .accomodationimg { width: 43%; }
    .accomodationlistings .accomodationitem .accomodationdetail .btn { margin: 0 0 5px; }
    .accomodationfooter { padding: 40px 15px 35px; }
    .leafletimg { display: none; }
    .mobileleaflet { display: block; margin-bottom: -60px; max-width: 75%; }
    .pageintro { padding: 55px 15px 10px; }
    .timetablekey .keyleft { width: 50%; }
    .timetablekey .keyright { width: 46%; }
    .planitem { width: 48%; }
    .equalfares { display: block; height: auto!important; }
    .ticketoption .title .btn.photoright { margin: 20px auto 0; display: block; width: 50%; float: none; }
    .homeawards { bottom: 137px; }
    .dotpointholder .dotpointcontent { width:55px; height:55px; }
    .redfooter .socialicons a { margin:10px; }
    .infobox .headerbox { font-size: 185%; padding: 49px 20px 35px; }
    .infobox .boxcontent { padding: 0 20px 35px; }
    #whatson .planitem.firstplan { width: 100%; }
    #whatson .esc { margin: 0; }
    .abovebtn, .abovebtn p { height: auto!important; }
    #whatson .planitem.firstplan img { width: 100%; }
    .planitem.wide2, .planitem.wide { width: 100%; }
    #whatson .planitem.wide2 .esc { margin: 0 -2% 0 0; }
    #whatson .planitem .planname { height: auto!important; }
    iframe#tripadvisorframe { float: none; }
    .ticketimg { width: 100%; margin-right: 0; float: none; margin-bottom: 17px; text-align: center; }
    .ticketcontent { float: none; width: 100%; }
    .ticketoption .ticketcontent .title span { width: 100%; }
    .footerbetweenlogo.fr { margin-left: auto; margin-right: auto; }
    #incontentgallery { width: 300px; }
}
@media (max-width: 600px) {
    .todo_box { width: 65%; margin: 0 0 30px 0; padding: 38px 15px 38px; }
    .todo_box img { box-sizing: border-box; }
    .todo_box .boxdetails { padding-right: 18px; width: 55%; }
    .todo_box .boximg { width: 45%; }
    .btnrow .btn { margin: 0 20px 20px; }
    #therailway .content .esc { margin-right: 0; }
    .bluebar .bartitle { font-size: 1.87em; }
    .bluebar .barsub { font-size: 149%; font-weight: 300; line-height: 1.2em; }
    .accomodationlistings .accomodationitem .accomodationdetail { width: 50%; }
    .accomodationlistings .accomodationitem .accomodationimg { width: 47%; }
    .timetablekey .keyleft { width: 100%; margin: 0; }
    .timetablekey .keyright { width: 100%; margin-top: 20px; }
    .timetablekey .keyleft .keydescription { max-width: 87%; }
    .timetableinstructions { margin: 0; }
    table.timetable tbody tr td { padding: 9px 7px 31px; }
    table.farestable th, table.farestable th:first-child { width: auto; }

    .fth { width:48%; }
    .fth:nth-child(3n+1) { clear:none; }
    .fth:nth-child(2n+1) { clear:both; }

    .homeawards .leftawards img { margin-right: 10px; }
    .homeawards .rightawards img { margin-left: 10px; }
    .homeawards { padding: 0 10px; }
    .homeawards img { max-width: 37%; }
    #introabout { padding: 60px 10px 0; }
    #introabout .btnrow { padding: 19px 0 60px; }
    .trdpaneldesc { padding: 33px 10px 26px; }
    .right_section.selfcateringright, .left_section.selfcateringleft { float: none; width: 100%; }
    .allstations th, .allstations td { padding:3px 5px }
}
@media (max-width: 550px) {
    #introduction .logo { padding: 50px 10px 25px; }
    .btnrow { padding: 19px 0 20px; }
    .todo_box { width: 70%; }
    .newsevents .newsexpandhead .icon.arrow, .languagehalf .newsexpandhead .icon.arrow { display: inline-block; float: right; transition: all 0.2s linear; -o-transition: all 0.2s linear; -webkit-transition: all 0.2s linear; -moz-transition: all 0.2s linear; }
    .newsevents .newsexpandhead.active .icon.arrow, .languagehalf .newsexpandhead.active .icon.arrow { transform: rotate(90deg); -ms-transform: rotate(90deg); }
    .latestnewshalf, .latesteventshalf { width: 100%; float: none; }
    .newsevents .title.newsexpandhead, .languagehalf .newsexpandhead { color: #fff; font-size: 100%; font-weight: bold; background: #91886b; border-radius: 2px; padding: 15px 18px 13px 17px; cursor: pointer; }
    .latestnewshalf, .latesteventshalf, .expanderholder { margin-bottom: 10px; }
    .newsevents { padding: 18px 15px 13px; }
    .newsexpandbody { padding: 15px 5px; }
    #news { min-height: auto!important; }
    .expanderholder { display: block; }
    .goldfooter { display: none; }
    .newsevents { min-height: 0!important; }
    .languagehalf .newsexpandhead { display: block; }
    .container .languagehalf .newsexpandhead { font-size: 117%; }
    .bluefooter .languagehalf { box-sizing: border-box; }
    .accomodationlistings .accomodationitem .accomodationdetail { width: 100%; float: none; display: block; }
    .accomodationlistings .accomodationitem .accomodationimg { width: 100%; float: none; display: block; margin-bottom: 27px; }
    .accomodationlistings .accomodationitem { text-align: center; padding: 20px 20px 30px; }
    .accomodationlistings .accomodationitem .accomodationdetail .btn.rbtn { margin-left: 8px; }
    .accomodationfooter, .pageintro { text-align: center; }
    table.farestable th, table.farestable td { padding: 16px 8px 14px; }
    strong.faresnote { display: block; margin: 15px 0 0; }
    .bookonlinebtn { margin: 0; }
    .awardlogos .awarditem.first { margin-left: 10px; }
    .awardlogos .awarditem { margin: 10px; }
    .socials { padding: 40px 10px 34px; }
    .socials .icon { margin: 0 3px; }

    .dotpointholder .poptitle { width:100px; }
    .dotpointholder .poptitle .poppoint, .dotpointholder.popright .poptitle .poppoint { background-position:40% 100%; }
    .dotpointholder.popupward .poptitle .poppoint, .dotpointholder.popupward.popright .poptitle .poppoint { background-position:40% 0%; }
    .eventfilters { padding: 35px 0 25px; }
    .eventfilters input { margin-bottom: 20px; }
    .boxesholder { margin: 0; }
    .staypanel { display: block; }
    .staypanel .stayimg { width: 100%; display: block;/* padding: 30px;*/ border-bottom-left-radius: 0; border-top-right-radius: 10px; }
    .staypanel .stayimg .imgsholder img.mainsideimg { width: 100%; }
    .staypanel .stayheader { border-radius: 0; }
    .staypanel .staycontent { border-top-right-radius: 0; border-bottom-left-radius: 10px; }
    .plansection .sectiontitles .titles { text-align: left; }
    .plansection .sectiontitles .sectionlogo { width: 22%; margin-right: 3%; }
    .plansection .sectiontitles .titles { width: 75%; padding-top: 5px; }
    .awardicons img { padding: 10px; max-width: 25%; box-sizing: border-box; margin: 0; }
    .awardicons #TA_certificateOfExcellence214 { padding: 10px; box-sizing: border-box; margin: 0; }
    .newspageitem .photoleft { float: none; margin-right: 0; }
    .newspageitem { padding: 30px 0 28px; }
    .pressreleases .newspageitem .photoleft { width: 100%; margin: 0 0 20px; float: none; }
    .pressreleases .newsitemcontent { width: 100%; float: none; }
    .accomodationlistings .accomodationitem { margin-bottom: 20px; }
    .selfcateringleft .right { text-align: center!important; }
    .formselect { width: 100%; }
    .withincontentgallery { float: none; width: 100%; margin: 0 0 20px; }
    #incontentgallery { width: 100%; }
    .expandersideimage { display:block; text-align:center; }
}
@media (max-width: 500px) {
	.esc { margin-right:0; }
	.photoleft, .photoright, .left_section, .right_section, .center_section, .trd, .twotrd, .qtr, .threeqtr, .fth, .sixth, .trd, .half { width:auto; float:none; height:auto; margin:0 auto; display:block; text-align:center; }
    .container .photoright, .container .photoleft { margin: 15px auto 5px; }
    .imagesection .half { margin-bottom: 15px; }
    .todo_box { width: 75%; }
    .bluebar { padding: 55px 15px 28px; }
    .gallery.eventgallery { display: none; }
    .eventitem .eventimg { width: 35%; }
    .eventitem .eventdetails { width: 63%; }
    table.timetable tbody tr td { padding: 9px 6px 31px; }
    table.timetable thead th { padding: 18px 0 11px; }
    .timetablepanel { padding: 41px 15px 47px; }
    table.farestable th, table.farestable td { padding: 14px 5px 12px; }
    table.farestable tr { border-bottom: 6px solid #fff; }
    table.farestable { font-size: 88%; }
    .awardlogos { padding: 20px 0 70px; }
    .container .photoright.marginphoto { margin-bottom: 36px; }
    .mapkey { display:none; }
    .trdpaneldesc { margin-bottom: 20px; }
    #todotrds { padding: 40px 10px 20px; }
    .redfooter .contacthalf { margin-bottom: 10px; }
    .right_section.selfcateringright .iframecalendarholder { padding: 0; }
    .equalitem, .equalitemheading, .equalitemcontent, .equalitem3, .equalitemheading3, .equalitemcontent3 { height: auto!important; }
    .newspageitem .photoleft { margin-bottom: 25px; }

    .app_section .left_section { margin-bottom:15px; }
    .engineinfo { padding: 35px 20px; }
    .galleryframe { width: 319px; height: 213px; }
    .galleryframe .gallery { width: 212px; height: 105px; top: 32px; left: 52px; }
    .container.engineinfomain { padding-bottom: 22px; }
    .engineinfo { margin-bottom: 36px; }
    .newspageitem .btn { margin-bottom: 7px; }
    .panelsnobtns .trd { height: auto!important; }

    .allstations table { font-size:80%; }
}
@media (max-width: 450px) {
    #introduction .logo { display: none; }
    .header .logo { top:9px!important; }
    #introduction .titlesub { padding-bottom: 20px; }
    h1 .titlemain { padding-bottom: 14px; }
    #introduction h1 { padding:21px 10px 21px; }
    .fixedpanelholder.homemobile { padding: 0 10px 45px; box-sizing: border-box; }
    .fixedpanelholder.homemobile .fixedpanel { max-width: 323px; width: auto; }
    h1, .h1 { font-size: 1.86em; }
    h3, .h3 { font-size: 1.35em; }
    h1 .titlesub { font-size: 81%; }
    #introduction { min-height: 0!important; }
    h2, .h2 { font-size: 1.51em; }
    h2 .titlesub { font-size: 100%; }
    #fares .faresmain { font-size: 123%; }
    #fares .faressub { font-size: 100%; }
    .todo_box { width: 98%; border-radius: 0; margin: 0; vertical-align: bottom; box-shadow: none; border-bottom: solid 9px #2a2f50; }
    #therailway .content .escholder { margin-left: -20px; margin-right: -20px; padding: 0; }
    #therailway { padding: 55px 0 0; }
    .btnrow .btn { padding: 10px 0; width: 134px; display: block; margin: 0 auto 19px; }
    .btnrow { padding: 15px 0 20px; }
    #therailway .content { padding: 0 15px; }
    #therailway p { font-size: 86%; }
    #therailway .todo_box p { font-size: 100%; }
    #therailway h2 { padding-bottom: 15px; }
    #therailway { background-size: 250%; background-position: top; }
    .bluebar .viewtimetable { display: none; }
    #fares .faressub { padding-bottom: 2px; }
    #fares .faresmain { padding-bottom: 16px; }
    h2 .titlemain { font-size: 1.23em; }
    .accomodationlistings .accomodationitem { padding: 0; }
    .accomodationlistings .accomodationitem .accomodationdetail { padding: 0 20px 30px; box-sizing: border-box; }
    .accomodationlistings .accomodationitem .accomodationimg img { width: 100%; }
    .accomodationfooter { padding: 30px 15px 25px; }
    .accomodationlistings { padding: 27px 15px 0; }
    .gallery .galleryText { padding: 17% 3% 0; }
    .eventitem .eventdetails { width: 100%; float: none; text-align: center; }
    .eventitem .eventimg { width: 100%; text-align: center; margin-bottom: 15px; }
    .eventitem .btn { margin: 0 5px 5px; }
    table.timetable { font-size: 85%; }
    table.timetable tbody tr td { padding: 7px 4px 21px; }
    table.timetable thead th { padding: 15px 0 11px; }
    .timetablepanel .departureslist { width: 47%; margin-right: 3%; float: left; }
    .timetablepanel h4 { font-size: 1.35em; padding-bottom: 30px; }
    .timetablepanel { padding: 35px 15px 40px; }
    .planitem { width: 100%; margin: 0 0 13px; }
    .planitem img { width: 100%; }
    .planitem .planname, .planitem .plandesc p { height: auto!important; }
    .planitem .planname { text-align: left; font-size: 114.5%; border-radius: 2px; padding: 14px 17px; cursor: pointer; }
    .planname .icon.arrow { display: inline-block; float: right; transition: all 0.2s linear; -o-transition: all 0.2s linear; -moz-transition: all 0.2s linear; -webkit-transition: all 0.2s linear;  }
    .planname.active .icon.arrow { transform: rotate(90deg); -ms-transform: rotate(90deg); }
    .plancontent { margin-top: -1px; }
    .awardlogos .awarditem { margin: 5px; }
    .eventribbon { width: auto; }
    .eventbox { width: 100%; margin: 0; }
    .staypanel .staycontent { border-radius: 0; display: block; width: 100%;  padding: 0; margin: 0 0 13px;  border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; }
    .staypanel .stayheader { text-align: left; font-size: 114.5%; border-radius: 2px; padding: 14px 17px; cursor: pointer; margin-bottom: 0; height: auto!important; }
    .staypanel .staycontent a.stayheader { margin-bottom: 0; }
    .staycontentholder.plancontent { padding: 25px 10px 20px; }
    .plansection .sectiontitles .titles .main { font-size: 150%; }
    .plansection .sectiontitles .titles .sub { font-size: 110%; }
    .awardicons { padding: 40px 0 36px; }
    .awardicons img { width: 24%; }
    .featuredevent .eventitem .eventdate { max-width: 100%; }
    .eventitem .eventimg img { width: 100%; }
    .eventitem .eventimg img.eventribbon { width: auto; }
    .featuredribbon { z-index: 1; }

}
@media (max-width: 400px) {
    .photogallery li { width:48%; }
    .photogallery li:nth-child(3n+1) { clear:none; }
    .photogallery li:nth-child(2n+1) { clear:left; }
    .homeawards img { max-width: 30%; }
    .homeawards .rightawards, .homeawards .leftawards { width: 50%; }
    .nextbox { right: -37px; }
    .prevbox { left: -37px; }
    #scrollinfo .container { margin: 0 40px; }
    .nextbox, .prevbox { width: 37px; }
    .prevbox div, .nextbox div { display: none; }
    .infobox .headerbox { font-size: 150%; }
    .redfooter .socialicons a { margin: 5px; display: inline-block; }
    .ticketoption { padding: 25px 15px 18px; }
    .dieselinfopop { width: 100%; padding: 9px 7px 9px 9px; font-size: 87%; }
    .galleryframe { width: 269px; height: 163px; }
    .galleryframe .gallery { width: 162px; height: 55px; top: 24px; }
    .engineinfo .rightButton, .engineinfo .leftButton { margin-top: 10px; }
}
@media (max-width: 350px) {
    #therailway { background-size: 350%; }
    .todo_box .boximg { width: 40%; }
    .todo_box .boxdetails { width: 60%; }
    .languagehalf .newsexpandbody .half { width: 100%; margin: 0; }
    .redfooter .linkhalf { padding: 0; }
    .accomodationlistings .accomodationitem .accomodationdetail .btn.rbtn { margin-left: 0; }
    .timetablekey .keyleft .keydescription { max-width: 84%; }
    table.farestable th, table.farestable td { padding: 12px 3px 10px; }
    .internalpagesmobile .fixedpanel { width: 270px; }
    .internalpagesmobile .fixedpanel a:hover { left: -208px; }
    .awardlogos .awarditem { margin: 2px; }
    table.ui-datepicker-calendar tbody tr td a { padding:5px 5px 5px; }
    .plansection .sectiontitles .titles .main { padding-bottom: 5px; }
    .featuredribbon { width: 30%; }
    .engineinfo { padding: 23px 10px; margin-left: 5px; margin-right: 5px; }
}
@media (max-width: 330px) {
  .galleryframe { width: 229px; height: 145px; }
  .galleryframe .gallery { width: 142px; height: 45px; top: 22px; left: 43px; }
}
@media (max-width: 300px) {
    .fixedpanel .textsection { padding: 15px 8px 15px 7px; }
    .fixedpanel .booking .textsection { padding: 28px 8px 25px 7px; }
    .fixedpanel .booking .iconsection { padding: 20px 11px 16px 11px; }
    .fixedpanel .iconsection { padding: 14px 18px 13px 17px; }
    #therailway { background-size: 430%; }
    .todo_box .boximg { width: 33%; }
    .todo_box .boxdetails { width: 67%; }
    .expandfares_head span { display: inline-block; max-width: 80%; }
    .timetablekey .keyright .keydescription { max-width: 84%; vertical-align: middle; }
    table.timetable { font-size: 79%; }
    table.farestable { font-size: 82.5%; }
    .internalpagesmobile .fixedpanel { width: 240px; }
    .internalpagesmobile .fixedpanel a:hover { left: -178px; }
    .photogallery li { width:98%; }
    .eventfilters { text-align: center; }
    .eventfilters input[type="date"], .eventfilters input[type="text"] { margin: 0 10px 20px; }
    .plansection .sectiontitles .titles { padding-top: 0; }
    .awardicons img { width: 23%; padding: 2px; }
    .awardicons #TA_certificateOfExcellence214 { padding: 2px; }
    .container .multiplenavs .subnav .title { font-size: 90%; }
    .timetabletabs .container { font-size: 120%; }
}
@media (max-width: 270px) {
    .homemobile.fixedpanelholder .fixedpanel { font-size: 91%; }
    .internalpagesmobile .fixedpanel { width: 224px; margin-left: -47px; }
    .internalpagesmobile .fixedpanel .arrow, .internalpagesmobile .fixedpanel .goldarrow { margin-top: 1.5px; }
    .internalpagesmobile .fixedpanel .textsection { font-size: 91%; }

}
@media (max-width: 260px) {
    #therailway { background-size: 560%; }
    .planitem .planname { font-size: 105%; }
    table.farestable { font-size: 70%; }
}

.pagehalf{
    display: flex;
}

.pagehalf div{
    width: 50%;
}

.pagehalf .sideimage{
    margin-left: 20px;
}

.splitcontent{
    display: flex;
}

.halfimage{
    order: 1;
    width: 50%;
    margin-left: 20px;
}

.halfcontent{
    width: 50%;
}

@media(max-width: 960px){
    .splitcontent { flex-direction: column;}
    .halfcontent { width: 100%; }
    .halfimage { width: 100%; margin-left: 0px; }
}

    #pagecontainer .popup{
    position: fixed;
    top: 0px;
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    pointer-events: none;
    z-index: -999;
    transition: all .2s;
  }
  
  #pagecontainer .popup.show{
    opacity: 1;
    pointer-events: all;
    z-index: 999;
  }
  
  #pagecontainer .popup__overlay{
    background-color: grey;
    opacity: 0.8;
    width: 100%;
    position: absolute;
    height: 100%;
  }
  
    .popup__wrapper{
    width: 700px;
    z-index: 1;
    border-radius: 15px;
    overflow: hidden;
    position: relative;
    background-color: white;
    margin: 0px 20px;
	-ms-overflow-style: none;
  }

  .popup__wrapper::-webkit-scrollbar {
	display: none;
  }
  

  #pagecontainer .popup__wrapper{
    max-height: 80vh;
    overflow: scroll;
  }
  
  .popup__img{
    height: 200px;
    object-fit: cover;
    width: 100%;
  }
  
  .popup__content{
    padding: 40px;
    position: relative;
  }

  .popup__g2g{
	position: absolute;
	top: 0;
	right: 0;
	height: 50px !important;
	width: 50px !important;
	margin: 10px;
  }


  .popup__links{
      display: flex;
      justify-content: space-between;
  }

  @media(max-width: 700px){
      .popup__links{
          flex-direction: column;
      }
  }
  
  #pagecontainer .popup__button{
    position: absolute;
    padding: 20px;
    top: 0px;
    display: flex;
    align-items: center;
    right: 0px;
    cursor: pointer;
  }
  #pagecontainer .popup__button:after{
    content: '✕';
    display: block;
    font-size: 2rem;
    color: white;
  }

  .surveyDiv{
      height: 800px;
  }

  .surveyDiv > iframe{
      height: 800px;
  }


  img#covid-g2g{
    position: absolute;
    margin: 20px;
    top: 0;
    right: 0;
    width: 70px !important;
    height: 70px !important;
}

img#g2g{
  width: 100px !important;
  height: 100px !important;
}

@media(min-width: 500px){
  img#covid-g2g{
      width: 100px !important;
      margin: 10px;
      height: 100px !important;
  }

  .container{
      position: relative;
  }
}



/* Timetable */

.timetable{
	margin-bottom: 60px;
}

.timetable__wrapper{
	display: flex;
	flex-wrap: wrap;
}

#pagecontainer .timetable__wrapper{
	display: none;
  }
  
#pagecontainer .timetable__wrapper.toggled{
	display: flex;
	flex-wrap: wrap;
}

.timetable__heading{
	display: flex;
  align-items: baseline;
  text-align: left;
}

.timetable__heading > div{
	width: 50%;
	background-color: #43518E;
	color: white;
	padding: 15px 25px;
	cursor: pointer;
}

.timetable__heading h3{
	padding-bottom: 0px;
}

.timetable__heading > div.toggled{
	width: 50%;
	padding-top: 30px;
	position: relative;
}

#timetable__aira{
  background-color: #FF8727;
}

#timetable__summer{
  background-color: #E64CA5;
}

.timetable__heading > div.toggled::after{
	width: 0; 
	height: 0; 
	border-left: 25px solid transparent;
	border-right: 25px solid transparent;
	content: '';
	display: block;
	position: absolute;
	left: 20px;
}

#timetable__summer:after{
  border-top: 25px solid #E64CA5;
}

#timetable__aira:after{
  border-top: 25px solid #FF8727;
}

.timetable__heading > div:not(.toggled) h3:after{
	content: 'Click to open';
	font-family:'Droid Serif',Georgia,serif;
	display: none;
	font-size: 0.8rem;
	float: right;
	font-style: italic;
	color: white;
}

.timetable__heading > div:last-child.toggled::after{
	left: auto;
	right: 20px;
}

.timetable__pretable{
	width: 100%;
  padding: 20px 0px;
  text-align: left;
}

.timetable__pretable p{
	padding-bottom: 5px;
  color: #1C2A62;
}

.timetable__table{
	width: 100%;
  box-sizing: border-box;
  display: flex;
}

.timetable__table > span{
	font-size: 0.8rem;
	margin-top: 10px;
	margin-bottom: 30px;
	display: block;
}

.timetable__table--section{
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	box-sizing: border-box;
  grid-gap: 10px;
  padding: 5px 0px;
  width: 100%;
  margin: 0px 5px;
}

.timetable__table--content{
  width: 20%;
  padding-right: 20px;
}

.timetable__table--content:first-child h3, .timetable__table--content:first-child p{
	font-weight: 600;
	color: #1C2A62;
}

.timetable__table--content h3{
  margin: 0px;
}

.timetable__table--content > p{
	padding-bottom: 5px;
  padding-top: 0px;
  text-align: left;
}

.timetable__table--title{
	text-align: center;
  color: #1C2A62;
  position: relative;
}

.timetable__table--title p{
	padding: 0px;
}

.timetable__table--cell p{
	padding-bottom: 5px;
	font-size: 0.7rem;
	font-weight: 600;
	color: #1C2A62;
}

.timetable__table--cell{
  position: relative;
}

.timetable__table--icon{
  position: absolute;
  left: 0px;
  top: 50%;
  margin-left: 10px;
  transform: translateY(-50%);
}

.timetable__table--cell span, .timetable__table--title span{
	padding: 8px 0px;
	width: 100%;
	display: inline-block;
	text-align: center;
}

.timetable__table--image{
	text-align: center;
}

.timetable__fullwidth .timetable__table--title{
  margin-right: 10px;
  width: 100%;
  height: 11.8%;
  margin-bottom: 10px;
}

.timetable__fullwidth{
  display: flex;
  flex-direction: column;
}

.timetable__fullwidth .timetable__table--cell{
  width: auto;
  padding: 0px 10px;
  text-align: left;
  height: 100%;
}

@media(min-width: 950px){
	.timetable__table{
    margin-right: 1px;
    display: inline-block;
  }

  .timetable__fullwidth .timetable__table--title{
    margin-right: 10px;
    height: auto;
    margin-bottom: 0px;
    width: 16.5%;
  }

	.timetable__table--cell p{
		font-size: 0.8rem;
  }
  
  .timetable__table--section{
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    width: auto;
    margin: 0px;
  }

  .timetable__fullwidth{
    flex-direction: row;
  }

  .timetable__fullwidth .timetable__table--cell{
    width: 100%;
    padding: 0px 20px;
  }

  .timetable__fullwidth .timetable__table--cell span{
    text-align: left;
  }

  .timetable__table--content{
    width: auto;
  }

  .timetable__table--content h3{
    width: 14.28%;
    display: inline-block;
    padding: 0px;
  }

  .timetable__table--content p{
    display: inline-block;
  }
  
  .timetable__table:last-child .timetable__table--content{
    display: none;
  }
}


.timetable__summer .timetable__table--content:first-child{
	padding-bottom: 0px;
}

.timetable__summer .timetable__table--cell{
	background-color: #F8DDEC;
}
.timetable__summer .timetable__table--title{
  background-color: #E64CA5;
  color: white;
}

.timetable__aira .timetable__table--cell{
	background-color: #FFE5CD;
}
.timetable__aira .timetable__table--title{
  background-color: #FF8826;
  color: white;
}

.timetable__aira .timetable__table--cell p{
	color: #1C2A62;
	text-align: center;
}

.pretable{
	display: flex;
	flex-wrap: wrap;
}

.wideimage{
  padding-bottom: 40px;
}

.wideimage__content p{
  text-align: center;
  padding: 0px;
}

.pretable__content, .pretable__slider{
	width: 100%;
}

.pretable__content img{
	width: 150px !important;
	height: 150px !important;
}

.pretable__content img#twc{
  width: auto !important;
  margin-right: 20px;
}

.underslider{
	margin: 40px 0px;
}

/* Slider */

.slideshow {
	width: 335px;
	height: 250px;
	position: relative;
	display: flex;
	overflow: hidden;
	margin: auto;
	cursor: pointer;
  }

  .slideshow button{
	  display: none;
  }
  
  .slide {
	width: 100% !important;
	height: 100% !important;
	position: absolute;
	transition: all 1s;
	object-fit: cover;
  }

  .slideshow-bottom{
    display: flex;
	  position: relative;
	  padding: 10px 0px;
  }

  .slideshow-bottom span{
    cursor: pointer;
    display: block;
  }

  .slideshow-bottom p{
    font-size: 1.6rem;
    padding: 0px;
    font-weight: 700;
    display: block;
  }
  
  .slide-nav {
	display: flex;
	position: absolute;
	right: 0;
	justify-content: space-between;
  }
  
  .slide-button {
	width: 30px;
	height: 20px;
	cursor: pointer;
	margin-left: 20px;
	font-size: 1.6rem;
  }

  .slide-button:first-child{
	  margin-left: 0px;
  }

  .slideshow-bottom span{
	display: none;
}


  @media(min-width: 600px){
	.slideshow{
		width: 450px;
		height: 350px;
	}

	.timetable__heading > div:not(.toggled) h3:after{
		display: inline-block
	}

	.slideshow-wrapper.toggled .slideshow-bottom{
		position: absolute;
		bottom: 254px;
	}

	.slideshow-wrapper.toggled .slide-button{
		width: 25px;
	}

	.slideshow-bottom span{
		display: inline-block;
	}

	.slideshow-wrapper.toggled .slideshow-bottom, .slideshow-wrapper.toggled .slide-nav{
		width: 450px;
	}

	.slideshow-wrapper.toggled .slideshow button{
		display: block;
		position: absolute;
		right: 0;
		top: 0;
		width: 30px;
		height: 20px;
		border: 0px;
		font-size: 1.6rem;
		padding: 0px;
		background-color: transparent;
		cursor: pointer;
	}

	.slideshow-wrapper.toggled{
		position: fixed;
		height: 100%;
		width: 100%;
		justify-content: center;
		flex-direction: column;
		align-items: center;
		display: flex;
		left: 0px;
		top: 0px;
		z-index: 1;
    }
    
    .main__container{
      position: relative;
      z-index: 10;
    }

	  .slideshow-wrapper.toggled .slideshow-bottom span, .slideshow-wrapper.toggled .slideshow-bottom p {
		  display: none;
	  }
	
	  .slideshow-wrapper.toggled .slide-nav{
		  position: relative;
	  }
	
	  .slideshow-wrapper.toggled .slideshow{
		  width: 550px;
		  height: 380px;
		  cursor: auto;
	  }
	
	  .slideshow-wrapper.toggled .slideshow-overlay{
		content: '';
		display: block;
		height: 100%;
		width: 100%;
		background-color: #999;
		opacity: 0.8;
		position: absolute;
	  }
  }

  @media(min-width: 950px){
	.pretable__content, .pretable__slider{
		width: calc(50% - 20px);
	}
	

	.pretable__content{
		margin-right: 40px;
	}

	.slideshow{
		width: 100%;
		height: 380px;
	}

	.slideshow-wrapper.toggled .slideshow-bottom, .slideshow-wrapper.toggled .slide-nav{
		width: 800px;
	}

	.slideshow-wrapper.toggled .slideshow{
		width: 800px;
		height: 565px;
	}

	.slideshow-wrapper.toggled .slideshow-bottom{
		position: absolute;
		top: 50%;
		transform: translateY(-10%);
	}
}

.fare__container{
  padding: 40px;
  margin-bottom: 40px;
}

.fares{
  background-color: #FFF9EE;
}

.fares h3{
  color: #9B2D40;
  text-transform: uppercase;
}

.fare__col{
  display: grid;
  grid-template-columns: 1fr 1fr;
  text-align: center;
  margin: 5px 0px;
}

.fare__col p{
  padding: 0px;
  font-weight: 700;
  text-transform: uppercase;
}

.fare__col > div{
  padding: 20px;
}

.fare__col--left{
  background-color: #FFEFD0;
}

.fare__col--right{
  background-color: white;
}

.fare__text{
  padding: 10px 20px;
  text-align: center;
}

.fare__content{
  padding-top: 40px;
}

.fare__content p{
  padding: 15px;
  border-top: 1px solid #9B2D40;
}
.fare__content p:last-child{
  border-bottom: 1px solid #9B2D40;
}


.observation{
  background-color: #FAF4F5;

}

.fare__header{
  padding-bottom: 20px;
  border-bottom: 1px solid #3F4462;
}

.fare__header .btn{
  display: block;
  margin-top: 20px;
}

.fare__header h3{
  display: inline-block;
  color: #3F4462;
  padding: 0px;
  text-transform: uppercase;
}

.fare__prices{
  border-bottom: 1px solid #3F4462;
  padding: 20px 0px;
}

.fare__prices p{
  padding: 0px;
}

.fare__contents{
  padding-top: 20px;
}

.fare__contents p{
  padding: 0px;
}

.fare__table{
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px;
}

.fare__table--col{
  display: flex;
  flex-direction: column;
  margin: 2px;
  text-align: center;
  flex-grow: 1;
}

.fare__table--col:nth-child(odd) .fare__table--title p{
  background-color: #9B2D40;
}

.fare__table--cell{
  margin: 2px 0px;
}

.fare__table--cell p{
  padding: 10px;
  width: 100%;
  background-color: white;
  box-sizing: border-box;
}

.fare__table--title p{
  padding: 10px;
  width: 100%;
  background-color: #3F4462;
  box-sizing: border-box;
  color: white;
  font-weight: 700;
}

.picnics{
  background-color: #F5F6F7;
}

.eskdale{
  background-color: #FAf4F5;
}

.tea{
  background-color: #F8FAF4;
}

.tea .fare__table--col:nth-child(3) .fare__table--title p{
  background-color: #F2984B;
}

.residents__header{
  background-color: #E3E3E3;
  border-radius: 15px 15px 0px 0px;
  padding: 0px 40px;
}

.residents__content{
  background-color: #f4f4f4;
  border-radius: 0px 0px 15px 15px;
  padding: 20px 40px;
}

.residents__content p{
  padding: 0px;
}

.residents__btns{
  margin-top: 15px;
}

.residents__btns .btn{
  margin-right: 20px;
}

.residents__header h3{
  padding: 20px 0px;
  color: #9B2D40;
  text-transform: uppercase;
}

@media(min-width: 950px){
  .fare__container{
    padding: 80px;
  }

  .fare__header .btn{
    float: right;
    margin-top: 0px;
    display: inline-block;
  }
}