/*----------------------------------*\
	#reset
\*----------------------------------*/
/**
 *	Basic reset
 */
html, body {
  margin: 0;
  line-height: 1;
  text-rendering: optimizeLegibility; }

h1, h2, h3, .reviews-list .view-grouping-header, .discover__submenu h2, h4, h5, h6, p, .reviews-list__review, .inscribe-links__link, fieldset, input, button, textarea, blockquote, dl, dt, dd {
  margin: 0;
  padding: 0;
  font-size: 100%; }

a:active,
a:hover,
input,
textarea {
  outline: 0; }

img, fieldset, input, button, textarea {
  border: 0; }

input, textarea {
  box-sizing: border-box;
  margin-right: -4px; }

button {
  background: none; }

/*----------------------------------*\
	#base
\*----------------------------------*/
/**
 *	Define base (interior and exterior) spacing
 */
/**
 *	Define base font-size
 */
/*----------------------------------*\
	#breakpoint
\*----------------------------------*/
/**
 *	Define some global breakpoints. Note that we
 *	do not need to define 'sm' because this is
 * 	implicit given the mobile-first nature of the 
 *	framework
 */
/*----------------------------------*\
	#grid
\*----------------------------------*/
/**
 *	Setup the row
 */
.container {
  margin: auto; }

/**
 *	Setup the row
 */
.row:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0; }

/**
 *	Ensure boxes placed in a row sit next
 *	to each other and don't flow to next row
 */
*:before, *:after, * {
  box-sizing: border-box; }

/**
 *	Setup the columns
 */
.sm-col-12, .sm-col-11, .sm-col-10, .sm-col-9, .sm-col-8, .sm-col-7, .sm-col-6, .sm-col-5, .sm-col-4, .sm-col-3, .sm-col-2, .sm-col-1,
.md-col-12, .md-col-11, .md-col-10, .md-col-9, .md-col-8, .md-col-7, .md-col-6, .md-col-5, .md-col-4, .md-col-3, .md-col-2, .md-col-1,
.lg-col-12, .lg-col-11, .lg-col-10, .lg-col-9, .lg-col-8, .lg-col-7, .lg-col-6, .lg-col-5, .lg-col-4, .lg-col-3, .lg-col-2, .lg-col-1,
.xl-col-12, .xl-col-11, .xl-col-10, .xl-col-9, .xl-col-8, .xl-col-7, .xl-col-6, .xl-col-5, .xl-col-4, .xl-col-3, .xl-col-2, .xl-col-1 {
  position: relative;
  float: left;
  display: inline;
  min-height: 1px; }

.sm-col-12 {
  width: 100%; }

.sm-col-11 {
  width: 91.6666666667%; }

.sm-col-10 {
  width: 83.3333333333%; }

.sm-col-9 {
  width: 75%; }

.sm-col-8 {
  width: 66.6666666667%; }

.sm-col-7 {
  width: 58.3333333333%; }

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

.sm-col-5 {
  width: 41.6666666667%; }

.sm-col-4 {
  width: 33.3333333333%; }

.sm-col-3 {
  width: 25%; }

.sm-col-2 {
  width: 16.6666666667%; }

.sm-col-1 {
  width: 8.33333333333%; }

@media only screen and (min-width: 480px) {
  .container {
    max-width: 770px; }
  .md-col-12 {
    width: 100%; }
  .md-col-11 {
    width: 91.6666666667%; }
  .md-col-10 {
    width: 83.3333333333%; }
  .md-col-9 {
    width: 75%; }
  .md-col-8 {
    width: 66.6666666667%; }
  .md-col-7 {
    width: 58.3333333333%; }
  .md-col-6 {
    width: 50%; }
  .md-col-5 {
    width: 41.6666666667%; }
  .md-col-4 {
    width: 33.3333333333%; }
  .md-col-3 {
    width: 25%; }
  .md-col-2 {
    width: 16.6666666667%; }
  .md-col-1 {
    width: 8.33333333333%; } }

@media only screen and (min-width: 769px) {
  .container {
    max-width: 960px; }
  .lg-col-12 {
    width: 100%; }
  .lg-col-11 {
    width: 91.6666666667%; }
  .lg-col-10 {
    width: 83.3333333333%; }
  .lg-col-9 {
    width: 75%; }
  .lg-col-8 {
    width: 66.6666666667%; }
  .lg-col-7 {
    width: 58.3333333333%; }
  .lg-col-6 {
    width: 50%; }
  .lg-col-5 {
    width: 41.6666666667%; }
  .lg-col-4 {
    width: 33.3333333333%; }
  .lg-col-3 {
    width: 25%; }
  .lg-col-2 {
    width: 16.6666666667%; }
  .lg-col-1 {
    width: 8.33333333333%; } }

@media only screen and (min-width: 960px) {
  .container {
    max-width: 1280px; }
  .xl-col-12 {
    width: 100%; }
  .xl-col-11 {
    width: 91.6666666667%; }
  .xl-col-10 {
    width: 83.3333333333%; }
  .xl-col-9 {
    width: 75%; }
  .xl-col-8 {
    width: 66.6666666667%; }
  .xl-col-7 {
    width: 58.3333333333%; }
  .xl-col-6 {
    width: 50%; }
  .xl-col-5 {
    width: 41.6666666667%; }
  .xl-col-4 {
    width: 33.3333333333%; }
  .xl-col-3 {
    width: 25%; }
  .xl-col-2 {
    width: 16.6666666667%; }
  .xl-col-1 {
    width: 8.33333333333%; } }

/*----------------------------------*\
	#responsive-image
\*----------------------------------*/
/**
 *	Nothing complicated here, simply creates a Bootstrap-esque
 *	responsive image class so images scale on browser width
 */
.img-responsive, .dynamic img, .list__item__image, .author__image, .feature__image--desktop, .feature__image--mobile, .blog-post__image {
  display: block;
  max-width: 100%; }

/*----------------------------------*\
	#hide
\*----------------------------------*/
/**
 *	Helper classes which may be applied to any
 *	type of element to hide it at variouse sizes
 *
 *	Usage:
 *	<div class="md-hide">
 *		Some content
 *	</div>
 *	This will hide the div on >480 screen
 */
/**
 *	Setup selector
 */
/**
 *	Create the class
 */
.sm-hide {
  display: none; }

@media only screen and (min-width: 480px) {
  .md-hide {
    display: none; } }

@media only screen and (min-width: 769px) {
  .lg-hide {
    display: none; } }

@media only screen and (min-width: 960px) {
  .xl-hide {
    display: none; } }

/*----------------------------------*\
	#unhide
\*----------------------------------*/
/**
 *	Helper classes which may be applied to any
 *	type of element to hide it at variouse sizes
 *
 *	Usage:
 *	<div class="sm-hide md-unhide">
 *		Some content
 *	</div>
 *	This will hide the div on 320 screen and unhide >480
 */
/**
 *	Setup selector
 */
/**
 *	Create the class
 */
.sm-unhide {
  display: block; }

@media only screen and (min-width: 480px) {
  .md-unhide {
    display: block; } }

@media only screen and (min-width: 769px) {
  .lg-unhide {
    display: block; } }

@media only screen and (min-width: 960px) {
  .xl-unhide {
    display: block; } }

/*----------------------------------*\
	#list
\*----------------------------------*/
/**
 *	List
 *	
 *	Define some styles which can be used when a list
 *	should not appear as a standard list (i.e. bulleted)
 */
/**
 *	Removes the list-style and padding
 */
.list-ui, .list, .form .facetapi-facetapi-checkbox-links, .customer_profile_billing .facetapi-facetapi-checkbox-links, .account .facetapi-facetapi-checkbox-links, .customer_profile_shipping .facetapi-facetapi-checkbox-links, .commerce_shipping .facetapi-facetapi-checkbox-links, .commerce_coupon .facetapi-facetapi-checkbox-links, .commerce_payment .facetapi-facetapi-checkbox-links, .form .facetapi-facetapi-checkbox-links ul, .customer_profile_billing .facetapi-facetapi-checkbox-links ul, .account .facetapi-facetapi-checkbox-links ul, .customer_profile_shipping .facetapi-facetapi-checkbox-links ul, .commerce_shipping .facetapi-facetapi-checkbox-links ul, .commerce_coupon .facetapi-facetapi-checkbox-links ul, .commerce_payment .facetapi-facetapi-checkbox-links ul, .menu-books ul, .filter-buttons, .featured-author, .main-menu .menu, .main-menu--small .menu, .main-menu--mobile .menu, .user-menu .menu, .footer__links, .footer__offsite, .inscribe-links, .branding__stats, .pager {
  list-style: none;
  padding: 0;
  margin: 0; }

/**
 *	Styles the list items to display in a row
 */
.list-inline li, .list li, .menu-books ul li, .filter-buttons li, .featured-author li, .main-menu .menu li, .main-menu--small .menu li, .user-menu .menu li, .footer__offsite li, .inscribe-links li, .branding__stats li, .pager li {
  display: inline-block; }

/*----------------------------------*\
	#align
\*----------------------------------*/
/**
 *	Helper classes which may be applied to
 *	elements to style their alignment
 */
/**
 *	Applies to all content inside the element
 */
.sm-align-center {
  text-align: center; }

@media only screen and (min-width: 480px) {
  .md-align-center {
    text-align: center; } }

@media only screen and (min-width: 769px) {
  .lg-align-center {
    text-align: center; } }

@media only screen and (min-width: 960px) {
  .xl-align-center {
    text-align: center; } }

.sm-align-left {
  text-align: left; }

@media only screen and (min-width: 480px) {
  .md-align-left {
    text-align: left; } }

@media only screen and (min-width: 769px) {
  .lg-align-left {
    text-align: left; } }

@media only screen and (min-width: 960px) {
  .xl-align-left {
    text-align: left; } }

.sm-align-right {
  text-align: right; }

@media only screen and (min-width: 480px) {
  .md-align-right {
    text-align: right; } }

@media only screen and (min-width: 769px) {
  .lg-align-right {
    text-align: right; } }

@media only screen and (min-width: 960px) {
  .xl-align-right {
    text-align: right; } }

.sm-align-justify {
  text-align: justify; }

@media only screen and (min-width: 480px) {
  .md-align-justify {
    text-align: justify; } }

@media only screen and (min-width: 769px) {
  .lg-align-justify {
    text-align: justify; } }

@media only screen and (min-width: 960px) {
  .xl-align-justify {
    text-align: justify; } }

/**
 *	Applies to the element itself
 */
.element-center {
  margin-left: auto;
  margin-right: auto;
  display: block;
  float: none; }

/*----------------------------------*\
	#padding
\*----------------------------------*/
/**
 *	Helper classes which may be applied to any
 *	type of element to add padding
 *
 *	Usage:
 *	<div class="sm-padding-left lg-padding-all">
 *		Some content
 *	</div>
 *	This will add left padding to element on <480 screen
 *	and top/right/bottom/left padding to element at >768 screen
 */
/**
 *	Setup selector
 */
/**
 *	Setup base values
 *	$spacing_base is defined in _base.scss however you may
 *	override this value by redefining it here if required
 */
/**
 *	Padding all
 */
.sm-padding-all_sm {
  padding: 10px; }

.sm-padding-all_md {
  padding: 15px; }

.sm-padding-all_lg {
  padding: 30px; }

.sm-padding-all_xl {
  padding: 50px; }

.sm-padding-all_null {
  padding: 0; }

/**
 *	Padding top (sm)
 */
.sm-padding-top_sm {
  padding-top: 10px; }

.sm-padding-top_md {
  padding-top: 15px; }

.sm-padding-top_lg {
  padding-top: 30px; }

.sm-padding-top_xl {
  padding-top: 50px; }

.sm-padding-top_null {
  padding-top: 0; }

/**
 *	Padding right (sm)
 */
.sm-padding-right_sm {
  padding-right: 10px; }

.sm-padding-right_md {
  padding-right: 15px; }

.sm-padding-right_lg {
  padding-right: 30px; }

.sm-padding-right_xl {
  padding-right: 50px; }

.sm-padding-right_null {
  padding-right: 0; }

/**
 *	Padding bottom (sm)
 */
.sm-padding-bottom_sm {
  padding-bottom: 10px; }

.sm-padding-bottom_md {
  padding-bottom: 15px; }

.sm-padding-bottom_lg {
  padding-bottom: 30px; }

.sm-padding-bottom_xl {
  padding-bottom: 50px; }

.sm-padding-bottom_null {
  padding-bottom: 0; }

/**
 *	Padding left (sm)
 */
.sm-padding-left_sm {
  padding-left: 10px; }

.sm-padding-left_md {
  padding-left: 15px; }

.sm-padding-left_lg {
  padding-left: 30px; }

.sm-padding-left_xl {
  padding-left: 50px; }

.sm-padding-left_null {
  padding-left: 0; }

@media only screen and (min-width: 480px) {
  /**
		 *	Padding all (md)
		 */
  .md-padding-all_sm {
    padding: 10px; }
  .md-padding-all_md {
    padding: 15px; }
  .md-padding-all_lg {
    padding: 30px; }
  .md-padding-all_xl {
    padding: 50px; }
  .md-padding-all_null {
    padding: 0; }
  /**
		 *	Padding top (md)
		 */
  .md-padding-top_sm {
    padding-top: 10px; }
  .md-padding-top_md {
    padding-top: 15px; }
  .md-padding-top_lg {
    padding-top: 30px; }
  .md-padding-top_xl {
    padding-top: 50px; }
  .md-padding-top_null {
    padding-top: 0; }
  /**
		 *	Padding right (md)
		 */
  .md-padding-right_sm {
    padding-right: 10px; }
  .md-padding-right_md {
    padding-right: 15px; }
  .md-padding-right_lg {
    padding-right: 30px; }
  .md-padding-right_xl {
    padding-right: 50px; }
  .md-padding-right_null {
    padding-right: 0; }
  /**
		 *	Padding bottom (md)
		 */
  .md-padding-bottom_sm {
    padding-bottom: 10px; }
  .md-padding-bottom_md {
    padding-bottom: 15px; }
  .md-padding-bottom_lg {
    padding-bottom: 30px; }
  .md-padding-bottom_xl {
    padding-bottom: 50px; }
  .md-padding-bottom_null {
    padding-bottom: 0; }
  /**
		 *	Padding left (md)
		 */
  .md-padding-left_sm {
    padding-left: 10px; }
  .md-padding-left_md {
    padding-left: 15px; }
  .md-padding-left_lg {
    padding-left: 30px; }
  .md-padding-left_xl {
    padding-left: 50px; }
  .md-padding-left_null {
    padding-left: 0; } }

@media only screen and (min-width: 769px) {
  /**
		 *	Padding all (lg)
		 */
  .lg-padding-all_sm {
    padding: 10px; }
  .lg-padding-all_md {
    padding: 15px; }
  .lg-padding-all_lg {
    padding: 30px; }
  .lg-padding-all_xl {
    padding: 50px; }
  .lg-padding-all_null {
    padding: 0; }
  /**
		 *	Padding top (lg)
		 */
  .lg-padding-top_sm {
    padding-top: 10px; }
  .lg-padding-top_md {
    padding-top: 15px; }
  .lg-padding-top_lg {
    padding-top: 30px; }
  .lg-padding-top_xl {
    padding-top: 50px; }
  .lg-padding-top_null {
    padding-top: 0; }
  /**
		 *	Padding right (lg)
		 */
  .lg-padding-right_sm {
    padding-right: 10px; }
  .lg-padding-right_md {
    padding-right: 15px; }
  .lg-padding-right_lg {
    padding-right: 30px; }
  .lg-padding-right_xl {
    padding-right: 50px; }
  .lg-padding-right_null {
    padding-right: 0; }
  /**
		 *	Padding bottom (lg)
		 */
  .lg-padding-bottom_sm {
    padding-bottom: 10px; }
  .lg-padding-bottom_md {
    padding-bottom: 15px; }
  .lg-padding-bottom_lg {
    padding-bottom: 30px; }
  .lg-padding-bottom_xl {
    padding-bottom: 50px; }
  .lg-padding-bottom_null {
    padding-bottom: 0; }
  /**
		 *	Padding left (lg)
		 */
  .lg-padding-left_sm {
    padding-left: 10px; }
  .lg-padding-left_md {
    padding-left: 15px; }
  .lg-padding-left_lg {
    padding-left: 30px; }
  .lg-padding-left_xl {
    padding-left: 50px; }
  .lg-padding-left_null {
    padding-left: 0; } }

@media only screen and (min-width: 960px) {
  /**
		 *	Padding all (xl)
		 */
  .xl-padding-all_sm {
    padding: 10px; }
  .xl-padding-all_md {
    padding: 15px; }
  .xl-padding-all_lg {
    padding: 30px; }
  .xl-padding-all_xl {
    padding: 50px; }
  .xl-padding-all_null {
    padding: 0; }
  /**
		 *	Padding top (xl)
		 */
  .xl-padding-top_sm {
    padding-top: 10px; }
  .xl-padding-top_md {
    padding-top: 15px; }
  .xl-padding-top_lg {
    padding-top: 30px; }
  .xl-padding-top_xl {
    padding-top: 50px; }
  .xl-padding-top_null {
    padding-top: 0; }
  /**
		 *	Padding right (xl)
		 */
  .xl-padding-right_sm {
    padding-right: 10px; }
  .xl-padding-right_md {
    padding-right: 15px; }
  .xl-padding-right_lg {
    padding-right: 30px; }
  .xl-padding-right_xl {
    padding-right: 50px; }
  .xl-padding-right_null {
    padding-right: 0; }
  /**
		 *	Padding bottom (xl)
		 */
  .xl-padding-bottom_sm {
    padding-bottom: 10px; }
  .xl-padding-bottom_md {
    padding-bottom: 15px; }
  .xl-padding-bottom_lg {
    padding-bottom: 30px; }
  .xl-padding-bottom_xl {
    padding-bottom: 50px; }
  .xl-padding-bottom_null {
    padding-bottom: 0; }
  /**
		 *	Padding left (xl)
		 */
  .xl-padding-left_sm {
    padding-left: 10px; }
  .xl-padding-left_md {
    padding-left: 15px; }
  .xl-padding-left_lg {
    padding-left: 30px; }
  .xl-padding-left_xl {
    padding-left: 50px; }
  .xl-padding-left_null {
    padding-left: 0; } }

/*----------------------------------*\
	#margin
\*----------------------------------*/
/**
 *	Helper classes which may be applied to any
 *	type of element to add margins
 *
 *	Usage:
 *	<h2 class="lg-margin-bottom">
 *		Heading
 *	</h2>
 *	This will add a bottom margin of 30px to
 *	the h2 heading element at >768px screen width
 */
/**
 *	Setup selector
 */
/**
 *	Setup base values
 *	$spacing_base is defined in _base.scss however you may
 *	override this value by redefining it here if required
 */
/**
 *	Setup margins
 *
 *	Margins are flexible and can be configured by both
 *	screen size and actual value, for example:
 *
 *	<div class="sm_margin-bottom_md xl_margin-bottom_lg">
 *		Some content
 *	</div>
 *	This would mean:
 *		On a small screen, a medium margin-bottom would be applied 
 *		On an extra-large screen, a large margin-bottom would be applied
 *
 *	This allows finer control over the spacing of 
 *	elements at various breakpoints.
 */
/**
 *	Margin all
 */
.sm-margin-all_sm {
  margin: 10px; }

.sm-margin-all_md {
  margin: 20px; }

.sm-margin-all_lg {
  margin: 30px; }

.sm-margin-all_xl {
  margin: 40px; }

.sm-margin-all_null {
  margin: 0; }

/**
 *	Margin top (sm)
 */
.sm-margin-top_sm {
  margin-top: 10px; }

.sm-margin-top_md {
  margin-top: 20px; }

.sm-margin-top_lg {
  margin-top: 30px; }

.sm-margin-top_xl {
  margin-top: 40px; }

.sm-margin-top_null {
  margin: 0; }

/**
 *	Margin right (sm)
 */
.sm-margin-right_sm {
  margin-right: 10px; }

.sm-margin-right_md {
  margin-right: 20px; }

.sm-margin-right_lg {
  margin-right: 30px; }

.sm-margin-right_xl {
  margin-right: 40px; }

.sm-margin-right_null {
  margin: 0; }

/**
 *	Margin bottom (sm)
 */
.sm-margin-bottom_sm {
  margin-bottom: 10px; }

.sm-margin-bottom_md {
  margin-bottom: 20px; }

.sm-margin-bottom_lg {
  margin-bottom: 30px; }

.sm-margin-bottom_xl {
  margin-bottom: 40px; }

.sm-margin-bottom_null {
  margin: 0; }

/**
 *	Margin left (sm)
 */
.sm-margin-left_sm {
  margin-left: 10px; }

.sm-margin-left_md {
  margin-left: 20px; }

.sm-margin-left_lg {
  margin-left: 30px; }

.sm-margin-left_xl {
  margin-left: 40px; }

.sm-margin-left_null {
  margin: 0; }

@media only screen and (min-width: 480px) {
  /**
		 *	Margin all (md)
		 */
  .md-margin-all_sm {
    margin: 10px; }
  .md-margin-all_md {
    margin: 20px; }
  .md-margin-all_lg {
    margin: 30px; }
  .md-margin-all_xl {
    margin: 40px; }
  .md-margin-all_null {
    margin: 0; }
  /**
		 *	Margin top (md)
		 */
  .md-margin-top_sm {
    margin-top: 10px; }
  .md-margin-top_md {
    margin-top: 20px; }
  .md-margin-top_lg {
    margin-top: 30px; }
  .md-margin-top_xl {
    margin-top: 40px; }
  .md-margin-top_null {
    margin: 0; }
  /**
		 *	Margin right (md)
		 */
  .md-margin-right_sm {
    margin-right: 10px; }
  .md-margin-right_md {
    margin-right: 20px; }
  .md-margin-right_lg {
    margin-right: 30px; }
  .md-margin-right_xl {
    margin-right: 40px; }
  .md-margin-right_null {
    margin: 0; }
  /**
		 *	Margin bottom (md)
		 */
  .md-margin-bottom_sm {
    margin-bottom: 10px; }
  .md-margin-bottom_md {
    margin-bottom: 20px; }
  .md-margin-bottom_lg {
    margin-bottom: 30px; }
  .md-margin-bottom_xl {
    margin-bottom: 40px; }
  .md-margin-bottom_null {
    margin: 0; }
  .md-margin-bottom_null {
    margin: 0; }
  /**
		 *	Margin left (md)
		 */
  .md-margin-left_sm {
    margin-left: 10px; }
  .md-margin-left_md {
    margin-left: 20px; }
  .md-margin-left_lg {
    margin-left: 30px; }
  .md-margin-left_xl {
    margin-left: 40px; }
  .md-margin-left_null {
    margin: 0; } }

@media only screen and (min-width: 769px) {
  /**
		 *	Margin all (lg)
		 */
  .lg-margin-all_sm {
    margin: 10px; }
  .lg-margin-all_md {
    margin: 20px; }
  .lg-margin-all_lg {
    margin: 30px; }
  .lg-margin-all_xl {
    margin: 40px; }
  .lg-margin-all_null {
    margin: 0; }
  /**
		 *	Margin top (lg)
		 */
  .lg-margin-top_sm {
    margin-top: 10px; }
  .lg-margin-top_md {
    margin-top: 20px; }
  .lg-margin-top_lg {
    margin-top: 30px; }
  .lg-margin-top_xl {
    margin-top: 40px; }
  .lg-margin-top_null {
    margin: 0; }
  /**
		 *	Margin right (lg)
		 */
  .lg-margin-right_sm {
    margin-right: 10px; }
  .lg-margin-right_md {
    margin-right: 20px; }
  .lg-margin-right_lg {
    margin-right: 30px; }
  .lg-margin-right_xl {
    margin-right: 40px; }
  .lg-margin-right_null {
    margin: 0; }
  /**
		 *	Margin bottom (lg)
		 */
  .lg-margin-bottom_sm {
    margin-bottom: 10px; }
  .lg-margin-bottom_md {
    margin-bottom: 20px; }
  .lg-margin-bottom_lg {
    margin-bottom: 30px; }
  .lg-margin-bottom_xl {
    margin-bottom: 40px; }
  .lg-margin-bottom_null {
    margin: 0; }
  /**
		 *	Margin left (lg)
		 */
  .lg-margin-left_sm {
    margin-left: 10px; }
  .lg-margin-left_md {
    margin-left: 20px; }
  .lg-margin-left_lg {
    margin-left: 30px; }
  .lg-margin-left_xl {
    margin-left: 40px; }
  .lg-margin-left_null {
    margin: 0; } }

@media only screen and (min-width: 960px) {
  /**
		 *	Margin all (xl)
		 */
  .xl-margin-all_sm {
    margin: 10px; }
  .xl-margin-all_md {
    margin: 20px; }
  .xl-margin-all_lg {
    margin: 30px; }
  .xl-margin-all_xl {
    margin: 40px; }
  .xl-margin-all_null {
    margin: 0; }
  /**
		 *	Margin top (xl)
		 */
  .xl-margin-top_sm {
    margin-top: 10px; }
  .xl-margin-top_md {
    margin-top: 20px; }
  .xl-margin-top_lg {
    margin-top: 30px; }
  .xl-margin-top_xl {
    margin-top: 40px; }
  .xl-margin-top_null {
    margin: 0; }
  /**
		 *	Margin right (xl)
		 */
  .xl-margin-right_sm {
    margin-right: 10px; }
  .xl-margin-right_md {
    margin-right: 20px; }
  .xl-margin-right_lg {
    margin-right: 30px; }
  .xl-margin-right_xl {
    margin-right: 40px; }
  .xl-margin-right_null {
    margin: 0; }
  /**
		 *	Margin bottom (xl)
		 */
  .xl-margin-bottom_sm {
    margin-bottom: 10px; }
  .xl-margin-bottom_md {
    margin-bottom: 20px; }
  .xl-margin-bottom_lg {
    margin-bottom: 30px; }
  .xl-margin-bottom_xl {
    margin-bottom: 40px; }
  .xl-margin-bottom_null {
    margin: 0; }
  /**
		 *	Margin left (xl)
		 */
  .xl-margin-left_sm {
    margin-left: 10px; }
  .xl-margin-left_md {
    margin-left: 20px; }
  .xl-margin-left_lg {
    margin-left: 30px; }
  .xl-margin-left_xl {
    margin-left: 40px; }
  .xl-margin-left_null {
    margin: 0; } }

/*----------------------------------*\
	#one-true-layout
\*----------------------------------*/
/**
 *	Helper classes which may be applied to any
 *	type of element to add padding
 *
 *	Usage:
 *	<div class="one-true">
 *		<div class="one-true__column">
 *			Some content
 *		</div>
 *		<div class="one-true__column">
 *			Some content
 *		</div>
 *	</div>
 *	This will ensure that both columns are the same height
 *
 *	Source: http://css-tricks.com/fluid-width-equal-height-columns/
 */
.one-true {
  overflow: hidden; }
  .one-true .one-true__column {
    margin-bottom: -99999px;
    padding-bottom: 99999px; }

/*----------------------------------*\
	#colours
\*----------------------------------*/
/**	
 *	0 defines the darkest shade of the colour
 *	with lightness increasing with numbers
 */
/*----------------------------------*\
	#typography
\*----------------------------------*/
body {
  font-size: 18px;
  color: #2e2925;
  font-family: 'Gentium Book Basic', serif; }

h1 {
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-size: 26px;
  line-height: 32px;
  margin-bottom: 20px; }
  @media only screen and (min-width: 480px) {
    h1 {
      font-size: 38px;
      line-height: 42px;
      margin-bottom: 30px; } }

h2 {
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-size: 22px;
  line-height: 28px;
  margin-bottom: 20px; }
  @media only screen and (min-width: 480px) {
    h2 {
      font-size: 28px;
      line-height: 30px;
      margin-bottom: 30px; } }

h3, .reviews-list .view-grouping-header, .discover__submenu h2, h4 {
  font-size: 20px;
  color: #2e2925;
  font-family: 'Gentium Book Basic', serif;
  line-height: 28px;
  margin-bottom: 20px;
  font-weight: 700; }

p, .reviews-list__review, .inscribe-links__link, .list-normal {
  font-size: 18px;
  color: #2e2925;
  font-family: 'Gentium Book Basic', serif;
  line-height: 26px; }

p a, .reviews-list__review a, .inscribe-links__link a, .list-normal a {
  color: #2e2925;
  font-family: 'Gentium Book Basic', serif;
  font-style: italic; }

.fieldset-legend, .pane-title {
  display: block;
  font-family: 'Lato', sans-serif;
  font-size: 14px;
  line-height: 16px;
  padding-bottom: 10px;
  text-transform: uppercase;
  color: gray;
  margin-left: -2px; }

.subtext {
  display: block;
  font-family: 'Lato', sans-serif;
  font-size: 12px;
  line-height: 16px;
  text-transform: uppercase;
  color: gray; }

.dynamic p, .dynamic .reviews-list__review, .dynamic .inscribe-links__link {
  margin-bottom: 20px; }

.dynamic img {
  height: auto !important;
  margin-bottom: 20px; }

.text-underline {
  border-bottom: 1px solid #dcd3c4;
  padding-bottom: 10px; }

strong, b {
  font-weight: 700; }

.node-type-book .price, .node-type-book .commerce-price-savings-formatter-prices .commerce-price-savings-formatter-price .price-amount, .commerce-price-savings-formatter-prices .commerce-price-savings-formatter-price .node-type-book .price-amount {
  font-family: 'Lato', sans-serif;
  font-size: 30px;
  margin-bottom: 20px;
  font-weight: 700; }

.commerce-price-savings-formatter-prices table, .commerce-price-savings-formatter-prices thead, .commerce-price-savings-formatter-prices tbody, .commerce-price-savings-formatter-prices tr, .commerce-price-savings-formatter-prices td {
  border-spacing: 0;
  padding: 0;
  margin: 0; }

.commerce-price-savings-formatter-prices .commerce-price-savings-formatter-list {
  color: gray;
  text-decoration: line-through;
  padding-bottom: 5px; }

.commerce-price-savings-formatter-prices .commerce-price-savings-formatter-price .price-amount {
  padding-bottom: 20px; }

@media only screen and (min-width: 769px) {
  .two-col {
    -webkit-column-count: 2;
    /* Chrome, Safari, Opera */
    -moz-column-count: 2;
    /* Firefox */
    column-count: 2;
    -webkit-column-gap: 20px;
    /* Chrome, Safari, Opera */
    -moz-column-gap: 20px;
    /* Firefox */
    column-gap: 20px; } }

/*----------------------------------*\
	#global
\*----------------------------------*/
body {
  background-color: #fbf8f3; }

/*----------------------------------*\
	#spritesheet
\*----------------------------------*/
/**
 *	Spritesheet used in various places
 */
.spritesheet, .form select, .customer_profile_billing select, .account select, .customer_profile_shipping select, .commerce_shipping select, .commerce_coupon select, .commerce_payment select, .form input[type=checkbox] + label, .customer_profile_billing input[type=checkbox] + label, .account input[type=checkbox] + label, .customer_profile_shipping input[type=checkbox] + label, .commerce_shipping input[type=checkbox] + label, .commerce_coupon input[type=checkbox] + label, .commerce_payment input[type=checkbox] + label,
.form input[type=radio] + label,
.customer_profile_billing input[type=radio] + label,
.account input[type=radio] + label,
.customer_profile_shipping input[type=radio] + label,
.commerce_shipping input[type=radio] + label,
.commerce_coupon input[type=radio] + label,
.commerce_payment input[type=radio] + label, .menu-books .menu-books__link, .filter-buttons__button, .filter__close, .main-menu--small .menu a, .main-menu--mobile .menu a, .menu__close, .user-menu .menu a, .footer__offsite__link, .branding__icon, .branding__stats__link {
  background-image: url(../images/spritesheet.png);
  background-repeat: no-repeat;
  background-size: 150px auto; }

/*----------------------------------*\
	#data
\*----------------------------------*/
/**
 *	Data lists, such as author or book details.
 *	Appears similar to a table
 */
.data dt, .data dd {
  color: #2e2925;
  padding: 5px 0;
  float: left;
  line-height: 18px; }

.data dt {
  font-family: 'Gentium Book Basic', serif;
  font-size: 14px;
  font-style: italic;
  padding-right: 10px;
  width: 35%; }
  .data dt:nth-child(odd) {
    clear: left; }

.data dd {
  font-family: 'Lato', sans-serif;
  text-transform: uppercase;
  font-size: 14px;
  width: 65%; }
  .data dd a {
    color: #2e2925; }

.data__item {
  border-bottom: 1px solid #dcd3c4;
  overflow: hidden; }

/*----------------------------------*\
	#title
\*----------------------------------*/
/**
 *	Section titles, i.e. latest books on homepage
 */
.title {
  display: block;
  border-bottom: 1px solid #dcd3c4;
  margin-bottom: 20px; }

.title-tab {
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  line-height: 20px;
  text-transform: uppercase;
  font-weight: 300;
  color: #fff;
  background-color: #2e2925;
  display: inline-block;
  padding: 5px 15px; }
  @media only screen and (min-width: 480px) {
    .title-tab {
      padding: 5px 15px 5px 70px; } }

/*----------------------------------*\
	#list
\*----------------------------------*/
/**
 *	List items, i.e. list of books or authors
 *
 */
.list__item {
  text-align: center;
  padding: 0 15px;
  min-height: 335px; }

.list__item__image {
  display: block;
  margin: 0 auto 10px auto;
  transition: 0.1s linear; }
  .list__item__image:hover {
    transform: scale(1.05);
    -webkit-transform: scale(1.05); }

.list__item__title {
  display: block;
  font-size: 20px;
  line-height: 26px;
  color: #2e2925;
  font-family: 'Lato', sans-serif;
  margin-bottom: 5px;
  text-decoration: none; }

.list__item__subtitle {
  display: block;
  font-family: 'Lato', sans-serif;
  font-size: 12px;
  line-height: 16px;
  text-transform: uppercase;
  color: gray; }

/*----------------------------------*\
	#buttons
\*----------------------------------*/
/**
 *	UI buttons
 */
.button, .form .form-submit, .customer_profile_billing .form-submit, .account .form-submit, .customer_profile_shipping .form-submit, .commerce_shipping .form-submit, .commerce_coupon .form-submit, .commerce_payment .form-submit, .form #edit-reset, .customer_profile_billing #edit-reset, .account #edit-reset, .customer_profile_shipping #edit-reset, .commerce_shipping #edit-reset, .commerce_coupon #edit-reset, .commerce_payment #edit-reset, #user-login .form-submit, #user-pass-reset .form-submit, .cart-form input[type=submit], .cart-items input[type=submit], .commerce-line-item-actions #edit-checkout, .commerce-line-item-actions #edit-submit, .checkout-buttons .checkout-continue, .checkout-buttons .checkout-cancel,
.checkout-buttons .checkout-back, .commerce_coupon input[type=submit], .topic a {
  cursor: pointer;
  padding: 8px 18px;
  border-radius: 4px;
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  margin-bottom: 5px;
  text-decoration: none;
  display: inline-block;
  line-height: 1;
  margin-right: 4px;
  font-size: 16px;
  margin-right: -4px; }

.button--orange, .form .form-submit, .customer_profile_billing .form-submit, .account .form-submit, .customer_profile_shipping .form-submit, .commerce_shipping .form-submit, .commerce_coupon .form-submit, .commerce_payment .form-submit, #user-login .form-submit, #user-pass-reset .form-submit, .cart-form input[type=submit], .commerce-line-item-actions #edit-checkout, .checkout-buttons .checkout-continue {
  background-color: #ff6606;
  color: #fff;
  border: 1px solid #ff6606;
  transition: all 0.1s; }
  .button--orange:hover, .form .form-submit:hover, .customer_profile_billing .form-submit:hover, .account .form-submit:hover, .customer_profile_shipping .form-submit:hover, .commerce_shipping .form-submit:hover, .commerce_coupon .form-submit:hover, .commerce_payment .form-submit:hover, #user-login .form-submit:hover, #user-pass-reset .form-submit:hover, .cart-form input:hover[type=submit], .commerce-line-item-actions #edit-checkout:hover, .checkout-buttons .checkout-continue:hover {
    color: #ff6606;
    background-color: transparent;
    border: 1px solid #ff6606; }

.button--beige, .form #edit-reset, .customer_profile_billing #edit-reset, .account #edit-reset, .customer_profile_shipping #edit-reset, .commerce_shipping #edit-reset, .commerce_coupon #edit-reset, .commerce_payment #edit-reset, .cart-items input[type=submit], .commerce-line-item-actions #edit-submit, .checkout-buttons .checkout-cancel,
.checkout-buttons .checkout-back, .commerce_coupon input[type=submit], .topic a {
  background-color: #dcd3c4;
  color: #2e2925;
  border: 1px solid #dcd3c4; }

/*----------------------------------*\
	#pod
\*----------------------------------*/
/**
 *	Content held within a pod, i.e. on homepage. usually has a beige background, and border
 */
.pod {
  background-color: #f7f0e6;
  border: 1px solid #dcd3c4;
  margin-bottom: 20px; }
  .pod.pod--remove-bottom-border {
    border-bottom: 0; }

.pod__content {
  padding: 20px; }

.pod__link a {
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  display: block;
  font-size: 16px;
  padding: 10px;
  border-bottom: 1px solid #dcd3c4;
  color: gray;
  text-decoration: none; }
  .pod__link a:hover, .pod__link a.active, .pod__link a.active-trail {
    background-color: #dcd3c4; }

/*----------------------------------*\
	#form
\*----------------------------------*/
/**
 *	Form styling
 */
.form label, .customer_profile_billing label, .account label, .customer_profile_shipping label, .commerce_shipping label, .commerce_coupon label, .commerce_payment label, .form h2, .customer_profile_billing h2, .account h2, .customer_profile_shipping h2, .commerce_shipping h2, .commerce_coupon h2, .commerce_payment h2 {
  color: #2e2925;
  font-family: 'Lato', sans-serif;
  font-size: 14px;
  border-bottom: 1px solid #dcd3c4;
  display: block;
  padding-bottom: 5px;
  font-weight: 700;
  line-height: 18px;
  margin-bottom: 10px; }

.form select, .customer_profile_billing select, .account select, .customer_profile_shipping select, .commerce_shipping select, .commerce_coupon select, .commerce_payment select {
  cursor: pointer;
  box-shadow: none;
  background-color: transparent;
  background-position: right -1588px;
  margin-bottom: 10px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.form input[type=text], .customer_profile_billing input[type=text], .account input[type=text], .customer_profile_shipping input[type=text], .commerce_shipping input[type=text], .commerce_coupon input[type=text], .commerce_payment input[type=text],
.form input[type=email],
.customer_profile_billing input[type=email],
.account input[type=email],
.customer_profile_shipping input[type=email],
.commerce_shipping input[type=email],
.commerce_coupon input[type=email],
.commerce_payment input[type=email],
.form input[type=password],
.customer_profile_billing input[type=password],
.account input[type=password],
.customer_profile_shipping input[type=password],
.commerce_shipping input[type=password],
.commerce_coupon input[type=password],
.commerce_payment input[type=password],
.form textarea,
.customer_profile_billing textarea,
.account textarea,
.customer_profile_shipping textarea,
.commerce_shipping textarea,
.commerce_coupon textarea,
.commerce_payment textarea {
  margin-bottom: 20px; }

.form select, .customer_profile_billing select, .account select, .customer_profile_shipping select, .commerce_shipping select, .commerce_coupon select, .commerce_payment select, .form input[type=text], .customer_profile_billing input[type=text], .account input[type=text], .customer_profile_shipping input[type=text], .commerce_shipping input[type=text], .commerce_coupon input[type=text], .commerce_payment input[type=text],
.form input[type=email],
.customer_profile_billing input[type=email],
.account input[type=email],
.customer_profile_shipping input[type=email],
.commerce_shipping input[type=email],
.commerce_coupon input[type=email],
.commerce_payment input[type=email],
.form input[type=password],
.customer_profile_billing input[type=password],
.account input[type=password],
.customer_profile_shipping input[type=password],
.commerce_shipping input[type=password],
.commerce_coupon input[type=password],
.commerce_payment input[type=password],
.form textarea,
.customer_profile_billing textarea,
.account textarea,
.customer_profile_shipping textarea,
.commerce_shipping textarea,
.commerce_coupon textarea,
.commerce_payment textarea {
  width: 100%;
  border: 1px solid #dcd3c4;
  border-radius: 4px;
  padding: 5px;
  font-family: 'Lato', sans-serif;
  font-size: 14px;
  background-color: #fff;
  color: #2e2925; }

.form .form-submit, .customer_profile_billing .form-submit, .account .form-submit, .customer_profile_shipping .form-submit, .commerce_shipping .form-submit, .commerce_coupon .form-submit, .commerce_payment .form-submit {
  width: 100%; }

.form .facetapi-facetapi-checkbox-links, .customer_profile_billing .facetapi-facetapi-checkbox-links, .account .facetapi-facetapi-checkbox-links, .customer_profile_shipping .facetapi-facetapi-checkbox-links, .commerce_shipping .facetapi-facetapi-checkbox-links, .commerce_coupon .facetapi-facetapi-checkbox-links, .commerce_payment .facetapi-facetapi-checkbox-links {
  color: #2e2925;
  font-family: 'Lato', sans-serif;
  font-size: 14px;
  text-decoration: none;
  padding-bottom: 5px;
  font-weight: 500;
  line-height: 18px; }
  .form .facetapi-facetapi-checkbox-links ul, .customer_profile_billing .facetapi-facetapi-checkbox-links ul, .account .facetapi-facetapi-checkbox-links ul, .customer_profile_shipping .facetapi-facetapi-checkbox-links ul, .commerce_shipping .facetapi-facetapi-checkbox-links ul, .commerce_coupon .facetapi-facetapi-checkbox-links ul, .commerce_payment .facetapi-facetapi-checkbox-links ul {
    padding-left: 20px;
    margin-bottom: 10px; }

.form .facetapi-checkbox, .customer_profile_billing .facetapi-checkbox, .account .facetapi-checkbox, .customer_profile_shipping .facetapi-checkbox, .commerce_shipping .facetapi-checkbox, .commerce_coupon .facetapi-checkbox, .commerce_payment .facetapi-checkbox {
  color: #2e2925;
  margin-bottom: 10px;
  text-decoration: none; }

.form .description, .customer_profile_billing .description, .account .description, .customer_profile_shipping .description, .commerce_shipping .description, .commerce_coupon .description, .commerce_payment .description {
  display: none; }

.form input[type=checkbox], .customer_profile_billing input[type=checkbox], .account input[type=checkbox], .customer_profile_shipping input[type=checkbox], .commerce_shipping input[type=checkbox], .commerce_coupon input[type=checkbox], .commerce_payment input[type=checkbox],
.form input[type=radio],
.customer_profile_billing input[type=radio],
.account input[type=radio],
.customer_profile_shipping input[type=radio],
.commerce_shipping input[type=radio],
.commerce_coupon input[type=radio],
.commerce_payment input[type=radio] {
  display: none; }

.form input[type=checkbox] + label, .customer_profile_billing input[type=checkbox] + label, .account input[type=checkbox] + label, .customer_profile_shipping input[type=checkbox] + label, .commerce_shipping input[type=checkbox] + label, .commerce_coupon input[type=checkbox] + label, .commerce_payment input[type=checkbox] + label,
.form input[type=radio] + label,
.customer_profile_billing input[type=radio] + label,
.account input[type=radio] + label,
.customer_profile_shipping input[type=radio] + label,
.commerce_shipping input[type=radio] + label,
.commerce_coupon input[type=radio] + label,
.commerce_payment input[type=radio] + label {
  cursor: pointer;
  padding: 10px 0 10px 40px;
  border: 0;
  margin: 0 0 5px 0;
  border: 1px solid #dcd3c4;
  background-position: 5px -1643px; }
  .form input[type=checkbox] + label:hover, .customer_profile_billing input[type=checkbox] + label:hover, .account input[type=checkbox] + label:hover, .customer_profile_shipping input[type=checkbox] + label:hover, .commerce_shipping input[type=checkbox] + label:hover, .commerce_coupon input[type=checkbox] + label:hover, .commerce_payment input[type=checkbox] + label:hover,
  .form input[type=radio] + label:hover,
  .customer_profile_billing input[type=radio] + label:hover,
  .account input[type=radio] + label:hover,
  .customer_profile_shipping input[type=radio] + label:hover,
  .commerce_shipping input[type=radio] + label:hover,
  .commerce_coupon input[type=radio] + label:hover,
  .commerce_payment input[type=radio] + label:hover {
    background-color: #f7f0e6; }

.form input[type=checkbox]:checked + label, .customer_profile_billing input[type=checkbox]:checked + label, .account input[type=checkbox]:checked + label, .customer_profile_shipping input[type=checkbox]:checked + label, .commerce_shipping input[type=checkbox]:checked + label, .commerce_coupon input[type=checkbox]:checked + label, .commerce_payment input[type=checkbox]:checked + label,
.form input[type=radio]:checked + label,
.customer_profile_billing input[type=radio]:checked + label,
.account input[type=radio]:checked + label,
.customer_profile_shipping input[type=radio]:checked + label,
.commerce_shipping input[type=radio]:checked + label,
.commerce_coupon input[type=radio]:checked + label,
.commerce_payment input[type=radio]:checked + label {
  background-position: -44px -1693px; }

@media only screen and (min-width: 480px) {
  #facetapi_select_facet_form_3,
  #edit-submitted-subject {
    margin-bottom: 30px; } }

.form-item-customer-profile-billing-commerce-customer-address-und-0-country {
  margin-bottom: 20px; }

input[type=submit] {
  -webkit-appearance: none;
  border-radius: 0; }

.facetapi-facet-field-book-topics {
  height: 200px;
  overflow-y: scroll; }
  @media only screen and (min-width: 480px) {
    .facetapi-facet-field-book-topics {
      height: auto;
      overflow-y: auto; } }

.facetapi-facetapi-checkbox-links input[type=checkbox] {
  display: inline-block; }

#edit-timezone {
  display: none; }

/*----------------------------------*\
	#blockquote
\*----------------------------------*/
.quote {
  font-family: 'Gentium Book Basic', serif;
  font-style: italic; }

.quote--small {
  font-size: 18px;
  color: gray;
  line-height: 24px;
  margin-bottom: 20px; }

.quote--large {
  font-size: 20px;
  line-height: 26px;
  color: #2e2925;
  margin-bottom: 30px; }
  @media only screen and (min-width: 769px) {
    .quote--large {
      font-size: 28px;
      line-height: 32px; } }

.quote--border-both {
  border-top: 1px solid #dcd3c4;
  border-bottom: 1px solid #dcd3c4;
  padding: 30px 0; }

.quote--border-bottom {
  border-bottom: 1px solid #dcd3c4;
  padding: 30px 0; }

.quote--center {
  text-align: center; }

/*----------------------------------*\
	#menu-books
\*----------------------------------*/
.menu-books {
  background-color: #dcd3c4;
  position: fixed;
  bottom: 40px;
  left: 0;
  width: 100%;
  z-index: 1;
  text-align: center; }
  @media only screen and (min-width: 480px) {
    .menu-books {
      background-color: #f7f0e6;
      position: static;
      text-align: left; } }
  @media only screen and (min-width: 480px) {
    .menu-books ul li {
      display: block; } }
  .menu-books ul li:last-child a {
    border: 0; }
  .menu-books .menu-books__link {
    color: gray;
    text-decoration: none;
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    display: block;
    font-size: 11px;
    padding: 34px 8px 8px 8px;
    transition: all 0.1s;
    /**
		 *	Submenu on wider screen
		 */ }
    .menu-books .menu-books__link:hover, .menu-books .menu-books__link.active, .menu-books .menu-books__link.active-trail {
      background-color: #f7f0e6; }
      @media only screen and (min-width: 480px) {
        .menu-books .menu-books__link:hover, .menu-books .menu-books__link.active, .menu-books .menu-books__link.active-trail {
          background-color: #dcd3c4; } }
    @media only screen and (min-width: 480px) {
      .menu-books .menu-books__link {
        font-size: 16px;
        padding: 10px 10px 10px 40px;
        border-bottom: 1px solid #dcd3c4; } }
  .menu-books .latest {
    background-position: 12px 6px; }
    @media only screen and (min-width: 480px) {
      .menu-books .latest {
        background-position: 8px 6px; } }
  .menu-books .collections {
    background-position: -23px -43px; }
    @media only screen and (min-width: 480px) {
      .menu-books .collections {
        background-position: -40px -43px; } }
  .menu-books .topics {
    background-position: 14px -991px; }
    @media only screen and (min-width: 480px) {
      .menu-books .topics {
        background-position: 9px -990px; } }
  .menu-books .reviews {
    background-position: 20px -691px; }
    @media only screen and (min-width: 480px) {
      .menu-books .reviews {
        background-position: 9px -691px; } }
  .menu-books .upcoming {
    background-position: -28px -735px; }
    @media only screen and (min-width: 480px) {
      .menu-books .upcoming {
        background-position: -42px -735px; } }

/*----------------------------------*\
	#filter
\*----------------------------------*/
.filter-buttons {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  background-color: #f7f0e6;
  padding: 8px 0;
  z-index: 3;
  border-top: 1px solid #dcd3c4; }
  @media only screen and (min-width: 480px) {
    .filter-buttons {
      display: none; } }

.filter-buttons__button {
  margin-right: -4px;
  text-align: center;
  padding: 5px 0 5px 30px;
  color: #2e2925;
  font-family: 'Lato', sans-serif;
  font-size: 14px; }
  .filter-buttons__button:first-child {
    border-right: 1px solid #dcd3c4; }

.filter-buttons__button--half {
  width: 50%; }

.filter-buttons__button__filters {
  background-position: 48px -848px; }

.filter-buttons__button__search {
  background-position: -3px -499px; }

.filter-buttons__button--disabled {
  pointer-events: none;
  opacity: 0.25; }

.filter {
  position: fixed;
  width: 100%;
  left: 0;
  bottom: -110%;
  z-index: 2;
  transition: bottom 0.20s linear; }
  @media only screen and (min-width: 480px) {
    .filter {
      display: block;
      position: static; } }

.filter__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 25px;
  height: 25px;
  background-position: -50px -1847px; }
  @media only screen and (min-width: 480px) {
    .filter__close {
      display: none; } }

/*----------------------------------*\
	#cart
\*----------------------------------*/
.cart-container, .cart_contents, .customer_profile_billing,
.checkout_review, .commerce_payment,
.checkout-help,
.account,
.messages.error,
.customer_profile_shipping,
.commerce_shipping,
.commerce_coupon {
  max-width: 600px;
  margin: 0 auto 40px auto; }

.cart-form {
  margin-bottom: 10px; }

.cart-items input[type=text] {
  border: 1px solid #dcd3c4;
  border-radius: 4px;
  padding: 5px;
  font-family: 'Lato', sans-serif;
  font-size: 14px;
  background-color: #fff;
  color: #2e2925; }

.cart-items input[type=submit] {
  margin-bottom: 0; }

.line-item-summary,
.cart-summary {
  margin-top: 40px;
  text-align: right;
  font-family: 'Lato', sans-serif;
  font-size: 22px;
  margin-bottom: 20px;
  font-weight: 700; }

.commerce-line-item-actions {
  text-align: right; }
  .commerce-line-item-actions #edit-submit {
    margin-right: 5px; }

.checkout-buttons {
  margin-bottom: 40px;
  font-family: 'Lato', sans-serif;
  font-size: 14px;
  text-align: center; }
  .checkout-buttons .checkout-cancel,
  .checkout-buttons .checkout-back {
    margin-left: 9px; }
  .checkout-buttons .button-operator {
    display: none; }

.pane-data {
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  line-height: 22px;
  padding-bottom: 30px;
  color: #2e2925;
  overflow: hidden;
  display: block; }

.pane-data-full {
  display: block;
  width: 100%; }

.commerce_payment .commerce-paypal-icons,
.commerce_payment .commerce-paypal-icon,
.commerce_payment .commerce-month-year-divider {
  display: none; }

.commerce_payment .commerce-credit-card-expiration div {
  width: 100px;
  display: inline-block; }

.commerce_payment #payment-details {
  margin-top: 30px; }

.checkout-help {
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  font-weight: 700; }

.commerce-price-formatted-components .component-title {
  text-align: right;
  font-weight: 700; }

.commerce-price-formatted-components .component-total {
  text-align: right; }

.commerce_shipping .form-type-radio {
  position: relative; }

.commerce_shipping .description {
  display: block; }
  @media only screen and (min-width: 769px) {
    .commerce_shipping .description {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      -webkit-transform: translateY(-50%);
      right: 5px;
      font-family: 'Lato', sans-serif;
      font-size: 12px;
      pointer-events: none;
      color: gray; } }

.commerce_coupon input[type=submit] {
  width: auto; }

.commerce_coupon input[type=text] {
  margin-bottom: 5px; }

/*----------------------------------*\
	#author
\*----------------------------------*/
.author img {
  margin: auto; }

.author__image {
  display: block; }

.featured-author {
  border-top: 1px solid #dcd3c4; }
  .featured-author li {
    margin-right: -4px;
    width: 33.33%;
    text-align: center; }
  .featured-author a {
    font-family: 'Lato', sans-serif;
    text-transform: uppercase;
    font-size: 9px;
    color: #2e2925;
    text-decoration: none;
    display: block;
    padding: 60px 0 20px 0; }
    @media only screen and (min-width: 480px) {
      .featured-author a {
        font-size: 14px; } }
    .featured-author a:hover {
      background-color: #dcd3c4; }

.featured-author__profile {
  background-image: url(../images/featured-author__profile.png);
  background-repeat: no-repeat;
  background-position: center 18px;
  background-size: 22px auto; }

.featured-author__books {
  border-left: 1px solid #dcd3c4;
  border-right: 1px solid #dcd3c4;
  background-image: url(../images/featured-author__books.png);
  background-repeat: no-repeat;
  background-position: center 20px;
  background-size: 22px auto; }

.featured-author__all {
  background-image: url(../images/featured-author__all.png);
  background-repeat: no-repeat;
  background-position: center 24px;
  background-size: 22px auto; }

/*----------------------------------*\
	#reviews
\*----------------------------------*/
.reviews-list {
  margin-bottom: 60px; }
  .reviews-list .view-grouping {
    overflow: hidden;
    border-bottom: 1px solid #dcd3c4;
    margin-bottom: 40px; }
  .reviews-list .view-grouping-content {
    margin-bottom: 20px; }
    .reviews-list .view-grouping-content img {
      display: none;
      /*float:right;
			max-height:100px;
			width:auto;
			margin-bottom:20px;
			position:relative;
			top:-50px;*/ }

/*----------------------------------*\
	#breadcrumb
\*----------------------------------*/
.breadcrumb {
  font-family: 'Gentium Book Basic', serif;
  font-size: 14px;
  font-style: italic;
  border-bottom: 1px solid #dcd3c4;
  padding-bottom: 10px;
  margin-bottom: 30px;
  color: #2e2925;
  line-height: 20px; }
  .breadcrumb a {
    color: #2e2925; }

.easy-breadcrumb_segment-title {
  font-weight: 700; }

/*----------------------------------*\
	#masthead
\*----------------------------------*/
@media only screen and (min-width: 769px) {
  .masthead {
    border-bottom: 1px solid #dcd3c4;
    overflow: hidden;
    margin-bottom: 30px; } }

/*----------------------------------*\
	#collections
\*----------------------------------*/
.collection {
  border-bottom: 1px solid #dcd3c4;
  padding-bottom: 30px;
  margin-bottom: 30px;
  overflow: hidden; }

.collection__cover {
  padding: 0 30px 0 30px;
  position: relative;
  margin-bottom: 20px; }
  @media only screen and (min-width: 769px) {
    .collection__cover {
      padding: 0 60px 0 30px;
      margin-bottom: 0;
      float: left; }
      .collection__cover:after {
        display: block;
        content: "";
        position: absolute;
        background-color: #dcd3c4;
        width: 100%;
        height: 80%;
        top: 10%;
        left: -30px;
        z-index: -1; } }
  .collection__cover img {
    margin: auto; }

.collection__detail {
  overflow: hidden; }

/*----------------------------------*\
	#about
\*----------------------------------*/
.about__logo {
  margin-bottom: 20px;
  width: 80px; }

.about__montage {
  padding: 165px 0;
  background-image: url(../images/about-montage.jpg);
  background-repeat: repeat-x;
  background-position: center center;
  margin-bottom: 40px; }

@media only screen and (min-width: 769px) {
  .about__intro {
    padding: 0 20%; } }

@media only screen and (min-width: 769px) {
  .about__indent {
    padding-left: 200px;
    position: relative; } }

@media only screen and (min-width: 769px) {
  .about__indent__logo {
    background-image: url(../images/about-logo-beige.png);
    background-repeat: no-repeat;
    background-size: 125px auto;
    background-position: 20px 0; } }

.about__indent__note {
  font-family: 'Lato', sans-serif;
  font-size: 12px;
  color: gray;
  line-height: 18px;
  text-align: right; }
  @media only screen and (min-width: 769px) {
    .about__indent__note {
      position: absolute;
      bottom: 0;
      left: 0;
      max-width: 175px; } }

.about__asides {
  background-color: #f7f0e6; }

@media only screen and (min-width: 769px) {
  .about__asides--inscribe {
    background-image: url(../images/about-inscribe.png);
    background-repeat: no-repeat;
    background-position: 140px 0; } }

@media only screen and (min-width: 769px) {
  .about__asides--submit {
    background-image: url(../images/about-logo-black.png);
    background-repeat: no-repeat;
    background-size: 100px auto;
    background-position: 80px 0; } }

/*----------------------------------*\
	#main menu
\*----------------------------------*/
.main-menu {
  display: none;
  background-color: #f7f0e6;
  margin-bottom: 30px; }
  @media only screen and (min-width: 480px) {
    .main-menu {
      display: block; } }
  .main-menu .menu li {
    margin-right: -4px; }
    .main-menu .menu li:first-child a {
      padding-left: 0; }
    .main-menu .menu li:last-child a {
      padding-right: 0; }
  .main-menu .menu a {
    font-size: 14px;
    display: block;
    color: #2e2925;
    text-transform: uppercase;
    padding: 12px 14px;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    text-decoration: none; }
    .main-menu .menu a.active, .main-menu .menu a.active-trail {
      font-weight: 300; }

.main-menu--small {
  background-color: #f7f0e6;
  border-bottom: 1px solid #dcd3c4;
  margin-bottom: 30px; }
  @media only screen and (min-width: 480px) {
    .main-menu--small {
      display: none; } }
  .main-menu--small .menu {
    position: relative; }
    .main-menu--small .menu li {
      margin-right: -4px; }
    .main-menu--small .menu a {
      font-size: 14px;
      display: block;
      color: gray;
      font-family: 'Lato', sans-serif;
      font-weight: 400;
      text-decoration: none; }

.menu__books {
  padding: 12px 12px 12px 40px;
  background-position: -36px -341px;
  border-right: 1px solid #dcd3c4; }

.menu__authors {
  padding: 12px 12px 12px 40px;
  background-position: 14px -690px;
  border-right: 1px solid #dcd3c4; }

.menu__menu {
  padding: 12px 20px;
  position: absolute;
  top: 0;
  right: 0;
  text-indent: -99999px;
  background-position: -92px -389px; }

.main-menu--mobile {
  position: fixed;
  background-color: #4f6b7e;
  height: 100%;
  width: 100%;
  top: 0;
  z-index: 99;
  padding: 45px 20px 0 20px;
  right: -100%;
  transition: right 0.20s linear; }
  .main-menu--mobile .menu {
    position: relative; }
    .main-menu--mobile .menu li {
      margin-right: -4px; }
    .main-menu--mobile .menu a {
      font-size: 14px;
      display: block;
      color: #fff;
      font-family: 'Lato', sans-serif;
      font-weight: 700;
      padding: 12px 0 12px 50px;
      text-decoration: none;
      border-top: 1px solid #455e6e; }

.menu-mobile__home {
  background-position: -88px -91px; }

.menu-mobile__books {
  background-position: -35px -1042px; }

.menu-mobile__authors {
  background-position: -87px -1392px; }

.menu-mobile__discover {
  background-position: -38px -1342px; }

.menu-mobile__blog {
  background-position: 10px -442px; }

.menu-mobile__about {
  background-position: -88px -793px; }

.menu-mobile__inscribe {
  background-position: 21px -1792px; }

.menu-mobile__account {
  background-position: -86px -1093px; }

.menu-mobile__basket {
  background-position: 12px -142px;
  border-bottom: 1px solid #455e6e; }

.menu__close {
  width: 35px;
  height: 35px;
  position: absolute;
  top: 15px;
  right: 10px;
  background-position: 13px -1299px; }

/*----------------------------------*\
	#header
\*----------------------------------*/
.header {
  background-color: #2e2925;
  padding: 20px 0; }

.header__logo {
  width: 200px; }
  @media only screen and (min-width: 480px) {
    .header__logo {
      width: 300px; } }

/*----------------------------------*\
	#user menu
\*----------------------------------*/
.user-menu {
  display: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  right: 15px; }
  @media only screen and (min-width: 480px) {
    .user-menu {
      display: block; } }
  @media only screen and (min-width: 769px) {
    .user-menu {
      right: 30px; } }
  .user-menu .menu li {
    margin-right: -4px; }
    .user-menu .menu li:last-child a {
      padding-right: 0; }
  .user-menu .menu a {
    font-size: 14px;
    display: block;
    color: #f7f0e6;
    text-transform: uppercase;
    padding: 2px 18px 2px 40px;
    font-family: 'Lato', sans-serif;
    font-weight: 300;
    text-decoration: none; }
    .user-menu .menu a.active {
      font-weight: 700; }

.menu__shopping-cart {
  background-position: -34px -199px; }

.menu__user {
  background-position: 20px -1448px; }

.menu__user-logout {
  background-position: -78px -1748px; }

/*----------------------------------*\
	#tagline
\*----------------------------------*/
.tagline {
  display: none; }
  @media only screen and (min-width: 769px) {
    .tagline {
      display: block;
      background-color: #000;
      font-family: 'Gentium Book Basic', serif;
      font-style: italic;
      color: #fff;
      text-align: center;
      padding: 10px 0;
      font-size: 18px; } }

/*----------------------------------*\
	#table
\*----------------------------------*/
table {
  width: 100%; }

/*----------------------------------*\
	#messages
\*----------------------------------*/
#messages {
  display: block;
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  margin-bottom: 20px; }
  #messages .status {
    background-color: #82a4c0;
    color: #fff;
    padding: 10px;
    border-radius: 3px; }
    #messages .status a {
      color: #fff; }

.messages {
  font-family: 'Lato', sans-serif;
  font-size: 16px; }
  .messages.error {
    background-color: #cc3300;
    color: #fff;
    padding: 10px;
    border-radius: 3px; }
    .messages.error a {
      color: #fff; }

/*----------------------------------*\
	#footer
\*----------------------------------*/
.footer {
  background-color: #2e2925;
  border-bottom: 8px solid #ff6606;
  padding: 40px 0; }

.footer__links li {
  margin-bottom: 8px; }
  .footer__links li:last-child {
    margin-bottom: 0; }

.footer__links a {
  color: #fff;
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  text-decoration: none; }

.footer__offsite {
  vertical-align: middle; }

.footer__offsite__link {
  display: block;
  margin-left: 10px; }
  .footer__offsite__link.facebook {
    background-position: -96px -1544px;
    width: 30px;
    height: 30px; }
  .footer__offsite__link.twitter {
    background-position: 0 -293px;
    width: 30px;
    height: 30px; }
  .footer__offsite__link.arts-council {
    background-position: 0 -649px;
    width: 129px;
    height: 30px; }

.footer__legal {
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  color: #fff; }
  .footer__legal a {
    font-family: 'Lato', sans-serif;
    color: #fff; }

/*----------------------------------*\
	#discover
\*----------------------------------*/
.discover__bg {
  background-image: url(../images/discover-bg.jpg);
  padding-bottom: 120px;
  background-repeat: repeat;
  animation: animatedBackground 40s linear infinite; }

@keyframes animatedBackground {
  from {
    background-position: 0 0; }
  to {
    background-position: 0 100%; } }

.discover__header {
  background-image: url(../images/discover-bg.jpg);
  text-align: center;
  color: #fff;
  text-transform: uppercase;
  padding: 40px 0;
  margin-bottom: 30px; }
  .discover__header h1 {
    margin-bottom: 0; }

.discover__intro {
  padding: 40px;
  background-color: #f7f0e6; }

.topic {
  display: inline-block;
  margin: 0 3px; }
  .topic a {
    display: block; }

/*----------------------------------*\
	#inscribe
\*----------------------------------*/
.inscribe__logo {
  width: 190px;
  margin-bottom: 30px; }

.inscribe-links {
  text-align: center; }

.inscribe-links__link {
  padding: 0 15px; }

/*----------------------------------*\
	#feature
\*----------------------------------*/
.feature {
  overflow: hidden;
  position: relative; }

.feature__image--desktop {
  display: none;
  float: left;
  padding-right: 20px; }
  @media only screen and (min-width: 960px) {
    .feature__image--desktop {
      display: block; } }

@media only screen and (min-width: 960px) {
  .feature__image--mobile {
    display: none; } }

.bx-prev,
.bx-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%); }

.bx-next {
  right: 0; }

/*----------------------------------*\
	#book-promo
\*----------------------------------*/
.book-promo {
  background-image: url(../images/book-promo-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 20px;
  text-align: center;
  margin-bottom: 24px; }

.book-promo__heading {
  font-family: 'Lato', sans-serif;
  font-size: 24px;
  line-height: 28px;
  color: #fff;
  margin-bottom: 40px; }
  .book-promo__heading:after {
    border-bottom: 1px solid #fff;
    content: "";
    display: block;
    margin-top: 10px;
    position: absolute;
    width: 25%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%); }

.book-promo__browse {
  font-family: 'Lato', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #4f6b7e;
  background-color: #fff;
  border-radius: 4px;
  display: block;
  text-decoration: none;
  padding: 10px 0;
  margin-bottom: 10px; }

.book-promo__download {
  font-family: 'Lato', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  border-radius: 4px;
  display: block;
  text-decoration: none;
  padding: 10px 0;
  margin-bottom: 5px;
  border: 1px solid #fff; }

/*----------------------------------*\
	#inscribe-promo
\*----------------------------------*/
.inscribe-promo {
  background-image: url(../images/inscribe-promo-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 20px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center; }
  @media only screen and (min-width: 480px) {
    .inscribe-promo {
      height: 193px; } }
  @media only screen and (min-width: 769px) {
    .inscribe-promo {
      height: auto; } }

.inscribe-promo__logo {
  width: 150px;
  margin-bottom: 12px; }

.inscribe-promo__text {
  color: #fff;
  font-size: 13px;
  font-family: 'Lato', sans-serif;
  text-transform: uppercase;
  letter-spacing: 2px; }

/*----------------------------------*\
	#blog
\*----------------------------------*/
.blog-post {
  margin-bottom: 40px;
  padding-bottom: 20px;
  border-bottom: 1px solid #dcd3c4; }

.blog-post__title {
  margin-bottom: 10px; }

.blog-post__meta {
  margin-bottom: 20px;
  color: gray; }

.blog-post__image {
  margin-bottom: 20px; }

/*----------------------------------*\
	#banding
\*----------------------------------*/
.banding {
  padding: 60px 20px;
  text-align: center;
  position: relative; }

.banding__text {
  color: #fff; }

.banding--light-blue {
  margin-top: 100px;
  background-color: #4f6b7e; }

.banding--dark-blue {
  background-color: #3b505f; }

.branding__icon {
  width: 80px;
  height: 80px;
  border-radius: 40px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  top: -100px; }

.branding__icon--peepal {
  background-position: -75px -926px;
  background-color: #4f6b7e; }

.branding__icon--inscribe {
  background-position: -62px -1223px;
  background-color: #3b505f; }

.branding__stats__link {
  display: block;
  padding: 40px 30px 0 30px;
  margin: 30px 0;
  font-family: 'Lato', sans-serif;
  font-size: 14px; }

.branding__stats__books {
  background-position: 16px -1494px; }

.branding__stats__authors {
  background-position: -24px -1093px; }
  @media only screen and (min-width: 480px) {
    .branding__stats__authors {
      border-left: 1px solid #3b505f;
      border-right: 1px solid #3b505f; } }

.branding__stats__countries {
  background-position: 79px -593px; }

/*----------------------------------*\
	#pagination
\*----------------------------------*/
.pager {
  clear: both;
  text-align: center;
  color: #2e2925;
  padding: 20px;
  font-family: 'Lato', sans-serif; }
  .pager li {
    text-transform: uppercase;
    font-size: 12px; }
  .pager a {
    color: #ff6606;
    text-decoration: none;
    display: block;
    padding: 6px 10px;
    border: 1px solid #dcd3c4; }
    .pager a:hover {
      background-color: #f7f0e6; }
  .pager .first a {
    border-top: 1px solid #dcd3c4;
    border-bottom: 1px solid #dcd3c4;
    border-left: 1px solid #dcd3c4; }
  .pager .last a {
    border-top: 1px solid #dcd3c4;
    border-right: 1px solid #dcd3c4;
    border-bottom: 1px solid #dcd3c4; }
  .pager .pager-current {
    border-left: 0;
    border-right: 0;
    padding: 6px 10px;
    border: 1px solid #dcd3c4; }

/*----------------------------------*\
	#catalogues
\*----------------------------------*/
.catalogue {
  margin-bottom: 30px;
  border-bottom: 1px solid #dcd3c4;
  padding-bottom: 20px; }
  .catalogue a {
    color: #2e2925; }

.catalogue__title {
  margin-bottom: 10px; }
