/* -- MAIN CSS FILE: compiled from main.scss -- */
/*
This WordPress theme is managed by Bookswarm using source control. Any changes made to the theme files directly on the server are likely to be overwritten.
If changes are required please contact Bookswarm - hello@bookswarm.co.uk / www.bookswarm.co.uk
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

/* --- general styles --- */
body {
  font-family: GillSansMTStd-Book;
  font-size: 14px;
  line-height: 1.42857143;
  color: #000;
  background-color: #ffffff;
}

strong, b {
  font-weight: bold;
  font-family: GillSansMTStd-Bold;
}

em, i {
  font-style: italic;
}

ul, ol {
  margin-bottom: 17px;
  margin-left: 17px;
}

ul li {
  list-style: disc;
  margin: 0 0 2px 0;
}

ol li {
  margin: 0 0 6px 19px;
}

.left {
  float: left;
}

.right {
  float: right;
}

.clear {
  clear: both;
}

img.alignright, .wp-caption.alignright {
  float: right;
  margin: 0 0 0.8em 1.2em;
  max-width: 100%;
  height: auto;
}

img.alignleft, .wp-caption.alignleft {
  float: left;
  margin: 0 1.2em 0.8em 0;
  max-width: 100%;
  height: auto;
}

img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  height: auto;
}

img.alignnone {
  max-width: 100%;
  height: auto;
}

.alignright {
  float: right;
}

.alignleft {
  float: left;
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption-text {
  font-weight: bold;
  text-align: center;
  margin-top: 3px;
}

button:focus {
  outline: 0;
}

.hidden {
  /*hide stuff in a screen-reader-friendly way*/
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.mobile {
  display: none;
}

a {
  color: #c41232;
  text-decoration: none;
}

p {
  margin-bottom: 12px;
}

p.big {
  font-size: 15px;
}

p.red {
  color: #c41232;
}

p.title {
  font-family: GillSansMTStd-Bold;
  margin-bottom: 0;
}
p.title a {
  font-family: GillSansMTStd-Bold;
  color: #000;
}

.date {
  margin-bottom: 3px;
  display: block;
}

a.button, button {
  display: block;
  background-color: #96b5ab;
  text-transform: uppercase;
  color: #fff;
  text-align: center;
  padding: 10px 0 6px;
  margin-bottom: 10px;
}

.arrow-button {
  border: 0;
  background: url("../images/arrow-right-red.png") no-repeat center;
  text-indent: -9999px;
  width: 30px;
  height: 30px;
  margin: 0 auto;
  display: block;
}

blockquote {
  background-image: url("../images/open-quote.png"), url("../images/close-quote.png");
  background-repeat: no-repeat, no-repeat;
  background-size: 42px 32px;
  background-position: top center, bottom center;
  padding: 41px 20px 30px;
  overflow: hidden;
  margin-bottom: 15px;
}
blockquote p {
  font-size: 21px;
  font-family: GillSansMTStd-LightItalic;
}

/* ---- typography ---- */
h1, h2, h3, h4, h5, h6 {
  font-family: GillSansMTStd-Light;
  color: #c41232;
  line-height: 1.2em;
  margin-bottom: 0.6em;
  text-transform: uppercase;
}
h1.underline, h2.underline, h3.underline, h4.underline, h5.underline, h6.underline {
  border-bottom: 3px solid #96b5ab;
  padding-bottom: 10px;
}

h1 {
  font-size: 27px;
  border-bottom: 3px solid #96b5ab;
  padding-bottom: 10px;
  text-align: center;
}

h2 {
  font-size: 25px;
}
h2.big {
  font-size: 27px;
}

h3 {
  font-size: 23px;
}

h4 {
  font-size: 21px;
}

h5 {
  font-size: 18px;
}

h6 {
  font-size: 15px;
  font-family: GillSansMTStd-Bold;
}

i, em {
  font-family: GillSansMTStd-BookItalic;
}

b, strong {
  font-family: GillSansMTStd-Bold;
}

/* --- nav --- */
/* nav */
#site-navigation {
  margin-bottom: 30px;
}

#site-navigation ul {
  text-align: center;
  margin: 0;
}

#site-navigation ul li {
  display: block;
  position: relative;
  border-bottom: 1px dotted #808080;
  height: 47px;
}

#site-navigation > div > ul > li {
  margin: 0 0;
}

#site-navigation ul li a:link, #site-navigation ul li a:visited {
  padding: 20px 0 16px;
  margin: 0;
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 9px;
  color: #000;
}

nav#mobile ul li a:link, nav#mobile ul li a:visited {
  color: #000;
}

#site-navigation div > ul > li.current_page_item > a:link, #site-navigation div > ul > li.current_page_item > a:visited,
#site-navigation div > ul > li.current-menu-parent > a:link, #site-navigation div > ul > li.current-menu-parent > a:visited {
  border-bottom: 4px solid #c41232;
}

#site-navigation div > ul > li > a:hover {
  border-bottom: 4px solid #c41232;
}

#site-navigation .menu-item-has-children:hover {
  height: auto;
}
#site-navigation .menu-item-has-children:hover a:hover {
  border-bottom: 0;
  color: #c41232;
}

#site-navigation ul.sub-menu {
  display: none;
  z-index: 999;
  height: auto;
  padding: 0;
  top: 25px;
  margin: 0;
}

#site-navigation ul.sub-menu li {
  float: none;
  position: relative;
  display: block;
  margin: 0;
  text-align: center;
  height: 39px;
  border-bottom: 0;
}
#site-navigation ul.sub-menu li a {
  height: 37px;
  padding: 18px 0 12px;
}
#site-navigation ul.sub-menu li a:hover {
  color: #c41232;
}

#site-navigation ul.sub-menu li:before, #site-navigation ul.sub-menu li:after {
  content: '';
}

#site-navigation ul.sub-menu li a:hover {
  border-bottom: 0;
}

#site-navigation ul li:hover > ul.sub-menu {
  display: block;
}

#site-navigation ul.sub-menu .sub-menu {
  left: 100%;
  top: 0;
}

nav#mobile {
  display: none;
}

.page nav#mobile, .single nav#mobile {
  margin-bottom: 5px;
}

#mobile-toggle {
  padding: 15px 15px 13px 14px;
  text-align: center;
  width: 100%;
  color: #000;
  cursor: pointer;
  font-size: 14px;
  margin-bottom: 0;
  margin-left: 0;
}

nav#mobile {
  /*background: rgba(255,255,255,0.5);*/
  clear: both;
}

nav#mobile ul {
  margin: 0;
}

nav#mobile ul li {
  list-style: none;
}

nav#mobile ul li a {
  display: block;
  padding: 7px 15px;
  text-transform: uppercase;
  text-align: left;
  /*font-family: 'Metamorphous', cursive;*/
  font-size: 14px;
}

nav#mobile ul li a:hover {
  text-decoration: none;
  border: 0;
}

nav#mobile ul li ul.sub-menu {
  margin-bottom: 0;
  margin: 0 0 0 22px;
}

/* General styles for all menus */
.cbp-spmenu {
  background: #96b5ab;
  position: fixed;
  overflow: auto;
  padding-top: 20px;
  padding-right: 10px;
}
.cbp-spmenu ul.sub-menu {
  margin-bottom: 0;
}
.cbp-spmenu li {
  list-style: none;
}

#menuClose {
  width: 39px;
  height: 39px;
  padding: 10px;
  cursor: pointer;
  position: absolute;
  z-index: 20;
  right: 0;
  top: 0;
}
#menuClose img {
  width: 100%;
  height: auto;
}

#showLeft {
  background: transparent;
  padding: 0;
  color: #000;
  border: 0;
  width: 100%;
}

/* Orientation-dependent styles for the content of the menu */
.cbp-spmenu-vertical {
  width: 240px;
  height: 100%;
  top: 0;
  z-index: 1000;
}
.cbp-spmenu-vertical a {
  color: #fff;
  font-size: 17px;
  font-family: GillSansMTStd-Book;
  text-transform: uppercase;
  padding: 4px 0;
  display: block;
}
.cbp-spmenu-vertical a:hover {
  text-decoration: none;
  color: #c41232;
}
.cbp-spmenu-vertical .current_page_item > a {
  color: #c41232;
}

/* Vertical menu that slides from the left or right */
.cbp-spmenu-left {
  left: -240px;
}

.cbp-spmenu-right {
  right: -240px;
}

.cbp-spmenu-left.cbp-spmenu-open {
  left: 0px;
}

.cbp-spmenu-right.cbp-spmenu-open {
  right: 0px;
}

/* Horizontal menu that slides from the top or bottom */
.cbp-spmenu-top {
  top: -150px;
}

.cbp-spmenu-bottom {
  bottom: -150px;
}

.cbp-spmenu-top.cbp-spmenu-open {
  top: 0px;
}

.cbp-spmenu-bottom.cbp-spmenu-open {
  bottom: 0px;
}

/* Push classes applied to the body */
.cbp-spmenu-push {
  overflow-x: hidden;
  left: 0;
}

.cbp-spmenu-push-toright {
  left: 240px;
}

.cbp-spmenu-push-toleft {
  left: -240px;
}

/* Transitions */
.cbp-spmenu,
.cbp-spmenu-push {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

#mobile-toggle {
  display: none;
}

/* --- forms --- */
/* --- all forms --- */
::-webkit-input-placeholder {
  color: #000;
}

:-moz-placeholder {
  /* Firefox 18- */
  color: #000;
}

::-moz-placeholder {
  /* Firefox 19+ */
  color: #000;
}

:-ms-input-placeholder {
  color: #000;
}

form input[type=text] {
  line-height: 14px;
  padding: 3px 5px 2px;
}

/* --- structure --- */
#top-bar {
  background-color: #96b5ab;
  padding: 10px 0;
  margin-bottom: 30px;
  text-align: right;
}
#top-bar #tagline p {
  color: #000;
  font-style: italic;
  font-size: 16px;
  text-align: left;
  margin-bottom: 0;
}
#top-bar .social-links {
  display: inline-block;
}
#top-bar .social-links .sh-sb-link {
  margin: 0 5px 0px;
  width: 21px;
  height: 21px;
}
#top-bar .site-search {
  display: inline-block;
  width: 100%;
  max-width: 250px;
}
#top-bar .site-search ::-webkit-input-placeholder {
  color: #000;
  font-size: 10px;
}
#top-bar .site-search :-moz-placeholder {
  /* Firefox 18- */
  color: #000;
  font-size: 10px;
}
#top-bar .site-search ::-moz-placeholder {
  /* Firefox 19+ */
  color: #000;
  font-size: 10px;
}
#top-bar .site-search :-ms-input-placeholder {
  color: #000;
  font-size: 10px;
}
#top-bar .site-search form {
  width: 100%;
  max-width: 250px;
}
#top-bar .site-search input[type=text] {
  width: 85%;
  max-width: 200px;
}
#top-bar .site-search input[type=submit] {
  border: 0;
  background-color: transparent;
  background-image: url("../images/search-icon.png");
  background-repeat: no-repeat;
  background-size: 18px 18px;
  text-indent: -9999px;
  width: 20px;
  margin-left: 5px;
}

#content {
  padding-bottom: 25px;
  border-bottom: 1px dotted #808080;
  margin-bottom: 30px;
}

/*
header
*/
#masthead {
  margin-bottom: 30px;
}

#logo {
  text-align: center;
}
#logo img {
  width: 100%;
  max-width: 260px;
  height: auto;
  margin-top: 70px;
}

#wrapper {
  overflow: hidden;
}
#wrapper .flexslider {
  margin: 0;
  background: transparent;
  border: 0;
  position: relative;
  zoom: 1;
  color: transparent;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: 0;
  -moz-box-shadow: 0;
  -o-box-shadow: 0;
  box-shadow: 0;
}
#wrapper .flexslider .slide .banner {
  background-color: #c41232;
  opacity: 0.8;
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 20px;
}
#wrapper .flexslider .slide .banner p {
  color: #fff;
  text-align: center;
  font-size: 20px;
  font-family: GillSansMTStd-BookItalic;
  margin-bottom: 0;
}
#wrapper .flex-direction-nav li {
  list-style: none;
}
#wrapper .flex-direction-nav a {
  opacity: 1;
  cursor: pointer;
  text-shadow: 0;
  -webkit-transition: 0;
  -moz-transition: 0;
  -ms-transition: 0;
  -o-transition: 0;
  transition: 0;
  width: 30px;
  height: 30px;
  font-size: 0;
  bottom: 20px;
  top: auto;
}
#wrapper .flex-direction-nav a.flex-prev {
  left: 10px;
  background: url("../images/bg_direction_nav.png") no-repeat left center;
  text-indent: -9999px;
}
#wrapper .flex-direction-nav a.flex-prev:before {
  content: '';
}
#wrapper .flex-direction-nav a.flex-next {
  right: 10px;
  background: url("../images/bg_direction_nav.png") no-repeat right center;
  text-indent: -9999px;
}
#wrapper .flex-direction-nav a.flex-next:after, #wrapper .flex-direction-nav a.flex-next:before {
  content: '';
  font-family: none;
}

/*
sidebar
*/
#sidebar .inner {
  border-top: 1px dotted #808080;
}

#join {
  max-width: 370px;
  margin: 0 auto;
  margin-bottom: 20px;
}
#join img {
  width: 100%;
  max-width: 370px;
}
#join .red {
  padding: 27px 21% 22px;
  background-color: #c41232;
  text-align: center;
  position: relative;
}
#join .red h5 {
  color: #fff;
  font-size: 27px;
}
#join .red p {
  color: #000;
  font-size: 16px;
  margin-bottom: 4px;
}
#join .arrow-button {
  position: absolute;
  top: -15px;
  left: 0;
  right: 0;
}

/* --- main content --- */
#main .inner {
  border-top: 1px dotted #808080;
  padding-top: 30px;
}

.box {
  margin-bottom: 20px;
  border-bottom: 1px dotted #808080;
  padding-bottom: 28px;
}
.box h1, .box h2, .box h3 {
  text-align: center;
}
.box img {
  width: 100%;
  height: auto;
  max-width: 370px;
  margin-bottom: 10px;
}
.box a.button {
  margin-top: 6px;
}
.box:last-of-type:not(.news):not(.event) {
  border-bottom: 0;
}
.box.news, .box.event {
  padding-bottom: 15px;
}
.box.news h2, .box.event h2 {
  text-transform: none;
  text-align: left;
  font-size: 20px;
  margin-bottom: 8px;
}
.box.news h2 a, .box.event h2 a {
  color: #000;
}

ul.news {
  margin: 0;
}
ul.news li {
  list-style: none;
  margin: 0 0 10px 0;
  overflow: hidden;
}
ul.news li .left {
  width: 50%;
}
ul.news li .left img {
  width: 100%;
  height: auto;
  max-width: 170px;
}
ul.news li .right {
  width: 48%;
}
ul.news li a.button {
  clear: both;
}
ul.news.news-page li {
  width: 47.5%;
  margin-right: 5%;
  float: left;
}
ul.news.news-page li h2 {
  font-size: 20px;
  margin-bottom: 1px;
  text-transform: none;
}
ul.news.news-page li h2 a {
  color: #000;
}
ul.news.news-page li:nth-of-type(2n) {
  margin-right: 0;
}
ul.news.news-page li .left > a {
  display: block;
  margin-bottom: 12px;
}

/* --- timeline css overrides --- */
#main .timeline .timeline-row .timeline-content h2 {
  background-color: #96b5ab;
  color: #fff;
  font-size: 12px;
  padding: 8px 5px 5px;
  text-align: center;
}
#main .timeline .timeline-row .timeline-content .panel-body {
  padding: 36px 0 0 0;
  border-bottom: 1px dotted #808080;
}
#main .timeline .timeline-icon {
  background-color: #c41232;
  -webkit-box-shadow: 0px 0px 31px 3px white;
  -moz-box-shadow: 0px 0px 31px 3px white;
  box-shadow: 0px 0px 31px 3px white;
  margin-left: -12px;
  width: 25px;
  height: 25px;
  top: 37px;
}
#main .timeline .timeline-row:nth-child(odd) .timeline-icon {
  background-image: url("../images/arrow-white-left.png");
  background-repeat: no-repeat;
  background-position: center left 42%;
  background-size: 8px 12px;
}
#main .timeline .timeline-row:nth-child(even) .timeline-icon {
  background-image: url("../images/arrow-white-right.png");
  background-repeat: no-repeat;
  background-position: center left 52%;
  background-size: 8px 12px;
}
#main .timeline .timeline-time {
  font-size: 23px;
  font-weight: 300;
  font-family: GillSansMTStd-Light;
}
#main .timeline .timeline-time small {
  color: #000;
}

/* --- footer --- */
#footer-widgets {
  margin-bottom: 40px;
}
#footer-widgets .widget {
  border-top: 1px dotted #808080;
  margin-bottom: 15px;
  padding-top: 25px;
  padding-bottom: 15px;
  margin-top: 15px;
}
#footer-widgets .widget h4 {
  border-bottom: 4px solid #96b5ab;
  padding-bottom: 10px;
  text-align: center;
  margin-bottom: 20px;
}
#footer-widgets .widget-first {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}
#footer-widgets .green {
  margin-bottom: 40px;
}

#colophon {
  background-color: #c41232;
  padding: 34px 0 25px;
}
#colophon p, #colophon a {
  color: #fff;
  font-size: 12px;
}

/* --- widget classes --- */
.centre {
  text-align: center;
}

.green {
  background-color: #96b5ab;
  padding: 30px 20px;
  margin-bottom: 15px;
}
.green h4 {
  color: #fff;
  border-bottom: 0;
}
.green.widget-first {
  padding-top: 30px !important;
}
.green p {
  text-align: center;
  font-size: 16px;
}

/* --- forms --- */
#wrapper .gform_wrapper span.gform_description {
  text-align: center;
  display: block;
  font-size: 16px;
}
#wrapper .gform_wrapper .gfield_label {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
#wrapper .gform_wrapper .gform_button {
  border: 0;
  background: url("../images/arrow-right-red.png") no-repeat center;
  text-indent: -9999px;
  width: 30px;
  height: 30px;
  margin: 0 auto;
  display: block;
}
#wrapper .gfield {
  margin-bottom: 10px;
}
#wrapper .gfield input.large {
  width: 100%;
}
#wrapper .gform_footer {
  margin-top: 0;
  padding-bottom: 0;
}
#wrapper .gform_widget h4 {
  margin-bottom: 0;
  border-bottom: 0;
  padding-bottom: 0;
}

/* ------------ RESPONSIVE MEDIA QUERIES ------- */
@media (max-width: 1200px) {
  #main .timeline .timeline-row .timeline-content {
    margin-left: 47px;
  }
  #main .timeline .timeline-row .timeline-content .panel-body {
    padding: 20px 0 0 0;
  }
  #main .timeline .timeline-icon {
    left: 16px;
    top: 65px;
  }
  #main .timeline .timeline-time {
    margin: 0 0 0 48px;
  }
}
@media (max-width: 850px) {
  #top-bar #tagline {
    margin-bottom: 10px;
  }

  #header-right {
    text-align: center;
  }
  #header-right .social-links, #header-right .site-search {
    float: none;
    display: inline-block;
  }

  .social-links {
    margin-bottom: 10px;
  }
}
/* iPad portrait */
@media (max-width: 768px) {
  #top-bar #tagline p {
    text-align: center;
  }

  #mobile-toggle {
    display: block;
    border-bottom: 1px dotted #808080;
    margin-bottom: 15px;
  }

  #site-navigation {
    display: none;
  }

  #logo img {
    margin-top: 0;
    margin-bottom: 20px;
  }

  #main .col-sm-6 {
    width: 50%;
  }

  #content {
    margin-bottom: 20px;
    padding-bottom: 5px;
  }

  ul.news li .left {
    width: 25%;
  }
  ul.news li .right {
    width: 70%;
    float: left;
    padding-left: 10px;
  }

  #join {
    width: 100%;
    max-width: 768px;
    height: 130px;
    background-color: #c41232;
    overflow: hidden;
  }
  #join img {
    float: left;
    width: 39%;
  }
  #join .red {
    width: 61%;
    float: right;
    padding: 20px 10px 39px;
  }
  #join .red h5 {
    margin-bottom: 5px;
  }
  #join .arrow-button {
    position: absolute;
    top: auto;
    left: 0;
    right: 0;
    bottom: 8px;
  }

  .mobile {
    display: block;
  }

  .desktop {
    display: none;
  }
}
/* eg: Android Samsung galaxy landscape */
/* iphone 5 landscape */
@media (max-width: 568px) {
  #join {
    height: auto;
  }

  #join .arrow-button {
    display: none;
  }

  #join .red {
    padding: 20px 20px 5px;
  }
  #join .red p {
    font-size: 14px;
  }
  #join .red h5 {
    font-size: 23px;
  }

  #wrapper .flexslider .slide .banner {
    padding: 5px;
  }
  #wrapper .flexslider .slide .banner p {
    font-size: 14px;
  }

  .flex-direction-nav {
    display: none;
  }
}
/* iPhone 3+4 landscape */
@media (max-width: 480px) {
  .site-search {
    margin-bottom: 5px;
  }

  #join {
    height: auto;
  }
  #join img {
    display: none;
  }
  #join .red {
    width: 100%;
  }

  #main .col-sm-6 {
    width: 100%;
  }

  ul.news.news-page li {
    width: 100%;
    margin: 0;
  }
}
/* eg: Android Samsung galaxy portrait */
/* iPhone 3+4 portrait */
/* small android portrait */
