html,body {
    -webkit-text-size-adjust:100%; /* Stops Mobile Safari from auto-adjusting font-sizes */
    background-color:#cccccc;
    margin:0;
    padding:0;
    text-align:center;
    -webkit-user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    -ms-user-select: none;
}
.body-gradient {
    background-image: url('../img/gradient.png');
    background-size: auto 100%;
    background-attachment:fixed;
    background-position:center center;
    padding-top:48px;
}
input:focus,select:focus,textarea:focus,button:focus { /* Webkit browsers display a highlight on selected form items */
    outline: none;
}
a img {border: none; }

#AlternativeContent {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    overflow: hidden;
}

#container {
    width:1024px;
    margin-left:auto;
    margin-right:auto;
    position:relative;
    text-align:center;
    background-color:#ffffff;
    overflow:hidden;
}

.wrap {
    width:1024px;
    height:768px;
    margin:0 auto;
    position:relative;
    margin-left:auto;
    margin-right:auto;
    background-size: 100% 100%;
    text-align:left;
    position: relative;
}
.wrap img {
    display: block;
}

.spread  {
    width:100%;
    height:100%;
}
.page-left {
    width:50%;
    height:100%;
    float:left;
}
.page-right {
    width:50%;
    height:100%;
    float:left;
}
.page-left-ie7 {
    width:49.999%;
    height:100%;
    float:left;
}
.page-right-ie7 {
    width:49.999%;
    height:100%;
    float:left;
}
#page-left {
    top:0;
    left:0;
    width:50%;
    height:100%;
    position: absolute;
}
#page-right {
    top:0;
    right:0;
    width:50%;
    height:100%;
    position: absolute;
}
.page-shadow {
    position: absolute;
    top:0;
    right:0;
    width:100%;
    height:100%;
    background:url('../img/page-shadow.png') repeat-y center;
}

#thumbnail {
    display: none;
}

#NavBar {
    position: fixed;
    top:0px; left:0;
    width:100%;
    height:45px;
    z-index: 10;
    background: rgb(0,0,0);
    background: rgba(0,0,0, 0.9);
    box-shadow: 0px 0px 3px #000;
    font-family:Arial,Helvetica,sans-serif;
    color:#ffffff;
}
#NavBarTools {
    min-width:768px;
    max-width:2048px;
    margin-left:auto;
    margin-right:auto;
    position: relative;
    height:45px;
    padding:0;
    font-size:14px;
    text-align:left;
}
.NavBarToolsLeft {
    list-style-type: none;
    float:left;
    margin:0px;
    padding:0px;
    height:45px;
}
.NavBarToolsRight {
    list-style-type: none;
    float:right;
    margin:0px;
    padding:0px;
    height:45px;
}
.NavBarToolsLeft li, .NavBarToolsRight li, #NavBarShare li, #NavBarZoom li {
    margin:0px;
    padding:0px;
    width: 70px;
    height:45px;
    line-height:45px;
    cursor:pointer;
    font-weight: bold;
    background-image: url('../img/toolbar.png');
    background-repeat: no-repeat;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
    .NavBarToolsLeft li, .NavBarToolsRight li, #NavBarShare li,#NavBarZoom li {
        background-image: url('../img/toolbar@2x.png');
   -moz-background-size: 910px 45px;
    -ie-background-size: 910px 45px;
     -o-background-size: 910px 45px;
-webkit-background-size: 910px 45px;
        background-size: 910px 45px;
    }
}
.NavBarToolsLeft li {
    float:left;
    border-left:1px solid #000000;
}

.NavBarToolsLeft li:last-child {
    cursor:default;
    width: auto;
    white-space: nowrap;
    background-position: 0 45px;
}
.NavBarToolsLeft li:last-child:hover {
    background: transparent;
}
.NavBarToolsRight li {
    float:right;
    border-right:1px solid #000000;
}
.NavBarToolsRight li:last-child {
    border-left:1px solid #000000;
}
#NavBarPrevious {
    background-position: -70px 0;
}
#NavBarNext {
    background-position: -140px 0;
}
#NavBarBtnShare {
    background-position: -560px 0;
}
#NavBarBtnSearch {
    background-position: -350px 0;
}
#NavBarBtnContents {
    background-position: -280px 0;
}
#NavBarBtnZoom {
    background-position: -420px 0;
}
#NavBarBtnZoom.selected {
    background-position: -490px 0;
}
.NavBarCloseButton{
    background-position: -210px 0;
}

#NavBarShare  {
    position: absolute;
    list-style-type: none;
    right:0;
    top: 45px;
    margin:0px;
    padding:0px;
    background: rgb(0,0,0);
    background: rgba(0,0,0, 0.9);
}
#NavBarZoom  {
    position: absolute;
    list-style-type: none;
    right:213px;
    top: 45px;
    margin:0px;
    padding:0px;
    background: rgb(0,0,0);
    background: rgba(0,0,0, 0.9);
}
#NavBarShare li,#NavBarZoom li {
    border-top:1px solid #000000;
    border-left:1px solid #000000;
    border-right:1px solid #000000;
}
#NavBarShare li:last-child,#NavBarZoom li:last-child {
    border-bottom:1px solid #000000;
}
#ShareFacebook {
    background-position: -630px 0;
}
#ShareTwitter {
    background-position: -700px 0;
}
#ShareGooglePlus {
    background-position: -770px 0;
}
#ShareLinkedIn {
    background-position: -840px 0;
}
#ShareEmail {
    background-position: 0px 0;
}

#NavBarShare li:hover, #NavBarZoom li:hover, .NavBarToolsLeft li:hover, .NavBarToolsRight li:hover, .NavBarToolsLeft li.selected, .NavBarToolsRight li.selected {
    background-color: rgba(255, 255, 255, 0.1);
}

#NavBarSearch  {
    position: absolute;
    right:0;
    top: 45px;
    width: 332px;
    margin:0px;
    padding:7px;
    background: rgb(0,0,0);
    background: rgba(0,0,0, 0.9);
    border:1px solid #000000;
}
#NavBarSearchBox{
    width: 312px;
    height: 30px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 10px;
    border: 0;
    -moz-border-radius: 15px;
    -webkit-border-radius: 15px;
    border-radius: 15px;
    background: rgb(255, 255, 255);
    background: rgba(255, 255, 255, 0.9);
    font: 17px Arial;
    color: #333333;
    line-height: 30px;
    vertical-align: middle;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}
#SearchResults{
    width:332px;
    overflow:auto;
    background: rgb(255, 255, 255);
    background: rgba(255, 255, 255, 0.95);
    position:absolute;
    top:90px;
    right:0px;
    padding:7px;
    border: 1px solid #e4e6e7;
    border-top:0;
    -webkit-overflow-scrolling: touch;
}
#SearchResults ul{
    list-style: none;
    padding: 3px;
    margin: 0;
}
#SearchResults li{
    list-style: none;
    padding: 5px 0;
    color:#333333;
    border-bottom: 1px dotted #000000;
}
#SearchResults li:hover{
    background: rgba(0,0,0, 0.1);
    color:#000000;
}
#SearchResults a{
    display: block;
    text-decoration:none;
    color:black;
}
#SearchResults strong{
    color:black;
}

#NavBarTitle{
    height:45px;
    padding: 0 15px;
    text-align: center;
    font-weight: bold;
}
#currentDisplay{
    width:70px;
    height:45px;
    text-align: center;
}
#CurrentPageInput {
    width:40px;
    height:30px;
    margin: 7px 15px;
    padding: 0;
    border: 0;
    -moz-border-radius: 15px;
    -webkit-border-radius: 15px;
    border-radius: 15px;
    background: rgb(255, 255, 255);
    background: rgba(255, 255, 255, 0.9);
    font: 17px Arial;
    color: #333333;
    line-height: 30px;
    text-align:center;
    vertical-align: middle;
}
#CurrentPageInput::-webkit-outer-spin-button,
#CurrentPageInput::-webkit-inner-spin-button { -webkit-appearance:none; margin: 0; }
#FakeSubmit {
    display:none; /*  Mobile Safari needs a submit button to put the GO button on the virtual keyboard */
}

#ContentsBar {
    position: fixed;
    bottom:0;
    left:0;
    width:100%;
    z-index: 10;
    overflow-y: scroll;
}
#Contents {
    padding-left: 6px;
    padding-right: 6px;
}
#ContentsMenu {
    min-width:768px;
    max-width:2048px;
    margin-left:auto;
    margin-right:auto;
    height:175px;
    background: rgb(0,0,0);
    background: rgba(0,0,0, 0.9);
    border-top:1px solid #000000;
    overflow-x:scroll; overflow-y:hidden;
    text-align:left;
    position:relative;
    -webkit-overflow-scrolling: touch;
}
.inline {
    display: inline-block;
    vertical-align: top;
}
.inline {
    display: inline !ie7;
}
.box{
    width: 160px;
    height: 120px;
    border: solid 1px #000000;
    margin:20px 2px 0 2px;
}
.box > a {
    margin:0px;
    padding:0px;
}
.box > a > img{
    width: 100%;
    height: 100%;
    margin:0px;
    padding:0px;
}
.title{
    width: 100%;
    height: 16px;
    margin:6px 1px 0px 1px;
    font-size: 14px;
    color: #000;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: normal;
    text-decoration: none;
}
.box.contentscurrentpage{
    width: 200px;
    height: 150px;
    border: solid 1px #ff0000; /*  highlight border colour */
    margin:4px 2px 0 2px;
}
.box.singlepage{
    width: 80px;
}
.box.singlepage.contentscurrentpage{
    width: 100px;
}

.modal_window{
    position: absolute;
    background: #ffffff;
    z-index: 1001;
    text-align: left;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-box-shadow: 0 0 20px rgba( 0, 0, 0, 0.7 );
    box-shadow: 0 0 20px rgba( 0, 0, 0, 0.7 );
    width: 100%;
    height: 100%;
    max-width: 600px;
    max-height: 600px;
    overflow: hidden;
}
.modal_background{
    background: #000;
    opacity: 0.8;
    filter: alpha(opacity=80);
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;
}
.modal_content{
    position:relative;
    left:0;
    top:0;
    width: 100%;
    height: 100%;
    max-width:600px;
    max-height:600px;
    padding-top: 45px;
    overflow: auto;
    -webkit-box-sizing: content-box;
    -webkit-overflow-scrolling: touch;
}
.modal_iframe{
    width:100%;
    height:100%;
    border:0;
    display: block;
    margin: 0;
    padding: 0;
}


.paging {
    width: 1px;
    height: 1px;
    border:0 none;
    margin-top:-1px;
    position:absolute;
    top:50%;
    cursor:pointer;
}
.paging.prev {
    right: 100%;
}
.paging.next {
    margin-left: 100%;
}


.extra, .fadeout, .slideout {
    /*-webkit-transform: translateZ(0);*/  /* force hardware acceleration */
}
.overlay * {
    /*position:absolute;*/
    /*cursor:pointer;*/
}
.overlay .contents {
    /*background-color:rgb(255,255,255);*/
    /*border:0 solid #b7cbe7;*/
    border-color: #fff;
    border-style: solid;
    border-width: 0;
    height:0;
    overflow:hidden;
    position:absolute;
    width:0;
    z-index:1;
    /*box-shadow: 0px 0px 30px #aaa;*/
}
.rgba .overlay .contents {
    /*background-color:rgba(255,255,255,0.5);*/
}
.overlay.open .contents img {
    display:block;
}
.overlay > img {
    cursor:pointer;
    position:absolute;
    z-index:3;
}
.overlay.open div {
    z-index:3;
}
.overlay.open > img {
    z-index:1;
}
/* link */
.overlay.link  {
    position:absolute;
    padding: 0px;
    border: 0px;
    /*background-color:transparent; */
}
.overlay.link.circle img,
.overlay.slider.circle img {
    border-radius: 50%;
}
/* iframe */
.overlay.iframe {
    position:absolute;
}
.overlay.iframe .contents {
    border-color: #ffffff;
    padding: 0px;
    background-color:rgba(255,255,255,0.7);
}
.overlay.iframe .button {
    background-image:url(../img/transparent.png);
    background-repeat: repeat;
}
/* text */
.overlay.text {
    position:absolute;
}
.overlay.text .contents {
    border-color: #ffffff;
    cursor:default;
}
/* text and gallery */
.overlay.text .contents img {
    height:100%;
    width:100%;
    opacity: 0.95;
}
/* gallery */
.overlay.gallery {
    position:absolute;
}
.overlay.gallery .contents img {
    height:100%;
    width:100%;
    cursor:pointer;
    position: absolute;
}
/* video */
.overlay.video {
    position:absolute;
}
.overlay.video .contents {
    overflow: hidden;
    cursor:pointer;
}
.overlay.video.open.fullscreen > img,
.overlay.video.open.fullscreen .contents div.playlist div {
    z-index:1;
}
.overlay.video .video-js {
    z-index:11;
}
.overlay.video .contents div.playlist div {
    /*height: 50px;*/
    overflow: hidden;
    position: relative;
}
.overlay.video .contents div.playlist div img {
    left: 0;
    position: absolute;
    top: 0;
    height:200%;
    width: 100%;
}
.overlay.video .contents div.playlist div img.current,
.overlay.video .contents div.playlist div img:hover {
    bottom:0;
    top: auto;
}
/* words */
.overlay.words {
    position:absolute;
}
.overlay.words .button {
    background-image:url(../img/transparent.png);
    background-repeat: repeat;
}
.overlay.words {
    cursor:pointer;
}
.overlay.words .contents {
    border-color: #0137b3;
}
.overlay.words .contents img {
    width: 100%;
    height: 100%;
    opacity: 0.95;
}
/* transparent words */
.overlay.transparent .contents {
    border: 0;
    border-style:none;
    box-shadow: none;
    background-color:transparent;
    background-color:rgba(255,255,255,0);
}
/* slidein */
.overlay.slidein, .overlay.slided_in  {
    position: absolute;
    padding: 0px;
    border: 0px;
    overflow: hidden;
    /*background-color:transparent;*/
}
.overlay.slidein img, .overlay.slided_in img {
    height:100%;
    width:100%;
    cursor: default;
    border: 0;
    position: absolute;
}
.overlay.slidein a img, .overlay.slided_in a img {
    cursor: pointer;
}
/* slider */
.overlay.slider {
    position: absolute;
}
.overlay.slider .button {
    cursor:pointer;
}
.overlay.slider .contents img {
    /*opacity: 0.95;*/
    border:0;
}

.hoverer  {
    /*
    -moz-transition: 0.3s;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    */
    padding: 0px;
    border: 0px;
    background-color:transparent;
}
.hoverer img:hover{
    background-color:#1e0fbe;
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=25)";/* works for IE 8. */
    filter:alpha(opacity=25); /* works for IE 5+. */
    -moz-opacity:0.25;
    opacity: 0.25;
}
.hovered img{
    -moz-transition-duration: 2.5s;
    -webkit-transition-duration:  2.5s;
    -o-transition-duration: 2.5s;
    transition-duration: background-color 2.5s;
    background-color:#1e0fbe;
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=25)";/* works for IE 8. */
    filter:alpha(opacity=25);  /* works for IE 5+. */
    -moz-opacity:0.25;
    opacity: 0.25;
}
@keyframes jump {
    0% {
        bottom: 0;
    }
    10% {
        bottom: 2px;
    }
    45% {
        bottom: 15px;
    }
    55% {
        bottom: 17px;
    }
    65% {
        bottom: 15px;
    }
    90% {
        bottom: 2px;
    }
    100% {
        bottom: 0;
    }
}
@-webkit-keyframes jump {
    0% {
        bottom: 0;
    }
    10% {
        bottom: 2px;
    }
    45% {
        bottom: 15px;
    }
    55% {
        bottom: 17px;
    }
    65% {
        bottom: 15px;
    }
    90% {
        bottom: 2px;
    }
    100% {
        bottom: 0;
    }
}
.jumpy {
    position: absolute;
    left:96.5%;
    top:90%;
    width:2.2%;
    height:10%;
    /*
    position: absolute;
    left:96.5%;
    width:2.2%;
    height:6.2%;
    margin-bottom: 3.1%;
    -webkit-animation: jump 1s infinite;
    animation: jump 1.5s infinite;
    */
}
.jumpy img{
    width:100%;
    height:100%;
}

.noborder .contents {
    border:0 none;
}
.noshadow .contents {
    box-shadow:none;
}

.hidden { display:none; }
.mousedrag { cursor:move; }


.video-js {
    height:0;
    width:0;
}
