/* -- 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: "pt-sans", sans-serif;
  font-size: 13px;
  line-height: 1.42857143;
  color: #666666;
  background-color: #006666;
}

#wrapper {
  overflow: hidden;
}

strong, b {
  font-weight: 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;
}

p {
  margin-bottom: 12px;
}

p.subtitle {
  font-size: 15px;
  font-style: italic;
  color: #006666;
  font-weight: bold;
}

.date {
  font-size: 15px;
  color: #006666;
  font-weight: bold;
}

a {
  color: #006666;
  font-weight: 600;
}

a.more {
  font-weight: bold;
  font-size: 12px;
  color: #006666;
  text-transform: uppercase;
}

p.bigger {
  font-size: 21px;
  line-height: 23px;
}

p.center, a.center {
  display: block;
  text-align: center;
}

.woocommerce-checkout #payment ul.payment_methods li {
  list-style: none;
}

.left {
  float: left;
}

.right {
  float: right;
}

.clear {
  clear: both;
}

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

img.alignleft, .wp-caption.alignleft {
  float: left;
  margin: 0 1em 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;
}

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;
}

span.pipe {
  display: inline-block;
  padding: 0 5px;
}

.wf-loading h1, .wf-loading h2, .wf-loading h3, .wf-loading h4, .wf-loading h5, .wf-loading h6,
.wf-loading p, .wf-loading #site-navigation a,
.wf-loading a.button, .wf-loading .gform_button, .wf-loading input[type=submit] {
  visibility: hidden;
}

.hide-desktop {
  display: none;
}

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

.wp-caption-text {
  background-color: #003333;
  margin: 0;
  padding: 4px 0 3px;
  color: #cccccc;
  font-size: 13px;
  font-style: italic;
  font-weight: 300;
  text-align: center;
}

.widget {
  margin-bottom: 50px;
  position: relative;
}
.widget .position-topright {
  position: absolute;
  top: 49px;
  right: 15px;
}
.widget.green {
  background-color: #66a3a3;
}
.widget.green h2 {
  margin-bottom: 0;
}
.widget.green p {
  color: #000;
}
.widget.green .textwidget {
  padding: 25px 10px;
}
.widget.twitter {
  height: 380px;
}

a.button, .gform_button, input[type=submit] {
  border: 0;
  display: inline-block;
  background-color: #006666;
  text-transform: uppercase;
  text-align: center;
  color: #fff;
  font-size: 11px;
  padding: 4px 10px 3px;
  font-weight: 300;
  margin-bottom: 12px;
  -o-transition: .7s;
  -ms-transition: .7s;
  -moz-transition: .7s;
  -webkit-transition: .7s;
  transition: .7s;
}
a.button:hover, .gform_button:hover, input[type=submit]:hover {
  background-color: #003333;
  text-decoration: none;
}

/* --- forms --- */
.gform_wrapper.medium-form_wrapper {
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
}
.gform_wrapper.medium-form_wrapper .top_label input[type=text].medium, .gform_wrapper.medium-form_wrapper .top_label input[type=email].medium, .gform_wrapper.medium-form_wrapper .top_label textarea.medium {
  width: 100%;
}

/* ---- typography ---- */
h1, h2, h3, h4, h5, h6 {
  line-height: 1.1em;
  margin-bottom: 0.6em;
}

h1 {
  font-size: 32px;
  color: #006666;
  font-style: italic;
  font-weight: 700;
}

h2 {
  font-size: 13px;
  font-weight: bold;
  text-transform: uppercase;
  color: #cccccc;
  background-color: #003333;
  display: block;
  text-align: center;
  padding: 6px 0 5px;
  margin-bottom: 20px;
}

h3 {
  font-size: 21px;
  color: #000;
  font-style: italic;
}

h4 {
  font-size: 18px;
  color: #006666;
  font-weight: bold;
}

h5 {
  font-size: 16px;
  font-weight: bold;
}

h6 {
  color: #000;
  font-weight: bold;
}

#top blockquote {
  background-image: url("../images/quote-left.png"), url("../images/quote-right.png");
  background-repeat: no-repeat;
  background-position: left 6px center, right 6px center;
  background-size: 44px 34px;
  text-align: center;
  width: 100%;
  max-width: 603px;
  margin: 0 auto;
  color: #fff;
}
#top blockquote p {
  font-size: 18px;
  line-height: 20px;
  font-style: italic;
  font-weight: 300;
  margin-bottom: 0;
  padding: 0 43px;
}
#top blockquote span {
  display: block;
  font-style: normal;
  font-size: 12px;
  font-weight: 600;
  padding-top: 3px;
}

blockquote {
  margin: 0 30px;
  font-style: italic;
  font-size: 14px;
}

.panel {
  margin-bottom: 30px;
  overflow: hidden;
}

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

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

#site-navigation li {
  position: relative;
  margin: 0;
}

#site-navigation ul li {
  display: inline-block;
  position: relative;
}

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

#site-navigation > div > ul > li > a:link, #site-navigation > div > ul > li > a:visited {
  padding: 8px 0;
  margin: 8px 20px 1px 20px;
  display: block;
  text-decoration: none;
  float: left;
  text-transform: uppercase;
  font-size: 13px;
  line-height: 9px;
  font-weight: 600;
  color: #fff;
  text-shadow: 1px 1px 1px black;
}

#site-navigation.black > div > ul > li > a:link, #site-navigation.black > div > ul > li > a:visited {
  color: #000;
  text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.8);
}

#site-navigation.grey > div > ul > li > a:link, #site-navigation.grey > div > ul > li > a:visited {
  color: #727272;
  text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.8);
}

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

#site-navigation li.current_page_item > a:link, #site-navigation li.current_page_item > a:visited,
#site-navigation li.current-menu-parent > a:link, #site-navigation li.current-menu-parent > a:visited,
#site-navigation > div > ul li a:hover {
  border-top: 8px solid #006666;
  border-bottom: 1px solid #006666;
  margin-bottom: 0;
  margin-top: 0;
}

#site-navigation ul.sub-menu {
  display: none;
  position: absolute;
  z-index: 999;
  min-width: 102%;
  height: auto;
  padding: 0;
  top: 34px;
  margin: 0;
  background-color: #003333;
}

#site-navigation ul.sub-menu li {
  float: none;
  position: relative;
  display: block;
  margin: 0;
}

#site-navigation ul.sub-menu li.current_page_item > a:link,
#site-navigation ul.sub-menu li.current_page_item > a:visited,
#site-navigation ul.sub-menu li a:hover {
  background-color: #006666;
}

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

#site-navigation > div ul.sub-menu > li > a:link,
#site-navigation > div ul.sub-menu > li > a:visited {
  border: 0;
  display: block;
  padding: 11px 20px;
  white-space: nowrap;
  text-align: left;
  width: 100%;
  color: #fff;
  margin: 0px;
  text-transform: uppercase;
  font-size: 13px;
}

#site-navigation ul.sub-menu li a:hover {
  background-color: #006666;
  text-decoration: none;
}

#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 {
  display: none;
  text-align: left;
  cursor: pointer;
  font-size: 14px;
  margin: 0 auto;
  width: 50px;
}
#mobile-toggle #showLeft {
  text-align: center;
  padding: 6px 0;
  border-top: 8px solid #006666;
  color: #fff;
  text-shadow: 1px 1px 1px black;
}
#mobile-toggle.black #showLeft {
  color: #000;
  text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.8);
}

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: #003333;
  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: 10px 0;
  color: #fff;
  border: 0;
  margin-bottom: 5px;
  width: 100%;
  text-align: left;
}

/* Orientation-dependent styles for the content of the menu */
.cbp-spmenu-vertical {
  width: 100%;
  max-width: 300px;
  height: 100%;
  top: 0;
  z-index: 1000;
}
.cbp-spmenu-vertical a {
  color: #fff;
  font-size: 14px;
  text-transform: uppercase;
  padding: 4px 0;
  display: block;
}
.cbp-spmenu-vertical a:hover {
  border-bottom: 1px solid #66a3a3;
  color: #fff;
  text-decoration: none;
}
.cbp-spmenu-vertical .current_page_item > a {
  border-bottom: 1px solid #66a3a3;
}

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

.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;
}

#top {
  padding-top: 18px;
  padding-bottom: 19px;
  position: relative;
}
#top #social-links {
  position: absolute;
  top: 30px;
  right: 10px;
}

.social-icons .sh-sb-link {
  width: 20px;
  height: 20px;
}

#masthead .inner {
  background-size: cover;
  background-repeat: no-repeat;
}
#masthead #title {
  padding: 70px 55px;
}
#masthead #title h1 {
  font-size: 130px;
  line-height: 121px;
  color: #727272;
  font-family: "cronos-pro", sans-serif;
  margin-bottom: 0;
  font-style: normal;
  font-weight: normal;
  width: 100%;
  max-width: 450px;
}
#masthead #title.green h1 {
  color: #003333;
}
#masthead #title.black h1 {
  color: #000;
}
#masthead #title.white h1 {
  color: #fff;
}
#masthead .strapline {
  color: #fff;
  padding-left: 8px;
  font-size: 23px;
  font-style: italic;
  text-shadow: 1px 1px 1px black;
}

.gradient.green {
  background: -moz-linear-gradient(top, rgba(0, 102, 102, 0) 50%, #006666 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(0, 102, 102, 0)), color-stop(100%, #006666));
  background: -webkit-linear-gradient(top, rgba(0, 102, 102, 0) 50%, #006666 100%);
  background: -o-linear-gradient(top, rgba(0, 102, 102, 0) 50%, #006666 100%);
  background: -ms-linear-gradient(top, rgba(0, 102, 102, 0) 50%, #006666 100%);
  background: linear-gradient(to bottom, rgba(0, 102, 102, 0) 50%, #006666 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#006666', endColorstr='#006666',GradientType=0 );
}

/* ---- content --- */
#content {
  margin-top: -45px;
}

.white-box {
  background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, white 87px);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(15%, rgba(0, 102, 102, 0)), color-stop(87px, #006666));
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, white 87px);
  background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, white 87px);
  background: -ms-linear-gradient(top, rgba(255, 255, 255, 0) 0%, white 87px);
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #ffffff 87px);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#006666', endColorstr='#006666',GradientType=0 );
  padding: 74px 55px 55px 55px;
  overflow: hidden;
}

/* --- books listing --- */
.books, .news {
  margin: 0 auto;
  width: 100%;
  max-width: 620px;
}
.books li, .news li {
  clear: both;
  margin: 0 0 20px 0;
  list-style: none;
  overflow: hidden;
}
.books li .left, .news li .left {
  width: 60%;
}
.books li .right, .news li .right {
  width: 35%;
}
.books li .right a img, .news li .right a img {
  width: 100%;
  height: auto;
  max-width: 219px;
}

#reviews {
  overflow: hidden;
  padding-top: 30px;
}
#reviews ul {
  margin: 0;
}
#reviews ul li.review {
  list-style: none;
  margin: 15px 0;
  border-bottom: 1px solid #cccccc;
}

#carousel {
  background-color: #003333;
  padding: 32px 0;
}
#carousel p {
  text-align: center;
  color: #cccccc;
  font-size: 21px;
}
#carousel .slick-slide {
  padding: 0 15px;
}
#carousel button.slick-next, #carousel button.slick-prev {
  display: inline-block;
  background: transparent;
  border: 0;
  color: #fff;
  padding: 5px;
  float: right;
}
#carousel button.slick-prev {
  float: left;
}

.img-right {
  float: right;
  margin: 0 0 20px 50px;
  max-width: 350px;
}
.img-right .attachment-flat-cover-large {
  width: 100%;
  height: auto;
  max-width: 275px;
}

/* --- footer --- */
#footer {
  background-color: #000;
  padding: 34px 0 24px;
}
#footer p, #footer a {
  color: #fff;
  font-size: 12px;
  font-weight: normal;
}

/* ------------ RESPONSIVE MEDIA QUERIES ------- */
@media (max-width: 1024px) {
  #masthead #title {
    padding: 50px 35px;
  }

  .white-box {
    padding: 96px 35px 35px 35px;
  }
}
@media (max-width: 900px) {
  .col-sm-6 .alignright {
    float: none !important;
    margin: 0 auto 15px !important;
  }
}
/* iPad portrait */
@media (max-width: 769px) {
  .hide-desktop {
    display: block;
  }

  .hide-mobile {
    display: none;
  }

  #top blockquote {
    max-width: 556px;
    background-size: 33px 25px;
  }
  #top #social-links {
    top: 17px;
  }
  #top #social-links .social-icons .sh-sb-link {
    display: block;
  }

  #masthead #title {
    padding: 5px 20px 25px;
  }
  #masthead #title h1 {
    font-size: 100px;
    line-height: 100px;
  }
  #masthead .strapline {
    font-size: 19px;
    padding-left: 3px;
  }

  .white-box {
    padding: 96px 20px 25px 20px;
    margin-bottom: 15px;
  }

  .white-box.second {
    background-color: #fff;
    padding-top: 20px;
  }

  .col-sm-6 .alignright {
    float: right !important;
    margin: 0 0 0.8em 1em !important;
  }

  .widget {
    margin-bottom: 30px;
  }

  .widget.twitter {
    height: auto;
  }
}
/* eg: Android Samsung galaxy landscape */
/* iphone 5 landscape */
@media (max-width: 568px) {
  #top blockquote {
    background-position: left top, right 10px bottom;
    background-size: 21px 18px;
  }
  #top blockquote p {
    font-size: 16px;
    line-height: 18px;
    padding: 0px 34px;
  }
  #top #social-links {
    top: 10px;
    right: 2px;
  }

  #masthead #title h1 {
    font-size: 70px;
    line-height: 70px;
  }
  #masthead .strapline {
    font-size: 16px;
  }

  .panel {
    overflow: visible;
  }
}
/* iPhone 3+4 landscape */
@media (max-width: 480px) {
  #masthead #title h1 {
    font-size: 55px;
    line-height: 55px;
  }
  #masthead .strapline {
    font-size: 14px;
    line-height: 16px;
  }
  #masthead .inner {
    background-size: auto 100%;
  }

  .alignright, .col-sm-6 .alignright {
    float: none !important;
    margin: 0 auto 15px !important;
  }

  #content {
    margin: 0;
  }
  #content .white-box {
    background-color: #fff;
    padding-top: 20px;
  }

  .img-right {
    float: none;
    margin: 0 auto;
    margin-bottom: 20px;
  }
}
/* eg: Android Samsung galaxy portrait */
@media (max-width: 380px) {
  #masthead #title h1 {
    font-size: 35px;
    line-height: 35px;
  }
  #masthead .strapline {
    font-size: 12px;
    line-height: 14px;
  }
}
/* iPhone 3+4 portrait */
/* small android portrait */
