*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

svg:not(:root) {
  overflow: hidden;
}

header, section {
  display: block;
}

a {
  background: transparent;
  text-decoration: none !important;
}

img {
  border: 0px;
}

section a {
  color: inherit;
}

html,body,#container {
  height: 100%;
  height: calc(100% - 15px);
  width: 100%;
}

html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
  overflow:hidden;
}

body {
  padding: 15px 0;
  padding-top: 60px;
  overflow: hidden;
  margin: 0;
}

header {
  height: 45px;
  text-align: center;
  margin-top: -45px;
  padding-bottom: 5px;
  margin-bottom: 15px;
  border-bottom: 1px solid rgb(210,210,210);
  box-sizing: border-box;
}
header .acontainer {
  position: absolute;
  display: block;
  left: 0;
  top: 20px;
}

header a{
  padding: 3px 15px;
  text-transform: uppercase;
  font-weight: bold;
  text-decoration: none;
  font-size: 0.8em;
  background: rgb(255, 73, 74);
  color: white;
 }

header a#bookReference{
	background: rgb(0, 0, 0);
}
header h1 {
  margin-bottom: 20px;
  margin: 0px;
  padding: 0px;
  text-transform: uppercase;
}
header img {
  position: absolute;
  right: 0;
  top: 19px;
  height: 30px;
  display: inline-block;
  margin: 0px;
  padding: 0px;
  text-transform: uppercase;
}

#container {
  overflow: hidden;
  box-sizing: border-box;
  width: 10px; /* iOS iframe fix*/
  min-width: 100%; /* iOS iframe fix*/
}

#slides {
  max-width: none;
  position: relative;
  -webkit-transform-style: preserve-3d;
}

.horizontal #slides {
  height: 100%;
  max-height: 100%;
  width: 200%;
  min-width: 2560px;
  overflow: hidden;
}

.vertical #slides {
  min-height: 100%;
  width: auto;
}

.vertical #slides section {
  max-height: 100%;
  width: auto;
  width: 200%;
  min-width: 2560px;
  overflow: hidden;
}

.horizontal #slides section {
  min-height: 100%;
  width: auto;
  max-width: 20%;
  float: left;
}

.vertical #container{
	height: 98%;
	height: calc(100% - 45px);
}

article {
  height: 100%;
  position: relative;
  width: auto;
  max-height: 100%;
  margin-right: 5px;
  display: inline-block;
  float:left;
  vertical-align: top;
  -webkit-margin-after: 5px;
  -webkit-perspective: 1000px;
  -webkit-backface-visibility: hidden;
}

article img {
  height: 100%;
  vertical-align: top;
  width: auto;
  display: block;
}

article:last-of-type {
  margin-right: 0px;
}

article:after {
  position: absolute;
  content: "";
  bottom: 0px;
  z-index: 1;
  left: 0px;
  right: 0px;
  height: 60px;
  background: linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.5) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#66000000', GradientType=0);
  margin-right: 5px;
}

article a {
  position: absolute;
  left:0px;
  bottom: 0px;
  top: 0px;
  right: 0px;
  height: 100%;
  font-size: 0.8rem;
  font-size: 0.8em;
  background-color: rgba(0,0,0,0);
}

.vertical article:after {
  bottom: 0px;
}

article h1 {
  position: absolute;
  z-index: 2;
  bottom: 15px;
  left: 15px;
  line-height: 1;
  margin: 0px;
  color: white;
  font-size: 1em;
  /* background: rgba(0,0,0,.5); */
}

#slides section article .helper{
	height: 100%;
	vertical-align: middle;
	display: inline-block;
}

.vertical article {
  height: auto;
  width: 100%; 
  margin-bottom: 5px;
  margin-right: 0px;
}
.vertical article img {
  max-width: 100%;
  height: auto;
  max-height: 100%;
}

#slides section article {
	text-align: center;
	margin: 0;
}
#slides section article:after {
	margin: 0;
}

#slides section article img {
	margin: 0 auto;
	vertical-align: middle;
	display: inline-block;
}

#slides section article h1 {
	text-align: center;
	width: 100%;
	left: 0;
}

@media (max-width: 600px) {

  header img {
    display: none;
  }
  header {
    text-align: right;
  }
  header h1 {
    font-size: 1.2em;
    line-height: 1.6em;
	margin-top: 10px;
  }
  
header {
	height: 60px;
}

 header .acontainer {
	max-width: 100px;
}

 header a{
	width: 100%;
	float: left;
	margin-bottom: 1px;
	text-align: center;
}
  
  .horizontal .fullCollapse{
	display: none;
  }
}

@media (max-width: 900px), (max-width: 600px) {
  .horizontal .firstCollapse{
	display: none;
  }
}

@media (max-height: 540px) {
  .vertical .fullCollapse{
	display: none;
  }
}
@media (max-height: 720px) {
  .vertical .firstCollapse{
	display: none;
  }
}
