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

div.bookviewport {
    top: 0px;
}

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


/** ********************************************* */
/** SEARCH HIGHLIGHT */
mark {
    background-color: #ffd200;
    color: #252525;
    border-radius: 6px;
    padding: 3px;
}


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


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

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

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

nav a.prev {
    left: -40px;
}

nav a.next {
    right: -40px;
}

.toolbarshown nav a.prev {
    left: 0;
}

.toolbarshown nav a.next {
    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.20);
    -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 4px;

    -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: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: #fff;

    -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,
.article-nav a:focus svg.icon
 {
    fill: #fff;
}

.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;
    border-left: none;
}

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

.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,
.article-nav a:focus {
        /*width: 400px;*/
    background-color: rgb(0, 102, 156);
    /*background-color: #fff;*/
}

.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:focus, 
.page-nav a.proximity {
    opacity: 1;
}
.page-nav a.disabled.proximity {
    opacity: 0;
    cursor: default;
    pointer-events: none;
}

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

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

.page-nav .left {
    top: 50%;
    left: -40px;
    -webkit-transform: translateY(-50%) rotate(90deg);
    -moz-transform: translateY(-50%) rotate(90deg);
    transform: translateY(-50%) rotate(90deg);
}

.page-nav .right {
    top: 50%;
    right: -400px;
    -webkit-transform: translateY(-50%) rotate(270deg);
    -moz-transform: translateY(-50%) rotate(270deg);
    transform: translateY(-50%) rotate(270deg);
}
.toolbarshown .page-nav .left {
    left: 10px;
}

.toolbarshown .page-nav .right {
    right: 10px;
}


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

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

div.top-toolbar {
    position: absolute;
    z-index: 200;
    top: 0px;
    padding-top: 12px;
    transform: translate(0, -62px);
    -ms-transform: translate(0, -62px);
    -moz-transform: translate(0, -62px);
    -webkit-transform: translate(0, -62px);
    left: 0;
    height: 50px;
    right: 0;
    padding-left: 12px;
    padding-right: 16px;
    overflow: visible;
    -webkit-transition: 0.2s linear;
    -moz-transition: 0.2s linear;
    -o-transition: 0.2s linear;

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

    pointer-events:none;

    /*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;
}

button.toolbar-button {
    text-decoration: none;
    color: #fff;
    padding: 16px;
    margin-left: -16px;
    border: none;
    font-size: 16px;
}

button.toolbar-button:hover,
button.toolbar-button:focus {
    text-decoration: none;
    color: #000;
}

button.toolbar-button {
    margin: 2px;
    padding: 15px;
    width: 46px;
    height: 46px;
    cursor: pointer;
    color: #fff;
    float: left;

    pointer-events:auto;

    box-sizing: border-box;
    border-radius: 23px;
    background-color: #000;
    /* border: solid 3px #eee; */
    /*background-color: #525252;*/
    /*border: solid 1px #000;*/
    text-align: center;

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

    box-shadow: 3px 3px 8px rgba(0,0,0,0.5);
}

.device-mobile button.toolbar-button {
    opacity: 1;
}

button.toolbar-button:hover, 
button.toolbar-button:focus 
{
    /* color: #000; */
    background-color: #fff;
    opacity: 1;
}

button.toolbar-button.right {
    float: right;
    margin-left: 2px;
}

button.toolbar-button.left {
    margin-right: 12px;
}


@media screen and (max-width: 450px) {
    button.toolbar-button {
        margin-left: 0px;
        width: 36px;
        height: 36px;
        padding: 0px;
    } 
}


button.toolbar-button.share-button {
    /*color: #fff;*/
    /*background: #00669c;*/
}
button.toolbar-button.share-button:hover,
button.toolbar-button.share-button:focus {
    color: #fff;
    background: #7eb702;
}
button.toolbar-button.share-button a:hover,
button.toolbar-button.share-button a:focus
{
    color: #fff;
}

button.toolbar-button.contents-button {
    /*color: #fff;*/
    /*background: #f37910;*/
}
button.toolbar-button.contents-button:hover,
button.toolbar-button.contents-button:focus {
    color: #fff;
    background: #005cb8;
}
button.toolbar-button.contents-button a:hover,
button.toolbar-button.contents-button a:focus {
    color: #fff;
}

button.help-button {
    font-size: 22px;
    padding-top: 12px;

}
@media screen and (max-width: 450px) {
    button.help-button {
        padding-top: 2px;    
    }
}

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: 50px;
    bottom: 0;
    left: 0;
    right: 0;
}

div.lightbox-header {
    position: absolute;
    z-index: 200;
    top: 0;
    left: 0;
    height: 50px;
    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 {
    max-width: 500px;
}

div.modal-underlay {
    position: fixed;
    top: 0px;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(51,51,51,0.8);;
    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: #989898;*/
    /*box-shadow: 0px 0 40px;*/
    color: #2b2b2b;

    z-index: 3000;

    /*width: 400px;*/
    /*max-width: 500px;*/

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

    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;
}

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

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

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

    font-family: Helvetica, Arial, sans-serif;
    box-shadow: 0px 4px 20px #000;
    background-color: rgba(0,0,0,0.6);
}

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

.modal-panel input {
    font-size: 0.9em;
    padding: 6px;
    border-radius: 0;
    border: none;
    font-family: Helvetica, Arial, sans-serif;
}

.modal-panel input:focus {
    outline-color: #00669c;
    outline-width: 3px;
}

.modal-panel textarea {
    font-size: 0.9em;
    padding: 6px;
    border-radius: 0;
    border: none;
    font-family: Helvetica, Arial, sans-serif;
}

.modal-panel textarea:focus {
    outline-color: #00669c;
    outline-width: 3px;
}

.modal-header {
    position: absolute;
    top: 0;
    height: 60px;
    background-color: rgba(0, 0, 0, 0.80);
    box-sizing: border-box;

    padding-top: 12px;
    padding-left: 12px;
    padding-right: 16px;

    z-index: 3010;

    -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-header.left {
    left: 0;
}

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

.modal-header.hidden.right {
    margin-right: -500px;
}

.modal-header.hidden.left {
    margin-left: -500px;
}

.modal-header h1 {
    font-family: Helvetica, Arial, sans-serif;
    text-align: left;
    font-weight: 300;
    font-size: 1.2em;
    padding-left: 14px;
    color: #fff;
    /*background-color: #efefef;*/
    margin-top: 0;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 6px;
    /*box-shadow: 0 4px 8px #aeaeae;*/
}

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

.modal-header h1 a:hover,
.modal-header h1 a:focus {
    color: #000;
}


.modal-panel h1 {
    font-family: Helvetica, Arial, sans-serif;
    text-align: left;
    font-weight: 300;
    font-size: 1.2em;
    padding-left: 14px;
    /*color: #333;*/
    border-bottom: solid 1px #e3e3e3;
}
.modal-panel h4 {
    font-family: Helvetica, Arial, sans-serif;
    text-align: left;
    font-weight: 300;
    padding-left: 14px;
    /*color: #efefef;*/
}



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

.modal-panel a.button:hover,
.modal-panel a.button:focus {
    background-color: #00669c;
    color: #fff;
}



/** CONTENTS MODAL */

.contents-panel h1 {
    /*background-color: #d87800;*/
    /*color: #fff;*/
    /*border-bottom: solid 4px #a75d00;*/
}

.contents-panel h1 a {
    /*color: #eee;*/
}

.contents-panel h1 a:hover {
    /*color: #fff;*/
}

.content-item a {
    color:#fff;
    text-decoration: none;
}

.contents-endcap {
    display:none;
    margin-top: 0;
    margin-bottom: 0;
    padding: 6px;
    padding-top: 24px;
    padding-bottom: 16px;
    border-top: solid 1px #a1a1a1;
    border-left: solid 6px #dedede;
}

.contents-item {
    margin-top: 0;
    margin-bottom: 0;
    padding: 6px;
    border-bottom: solid 1px #a1a1a1;
    cursor: pointer;
    /*background-color: #dedede;*/
    /*color: #bdbdbd;*/
    border-left: solid 6px rgba(0,0,0,0);
    min-height: 60px;
    color:#fff;
}

.contents-item:hover,
.contents-item:focus {
    color: #000;
    background-color: #fff;
    border-left: solid 6px #00669c;
}

.contents-item h4 {
    margin-top: 0;
    margin-bottom: 4px;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 1.2em;
    font-weight: 300;
    padding-left: 0px;
    /*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: 60px;
    max-height: 60px;
    /*height: 80px;*/
    float: left;
    margin-right: 10px;
}

.current-contents-item {
    color: #fff;
    background-color: #00669c;
    border-top: solid 2px #00466c;
    border-bottom: solid 2px #00466c;
    margin-top: 0;
    margin-bottom: 0;
    padding: 6px;
    cursor: pointer;
    min-height: 60px;
}

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

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

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

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

.share-panel h1 {
    /*background-color: #4389d8;*/
    /*color: #fff;*/
    /*border-bottom: solid 4px #2c598c;*/
}

.share-panel h1 a {
    /*color: #eee;*/
}

.share-panel h1 a:hover {
    /*color: #fff;*/
}

.share-panel .socialbox {
    background-color: #333;
}

.share-panel .toolbox {
    /*margin-top: 20px;*/
    padding-top: 10px;
    padding-bottom: 10px;
}

.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_x.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 .emailHeader {
    padding-top: 30px;
    padding-bottom: 10px;
    margin-top: 0;
    margin-bottom: 10px;
    /*background-color: #efefef;*/
    /*border-bottom: 1px solid #b5b5b5;*/
    color: #fff;
    box-shadow: 0 -4px 8px #000;
}

.share-panel .toolbox 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 #c5c5c5;*/
    border-radius: 4px;
    /*background: #fff;*/
}

.share-panel .toolbox a:hover,
.share-panel .toolbox a:focus {
    background: #000;
    color: #fff;
    cursor: pointer;
    /*border: solid 1px #4389d8;*/
}

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

.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;
    /*background-color: #dedede;*/
}

.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 .button.cancel-button{
    float: right;
    display: inline-block;
    border: none;
    /*text-decoration: underline;*/
    /*background-color: #000;*/
    /*color: #fff;*/
}

.search-panel .search-results {
    padding-top: 20px;
}

.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 a {
    color:#fff;
    text-decoration: none;
}

.search-item:hover,
.search-item:focus {
    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;
    margin-left: 0px;
    padding-left: 0px;
}

.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;
}

