/*
 * ---:[ Thesis CSS reset ]:---
 */
* {
  margin: 0;
  padding: 0;
  word-wrap: break-word; }

html {
  -webkit-text-size-adjust: 100%; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

img,
abbr,
acronym,
fieldset {
  border: 0; }

code {
  line-height: 1em; }

pre {
  overflow: auto;
  clear: both;
  word-wrap: normal;
  -moz-tab-size: 4;
  tab-size: 4; }

sub,
sup {
  line-height: 0.5em; }

img,
.wp-caption {
  max-width: 100%;
  height: auto; }

iframe,
video,
embed,
object {
  display: block;
  max-width: 100%; }

img {
  display: block; }

.left,
.alignleft,
img[align="left"] {
  display: block;
  float: left; }

.right,
.alignright,
img[align="right"] {
  display: block;
  float: right; }

.center,
.aligncenter,
img[align="middle"] {
  display: block;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  float: none;
  clear: both; }

.block,
.alignnone {
  display: block;
  clear: both; }

input[type="submit"],
button {
  cursor: pointer;
  overflow: visible;
  -webkit-appearance: none; }

.wp-smiley {
  display: inline; }

/*
 * ---:[ layout structure ]:---
 */
body {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  line-height: 29px;
  color: #111111;
  background-color: white;
  padding-top: 29px; }

body.landing {
  padding-top: 0; }

.container {
  width: 897px;
  margin: 0 auto; }

.landing .container {
  width: 897px; }

.columns,
.columns > .content,
.columns > .sidebar {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.columns > .content {
  width: 897px;
  float: none;
  border-width: 0;
  border-style: solid;
  border-color: #dddddd; }

.columns > .sidebar {
  width: 100%;
  float: none;
  border-top: 3px double #dddddd;
  padding: 29px 29px 0 29px; }

/*
 * ---:[ links ]:---
 */
a {
  color: #617a83;
  text-decoration: none; }

p a {
  text-decoration: underline; }

p a:hover {
  text-decoration: none; }

/*
 * ---:[ nav menu ]:---
 */
.menu {
  position: relative;
  z-index: 50;
  list-style: none;
  border-width: 0 0 1px 1px;
  border-style: solid; }

.menu li {
  position: relative;
  float: left;
  margin-bottom: -1px; }

.menu .sub-menu {
  position: absolute;
  left: -1px;
  display: none;
  list-style: none;
  z-index: 110;
  margin-top: -1px; }

.menu .sub-menu .sub-menu {
  top: 0;
  left: 224px;
  margin: 0 0 0 -1px; }

.menu li:hover > .sub-menu {
  display: block; }

.menu .sub-menu li {
  width: 224px;
  clear: both; }

.menu a,
.menu_control {
  display: block;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  line-height: 23px;
  line-height: 1em;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #111111;
  border-width: 1px 1px 1px 0;
  border-style: solid;
  background-color: white;
  padding: 0.75em 1em; }

.menu a:hover {
  background-color: #dddddd; }

.menu_control {
  display: none;
  background-color: white; }

.menu .sub-menu a {
  border-left-width: 1px; }

.menu,
.menu a,
.menu .sub-menu {
  border-color: #dddddd; }

.menu .current-menu-item > a {
  border-bottom-color: white;
  background-color: white;
  cursor: text; }

.menu .sub-menu .current-menu-item > a {
  border-bottom-color: #dddddd; }

/*
 * ---:[ header ]:---
 */
.header {
  border-bottom: 3px double #dddddd;
  padding: 29px; }

.landing .header {
  text-align: center; }

#site_title {
  font-size: 42px;
  line-height: 1.32em;
  font-weight: bold;
  color: #111111; }

#site_title a {
  color: #111111; }

#site_title a:hover {
  color: #617a83; }

#site_tagline {
  font-size: 16px;
  color: #888888;
  line-height: 1.32em; }

/*
 * ---:[ golden ratio typography with spaced paragraphs ]:---
 */
.grt,
.grt h3 {
  font-size: 16px;
  line-height: 29px; }

.grt .headline {
  font-family: "Open Sans", sans-serif;
  font-size: 24px;
  line-height: 39px;
  margin: 0; }

.grt h2 {
  font-size: 20px;
  line-height: 34px;
  margin-top: 44px;
  margin-bottom: 15px; }

.grt .small,
.grt .caption {
  font-size: 13px;
  line-height: 25px; }

.grt .drop_cap {
  font-size: 58px;
  line-height: 1em;
  margin-right: 0.15em;
  float: left; }

.grt p,
.grt ul,
.grt ol,
.grt blockquote,
.grt pre,
.grt dl,
.grt dd,
.grt .center,
.grt .block,
.grt .caption,
.post_box .aligncenter,
.post_box .alignnone,
.post_box .post_image,
.post_box .post_image_box,
.post_box .wp-caption,
.post_box .wp-post-image,
.post_box .alert,
.post_box .note,
.headline_area {
  margin-bottom: 29px; }

.grt ul,
.grt ol,
.grt .stack {
  margin-left: 29px; }

.grt ul ul,
.grt ul ol,
.grt ol ul,
.grt ol ol,
.wp-caption p,
.post_box .alert p:last-child,
.post_box .note p:last-child,
.post_content blockquote.right p,
.post_content blockquote.left p {
  margin-bottom: 0; }

.grt .left,
.post_box .alignleft,
.post_box .ad_left {
  margin-bottom: 29px;
  margin-right: 29px; }

.grt .right,
.post_box .alignright,
.post_box .ad {
  margin-bottom: 29px;
  margin-left: 29px; }

.grt .caption {
  margin-top: -15px;
  color: #888888; }

/*
 * ---:[ golden ratio pullquotes ]:---
 */
.grt blockquote.right,
.grt blockquote.left {
  font-size: 26px;
  line-height: 38px;
  width: 45%;
  margin-bottom: 15px; }

.grt blockquote.right,
.grt blockquote.left {
  padding-left: 0;
  border: 0; }

/*
 * ---:[ post box styles ]:---
 */
.post_box {
  padding: 29px 29px 0 29px;
  border-top: 1px dotted #dddddd; }

.top {
  border-top: 0; }

.post_box .headline,
.headline a {
  color: white; }

.headline a:hover {
  color: #617a83; }

.byline,
.byline a {
  color: #888888; }

.byline a {
  border-bottom: 1px solid #dddddd; }

.byline a,
.post_author,
.post_date {
  text-transform: uppercase;
  letter-spacing: 1px; }

.byline a:hover,
.num_comments {
  color: #111111; }

.byline .post_edit {
  margin-left: 15px; }

.byline .post_edit:first-child {
  margin-left: 0; }

.post_author_intro,
.post_date_intro,
.byline .post_cats_intro {
  font-style: italic; }

.post_box h2,
.post_box h3 {
  color: #111111; }

.post_box h3 {
  font-weight: bold; }

.post_box ul {
  list-style-type: square; }

.post_box blockquote {
  color: #888888;
  margin-left: 15px;
  padding-left: 15px;
  border-left: 1px solid #dddddd; }

.post_box code {
  font-family: Consolas, Menlo, Monaco, Courier, Verdana, sans-serif; }

.post_box pre {
  font-family: Consolas, Menlo, Monaco, Courier, Verdana, sans-serif;
  background-color: white;
  padding: 15px;
  -webkit-tab-size: 4;
  -moz-tab-size: 4;
  tab-size: 4; }

.post_content li a {
  text-decoration: underline; }

.post_content li a:hover {
  text-decoration: none; }

.post_box .frame,
.post_box .post_image_box,
.post_box .wp-caption {
  border: 1px solid #dddddd;
  background-color: white;
  padding: 15px; }

.post_box .wp-caption img,
.post_box .post_image_box .post_image,
.post_box .thumb {
  margin-bottom: 15px; }

.wp-caption.aligncenter img {
  margin-right: auto;
  margin-left: auto; }

.wp-caption .wp-caption-text .wp-smiley {
  display: inline;
  margin-bottom: 0; }

.post_box .wp-caption p {
  font-size: 13px;
  line-height: 25px; }

.post_box .author_description {
  border-top: 1px dotted #dddddd;
  padding-top: 29px; }

.post_box .author_description_intro {
  font-weight: bold; }

.post_box .avatar {
  width: 64px;
  height: 64px;
  float: right;
  clear: both;
  margin-left: 15px; }

.post_box .author_description .avatar {
  width: 87px;
  height: 87px;
  float: left;
  margin-right: 15px;
  margin-left: 0; }

.post_box .post_cats,
.post_box .post_tags {
  color: #888888; }

.post_box .alert,
.post_box .note {
  padding: 15px; }

.post_box .alert {
  background-color: #ffff99;
  border: 1px solid #e6e68a; }

.post_box .note {
  background-color: white;
  border: 1px solid #dddddd; }

.landing .headline_area {
  text-align: center; }

/*
 * ---:[ other post box styles ]:---
 */
.num_comments_link {
  display: inline-block;
  color: #888888;
  text-decoration: none;
  margin-bottom: 29px; }

.num_comments_link:hover {
  text-decoration: underline; }

.bracket,
.num_comments {
  font-size: 29px; }

.bracket {
  color: #dddddd; }

/*
 * ---:[ misc. content elements ]:---
 */
.archive_intro {
  border-width: 0 0 1px 0;
  border-style: solid;
  border-color: #dddddd; }

.archive_intro .headline {
  margin-bottom: 29px; }

.prev_next {
  clear: both;
  color: #888888;
  border-top: 1px solid #dddddd;
  padding: 15px 29px; }

.prev_next .next_posts {
  float: right; }

.previous_posts,
.next_posts {
  display: block;
  font-size: 13px;
  line-height: 25px;
  text-transform: uppercase;
  letter-spacing: 2px; }

.previous_posts a:hover,
.next_posts a:hover {
  text-decoration: underline; }

/*
 * ---:[ comments ]:---
 */
#comments {
  margin-top: 58px; }

.comments_intro {
  color: #888888;
  margin-bottom: 15px;
  padding: 0 29px; }

.comments_closed {
  font-size: 13px;
  line-height: 25px;
  color: #888888;
  margin: 0 29px 29px 29px; }

.comment_list {
  list-style-type: none;
  margin-bottom: 58px;
  border-top: 1px dotted #dddddd; }

.comment {
  border-bottom: 1px dotted #dddddd;
  padding: 29px; }

.children .comment {
  list-style-type: none;
  margin-top: 29px;
  border-left: 1px solid #dddddd;
  border-bottom: 0;
  padding: 0 0 0 29px; }

.children .bypostauthor {
  background-color: transparent;
  border-color: #617a83; }

.comment .comment_head {
  margin-bottom: 15px; }

.children .comment_head {
  margin-bottom: 0; }

.comment .comment_author {
  font-weight: bold; }

.comment_date {
  font-size: 13px;
  margin-left: 15px;
  color: #888888; }

.comment_date a {
  color: #888888; }

.comment_footer a {
  font-size: 13px;
  line-height: 25px;
  color: #888888;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-left: 15px; }

.comment_head a:hover,
.comment_footer a:hover,
.comment_nav a:hover {
  text-decoration: underline; }

.comment_footer a:first-child {
  margin-left: 0; }

.comment .avatar {
  width: 58px;
  height: 58px;
  float: right;
  margin-left: 15px; }

.comment_nav {
  font-size: 13px;
  line-height: 25px;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-style: dotted;
  border-color: #dddddd;
  padding: 15px 29px; }

.comment_nav_top {
  border-width: 1px 0 0 0; }

.comment_nav_bottom {
  margin: -58px 0 58px 0;
  border-width: 0 0 1px 0; }

.next_comments {
  float: right; }

/*
 * ---:[ inputs ]:---
 */
.input_text {
  font-size: inherit;
  line-height: 1em;
  font-family: inherit;
  font-weight: inherit;
  color: #111111;
  border: 1px solid #dddddd;
  background-color: white;
  padding: 0.35em;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.input_text:focus {
  border-color: white;
  background-color: white; }

textarea.input_text {
  line-height: 29px; }

.input_submit {
  font-size: 20px;
  line-height: 1em;
  font-family: inherit;
  font-weight: bold;
  border: 3px double #dddddd;
  background: white url('images/bg-button.png') repeat-x;
  padding: 0.5em;
  cursor: pointer;
  overflow: visible; }

/*
 * ---:[ comment form ]:---
 */
#commentform {
  margin: 58px 0;
  padding: 0 29px; }

.comment #commentform {
  margin-top: 0;
  padding-right: 0;
  padding-left: 0; }

.comment_form_title {
  font-size: 20px;
  line-height: 34px;
  color: #111111;
  margin: 0 -29px;
  border-bottom: 1px dotted #dddddd;
  padding: 0 29px 15px 29px; }

#commentform label {
  display: block; }

#commentform p {
  margin-bottom: 15px; }

#commentform p .required {
  color: #dd0000; }

.comment_moderated {
  font-weight: bold; }

#commentform .input_text {
  width: 50%; }

#commentform textarea.input_text {
  width: 100%; }

#cancel-comment-reply-link {
  float: right;
  font-size: 13px;
  line-height: inherit;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #617a83; }

#cancel-comment-reply-link:hover {
  text-decoration: underline; }

.login_alert {
  font-weight: bold;
  border: 1px solid #dddddd;
  background-color: white; }

/*
 * ---:[ sidebar ]:---
 */
.sidebar {
  font-size: 13px;
  line-height: 20px; }

.sidebar .headline,
.sidebar .sidebar_heading,
.sidebar .widget_title {
  font-size: 21px;
  line-height: 30px; }

.sidebar .sidebar_heading,
.sidebar .widget_title {
  font-variant: small-caps;
  letter-spacing: 1px;
  margin-bottom: 10px; }

.sidebar .input_submit {
  font-size: inherit; }

.sidebar p,
.sidebar ul,
.sidebar ol,
.sidebar blockquote,
.sidebar pre,
.sidebar dl,
.sidebar dd,
.sidebar .left,
.sidebar .alignleft,
.sidebar .ad_left,
.sidebar .right,
.sidebar .alignright,
.sidebar .ad,
.sidebar .center,
.sidebar .aligncenter,
.sidebar .block,
.sidebar .alignnone {
  margin-bottom: 20px; }

.sidebar .left,
.sidebar .alignleft,
.sidebar .ad_left {
  margin-right: 20px; }

.sidebar ul ul,
.sidebar ul ol,
.sidebar ol ul,
.sidebar ol ol,
.sidebar .right,
.sidebar .alignright,
.sidebar .ad,
.sidebar .stack {
  margin-left: 20px; }

.sidebar ul ul,
.sidebar ul ol,
.sidebar ol ul,
.sidebar ol ol,
.wp-caption p,
.sidebar .post_excerpt p {
  margin-bottom: 0; }

.widget,
.sidebar .text_box,
.sidebar .thesis_email_form,
.sidebar .query_box {
  margin-bottom: 40px; }

.sidebar .thesis_email_form .input_text,
.widget li {
  margin-bottom: 10px; }

.sidebar .search-form .input_text,
.sidebar .thesis_email_form .input_text {
  width: 100%; }

.sidebar .query_box .post_author,
.sidebar .query_box .post_date {
  color: #888888; }

.sidebar .post_content,
.widget li ul,
.widget li ol {
  margin-top: 10px; }

.widget ul {
  list-style-type: none; }

.widget li a:hover {
  text-decoration: underline; }

/*
 * ---:[ footer ]:---
 */
.footer {
  font-size: 13px;
  line-height: 25px;
  text-align: right;
  color: #888888;
  border-top: 3px double #dddddd;
  padding: 15px 29px; }

.footer a {
  color: #888888; }

.footer a:hover {
  color: #111111; }

.landing .footer {
  text-align: center; }

/*
 * ---:[ media queries ]:---
 */
@media all and (max-width: 897px) {
  body {
    padding-top: 0; }

  .container,
  .landing .container {
    width: auto;
    max-width: 897px; }

  .header {
    border-top: 1px solid #dddddd; }

  .landing .header {
    border-top: 0; }

  .columns > .content {
    float: none;
    width: 100%;
    border: 0; }

  .columns > .sidebar {
    float: none;
    width: 100%;
    border-top: 3px double #dddddd; }

  .menu_control {
    display: block;
    width: 100%;
    border-width: 0;
    background-color: white;
    padding: 1em 29px;
    cursor: pointer;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }

  .menu {
    display: none;
    width: 100%;
    border-width: 1px 0 0 0;
    clear: both; }

  .show_menu {
    display: block; }

  .menu .sub-menu {
    position: static;
    display: block;
    margin: 0;
    border-top: 1px solid #dddddd;
    padding-left: 29px; }

  .menu li {
    width: 100%;
    float: none;
    margin-bottom: 0; }

  .menu .sub-menu li {
    width: 100%; }

  .menu a {
    border-width: 1px 1px 0 0;
    background-color: white;
    padding: 1em 29px; }

  .menu .current-menu-item > a {
    background-color: white; }

  .menu > li > a {
    border-left-width: 1px; }

  .menu li:first-child > a:first-child {
    border-top-width: 0; }

  .sidebar .search-form .input_text,
  .sidebar .thesis_email_form .input_text {
    width: 50%; } }

@media all and (max-width: 897px) {
  .menu a {
    border-right-width: 0; }

  .menu > li > a {
    border-left-width: 0; }

  .post_box .frame,
  .post_box .post_image_box,
  .post_box .wp-caption {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; } }

@media all and (max-width: 450px) {
  .menu a,
  .menu_control {
    padding: 1em 15px; }

  .header,
  .columns > .sidebar,
  .post_box,
  .prev_next,
  .comments_intro,
  .comment,
  .comment_nav,
  #commentform,
  .comment_form_title,
  .footer {
    padding-right: 15px;
    padding-left: 15px; }

  .menu .sub-menu,
  .children .comment {
    padding-left: 15px; }

  .comments_closed,
  .login_alert {
    margin-right: 15px;
    margin-left: 15px; }

  .comment_form_title {
    margin-left: -15px;
    margin-right: -15px; }

  .right,
  .alignright,
  img[align="right"],
  .left,
  .alignleft,
  img[align="left"] {
    float: none; }

  .grt .right,
  .grt .left,
  .post_box .alignright,
  .post_box .alignleft,
  .grt blockquote.right,
  .grt blockquote.left {
    margin-right: 0;
    margin-left: 0; }

  .post_author:after {
    content: '\a';
    height: 0;
    white-space: pre;
    display: block; }

  .grt blockquote.right,
  .grt blockquote.left,
  #commentform .input_text,
  .sidebar .search-form .input_text,
  .sidebar .thesis_email_form .input_text {
    width: 100%; }

  .post_box blockquote {
    margin-left: 0; }

  .comment_date {
    display: none; } }

/*
 * ---:[ clearfix ]:---
 */
.columns:after,
.menu:after,
.post_box:after,
.post_content:after,
.author_description:after,
.sidebar:after,
.query_box:after,
.prev_next:after,
.comment_text:after,
.comment_nav:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }

#site_title {
  line-height: 0.1em; }

#site_title a {
  display: inline-block; }

#header {
  padding: 0; }

#header #site_title a,
#header #site_tagline {
  display: none; }

/*
 * ---:[ custom CSS ]:---
 */
/*
 * Colours
 * blue #225378
 * red #9e1e62
 * grey green #617a83
 */
body {
  padding-top: 0;
  color: white; }

/*
 * Header CSS
 */
/*
 * Remove the border on the header & centre
 */
.header {
  border-bottom: none;
  max-width: 897px;
  margin: 0 auto; }

.header-full-width .wrap {
  background-image: url("http://railengconsult.co.uk/wp-content/uploads/header-background.png");
  background-repeat: no-repeat;
  background-size: auto auto;
  background-position: right top;
  height: 180px; }

/*
 * Styling the page backgrounds
 */
.wrap {
  max-width: 897px;
  margin: 0 auto; }

.title-full-width,
.header-full-width,
.footer-container {
  height: 170px; }

.title-full-width {
  background-color: #225378;
  margin-top: 20px;
  background-image: url("http://railengconsult.co.uk/wp-content/uploads/faded-banner-04.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  height: 180px; }

.header-full-width {
  background-color: white; }

.content-full-width {
  background-color: #9e1e62; }

.blue-line-full-width {
  border-bottom: 5px solid #225378;
  margin-bottom: 7px;
  margin-top: 14px; }

.headline_area {
  padding-top: 70px; }

/*
 * Menu CSS
 */
.main-nav,
.footer-container,
.menu_control {
  background-color: #225378; }

/*
 * Centre the menu and remove the extra spacing that usually appears with display:table
 */
.nav-menu-container {
  margin: 0 auto;
  display: table; }

.menu:after {
  content: none; }

.menu a,
.menu_control {
  background-color: #225378;
  color: white; }

.menu a {
  padding: 1em 2.5em;
  text-transform: none; }

.menu,
.menu a,
.menu .submenu {
  border: none; }

.menu a:hover {
  color: #617a83;
  background-color: #225378; }

.menu .current-menu-item > a {
  background-color: #225378;
  border: none;
  color: white;
  cursor: text; }

.menu li {
  margin: 0; }

/*
 * Formatting the vertical tabs on the Services Page (Shortcodes Plugin)
 */
.su-spoiler-content {
  background-color: transparent !important;
  color: white !important; }

.su-spoiler-title {
  border: 1px solid white !important;
  border-radius: 5px !important;
  font-size: 16px !important; }

/*
 * Footer CSS
 */
/*
 * Formatting the footer
 */
.footer-image {
  padding-top: 50px; }

.footer {
  border-top: none; }

/*
 * Media Queries
 */
/*
 * Mobile Responsive CSS
 */
@media all and (max-width: 1100px) {
   }

@media all and (max-width: 450px) {
   }

.main-nav .wrap:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }