:root {
  --alternative-color--light: #e3f2df;
  --alternative-color--dark: #2c5e39;
  --focus-outline-color: orange;
}

* {
  box-sizing: border-box;
}

main:focus,
section:focus {
  outline: none;
}


/**************
  Demos
***************/
/** All sliders */
.slick-autoplay-toggle-button,
.slick-prev .slick-prev-icon, .slick-next .slick-next-icon,
.slick-dots li button .slick-dot-icon,
.slick-dots li.slick-active button .slick-dot-icon {
  color: #5b78b4;
}

.slick-slider p {
    font-weight: bold;
  }

/** Variable width */
.variable-width .slick-slide p {
  background: #fff;
  color: var(--alternative-color--dark);
  margin: 0 10px;
  padding: 10px;
}

.adaptive-height .slick-slide,
.lazy .slick-slide,
.fade .slick-slide {
  height: auto;
  min-height: 100px;
}


/** Center Mode */
.center .slick-center {
  color: royalblue;
  opacity: 1;
  transform: scale(1.2);
  transition: all .5s linear;
}

/** Adaptive Height */
.adaptive-height p + p {
  font-size: 18px !important;
  font-weight: normal;
  line-height: 24px;
  margin-bottom: 20px !important;
}

/** Image sliders (Lazy Loading and Fade) */
.image-slider .image {
  padding: 10px;
}

  .image-slider .slick-slide img {
    border: 5px solid #fff;
    display: block;
    width: 100%;
  }

    .image-slider .slick-slide img.slick-loading {
      border: 0;
    }


/** Book of the day sliders */
.single-item {
	max-width: 1000px;
	margin-top: 20px;
}

.slick-content img {
	display: inline-block;
	text-align: center; 
}


.slick-content {
	position: absolute; 
	width: 100%; 
	max-width: 1000px;
	height: 220px; 
	top: 30px; 
	padding: 0px; 
	font-family: inherit;
	text-align: center; 
	line-height: 20px; 
	font-decoration: bold; 
	font-size: 16px; 
	color: #ffffff;
}
@media only screen and (max-width: 768px) {
	.slick-content {
	position: absolute; 
	width: 100%; 
	max-width: 1000px;
	height: 220px; 
	top: 30px; 
	padding: 0px; 
	font-family: inherit;
	text-align: center; 
	line-height: 20px; 
	font-decoration: bold; 
	font-size: 16px; 
	color: #ffffff;
}
}
@media only screen 
  and (max-device-width: 1024px) 
  and (orientation: landscape) 
  and (-webkit-min-device-pixel-ratio: 1) {
	  .slick-content {
	position: absolute; 
	width: 100%; 
	max-width: 1000px;
	height: 220px; 
	top: 30px; 
	padding: 0px; 
	font-family: inherit;
	text-align: center; 
	line-height: 20px; 
	font-decoration: bold; 
	font-size: 16px; 
	color: #ffffff;
}
  }
.slick-imagebox {
	position: absolute; 
	width: 50%; 
	max-width: 470px;
	height: 200px; 
	left: 10px; 
	padding: 0px; 
	text-align:left;
	overflow: hidden;
}
@media only screen and (max-width: 768px) {
	.slick-imagebox {
	position: absolute; 
	width: 50%; 
	max-width: 340px;
	height: 140px; 
	left: 0px; 
	padding: 0px; 
	text-align:left;
	overflow: hidden;
}
}
@media only screen 
  and (max-device-width: 1024px) 
  and (orientation: landscape) 
  and (-webkit-min-device-pixel-ratio: 1) {
	  .slick-imagebox {
	position: absolute; 
	width: 50%; 
	max-width: 400px;
	height: 180px; 
	left: 10px; 
	padding: 0px; 
	text-align:left;
	overflow: hidden;
}
  }
.slick-textbox {
	position: absolute; 
	width: 50%; 
	max-width: 460px;
	height: 120px; 
	top: 40px; 
	left: 490px; 
	padding: 5px; 
	font-family: inherit;
	text-align: left; 
	line-height: normal;
	font-decoration: bold; 
	font-size: 0.9em; 
	color: #FFFFFF;
	animation: fadeIn 5s;
}
@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@media only screen and (max-width: 768px)  {
	.slick-textbox {
	position: absolute; 
	width: 50%; 
	max-width: 300px;
	height: 120px; 
	top: 30px; 
	left: 330px; 
	padding: 5px; 
	font-family: inherit;
	text-align: left; 
	line-height: normal; 
	font-decoration: bold; 
	font-size: 0.8em; 
	color: #FFFFFF;
}
}
@media only screen 
  and (max-device-width: 1024px) 
  and (orientation: landscape) 
  and (-webkit-min-device-pixel-ratio: 1) {
	  .slick-textbox {
	position: absolute; 
	width: 50%; 
	max-width: 420px;
	height: 120px; 
	top: 40px; 
	left: 500px; 
	padding: 5px; 
	font-family: inherit;
	text-align: left; 
	line-height: normal; 
	font-decoration: bold; 
	font-size: 0.7em; 
	color: #FFFFFF;
}
  }
.slick-bookcover {
	position: absolute;
	max-width:150px;
    max-height: 150px;
	overflow: hidden;
    margin-left: 20px;
    border: 1px solid #5b78b4;
	text-align:left;
	animation: fadeIn 3s;
}
@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

@media only screen and (max-width: 768px)  {
	.slick-bookcover {
		position: absolute;
	max-width:90px;
    max-height: 90px;
	overflow: hidden;
    margin-left: 10px;
    border: 1px solid #5b78b4;
	text-align:left;
}
}
@media only screen 
  and (max-device-width: 1024px) 
  and (orientation: landscape) 
  and (-webkit-min-device-pixel-ratio: 1) {
.slick-bookcover {
	position: absolute;
    max-width:110px;
	max-height: 110px;
	overflow: hidden;
    margin-left: 20px;
    border: 1px solid #5b78b4;
	text-align:left;
}
  }
.slick-title {
	text-align: left; 
	line-height: 1em; 
	font-decoration: bold; 
	font-size: 1.25em; 
	color: #FFF;
	text-shadow: 2px 2px #000;
	margin-top: 0em;
  	margin-bottom: 0.5em;
	animation: fadeIn 3s;
}
@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@media only screen and (max-width: 768px)  {
	.slick-title {
	text-align: left; 
	line-height: 1em; 
	font-decoration: bold; 
	font-size: 1.25em; 
	color: #FFF;
	text-shadow: 2px 2px #000;
	margin-top: 0em;
  	margin-bottom: 0.5em;
}
}
@media only screen 
  and (max-device-width: 1024px) 
  and (orientation: landscape) 
  and (-webkit-min-device-pixel-ratio: 1) {
	  .slick-title {
	text-align: left; 
	line-height: 0.9em; 
	font-decoration: bold; 
	font-size: 1em; 
	color: #FFF;
	text-shadow: 2px 2px #000;
	margin-top: 0em;
  	margin-bottom: 0.5em;
}
  }

.slick-bookcovertitle {
	width: 113px;
    margin-left: 20px;
	padding: 5px 20px 0px 20px;
	font-size:0.9em;
	font-weight:600;
	color: #FFFFFF;
	line-height: auto; 
	text-align: center;
	text-transform:uppercase;
	text-shadow: 2px 2px #000000;
}
@media only screen and (max-width: 768px)  {
	.slick-bookcovertitle {
	width: 53px;
    margin-left: 10px;
	padding: 2px 20px 0px 20px;
	font-size:0.8em;
	font-weight:600;
	color: #FFFFFF;
	line-height: normal;
	text-align: center;
	text-transform:uppercase;
	text-shadow: 2px 2px #000000;
}
}
@media only screen 
  and (max-device-width: 1024px) 
  and (orientation: landscape) 
  and (-webkit-min-device-pixel-ratio: 1) {
	  .slick-bookcovertitle {
	width: 73px;
    margin-left: 20px;
	padding: 5px 20px 0px 20px;
	font-size: 0.9em;
	font-weight:600;
	color: #FFFFFF;
	line-height: normal;
	text-align: center;
	text-transform:uppercase;
	text-shadow: 2px 2px #000000;
}
  }

ul.slick-sso, ol.slick-sso { 
	list-style: none; 
}
li.slick-sso { 
	float: left;
	padding: 10px 20px;
	border: 1px;
	border-colour: #010066;
}

.slick {
	animation: fadeIn 5s;
}
@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

.bookcover {
    max-height: 150px;
	width: auto;
}

/** SSO slider */
.single-item {
	max-width: 1000px;
	margin-top: 20px;
}

.slick-content-sso img {
	display: inline-block;
	text-align: center;
}


.slick-content-sso {
	position: absolute; 
	width: 100%; 
	max-width: 1000px;
	height: 220px; 
	top: 10px; 
	padding: 0px; 
	font-family: inherit;
	text-align: center; 
	line-height: 20px; 
	font-decoration: bold; 
	font-size: 16px; 
	color: #ffffff;
}
@media only screen and (max-width: 768px) {
	.slick-content-sso {
	position: absolute; 
	width: 100%; 
	max-width: 1000px;
	height: 220px; 
	top: 0px; 
	padding: 0px; 
	font-family: inherit;
	text-align: center; 
	line-height: 20px; 
	font-decoration: bold; 
	font-size: 16px; 
	color: #ffffff;
}
}
@media only screen 
  and (max-device-width: 1024px) 
  and (orientation: landscape) 
  and (-webkit-min-device-pixel-ratio: 1) {
	  .slick-content-sso {
	position: absolute; 
	width: 100%; 
	max-width: 1000px;
	height: 220px; 
	top: 0px; 
	padding: 0px; 
	font-family: inherit;
	text-align: center; 
	line-height: 20px; 
	font-decoration: bold; 
	font-size: 16px; 
	color: #ffffff;
}
  }
.slick-imagebox-sso {
	position: absolute; 
	width: 50%; 
	max-width: 470px;
	height: 200px; 
	left: 10px; 
	padding: 0px; 
	text-align:left;
	overflow: hidden;
}
@media only screen and (max-width: 768px) {
	.slick-imagebox-sso {
	position: absolute; 
	width: 50%; 
	max-width: 340px;
	height: 140px; 
	left: 0px; 
	padding: 0px; 
	text-align:left;
	overflow: hidden;
}
}
@media only screen 
  and (max-device-width: 1024px) 
  and (orientation: landscape) 
  and (-webkit-min-device-pixel-ratio: 1) {
	  .slick-imagebox-sso {
	position: absolute; 
	width: 50%; 
	max-width: 400px;
	height: 180px; 
	left: 10px; 
	padding: 0px; 
	text-align:left;
	overflow: hidden;
}
  }
.slick-textbox-sso {
	position: absolute; 
	width: 50%; 
	max-width: 460px;
	height: 120px; 
	top: 40px; 
	left: 490px; 
	padding: 5px; 
	font-family: inherit;
	text-align: left; 
	line-height: normal;
	font-decoration: bold; 
	font-size: 0.9em; 
	color: #FFFFFF;
	animation: fadeIn 5s;
}
@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@media only screen and (max-width: 768px)  {
	.slick-textbox-sso {
	position: absolute; 
	width: 50%; 
	max-width: 300px;
	height: 120px; 
	top: 0px; 
	left: 330px; 
	padding: 5px; 
	font-family: inherit;
	text-align: left; 
	line-height: normal; 
	font-decoration: bold; 
	font-size: 0.8em; 
	color: #FFFFFF;
}
}
@media only screen 
  and (max-device-width: 1024px) 
  and (orientation: landscape) 
  and (-webkit-min-device-pixel-ratio: 1) {
	  .slick-textbox-sso {
	position: absolute; 
	width: 50%; 
	max-width: 420px;
	height: 120px; 
	top: 0px; 
	left: 500px; 
	padding: 5px; 
	font-family: inherit;
	text-align: left; 
	line-height: normal; 
	font-decoration: bold; 
	font-size: 0.7em; 
	color: #FFFFFF;
}
  }
.slick-bookcover-sso {
	position: absolute;
	max-width:150px;
    max-height: 150px;
	overflow: hidden;
    margin-left: 20px;
    border: 1px solid #5b78b4;
	text-align:left;
	animation: fadeIn 3s;
}
@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

@media only screen and (max-width: 768px)  {
	.slick-bookcover-sso {
		position: absolute;
	max-width:90px;
    max-height: 90px;
	overflow: hidden;
    margin-left: 10px;
    border: 1px solid #5b78b4;
	text-align:left;
}
}
@media only screen 
  and (max-device-width: 1024px) 
  and (orientation: landscape) 
  and (-webkit-min-device-pixel-ratio: 1) {
.slick-bookcover-sso {
	position: absolute;
    max-width:110px;
	max-height: 110px;
	overflow: hidden;
    margin-left: 20px;
    border: 1px solid #5b78b4;
	text-align:left;
}
  }

.slick-bookcover-sso img {
	padding: 20px;
}
.slick-title-sso {
	text-align: left; 
	line-height: 1em; 
	font-decoration: bold; 
	font-size: 1.25em; 
	color: #FFF;
	text-shadow: 2px 2px #000;
	margin-top: 0em;
  	margin-bottom: 0.5em;
	animation: fadeIn 3s;
}
@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@media only screen and (max-width: 768px)  {
	.slick-title-sso {
	text-align: left; 
	line-height: 1em; 
	font-decoration: bold; 
	font-size: 1.25em; 
	color: #FFF;
	text-shadow: 2px 2px #000;
	margin-top: 0em;
  	margin-bottom: 0.5em;
}
}
@media only screen 
  and (max-device-width: 1024px) 
  and (orientation: landscape) 
  and (-webkit-min-device-pixel-ratio: 1) {
	  .slick-title-sso {
	text-align: left; 
	line-height: 0.9em; 
	font-decoration: bold; 
	font-size: 1em; 
	color: #FFF;
	text-shadow: 2px 2px #000;
	margin-top: 0em;
  	margin-bottom: 0.5em;
}
  }

.slick-bookcovertitle-sso {
	width: 113px;
    margin-left: 20px;
	padding: 5px 20px 0px 20px;
	font-size:0.9em;
	font-weight:600;
	color: #FFFFFF;
	line-height: auto; 
	text-align: center;
	text-transform:uppercase;
	text-shadow: 2px 2px #000000;
}
@media only screen and (max-width: 768px)  {
	.slick-bookcovertitle-sso {
	width: 53px;
    margin-left: 10px;
	padding: 2px 20px 0px 20px;
	font-size:0.8em;
	font-weight:600;
	color: #FFFFFF;
	line-height: normal;
	text-align: center;
	text-transform:uppercase;
	text-shadow: 2px 2px #000000;
}
}
@media only screen 
  and (max-device-width: 1024px) 
  and (orientation: landscape) 
  and (-webkit-min-device-pixel-ratio: 1) {
	  .slick-bookcovertitle-sso {
	width: 73px;
    margin-left: 20px;
	padding: 5px 20px 0px 20px;
	font-size: 0.9em;
	font-weight:600;
	color: #FFFFFF;
	line-height: normal;
	text-align: center;
	text-transform:uppercase;
	text-shadow: 2px 2px #000000;
}
  }

ul.slick, ol.slick { 
	list-style: none; 
}
li.slick { 
	float: left;
	padding: 10px;
	border: 1px;
	border-colour: #010066;
}

.slick {
	animation: fadeIn 5s;
}
@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

.bookcover-sso {
    max-height: 150px;
	width: auto;
}