* {
    -webkit-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;
}

/* Body */

body
{
    overflow: hidden;
    margin: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

@media screen and (max-device-width: 1025px)
{
    body
    {
        background-color: black;
    }
}

div.bigBlackSquare
{
    position: absolute; 
    top: 0px;
    left: 0px;
    width: 1024px;
    height: 1024px;
    visibility: hidden;
    background-color: black;
}

/* Debug Status Display */
   
div#statisticsDisplay
{
    position: absolute; 
    color : white;
    background-color: grey;
    visibility: hidden;
}

/* Stage */

div#stageArea
{
    position: absolute; 
    visibility: hidden;
    overflow: hidden;
}

div.stage
{
    position: absolute; 
    top: 0;
    left: 0;
    overflow: visible;
}

/* Hyperlinke Plane */

div#hyperlinkPlane
{
    visibility: hidden;
    pointer-events: none;
}

div.hyperlink
{
    position: absolute;
    cursor: pointer;
}

/* iPhone Controls Section */

div#previousButton
{
    position: absolute;
    background-repeat: no-repeat;
    background-position: center center;
    visibility: hidden;
    width: 22px;
    height: 27px;
}

div.previousButtonEnabled
{
    background-image: url('left_arrow_mobile_n.png');
    background-size: 22px 27px;
    width: 22px;
    height: 27px;
}

div.previousButtonDisabled
{
    background-image: url('left_arrow_mobile_d.png');
    background-size: 22px 27px;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -moz-tap-highlight-color: rgba(0,0,0,0);
    -ms-tap-highlight-color: rgba(0,0,0,0);
    width: 22px;
    height: 27px;
}

div#nextButton
{
    position: absolute;
    background-repeat: no-repeat;
    background-position: center center;
    visibility: hidden;
    background-size: 22px 27px;
    width: 22px;
    height: 27px;
}

div.nextButtonEnabled
{
    background-image: url('right_arrow_mobile_n.png');
    background-size: 22px 27px;
    width: 22px;
    height: 27px;
}

div.nextButtonDisabled
{
    background-image: url('right_arrow_mobile_d.png');
    background-size: 22px 27px;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -moz-tap-highlight-color: rgba(0,0,0,0);
    -ms-tap-highlight-color: rgba(0,0,0,0);
    width: 22px;
    height: 27px;
}

/* Navigator */

div#slideshowNavigator {
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -moz-tap-highlight-color: rgba(0,0,0,0);
    -ms-tap-highlight-color: rgba(0,0,0,0);
    position: absolute;
    overflow: hidden;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 12px;
    line-height: 18px;
    background-color: rgba(0,0,0,0);
    color: 232323;
    top: 0px;
    left: 0px;
    bottom: 0px;
    width: 140px;
}

div.navigatorLeftSidebar {
    position: absolute;
    overflow-x: hidden;
    overflow-y: hidden;
    top: 0px;
    left: 0px;
    bottom: 0px;
    width: 30px;
    background-color: rgba(0,0,0,0);
}

div.navigatorThumbnailSidebar {
    position: absolute;
    overflow-x: hidden;
    overflow-y: hidden;
    border-right: 1px solid #676767;
    background-color: #000;
    top: 0px;
    left: -140px;
    bottom: 0px;
    width: 129px;
    -webkit-transition-property: left;
    -webkit-transition-duration: 300ms;
    -moz-transition-property: left;
    -moz-transition-duration: 300ms;
    -ms-transition-property: left;
    -ms-transition-duration: 300ms;
}

div.navigatorThumbnailScroller {
    position: absolute;
    overflow-x: hidden;
    overflow-y: auto;
    top: 0px;
    left: 0px;
    bottom: 0px;
    width: 129px;
}

div.navigatorThumbnailScroller::-webkit-scrollbar {
    width: 7px;
}

div.navigatorThumbnailScroller::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.4);
    -webkit-border-radius: 10px;
}

div.navigatorThumbnailSelection {
    position: absolute;
    border-top-style: none;
    border-left-style: none;
    border-right-style: none;
    display: none;
    background-color: rgba(125,125,125,0.5);
    top: 0px;
    width: 100%;
    height: 76px;
}

div.navigatorThumbnailContainer {
    position: absolute;
    top: 0px;
    left: 0px;
    bottom: auto;
    width: 119px;
}

div.navigatorThumbnailItem {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 119px;
    height: 76px;
    cursor: default;
}

div.navigatorThumbnailItemCanvasContainer {
    position: absolute;
    max-height: 90px;
    border: 1px solid rgba(255,255,255,0.68);
    -webkit-box-shadow: 0px 2px 4px rgba(0,0,0,0.5);
    -moz-box-shadow: 0px 2px 4px rgba(0,0,0,0.5);
    -ms-box-shadow: 0px 2px 4px rgba(0,0,0,0.5);
    background-color: #444;
    width: 88px;    
    height: 66px;
}

/* Slide Number Control */

div#slideNumberControl {
    position: absolute;
    overflow: hidden;
    display: none;
    opacity: 0;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 12px;
    background-color: rgba(0,0,0,0.75);
    color: white;
    width: 120px;
    height: 110px;
    text-align: center;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    -ms-border-radius: 12px;
}

div.slideNumberLabel {
    position: relative;
    margin-left:16px;
    margin-right:16px;
    margin-top: 16px;
    width: 88px;
    height:33px;
    font-weight: bold;
}

div.slideNumberDigit {
    position: relative;
    margin-left:auto;
    margin-right:auto;
    font-size:40px;
    width: 88px;
    height:39px;
}

/* Slide Number Display */

div#slideNumberDisplay {
    position: absolute;
    overflow: hidden;
    display: none;
    opacity: 0;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 12px;
    background-color: rgba(0,0,0,0.75);
    color: white;
    width: 100px;
    height: 100px;
    text-align: center;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    -ms-border-radius: 12px;
}

div.slideNumberDisplayDigit {
    position: relative;
    margin-top:24px;
    margin-left:auto;
    margin-right:auto;
    font-size:40px;
    width: 88px;
    height:39px;
}

/* Help Placard Display */

div#helpPlacard {
    display: none;
    position: absolute;
    overflow: hidden;
    opacity: 0;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 14px;
    background-color: rgba(20,20,20,0.95);
    color: white;
    width: 822px;
    height: 603px;
    text-align: center;
    -webkit-border-radius: 12px 12px 12px 12px;
    -moz-border-radius: 12px 12px 12px 12px;
    -ms-border-radius: 12px 12px 12px 12px;
    line-height:40px;
    box-shadow: 0px 0px 40px black;
    -webkit-box-shadow: 0px 0px 40px black;
    -moz-box-shadow: 0px 0px 40px black;
}

div.helpPlacardTitleBar {
    /*position:absolute;*/
    font-size: 22px;
    color: rgba(120,120,120,1);    
    font-family: Helvetica, Arial, sans-serif;
    width: 822px;
    height: 40px;
    -webkit-border-radius: 12px 12px 0 0;
    -moz-border-radius: 12px 12px 0 0;
    -ms-border-radius: 12px 12px 0 0;
    border-bottom: 1px black solid;
}

div.helpPlacardTitle {
    padding-top:4px;
    height:40px;
}

div.helpPlacardCloseButton {
    top:10px;
    left:10px;    
    position:absolute;
    background:url('close_d.png') no-repeat 0 0;
    width:21px;
    height:21px;
}

div.helpPlacardContentPanel {
    width: 822px;
    height: 310px;
}

div.helpPlacardHeader {
    color: rgba(255,255,255,1);    
    font-weight: bold;
    width:822px;
    height:40px;
    border-bottom: 1px white solid;
}

div.helpPlacardHeader {
    color: rgba(255,255,255,1);    
    font-weight: bold;
    width:822px;
    height:40px;
    border-bottom: 1px black solid;
}

div.helpPlacardItem {
    width:822px;
    height:40px;
    border-bottom: 1px black solid;
}

div.helpPlacardLeftHeaderItem {
    /*position:absolute;*/
    color: white;    
    text-align:right;
    float:left;
    width:400px;
}

div.helpPlacardLeftItem {
    color: rgba(120,120,120,1);    
    text-align:right;
    float:left;
    width:400px;
    border-right: 1px black solid;
}

div.helpPlacardRightItem {
    text-align:left;
    float:right;
    width:400px;
}

/* iPad assets */

@media all and (min-device-width: 481px) and (max-device-width: 1024px) {
    div#previousButton
    {
        background-size: 44px 54px;
        width: 44px;
        height: 54px;
    }

    div#nextButton
    {
        background-size: 44px 54px;
        width: 44px;
        height: 54px;
    }

    div.previousButtonEnabled
    {
        background-size: 44px 54px;
        width: 44px;
        height: 54px;
        background-image: static_url('left_arrow_mobile_n-hd.png');
    }

    div.previousButtonDisabled
    {
        background-size: 44px 54px;
        width: 44px;
        height: 54px;
        background-image: static_url('left_arrow_mobile_d-hd.png');
    }

    div.nextButtonEnabled
    {
        background-size: 44px 54px;
        width: 44px;
        height: 54px;
        background-image: static_url('right_arrow_mobile_n-hd.png');
    }

    div.nextButtonDisabled
    {
        background-size: 44px 54px;
        width: 44px;
        height: 54px;
        background-image: static_url('right_arrow_mobile_d-hd.png');
    }
}

/* Retina display assets */

@media all and (-webkit-min-device-pixel-ratio:2) {
    div.previousButtonEnabled
    {
        background-image: static_url('left_arrow_mobile_n-hd.png');
    }

    div.previousButtonDisabled
    {
        background-image: static_url('left_arrow_mobile_d-hd.png');
    }

    div.nextButtonEnabled
    {
        background-image: static_url('right_arrow_mobile_n-hd.png');
    }

    div.nextButtonDisabled
    {
        background-image: static_url('right_arrow_mobile_d-hd.png');
    }
}

div#slideCounter
{
    position: absolute; 
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    font-family: Helvetica;
    font-size: 23px;
    color: #FFFFFF;
    text-shadow: 0.0em 0.2em #000000;
    visibility: hidden;
}

#helpText
{
    position: absolute; 
    text-align: center;
    font-family: Helvetica;
    font-size: 13px;
    color: #838383;
    text-shadow: 0.0em 0.2em #000000;
    visibility: hidden;
}

/* Waiting Indicator */

@-webkit-keyframes spinnerAnimationRotate {
    0% {
        -webkit-transform: rotate(  0deg);
    }
    8.332% {
        -webkit-transform: rotate(  0deg);
    }
    8.333% {
        -webkit-transform: rotate( 30deg);
    }
    16.666% {
        -webkit-transform: rotate( 30deg);
    }
    16.667% {
        -webkit-transform: rotate( 60deg);
    }
    24.999% {
        -webkit-transform: rotate( 60deg);
    }
    25% {
        -webkit-transform: rotate( 90deg);
    }
    33.333% {
        -webkit-transform: rotate( 90deg);
    }
    33.334% {
        -webkit-transform: rotate(120deg);
    }
    41.666% {
        -webkit-transform: rotate(120deg);
    }
    41.667% {
        -webkit-transform: rotate(150deg);
    }
    49.999% {
        -webkit-transform: rotate(150deg);
    }
    50% {
        -webkit-transform: rotate(180deg);
    }
    58.333% {
        -webkit-transform: rotate(180deg);
    }
    58.334% {
        -webkit-transform: rotate(210deg);
    }
    66.666% {
        -webkit-transform: rotate(210deg);
    }
    66.667% {
        -webkit-transform: rotate(240deg);
    }
    74.999% {
        -webkit-transform: rotate(240deg);
    }
    75% {
        -webkit-transform: rotate(270deg);
    }
    83.333% {
        -webkit-transform: rotate(270deg);
    }
    83.334% {
        -webkit-transform: rotate(300deg);
    }
    91.666% {
        -webkit-transform: rotate(300deg);
    }
    91.667% {
        -webkit-transform: rotate(330deg);
    }
    99.999% {
        -webkit-transform: rotate(330deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
    }
}

@-moz-keyframes spinnerAnimationRotate {
    0% {
        -moz-transform: rotate(  0deg);
    }
    8.332% {
        -moz-transform: rotate(  0deg);
    }
    8.333% {
        -moz-transform: rotate( 30deg);
    }
    16.666% {
        -moz-transform: rotate( 30deg);
    }
    16.667% {
        -moz-transform: rotate( 60deg);
    }
    24.999% {
        -moz-transform: rotate( 60deg);
    }
    25% {
        -moz-transform: rotate( 90deg);
    }
    33.333% {
        -moz-transform: rotate( 90deg);
    }
    33.334% {
        -moz-transform: rotate(120deg);
    }
    41.666% {
        -moz-transform: rotate(120deg);
    }
    41.667% {
        -moz-transform: rotate(150deg);
    }
    49.999% {
        -moz-transform: rotate(150deg);
    }
    50% {
        -moz-transform: rotate(180deg);
    }
    58.333% {
        -moz-transform: rotate(180deg);
    }
    58.334% {
        -moz-transform: rotate(210deg);
    }
    66.666% {
        -moz-transform: rotate(210deg);
    }
    66.667% {
        -moz-transform: rotate(240deg);
    }
    74.999% {
        -moz-transform: rotate(240deg);
    }
    75% {
        -moz-transform: rotate(270deg);
    }
    83.333% {
        -moz-transform: rotate(270deg);
    }
    83.334% {
        -moz-transform: rotate(300deg);
    }
    91.666% {
        -moz-transform: rotate(300deg);
    }
    91.667% {
        -moz-transform: rotate(330deg);
    }
    99.999% {
        -moz-transform: rotate(330deg);
    }
    100% {
        -moz-transform: rotate(360deg);
    }
}

@-ms-keyframes spinnerAnimationRotate {
    0% {
        -ms-transform: rotate(  0deg);
    }
    8.332% {
        -ms-transform: rotate(  0deg);
    }
    8.333% {
        -ms-transform: rotate( 30deg);
    }
    16.666% {
        -ms-transform: rotate( 30deg);
    }
    16.667% {
        -ms-transform: rotate( 60deg);
    }
    24.999% {
        -ms-transform: rotate( 60deg);
    }
    25% {
        -ms-transform: rotate( 90deg);
    }
    33.333% {
        -ms-transform: rotate( 90deg);
    }
    33.334% {
        -ms-transform: rotate(120deg);
    }
    41.666% {
        -ms-transform: rotate(120deg);
    }
    41.667% {
        -ms-transform: rotate(150deg);
    }
    49.999% {
        -ms-transform: rotate(150deg);
    }
    50% {
        -ms-transform: rotate(180deg);
    }
    58.333% {
        -ms-transform: rotate(180deg);
    }
    58.334% {
        -ms-transform: rotate(210deg);
    }
    66.666% {
        -ms-transform: rotate(210deg);
    }
    66.667% {
        -ms-transform: rotate(240deg);
    }
    74.999% {
        -ms-transform: rotate(240deg);
    }
    75% {
        -ms-transform: rotate(270deg);
    }
    83.333% {
        -ms-transform: rotate(270deg);
    }
    83.334% {
        -ms-transform: rotate(300deg);
    }
    91.666% {
        -ms-transform: rotate(300deg);
    }
    91.667% {
        -ms-transform: rotate(330deg);
    }
    99.999% {
        -ms-transform: rotate(330deg);
    }
    100% {
        -ms-transform: rotate(360deg);
    }
}

div#waitingIndicator
{
    position: absolute;
    display: none;
    visibility: visible;
    width: 110px;
    height: 110px;
    background-image: url('waiting_bezel.png');
}

div#waitingSpinner
{
    position: absolute; 
    visibility: visible;
    top: 27px;
    left: 33px;
    width: 42px;
    height: 42px;
    background: transparent url('spinner.png') no-repeat 0 0;
    opacity: 0.75;
    -webkit-animation: spinnerAnimationRotate 1s linear infinite;
    -moz-animation: spinnerAnimationRotate 1s linear infinite;
    -ms-animation: spinnerAnimationRotate 1s linear infinite;
}
