/** ********************************************* */
/** ARROWS */

div.bookviewport {
    top: 40px;
}

.device-mobile div.bookviewport {
    top: 0;
}


/** ********************************************* */
/** ARTICLE NAV ARROWS */

.svg-wrap {
    position: absolute;
    width: 0px;
    height: 0px;
    overflow: hidden;
}

nav a {
    position: absolute;
    display: block;
    outline: none;
    text-align: left;
    z-index: 199;
}

nav a.disabled {
    opacity: 0;
    pointer-events: none;
    cursor: default;
}

nav a.prev {
    left: -30px;
}
nav a.prev:hover, nav a.prev.proximity {
    left: 0;
}

nav a.next {
    right: -30px;
}
nav a.next:hover, nav a.next.proximity {
    right: 0;
}

nav a svg {
    display: block;
    margin: 0 auto;
    padding: 0;
}

.device-mobile nav.article-nav {
    display: none;
}

.device-mobile nav.page-nav {
    display: none;
}


.article-nav a {
    top: 50%;
    overflow: hidden;
    width: 40px;
    height: 60px;
    cursor: pointer;
    background-color: rgba(0, 0, 0, 0.60);
    -webkit-transition: left 0.4s, right 0.4s, height 0.4s, width 0.4s, background-color 0.4s;
    -moz-transition: left 0.4s, right 0.4s, height 0.4s, width 0.4s, background-color 0.4s;
    transition: left 0.4s, right 0.4s, height 0.4s, width 0.4s, background-color 0.4s;
    -webkit-transition-timing-function: cubic-bezier(0.7,0,0.3,1);
    -moz-transition-timing-function: cubic-bezier(0.7,0,0.3,1);
    transition-timing-function: cubic-bezier(0.7,0,0.3,1);
    font-family: Helvetica, Arial, sans-serif;
    border: solid 1px #333;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    transform: translateY(-50%);
}

.article-nav a:hover {
    height: 120px;
}

.article-nav a .icon-wrap {
    position: absolute;
    z-index: 100;
    padding: 14px 10px;
    /*width: 40px;*/

    -webkit-transition: padding 0.4s;
    -moz-transition: padding 0.4s;
    transition: padding 0.4s;
    -webkit-transition-timing-function: cubic-bezier(0.7,0,0.3,1);
    -moz-transition-timing-function: cubic-bezier(0.7,0,0.3,1);
    transition-timing-function: cubic-bezier(0.7,0,0.3,1);
}

.article-nav a.proximity .icon-wrap {
    padding: 14px 4px;
}

.article-nav a:hover .icon-wrap {
    padding: 44px 4px;
}

.article-nav a.prev .icon-wrap {
    left: 0;
}

.article-nav a.next .icon-wrap {
    right: 0;
}

.article-nav a svg.icon {
    fill: #888;

    -webkit-transition: fill 0.4s;
    -moz-transition: fill 0.4s;
    transition: fill 0.4s;
    -webkit-transition-timing-function: cubic-bezier(0.7,0,0.3,1);
    -moz-transition-timing-function: cubic-bezier(0.7,0,0.3,1);
    transition-timing-function: cubic-bezier(0.7,0,0.3,1);
}

.article-nav a:hover svg.icon {
    fill: #000;
}

.article-nav div {
    position: absolute;
    top: 0;
    padding: 0 50px;
    width: 400px;
    height: 100%;
    box-sizing: border-box;
}

.article-nav a.prev div {
    left: 0;
    padding-right: 130px;
    text-align: right;
}

.article-nav a.next div {
    right: 0;
    padding-left: 130px;
}

.article-nav h3 {
    font-family: Helvetica, Arial, sans-serif;
    position: relative;
    margin: 0;
    padding: 12px 0;
    padding-bottom: 0;
    color: #000;
    font-weight: 300;
    font-size: 1.3em;
    line-height: 1.2;
}

.article-nav div p {
    display: block;
    padding-top: 6px;
    color: #333;
    letter-spacing: 1px;
    margin: 0 0;
    font-weight: 100;
}

.article-nav img {
    position: absolute;
    top: 10px;
    /*height: 100px;*/
    width: 100px;
    border:1px solid #CCCCCC;
}

.article-nav a.prev img {
    right: 10px;
}

.article-nav a.next img {
    left: 10px;
}

.article-nav a:hover {
    width: 400px;
    background-color: #fff;
    border: solid 1px #666;
}

.page-nav a {
    overflow: hidden;
    width: 32px;
    height: 32px;
    cursor: pointer;
    -webkit-transition: left 0.4s, right 0.4s, top 0.4s, bottom 0.4s, opacity 0.4s;
    -moz-transition: left 0.4s, right 0.4s, top 0.4s, bottom 0.4s, opacity 0.4s;
    transition: left 0.4s, right 0.4s, top 0.4s, bottom 0.4s, opacity 0.4s;
    -webkit-transition-timing-function: cubic-bezier(0.7,0,0.3,1);
    -moz-transition-timing-function: cubic-bezier(0.7,0,0.3,1);
    transition-timing-function: cubic-bezier(0.7,0,0.3,1);
    font-family: Helvetica, Arial, sans-serif;
    opacity: 0.6;
}

.page-nav a:hover, .page-nav a.proximity {
    opacity: 1;
}
.page-nav a.disabled.proximity {
    opacity: 0;
    cursor: default;
    pointer-events: none;
}

.page-nav .down {
    left: 50%;
    bottom: -20px;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    transform: translateX(-50%);
}
.page-nav .down:hover, .page-nav .down.proximity {
    bottom: 10px;
}

.page-nav .up {
    left: 50%;
    top: 20px;
    -webkit-transform: translateX(-50%) rotate(180deg);
    -moz-transform: translateX(-50%) rotate(180deg);
    transform: translateX(-50%) rotate(180deg);
}
.page-nav .up:hover, .page-nav .up.proximity {
    top: 50px;
}

.page-nav .left {
    top: 50%;
    left: -20px;
    -webkit-transform: translateY(-50%) rotate(90deg);
    -moz-transform: translateY(-50%) rotate(90deg);
    transform: translateY(-50%) rotate(90deg);
}
.page-nav .left:hover, .page-nav .left.proximity {
    left: 10px;
}

.page-nav .right {
    top: 50%;
    right: -20px;
    -webkit-transform: translateY(-50%) rotate(270deg);
    -moz-transform: translateY(-50%) rotate(270deg);
    transform: translateY(-50%) rotate(270deg);
}
.page-nav .right:hover, .page-nav .right.proximity {
    right: 10px;
}


/** ********************************************* */
/** INTERFACE */

div.bookviewport.toolbarshown {
    /*opacity: 0.6;*/
}

div.top-toolbar {
    position: absolute;
    z-index: 200;
    top: 0px;
    transform: translate(0, -40px);
    -ms-transform: translate(0, -40px);
    -moz-transform: translate(0, -40px);
    -webkit-transform: translate(0, -40px);
    left: 0px;
    height: 40px;
    right: 0px;
    overflow: hidden;
    background-color: #000;
    -webkit-transition: 0.2s linear;
    -moz-transition: 0.2s linear;
    -o-transition: 0.2s linear;

    font-family: Helvetica, Arial, sans-serif;
    font-weight: 100;

    border-bottom: solid 1px #464646;
}


div.top-toolbar .toolbar-title {
    margin: 10px;
    color: #fff;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    width: 50%;
}

.book-width-small div.top-toolbar .toolbar-title {
	font-size: 13px;
}

div.toolbar-button {
    margin: 10px;
    cursor: pointer;
    color: #bbb;
    float: left;
}

div.toolbar-button:hover {
    color: #fff;
}

div.toolbar-button.right {
    float: right;
}

div.top-toolbar.shown {
    transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
}

/** ********************************************* */
/** LIGHTBOX OVERRIDES */

.lightbox {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.8);
    -webkit-transform: scale(0.8);
    opacity: 0;
    -webkit-transition: -webkit-transform 0.5s, opacity 0.5s;
    -moz-transition: -moz-transform 0.5s, opacity 0.5s;
    transition: transform 0.5s, opacity 0.5s;
    display: block;
    z-index: 300;
}

.lightbox.hidden {
    z-index: 1;
    opacity: 0;
}

.lightbox.overlay-open {
    opacity: 1;
    -webkit-transform: scale(1.0);
    -moz-transform: scale(1.0);
    -ms-transform: scale(1.0);
    transform: scale(1.0);
}

.lightbox-content {
    position: fixed;
    top: 40px;
    bottom: 0;
    left: 0;
    right: 0;
}

div.lightbox-header {
    position: absolute;
    z-index: 200;
    top: 0;
    left: 0;
    height: 40px;
    right: 0;
    overflow: hidden;
    background-color: #000;

    font-family: Helvetica, Arial, sans-serif;
    font-weight: 100;
}

div.lightbox-header .toolbar-button {
    margin-top: 4px;
}


/** ********************************************* */
/** MODALS */

div.modal-underlay {
    position: fixed;
    top: 40px;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 300;
    /*overflow-y: auto;*/

    -webkit-transition: background-color 0.4s;
    -moz-transition: background-color 0.4s;
    transition: background-color 0.4s;

    -webkit-transition-timing-function: cubic-bezier(0.7,0,0.3,1);
    -moz-transition-timing-function: cubic-bezier(0.7,0,0.3,1);
    transition-timing-function: cubic-bezier(0.7,0,0.3,1);
}

div.modal-underlay.hidden {
    background-color: rgba(0, 0, 0, 0);
}


div.modal-container {
    background-color: #000;
    color: #fff;

    min-width: 320px;
    max-width: 500px;

    position: absolute;
    top: 0px;
    bottom: 0px;

    overflow-y: auto;
    border: solid 1px #333333;

    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    transition: all 0.4s;

    -webkit-transition-timing-function: cubic-bezier(0.7,0,0.3,1);
    -moz-transition-timing-function: cubic-bezier(0.7,0,0.3,1);
    transition-timing-function: cubic-bezier(0.7,0,0.3,1);
}

.modal-container.left {
    left: 0;
}

.modal-container.right {
    right: 0;
}

div.modal-underlay.hidden .modal-container.right {
    margin-right: -500px;
}

div.modal-underlay.hidden .modal-container.left {
    margin-left: -500px;
}

div.modal-panel {
    /*margin: auto auto;*/
    /*margin-top: 40px;*/
    color: #fff;
    width: 100%;

    font-family: Helvetica, Arial, sans-serif;
}

.modal-panel .hide {
    display: none;
}

.modal-panel h1 {
    font-family: Helvetica, Arial, sans-serif;
    text-align: left;
    font-weight: 300;
    font-size: 1.4em;
    padding-left: 14px;
    color: #fff;
}

.modal-panel h1 a {
    float: right;
    margin-right: 10px;
    /*margin-top: -13px;*/
    color: #888;
}

.modal-panel h1 a:hover {
    color: #fff;
}

.modal-panel input {
    font-size: 1.2em;
    padding: 6px;
    border-radius: 4px;
    border: solid 1px #888;
}

.modal-panel a.button {
    font-family: Helvetica, Arial, sans-serif;
    font-weight: bold;
    text-align: center;
    display: inline-block;
    color:#fff;
    /*width: 45%;*/
    margin: 0 0;
    padding: 6px 6px;
    text-decoration: none;
    white-space: nowrap;
    border: solid 1px #000;
    border-radius: 4px;
    background: #000;
}


/** CONTENTS MODAL */

.contents-endcap {
    margin-top: 0;
    margin-bottom: 0;
    padding: 6px;
    padding-top: 24px;
    padding-bottom: 16px;
    border-top: dotted 1px #bdbdbd;
    background-color: #000;
    border-left: solid 6px #000;
}

.contents-item {
    margin-top: 0;
    margin-bottom: 0;
    padding: 6px;
    border-top: dotted 1px #bdbdbd;
    cursor: pointer;
    background-color: #000;
    color: #bdbdbd;
    border-left: solid 6px #000;
    min-height: 80px;
}

.contents-item:hover {
    color: #000;
    background-color: #fff;
    border-left: solid 6px #808080;
}

.contents-item h4 {
    margin-top: 0;
    margin-bottom: 4px;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 1.3em;
    font-weight: 300;
    color: #fff;
}

.contents-item:hover h4 {
    color: #000;
}

.contents-item p {
    font-family: Helvetica, Arial, sans-serif;
    margin: 0 0;
    font-weight: 100;
}

.contents-item img {
    width: 80px;
    /*height: 80px;*/
    float: left;
    margin-right: 10px;
}

.current-contents-item {
    color: #000;
    background-color: #aaa;
    border-left: solid 6px #808080;
    margin-top: 0;
    margin-bottom: 0;
    padding: 6px;
    border-top: dotted 1px #bdbdbd;
    cursor: pointer;
    min-height: 80px;
}

.current-contents-item h4 {
    margin-top: 0;
    margin-bottom: 4px;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 1.3em;
    font-weight: 300;
    color: #000;
}

.current-contents-item p {
    font-family: Helvetica, Arial, sans-serif;
    margin: 0 0;
    font-weight: 100;
}

.current-contents-item img {
    width: 80px;
    /*height: 80px;*/
    float: left;
    margin-right: 10px;
}

/** ***************************************** */
/** SHARE MODAL **/
/** ***************************************** */

.share-panel .share_facebook_icon {
    display:inline-block;
    width: 33px;
    height: 33px;
    margin-top:10px;
    background: url(img/share/share_facebook.png) no-repeat;
}

.share-panel .share_twitter_icon {
    /*float:left;*/
    display:inline-block;
    width: 33px;
    height: 33px;
    margin-top:10px;
    background: url(img/share/share_twitter.png) no-repeat;
}

.share-panel .share_pinterest_icon {
    /*float:left;*/
    display:inline-block;
    width: 33px;
    height: 33px;
    margin-top:10px;
    background: url(img/share/share_pinterest.png) no-repeat;
}

.share-panel .share_linkedin_icon {
    /*float:left;*/
    display:inline-block;
    width: 33px;
    height: 33px;
    margin-top:10px;
    background: url(img/share/share_linkedin.png) no-repeat;
}

.share-panel .share_email_icon {
    float:left;
    display:block;
    width: 33px;
    height: 33px;
    margin-right:10px;
    background: url(img/share/share_email.png) no-repeat;
}

.share-panel .emailbox {
    padding: 5px 5px;
    margin-left: 10px;
}

.share-panel input {
    font-size: 1.2em;
    padding: 6px;
    border-radius: 4px;
    border: solid 1px #888;
}

.share-panel textarea {
    font-size: 1.1em;
    padding: 6px;
    border-radius: 4px;
    border: solid 1px #888;
}

.share-panel .emailHeader {
    border-top:1px dotted #cfcfcf;
    padding-top: 20px;
    margin-top:24px;
}

.share-panel .toolbox a, .share-panel .emailbox a {
    font-weight: bold;
    text-align: center;
    display: inline-block;
    color:#fff;
    width: 45%;
    margin: 0 0 8px 1.5%;
    padding: 1%;
    text-decoration: none;
    white-space: nowrap;
    border: solid 1px #000;
    border-radius: 4px;
    background: #000;
}

.share-panel .toolbox a:hover, .share-panel .emailbox a:hover {
    background: #e4e3e5;
    color:#000;
    cursor: pointer;
    border: solid 1px #cfcfcf;
}

.share-panel a.social-button {
    width: 20%;
}

.share-panel .emailbox a {
    display: block;
    text-align: left;
    line-height: 33px;
}

.share-panel .action {
    float: left;
    margin-right: 20px;
    color: #dfdfdf;
    vertical-align: baseline; }

.share-panel #yourmessage {
    width: 100%; }

.share-panel .share {
    display: block;
    min-width: 200px;
    float: left;
    margin-bottom: 10px; }

.share-panel label {
    display: block;
    font-size: 100%;
    margin-top: 10px; }

.share-panel .url {
    font-size: 75%;
    line-height: 8px; }


/** ***************************************** */
/** SEARCH MODAL **/
/** ***************************************** */

.search-panel .search_panel_inner {
    padding: 10px;
    padding-bottom: 24px;
}

.search-panel a {
    cursor: pointer;
}

.search-panel input {
    width: 96%;
    margin-bottom: 10px;
}

.search-panel a.button.search-button {
    width: 45%;
    text-align: left;
    display: inline-block;
}

.search-panel .search-button:hover {
    background-color: #e4e3e5;
    color: #000;
}

.search-panel .button.cancel-button{
    float: right;
    display: inline-block;
    border: none;
    text-decoration: underline;
    background-color: #000;
    color: #fff;
}

.search-endcap {
    margin-left: 10px;
    margin-right: 10px;
    margin-top: 0;
    margin-bottom: 0;
    padding: 6px;
    padding-top: 24px;
    padding-bottom: 16px;
    border-top: solid 1px #888;
    background-color: #000;
    color: #666666;
    border-left: solid 6px #000;
}

.search-item {
    margin-left: 10px;
    margin-right: 10px;
    margin-top: 0;
    margin-bottom: 0;
    padding: 6px;
    padding-top: 24px;
    padding-bottom: 16px;
    border-top: solid 1px #888;
    cursor: pointer;
    background-color: #000;
    color: #888;
    border-left: solid 6px #000;
}

.search-item:hover {
    color: #fff;
    border-left: solid 6px #fff;
}

.search-item h4 {
    margin-top: 0;
    margin-bottom: 4px;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 1.3em;
    font-weight: 300;
}

.search-item p {
    font-family: Helvetica, Arial, sans-serif;
    margin: 0 0;
    font-weight: 100;
}

.search-panel h2 {
    margin-left: 10px;
    font-family: Helvetica, Arial, sans-serif;
    /*text-align: center;*/
    font-weight: 300;
}

