@charset "utf-8";
/* CSS Document */
body {
	margin: 0;
}
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
	nav ul li a {
		padding: 0 10px 0 10px !important;
	}
	nav ul ul li a {
		padding: 10px 30px 10px 20px !important;
	}
}
#mobile_return {
   bottom: 0; width: 100%; text-align: center; /*Leave this line alone */
   position: fixed;
   height: 4.5em;
   z-index: 9999999999999999999;
   background: #132B4F; /* Change this background colour */
}
#mobile_return a { 
   font-size: 1.7em; line-height: 2.8em; vertical-align: middle; text-decoration: none; /*Leave this line alone */
   font-family: Arial, sans-serif;
   color: #ffffff; /* Change this text colour */
}
#nav {
	z-index: 99999999999999999999999999999999999999999;
}
h1:first-of-type {
	margin-top: 0;
}
p:first-of-type {
	margin-top: 0;
}
h1:last-of-type {
	margin-bottom: 0;
}
p:last-of-type {
	margin-bottom: 0;
}
img.sop {
	opacity: 1;
	transition: 0.3s;
}
a.timetables .heading-dark-sm {
	text-decoraton: none;
}
a.timetables .main-dark-sm {
	text-decoraton: none;
}
.grey-box {
	padding: 5px;
}
img.sop:hover {
	opacity: 0.4;
}
.cancelled-route {
	padding: 30px 0;
	text-align: center;
	background-color: #CC0033;
}
/*.cancelled-route a:after { 
	font: normal 400 17px/28px 'Open Sans', sans-serif;
	color: white;
	content: 'Delayed or Cancelled Routes - Click to Find Out More';
}*/
.cancelled-route a {
	color: white;
	text-decoration: none;
	font: normal 400 17px/28px 'Open Sans', sans-serif;
}
.cancelled-route a:before { 
	content: '\e160';
	font-family: Material Icons;
	vertical-align: -16px;
	font-size: 45px;
	padding-right: 15px;
}
nav {
	width: 100%;
	
	padding: 0;
	background: #f4f4f4;
	height: 55px;
}
nav ul {
	list-style: none;
	text-align: center;
	padding: 0;
	margin: 0;
}
nav ul li {
	display: inline-block;
}
nav ul li a {
	text-decoration: none;
	color: #132B4F;
	font: normal 600 16px/54px 'Open Sans', sans-serif;
	transition: 0.5s;
	display: inline-block;
	padding: 0 18px 0 18px;
}
nav ul li a:last-of-type {
	marign-right: 0 !important;
}
nav ul li a:hover {
	background-color: #132B4F;
	color: white;
}
nav ul ul {
	display: none;
	position: absolute; 
	top: 54px; /* the height of the main nav */
	text-align: left;
	left: 0;
	z-index: 999999999999999999999999999999999999999999;
	width: 360px;
}
	
/* Display Dropdowns on Hover */
nav ul li:hover > ul {
	display: inherit;
}
	
/* First Tier Dropdown */
nav ul ul li {
	float: none;
	display: list-item;
	position: relative;
	transition: 0.3s;
}
nav ul ul li a {
	display: block;
	background-color: #132B4F;
	color: white !important;
	padding: 10px 30px 10px 20px;
	border-radius: 0;
	margin: 0;
	transition: 0.3s;
	font: normal 400 13px/20px 'Open Sans', sans-serif;
}
nav ul ul li a:hover {
	border-left: solid 4px white;
}

/* Second, Third and more Tiers	*/
nav ul ul ul li ul {
	position: relative;
	left: 250px;
	top: -60px; 
	margin-left: 0;
}

/* Change this in order to change the Dropdown symbol */
li > a:after { content: '\e313'; font-family: Material Icons; vertical-align: -2px; font-size: 15px; padding-left: 7px; }
li > a:only-child:after { content: ''; padding-right: 0; vertical-align: 0; }


.bread {
	font: normal 300 15px/25px "Times New Roman", Times, serif;
	color: #ffffff;
}
.bread a {
	text-decoration: none;
}
.tel-number {
	font: normal 400 30px/30px "Times New Roman", Times, serif;
	color: #fff;
	text-decoration: none;
}
.logo-hatchgreen {
	font: normal 400 56px/56px "Times New Roman", Times, serif;
	color: white;
	text-decoration: none;
	padding: 0 20px;
}
.logo-coaches {
	font: normal 400 25px/25px "Times New Roman", Times, serif;
	color: white;
	text-decoration: none;
	text-indent: 20px;
}

#footer .logo-hatchgreen {
	font: normal 400 36px/36px "Times New Roman", Times, serif;
	color: white;
	text-decoration: none;
	border-radius: 5px;
}
#footer .logo-coaches {
	font: normal 400 18px/18px "Times New Roman", Times, serif;
	color: white;
	text-decoration: none;
	border-radius: 5px;
}
#footer .nav {
	font: normal 700 14px/14px 'Open Sans', sans-serif;
	color: white;
	text-decoration: none;
}
#footer .details {
	font: normal 400 14px/14px 'Open Sans', sans-serif;
	color: #1A1E3B;
}
#footer .details a {
	color: #CC0033;
	text-decoration: none;
}
.quote {
	font: normal 400 24px/44px 'Open Sans', san-serif;
	color: #616d75;
	letter-spacing: -1px;
}

.service-box {
	position: relative;
	top: 0px;
	margin-top: 0;
	transition: 0.3s;
}
.service-box:hover img.sop {
	opacity: 0.4;
}

.service-box .main {
	font: normal 400 15px/23px 'Open Sans', sans-serif;
	color: #383a40;
}
.service-box .heading {
	font: normal 400 26px/35px 'Open Sans', sans-serif;
	color: #444;
}
.service-box .subheading-orange {
	font: normal 600 13px/13px 'Open Sans', sans-serif;
	color: #fcb03c;
}
.service-box .subheading-green {
	font: normal 600 13px/13px 'Open Sans', sans-serif;
	color: #c7db58;
}
.service-box .subheading-blue {
	font: normal 600 13px/13px 'Open Sans', sans-serif;
	color: #69cbdb;
}
.service-box .subheading-red {
	font: normal 600 13px/13px 'Open Sans', sans-serif;
	color: #CC0033;
}
.service-box .subheading-purple {
	font: normal 600 13px/13px 'Open Sans', sans-serif;
	color: #7C206B;
}
.service-box .subheading-darker-green {
	font: normal 600 13px/13px 'Open Sans', sans-serif;
	color: #017A82;
}
.reviews-box {
	background-color: #132B4F;
}
.reviews-box .main {
	font: normal 300 15px/27px 'Open Sans', sans-serif;
	color: #eeeeee;
}
.reviews-box .heading {
	font: normal 500 22px/22px 'Open Sans', sans-serif;
	color: #ffffff;
}
.reviews-box .heading2 {
	font: normal 400 15px/23px 'Open Sans', sans-serif;
	color: #CC0033;
}
.reviews-box-container {
	position: relative;
}

.heading2 {
	font: normal 700 17px/23px 'Open Sans', sans-serif;
	color: #CC0033 !important;
}
.heading {
	font: normal 500 34px/46px 'Open Sans', sans-serif;
	color: #1A1E3B;
	letter-spacing: -1px;
	text-decoration: none;
}
.heading-white {
	font: normal 500 34px/46px 'Open Sans', sans-serif;
	color: #ffffff;
	letter-spacing: -1px;
	text-decoration: none;
}
.heading-black {
	font: normal 500 34px/46px 'Open Sans', sans-serif;
	color: #242930;
	letter-spacing: -1px;
	text-decoration: none;
}
.heading-white {
	font: normal 500 34px/46px 'Open Sans', sans-serif;
	color: #ffffff;
	letter-spacing: -1px;
	text-decoration: none;
}
.heading-dark-sm {
	font: normal 700 17px/28px 'Open Sans', sans-serif;
	color: #333333;
	text-decoration: none;
}
.heading-lightgreen-sm {
	font: normal 500 20px/30px 'Open Sans', sans-serif;
	color: #C7DB58;
	text-decoration: none;
}
.heading-red-sm {
	font: normal 500 20px/30px 'Open Sans', sans-serif;
	color: #CC0033;
	text-decoration: none;
}
.heading-purple-sm {
	font: normal 500 20px/30px 'Open Sans', sans-serif;
	color: #7C206B;
	text-decoration: none;
}
.heading-teal-sm {
	font: normal 500 20px/30px 'Open Sans', sans-serif;
	color: #017A82;
	text-decoration: none;
}
.heading-lightblue-sm {
	font: normal 500 20px/30px 'Open Sans', sans-serif;
	color: #69cbdb;
	text-decoration: none;
}
.heading-orange-sm {
	font: normal 500 20px/30px 'Open Sans', sans-serif;
	color: #FCB03C;
	text-decoration: none;
}
.heading-white-sm {
	font: normal 500 20px/30px 'Open Sans', sans-serif;
	color: #ffffff;
	text-decoration: none;
}
.main {
	font: normal 400 17px/32px 'Open Sans', sans-serif;
	color: #777777;
	text-decoration: none;
}
.main-dark {
	font: normal 400 17px/32px 'Open Sans', sans-serif;
	color: #242930;
	text-decoration: none;
}
.main-sm-dark {
	font: normal 400 15px/28px 'Open Sans', sans-serif;
	color: #242930;
	text-decoration: none;
}
.main-sm {
	font: normal 400 15px/28px 'Open Sans', sans-serif;
	color: #777777;
	text-decoration: none;
}
.caption {
	font: normal 400 15px/28px 'Open Sans', sans-serif;
	color: #1A1E3B;
	text-decoration: none;
}

a.link {
	font: normal 700 15px/27px 'Open Sans', sans-serif;
	color: #ffffff;
	text-decoration: none;
	padding: 14px 22px 14px 22px;
	background-color: #CC0033;
}
.button-blue {
	font: normal 700 14px/14px 'Open Sans', sans-serif;
	background: #132B4F;
	display: inline-block;
	padding: 18px 20px;
	text-decoration: none;
	color: white;
}
.button-blue:hover {
	filter: brightness(85%);
}
.button-border {
	font: normal 700 14px/14px 'Open Sans', sans-serif;
	border: solid 3px #CC0033;
	display: inline-block;
	padding: 18px 20px;
	text-decoration: none;
	color: white;
}
.button-border:hover {
	filter: brightness(85%);
	background: #CC0033;
}
.button {
	font: normal 700 14px/14px 'Open Sans', sans-serif;
	background: #CC0033;
	display: inline-block;
	padding: 18px 20px;
	text-decoration: none;
	color: white;
}
.button:hover {
	filter: brightness(85%);
	box-shadow: 0px 3px 10px rgba(26,26,26,0.4);
}
.button2 {
	font: normal 700 14px/14px 'Open Sans', sans-serif;
	background: #CC0033;
	display: inline-block;
	padding: 18px 20px;
	text-decoration: none;
	color: white;
	transition: 0.4s ease;
}
.button2:hover {
	background-color: #9b1f3e;
}
.button-important-notice {
	font: normal 700 14px/14px 'Open Sans', sans-serif;
	background: #CC0033;
	display: inline-block;
	padding: 18px 20px;
	text-decoration: none;
	color: white;
}
.button-important-notice:hover {
	filter: brightness(85%);
}
.parallelogram {
  transform: skew(-15deg);
}
.skew-fix {
  display: inline-block;
  transform: skew(15deg);
}
.skew-fix:hover {
	filter: brightness(100%) !important;
	box-shadow: none;
}
ul.tick2 {
  margin-top: 0;
  padding-left: 2.5em;
  list-style-type: none;
}
ul.tick2 li:before {
  position: absolute;
  margin-left: -1.6em;
  font-weight: 500;
}
ul.tick2 li:before {
  content: "\2714";
  color: #CC0033;
  font-size: 20px;
}
ul.tick {
  margin-top: 0;
  padding-left: 2.5em;
  list-style-type: none;
}
ul.tick li:before {
  position: absolute;
  margin-left: -1.6em;
  font-weight: 500;
}
ul.tick li:before {
  content: "\2714";
  color: #CC0033;
}
li a.link {
	font: normal 400 14px/24px 'Open Sans', sans-serif;
	color: #1F2235;
	padding: 0;
	background-color: transparent;
	text-decoration: underline;
}
.angled-box .main {
	font: normal 300 13px/23px 'Open Sans', sans-serif;
	color: #777777;
}
.angled-box .heading {
	font: normal 500 20px/20px 'Open Sans', sans-serif;
	color: #1F2235;
}

.intro .heading {
	font: italic 700 47px/50px 'Open Sans', sans-serif;
	color: #242930;
	letter-spacing: -2px;
}
.intro .heading2 {
	color: #242930 !important;
	font-weight: 400 !important;
	font-size: 15px;
}
.group-pic {
	position: absolute;
    left: 50%;
    margin-left: -200px;
    top: -195px;
    width: 340px;
    height: auto;
    overflow: hidden;
}
.home-angle {
	position: absolute;
    left: 50%;
    margin-left: -790px;
    margin-top: -90px;
}
input[type=text], select {
    width: 100%;
    padding: 12px 20px;
    margin: 8px 0;
    display: inline-block;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
}
input.submit-button {
	display: block;
	width: 250px;
	height: 50px;
	color: #ffffff;
	background-color: #7CB82F;
	border: #7CB82F thin solid;
	border-radius: 4px;
	font-family: 'Open Sans', sans-serif;
	font-size: 14px;
	line-height: 50px;
	transition: 0.3s ease;
}
input.submit-button:hover {
	background-color: #CC0033;
	border: #CC0033 thin solid;
	color: #ffffff;
	cursor: pointer;
}
textarea {
    width: 100%;
    height: 150px;
    padding: 12px 20px;
	margin: 8px 0;
    box-sizing: border-box;
    border: 1px solid #ccc;
    border-radius: 4px;
    resize: none;
}





.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

.galleryWrapper {
  width: 100%;
}

.galleryWrapper,
.imageBox {
  max-width: 60rem;
}


.imageLink {
  display: inline-block;
}

.imageLink,
.imageBox {
  line-height: 0;  
}

.imageBox,
.largeImage,
.image,
.imageCaption {
  width: 100%;
}

.image,
.largeImage {
  -webkit-transform: perspective(1px);
  -moz-transform: perspective(1px);
  transform: perspective(1px);
}

.overlayContainer {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 250;
}

.overlayContainer,
.imageCaption {
  bottom: 0;
}

.relativeContainer {
  position: relative;
}

.imageBox,
.imageCaption {
  position: absolute;
}

.imageBox {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.display {
  display: block;
}

.imageCaption {
    font: normal 700 16px/45px 'Open Sans';
    color: white;
    background: rgba(51, 51, 51, .8);
    bottom: 0;
	margin: 0;
}



/***Colors***/

.imageLink {
  outline: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.imageLink:hover,
.imageLink:focus {
  opacity: 0.4;
}

.overlayContainer {
  visibility: hidden;
  opacity: 0;
  background-color: rgba(51, 51, 51, .9);
  -webkit-transition: all ease .5s;
  transition: all ease .5s;
}

.imageBox {
  cursor: pointer;
}


.opacity {
  visibility: visible;
  opacity: 1;
}
