
/* --------------------------------------------------------------------------
   CSS Variables / Design Tokens
   -------------------------------------------------------------------------- */
:root {

  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-xl: 24px;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.1);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.15);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.2);


  --colour-design-primary: #7DB336;
  --colour-design-secondary: #006FAB;
  --colour-design-tertiary: #004780;

  --fg-design-primary: #000;
  --fg-design-secondary: #fff;
  --fg-design-tertiary: #fff;


  --top-swoosh-design-primary:url('images/primary_top_swoosh.png');
  --top-swoosh-design-secondary:url('images/secondary_top_swoosh.png');
  --top-swoosh-design-tertiary:url('images/tertiary_top_swoosh.png');

  --bottom-swoosh-design-primary:url('images/primary_bottom_swoosh.png');
  --bottom-swoosh-design-secondary:url('images/secondary_bottom_swoosh.png');
  --bottom-swoosh-design-tertiary:url('images/tertiary_bottom_swoosh.png');

}


*{
	margin:0;
	padding:0;
}
body{
	background-color: white;
	font-size: 18pt;
	margin:0px;
	padding:0px;
	background: -moz-linear-gradient(top,  rgba(229,229,229,0.65) 0%, rgba(255,255,255,0) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  rgba(229,229,229,0.65) 0%,rgba(255,255,255,0) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(229,229,229,0.65) 0%,rgba(255,255,255,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6e5e5e5', endColorstr='#00ffffff',GradientType=0 ); /* IE6-9 */

}
a{
	color:var(--colour-design-tertiary);
}
@font-face {
    font-family: Transport;
	src: url('HittheRoad.eot');
	src: local('Hit the Road Regular'), local('HittheRoad'),
		url('HittheRoad.eot?#iefix') format('embedded-opentype'),
		url('HittheRoad.woff2') format('woff2'),
		url('HittheRoad.woff') format('woff'),
		url('HittheRoad.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}
#page{
	margin: 0 auto;
	width: 80%;
    font-family: Transport, 'Arial';
}
#header {
background-color:white;
}
.menu ul, .menu li, #footer ul, #footer li {
    display:inline;
	padding:0;
	margin:0;
}
#header h1 a{
	position:absolute;
	overflow: hidden;
	width:240px;
	height:57px;
	padding:15px;
	font-size:0px;
	text-indent: -300px;
	background-image:url('images/nationalpti_logo.png');
	background-repeat:no-repeat;
	background-size: contain;
	background-position:center center;
	z-index: 999;
}
#header hr{
	display:none;
}
.menu a{
    text-decoration:none;
}
.menu a:hover{
    text-decoration:underline;
}
.menu a:active{
    color:gray;
}


#header #accessibility{
	background-color:#fff;
	line-height: 60px;
	text-align:right;
	padding-right:20px;
}
#header #accessibility #textdec, #header #accessibility #textinc{
	height:26px;
	width:20px;
	display:inline-block;
	overflow:hidden;
	text-indent:-800px;
	line-height:100px;
	
	text-decoration:none;
	background-image:url('images/acc.png');
}
#header #accessibility #textdec{
	background-position:left top;
}
#header #accessibility #textinc{
	background-position:right top;
}

#header #accessibility #highcontrast{
	display:none;
}
#header #mainmenu .menu, #bg #submenu .menu {
	padding:2px;
	min-height: 28px;
	line-height: 28px;
}
#bg #submenu .menu {
	background-color:var(--colour-design-primary);
	margin-left:440px;
}
#header #mainmenu .menu{
	margin-left:350px;
	background-color:var(--colour-design-secondary);
}
#bg #submenu, #header #mainmenu{
	position:relative;
	overflow:hidden;
	background-repeat:no-repeat;

}
#bg #submenu{
	background-image:var(--bottom-swoosh-design-primary);
	background-position:left bottom;
	margin-bottom:20px;
}
#header #mainmenu{
	background-image:var(--top-swoosh-design-secondary);
	background-position:left top;
	border-bottom:3px solid white;
}
#bg #submenu h3, #header #mainmenu h3{
	width: 380px;
	float:left;
	overflow:hidden;
	display:none;
}
#bg #submenu hr, #header #mainmenu hr{
	width: 200px;
	background-color:red;
	position:absolute;
	
	top:20px;
}
#header #mainmenu{
}
#header #mainmenu a, #bg #submenu a, #footmenu a{
	padding:5px 10px;
	white-space:nowrap;
}
#header #mainmenu a{
	color:var(--fg-design-secondary);
}
#bg #submenu a{
	color:var(--fg-design-primary);
}


#content{
	margin-left:380px;
	margin-top:50px;
	max-width:1080px;
}
#content h3{
	color:#003311;
	padding-left:20px;
}
#content h2{
	color:#003311;
}
#article {
    font-family: 'Arial';
}
#article h1, #article h2, #article h3, #article h4, #article h5, #article h6{
    font-family: Transport, 'Arial';
    padding: 20px;
    color: #003311;
}
#article h1{
	font-size: 240%;
	padding:10px;
	letter-spacing: -1px;

}
#article h2{
	font-size: 180%;
	letter-spacing: -1px;
	padding:10px;
}
#article {
	display: table;
	margin:10px;
	padding:10px;
	font-size: 80%;
}
#article:nth-child(n) {
    filter: none;
}
#article p {
    padding:20px 20px;
    letter-spacing: -0.5px;
}
#article ul , #article ol {
    padding:20px 20px;
    padding-left: 80px;
}
#article li {
    letter-spacing: -0.5px;
}
.whitetrans{
	background:rgb(255,255,255);
    background: transparent\9;
    background:rgba(255,255,255,0.7);
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7fffffff,endColorstr=#7fffffff);
    zoom: 1;
        -webkit-transition: background-color 500ms linear;
        -moz-transition: background-color 500ms linear;
        -o-transition: background-color 500ms linear;
        -ms-transition: background-color 500ms linear;
        transition: background-color 500ms linear;
}
.whitetrans:nth-child(n) {
    filter: none;
}
.whitetrans:hover, .whitetrans:focus, .whitetrans:active{
	background:rgba(255,255,255,1);
	
}
#app{
	width:300px;
	float:left;
	clear: left;

	margin:30px;
	display: inline;

	border-radius:15px;
	padding:20px 0;
}
.home #app{
	float: none;
	display: block;
	margin:30px auto;
	text-align:center;
	position: absolute;
	top: 10px;
	left: 30px;
}
#form, #opsearch, #app{
	background-color:#eee;
	border-radius:20px;
	border:3px solid var(--colour-design-secondary);
	padding:2px;
}
#opsearch{
	margin:20px;
}
#opsearch form{
	padding:20px !important;
}
#operatorresults{
	display:none;
}
#matchingoperators{
	background-color:#ccc;
}
#form{
	margin:30px;
	margin-top:0px;
	width:300px;
	float:left;
	display: inline;
	text-align:center;
}
.home #homebanner h2 span{
	white-space: nowrap;
}
.home #homebanner h2{
	color:#444;
	text-align: center;
	font-size: 80%;
	text-shadow: 0px 0px 4px white;
	line-height:30px;
	padding:20px 0px;
	letter-spacing: -1px;
	font-family: 'Arial';
}
.home #form{
	width:auto;
	text-align:center;
	background-color:#eee;
	border-radius:20px;
	border:3px solid var(--colour-design-secondary);
	padding:2px;
	margin:auto 30px;
	float:none;
	display:block;
	margin:30px auto;
	min-width: 300px;
	width: 40%;
	margin-top: 120px;
}
.home #form form{
	padding:20px 3px;
}
#form form, #opsearch form, #app #borders{
	padding:3px;
	margin:0px;
	border-radius:17px;
	border:3.5px solid var(--colour-design-primary);
}
#app #borders{
	padding:0px;
}
#app #borders #appy{
	font-size: 90%;
	margin: 20px;

}
#app #borders #appy #applinks{
	text-align: center;
}
#app #borders #appy h3{
	text-align: center;
	font-weight: normal;
	padding: 18px 0px;
	color: #003311;

}
#app #borders #appy h3 strong{
	color: #677a20;
}
#form form .signpost{
	background-image:url('images/signwide.png');
	background-color:transparent ;
	color: black;
	width:215px;
	height:50px;
	padding:0px;
	margin:20px;
	border:none;
	
	text-indent:-10px;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	font-size: 90%;
}
#form form input, #opsearch form input{
	text-align:center;
	font-size:100%;
	max-width:251px;
	padding:5px;
	margin:10px;
	border-radius:5px;
	border:2px solid #ccc;
	font-family: Transport, 'Arial';
}
#form form h3{
	margin:15px 0px;
	color:#3a3a3a;
}

#footer{
	text-align:center;
	font-family: Transport, 'Arial';
}

#footmenu{
	padding:50px;
	padding-bottom: 200px;
	background-image: url('images/nationalptibw.png');
	background-repeat: no-repeat;
	background-position: center bottom 50px;
}

#adv, #adh{
	display:block;
}
#adh{ 
	padding:30px;
	text-align:center;
}
#adv{
	margin-left: 20px;
	clear:right;
	float:right;
}


.home #adv{
	position:absolute;
	right:10px;
	top:45px;
}
#operatorresults{
	padding-left:10px;		
}

#operatorresults p{
	padding: 0px;
	padding-top:15px;
	padding-left: 15px;	
}


#bg{
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	background-repeat: no-repeat;
	background-position:50% 50%;
	background-position:50% 50%;
	background-attachment: fixed;

	min-height:700px;
	position:relative;
	background-color: #98afb9 ;
	background-image: url('data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA9AAD/4QNVaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzEzMiA3OS4xNTkyODQsIDIwMTYvMDQvMTktMTM6MTM6NDAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYzOTAyOTFENjQ2MzExRTY4OTM2Q0QwQzQ2NDcwREEyIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYzOTAyOTFDNjQ2MzExRTY4OTM2Q0QwQzQ2NDcwREEyIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1LjUgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmODE4NjNlOC02NDRiLTExZTYtOGJlYi1mMTI3NTExMjQ5YTIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmODE4NjNlOC02NDRiLTExZTYtOGJlYi1mMTI3NTExMjQ5YTIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkKCAYGCAoMCgoKCgoMDwwMDAwMDA8MDg4PDg4MEhIUFBISGhoaGhoeHh4eHh4eHh4eAQcHBwwLDBcPDxcaFBEUGh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAKABQDAREAAhEBAxEB/8QAZwABAAMAAAAAAAAAAAAAAAAABQMEBgEBAQADAQAAAAAAAAAAAAAAAwQAAQIFEAAAAwcFAAAAAAAAAAAAAAAAAQQRMQISQgMGMjNDBRURAQACAwEBAAAAAAAAAAAAAAABAjEDBBMU/9oADAMBAAIRAxEAPwBldlaq2RvGqdsJraQl3MFlyKVpjm/UyupH7a1k7TAfYXyW+3cekeZGVVmfg3aQlsDgnwUCcr//2Q==');
}

#bgwrap{

	background-repeat: no-repeat;
	background-position:50% 50%;
	background-attachment: fixed;
	
	min-height:700px;

	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;




	position:relative;

}

#screenreader, #accessibility span{
	display: none;
}


#bgshow{
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position:50% 50%;
	background-attachment: fixed;

	position: absolute;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover;
        background-size: cover;
        -webkit-transition: opacity 3000ms linear;
        -moz-transition: opacity 3000ms linear;
        -o-transition: opacity 3000ms linear;
        -ms-transition: opacity 3000ms linear;
        transition: opacity 3000ms linear;
}

#bg .hide{
	opacity: 0;
}
#bg .show{
	opacity: 1;
}

#operators{

}
#matchingoperators{
	height: 200px;
	overflow-y: scroll;
}


#cookies{
	position: absolute;

	background-color:#404040;
	color:white;
	width: 700px;
	font-family: Arial;
	font-size: 60%;
	padding:10px;
	border-radius: 8px; 


top:72px;
	margin: auto;
left: 0;
right: 0;
text-align: center;
}
#cookieclose{
	float:right;

}
#cookies a{
	color:#ccc;
	cursor: pointer;
}
#cookies img{
	float:left;
	padding-right:5px;
}

#cookieclose a{
	padding: 10px;
}


.travelalert{
	background-color: #ddccbb;
	background-image: url('images/alert.png');
	background-repeat: no-repeat;
	background-position: 10px 15px;
	padding: 18px;
	padding-left: 60px;
	text-align: left;
	font-size: 100%;
}

.travelalert hr, .travelalert p{
	margin:20px 0px;
	font-family: Arial;
}
.travelalert .extrainfo{
	float:right;
}












/* #### Desktops #### */
@media screen and (max-width: 2000px){
  #page{
  width:100%;
  }
}


@media screen and (min-width: 1700px){
	#adv{
	position:absolute;
	right:-170px;
	top:20px;
	}
	.home #adv{
	position:absolute;
	right:10px;
	top:45px;
	}
	.home #form{
		border-radius: 50px;
	}
	.home #form form{
		border-radius: 47px;
	}
	#content{
		margin:50px auto;
		position: relative;
		left: 50px;
	}
}

@media screen and (max-width: 1300px){
	#clearer{
		height:160px;
	}
	#adh{
		position: absolute;
		left:0px;
		width:100%;
		overflow: hidden;
		padding:30px 0px;
	}
	.home #adh{
		position: relative;
	}
	.home #app{
		position: unset;
	}
}

@media screen and (max-width: 1000px){
	#header #mainmenu .menu, #bg #submenu .menu{
		margin-left:0px;
		text-align:center;
	}
	#content {
		margin-left:0px;
		margin-top:0px;
		float:left;
	}
	#form{
		width:auto;
		display:block;
		float:none;
	}
	#form form h3{
		margin:0;
		margin-top:15px;
	}
	#header #accessibility{
		line-height:82px;
	}
	#app{
	display:none;
	}
	#form form .signpost{
		margin:10px;
	}
	#form form input{
		margin:10px;
	}
}



@media screen and (max-width: 750px){
	#form, #form form, .home #bg #form{
		width:auto;
		display:block;
		float:none;
		padding:0px;
		margin:0px;
		border:0;
		border-radius: 0px;
	}
	.home #adv{
		display: none;
	}
	.home #bg #form form{

		border-radius: 0px;
		padding:0px;
	}
	#form form  h3{
		margin:0;
		padding: 10px 0px;
	}
	#bg #submenu{
		margin-bottom: 0px;
	}
	#form form .signpost{
		margin: 10px 65px;
	}
	#article{
		margin:0px;
	}
	#content{
		float: none;
		overflow-x: hidden;
	}
	#cookies{
		border-radius: 0px;
		position: relative;
		display: block;
		width: auto;
		top:0px;
	}
}


#service_info{
	margin:30px auto;
	width: 80%;

	border-radius:20px;
	background-color: #fff;
	box-shadow: 0px 0px 20px #999;
}

#service_info ul li{
	margin: 0px;
	padding: 0px;
	list-style-type: none;
}
#service_info ul{
	margin: 0px;
	padding: 0px;
	list-style-type: none;
}
#service_info ul li:nth-child(odd){
	background-color: #eee;
}
#article #start_journey,
#article #end_journey{
border-radius: 10px;
margin: 10px;
padding: 4px;
}
#article #start_journey a,
#article #end_journey a{
color: white;
padding: 10px;
border-radius: 8px;
border: 3px solid white;
display: block;
text-decoration: none;
}
#article #start_journey a:hover,
#article #end_journey a:hover{

text-decoration: underline;
}
#start_journey{
	float: left;
	background-color: var(--colour-design-secondary);
}
#end_journey{
	float: right;
	background-color: #2f6d84;
}

.stop_list ul li a div{
	float:left;
	background-color: black;
	border-radius: 10px;
	color:white;
	text-decoration: none;
	font-family: Arial;
	margin: 5px;
	padding: 5px;
	margin-right:15px;



    font-weight: bold;
    font-size: 150%;
    max-width: 200px;
    white-space: nowrap;
    overflow: hidden;
    background-color: black;
    color: 
white;
padding: 10px;
background: rgb(76,76,76);
background: -moz-linear-gradient(top, rgba(76,76,76,1) 0%, rgba(0,0,0,1) 100%);
background: -webkit-linear-gradient(top, rgba(76,76,76,1) 0%,rgba(0,0,0,1) 100%);
background: linear-gradient(to bottom,
rgba(76,76,76,1) 0%,
    rgba(0,0,0,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4c4c4c', endColorstr='#000000',GradientType=0 );


}
#article .stop_list h3{
	padding-bottom: 0px;
}
.stop_list ul li a div img{
	padding-left: 5px;
}
.stop_list ul li > p{
	text-align: center;
}
.stop_list ul li{
	overflow: auto;
}
.stop_list ul li a {
	text-decoration: none;
}
.stop_list ul li a:hover {
	text-decoration: underline;
}

.county_service{
	margin-top: 10px;
	display: block;
}
#filter_box{
font-size: 120%;
padding:10px;
display: block;
}
#filter_box input{
border-radius: 8px;
font-size: 100%;
border:3px solid #888;
padding: 5px;
}





