/*
 * Page structure
 */
html {
    height: 100%;
    width: 100%;
}
body {
    height: 100%;
    width: 100%;
    display: table;
    table-layout: fixed;
    margin: 0 auto;
}
header, footer, #content {
    display: table-row;
}
.header-cell, .footer-cell, .content-cell {
    display: table-cell;
}
#content {
    height: 100%;
}

/*
 * Bootstrap/browser style overrides
 */

*,h1,h2,h3,h4 {
    font-family: "Georgia",serif;
}

.form-control:focus {
    /* Replace the default blue with more of a gray. */
    box-shadow: 0px 0px 8px rgba(102, 102, 102, 0.6);
    border-color: rgb(204, 204, 204);
}
ul.nav li.dropdown.hover > ul.dropdown-menu {
    display: block;
}
ul.nav-tabs a:active, ul.nav-tabs a:focus {
    outline: none;
}
ul.nav-pills ul.dropdown-menu {
    margin-top: -4px;
}
.navbar-brand {
    cursor: pointer;
}
.navbar-collapse {
    max-height: 420px;
}
/* Alias for alert-danger */
.alert-error {
    color: rgb(169, 68, 66);
    background-color: rgb(242, 222, 222);
    border-color: rgb(235, 204, 209);
}


/*
 * Content
 */

.content-cell {
    padding-bottom: 3em;
}

.media {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #eee;
    background-color: #f0f0f0;
    padding: 0.5em;
    text-align: center;
    max-width: 100%;
}
.media img {
    margin-left: auto;
    margin-right: auto;
}
.media.center {
    clear: both;
    margin: 1em 0em;
}
.media.left {
    float: left;
    margin: 1em 1em 1em 0em;
}
.media.right {
    float: right;
    margin: 1em 0em 1em 1em;
}

.galleria {
    height: 480px;
    width: 100%;
    background: #000;
}
.galleria .fullscreen-link {
    position: absolute;
    bottom: 2px;
    right: 2px;
    z-index: 1000;
    color: white;
    background-color: black;
    cursor: pointer;
    text-decoration: none;
}
.video {
    position: relative;
}
.video-anchor {
    position: absolute;
    left: 0;
    top: 0;
    padding: 0.5em;
    background-color: rgba(255, 255, 255, 0.5);
    z-index: 100;
}
.video .video-anchor { display: none; }
.video:hover .video-anchor { display: inline; }

/*
 * Ads
 */

.ad_banner {
    display: inline-block;
    max-width: 100%;
}

.sidebar-ads .ad_banner {
    margin-bottom: 5px;
}

/*
 * Top-of-page brand banner
 */
.brand-top {
    padding-top: 10px;
    font-family: serif;
}
.brand-top, .brand-top h1, .brand-top p {
    text-align: center;
}
@media (max-width: 992px) {
    .brand-top, .brand-top h1, .brand-top p { text-align: left; }
}
.brand-top h1 {
    margin-top: 10px;
    font-family: inherit;
    margin-bottom: 5px;
}
.brand-top a {
    color: black;
    text-decoration: none;
}
.brand-top .date {
    text-transform: uppercase;
    font-family: serif;
    color: #666;
    font-size: 12px;
}
/*
 * Articles
 */
.news-subnav li {
    border: 1px solid #eee;
}
.news-subnav li a {
    color: black;
}
.news-subnav li.active a {
    color: white;
}

.article {
    border-bottom: 3px solid #eee;
    padding-bottom: 1em;
}
.article .byline,
.brief .byline,
.publication .byline,
.newsletter .byline {
    margin-top: -0.5em;
    margin-bottom: 1em;
    font-size: 12px;
}
.article .byline .date,
.brief .byline .date,
.newsletter .byline .date {
    text-transform: uppercase;
    font-style: sans-serif;
    color: #888;
    font-size: 14px;
}
.article .case {
    background-color: #ffe;
    padding: 0.5em;
    border-radius: 5px;
    margin-bottom: 1em;
}
.article .case-text {
    position: relative;
    height: 100px;
    overflow: hidden;
    text-overflow: ellipsis;
}
.article .case-text .shadow {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 20000px; /* Greater than largest possible width */
    height: 100%;
    box-shadow: -20px -20px 20px #ffe inset;
}
.article .case-text.expanded {
    height: auto;
}
.article .case-text.expanded .shadow {
    display: none;
}
.premium-badge {
    /*font-size: 12px;*/
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    color: rgb(255, 99, 0);
}
.premium-badge:hover {
    color: rgb(210, 50, 45);
}
/*
 * Filings
 */

#filing-list .filing {
    clear: both;
    margin-bottom: 0.2em;
    cursor: pointer;
}
#filing-list .filing img {
    border: 1px dotted #ddd;
    float: left;
    text-align: top;
    margin-right: 0.2em;
}
#filing-list .filing:hover {
    background-color: #f0f0f0;
    box-shadow: 0px 0px 2px #f90;
}

/*
 * Social media badges
 */
.sharing {
    float: right;
    padding: 0.2em;
    margin: 0.2em;
    display: inline-block;
}
.sharing .lbl {
    font-size: 12px;
}
.sharing a {
    display: inline-block;
    width: 32px;
    height: 32px;
    text-align: center;
    font-size: 20px;
    padding: 0em 0.3em;
    color: black;
    border: 1px solid #dcdcdc;
    background-color: #f3f3f3;
    text-shadow: 0 1px 0 #fff;
    -webkit-transition: border-color .218s;
       -moz-transition: border-color .218s;
         -o-transition: border-color .218s;
            transition: border-color .218s;
}
.sharing a.facebook {
    text-align: right;
}
.sharing a:hover {
    border-color: #999;
}
.sharing a.twitter:hover  { color: rgb(85, 172, 238); }
.sharing a.facebook:hover { background-color: #3B5998; color: white;}
.sharing a.gplus:hover    { background-color: #DD4B39; color: white;}
.sharing a.email:hover    { background-color: #489939; color: white;}


/*
 * Briefs
 */
.brief-teaser {
    clear: both;
}
.brief-teaser h3 {
    font-size: 16px;
}
.brief-teaser .thumb {
    float: left;
    margin-right: 0.5em;
    margin-bottom: 0.5em;
}

/*
 * Newsletters
 */
.newsletter .message {
    background-color: #eee;
    border-radius: 10px;
    box-shadow: 0px 0px 2px #aaa inset;
    padding: 1em;
}
.newsletter .message * {
    font-family: monospace;
    font-size: 12px;
}
.newsletter .message table {
    width: 100%;
}
    
.newsletter .message a:not([href]) { color: black; text-decoration: none; }
.newsletter .message.teaser {
    cursor: pointer;
}

/*
 * Shopping
 */
.category-nav h3 {
    font-size: smaller;
    font-weight: normal;
    text-transform: uppercase;
    font-family: "Helvetica","Arial",sans-serif;
    display: block;
    color: #666;
    margin: 0;
    padding: 0;
}
.category-nav a {
    border: 1px solid #eee;
}
.cart-quantity {
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    font-size: smaller;
    color: white;
    background-color: orangered;
    width: 18px;
    height: 18px;
    border-radius: 18px;
}
.cart-menu-table {
    max-height: 300px;
    overflow: auto;
}
.small-product-detail {
    display: inline-block;
    max-width: 300px;
    color: black;
    line-height: 18px;
}
.small-product-detail img {
    float: left;
    margin-right: 5px;
}
.small-product-detail .price {
    display: block;
    font-size: 14px;
    color: #999;
}
.product-list .product {
    display: inline-block;
    vertical-align: top;
    padding: 1em;
    margin-bottom: 1em;
    border-radius: 5px;
}
.product-list .product-image {
    float: left;
    width: 150px;
    height: 150px;
    text-align: center;
    margin: 0px 5px 5px 0px;
}
.product-list .product-description {
    display: inline-block;
    vertical-align: top;
    overflow: hidden;
}
.product-list a.description-text,
.product-list a.description-text:link,
.product-list a.description-text:visited,
.product-list a.description-text:hover {
    color: black;
    text-decoration: none;
}
.product-list .truncated {
    position: relative;
    height: 100px;
    max-width: 400px;
    overflow: hidden;
    text-overflow: ellipsis;
}
.product-list .truncated .shadow {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 500px; /* Greater than largest possible width */
    height: 100%;
    box-shadow: -20px -20px 20px white inset;
}
.product-detail img {
    float: left;
    margin: 0 1em 1em 0;
}
.product-detail .price {
    color: #090;
    font-size: 18px;
}
.product-detail .product-description {
    margin-top: 1em;
}
/*
 * Cart - full-size
 */

.cart-form { display: table; }
.cart-form .cart-row { display: table-row; }
.cart-form .image,
.cart-form .name,
.cart-form .price,
.cart-form .update,
.cart-form .row-width {
    display: table-cell;
    border-top: 1px solid #eee;
    padding: 0.5em;
}
.cart-form .right {text-align: right;}
.cart-form .update input[type=number] { width: 3em; }
.cart-form .row-width span {
    width: 100%;
}
.cart-control {
    text-align: center;
    padding: 0.5em;
    border-top: 1px solid #eee;
}

/*
 * Cart - mobile
 */

@media (max-width: 992px) {
    .cart-form { display: block; }
    .cart-form .cart-row {
        display: block;
        border-top: 1px solid #eee;
        clear: both;
    }
    .cart-form .image,
    .cart-form .name,
    .cart-form .price,
    .cart-form .update {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        border-top: none;
    }
    .cart-form .image { display: block; clear: both; }
    .cart-form .name {
        float: left; width: 50%;
    }
    .cart-form .price { display: inline-block; }
    .cart-form .price { clear: both; }
    .cart-form .right { text-align: left; }
    .cart-row.control .image,
    .cart-row.control .name,
    .cart-row.control .price {
        display: none;
    }

}

/*
 * FAQ
 */
dl dt {
    margin: 1em 0 0.5em 0;
}
dl dd {
    margin: 0.5em 0 1em 0;
}

/*
 *  Annual reports
 */
.annual-reports .block {
    text-align: center;
    float: left;
    border: 1px dotted #aaa;
    margin: 0.5em;
    padding: 0.1em;
}
.annual-reports .block:hover {
    border: 1px dotted #09f;
}

/*
 *  Search form
 */
.search-form input[type=search] {
    padding-right: 48px;
    max-width: 230px;
    display: inline;
    font-size: 14px;
}
.search-form button[type=submit] {
    font-size: 14px;
    border-radius: 0px 4px 4px 0px;
    margin-left: -42px;
    padding: 6px 11px 5px 12px;
    position: relative;
    height: 32px;
    top: -1px;
}
.search-form .models ul {
    list-style-type: none;
    padding: 0;
    display: inline-block;
    vertical-align: top;
}
.search-form .models li {
    display: inline-block;
    vertical-align: top;
}
.search-form .models label {
    font-weight: normal;
    padding-left: 0.5em;
}

/*
 * Search results
 */
.search-result {
    margin-bottom: 1.5em;
    display: table;
}
.search-result .row {
    display: table-row;
}
.search-result .image {
    width: 85px;
    padding-right: 5px;
    display: table-cell;
    vertical-align: top;
}
.search-result .text {
    display: table-cell;
    vertical-align: top;
}
.search-result .type {
    color: green;
    font-size: smaller;
}
.search-result .type .issue {
    color: black;
}
.search-result .title {
    font-size: 16px;
    line-height: 18px;
}
.search-result em, .search-result .highlighted {
    font-style: normal;
    font-weight: bold;
}
.search-result-count {
    color: #666;
    font-size: 14px;
    margin-bottom: 1.5em;
}
/*
 * Site footer
 */
footer {
    background-color: #654;
    color: white;
}
footer .footer-cell {
    margin-top: 1em;
    padding-top: 0.5em;
    width: 100%;
    border-top: 8px solid #000;
}
footer a, footer a:link, footer a:hover, footer a:visited {
    color: white;
    text-decoration: underline;
}
.footer-component {
    text-align: center;
}
.footer-component ul {
    display: inline-block;
    vertical-align: top;
    margin-right: 2em;
    margin-left: 2em;
}

/*
 * Admin edit links
 */
.edit-region {
    position: relative;
}
.edit-region a.admin-edit-link,
.edit-region a.admin-edit-link:link,
.edit-region a.admin-edit-link:hover,
.edit-region a.admin-edit-link:visited {
    font-size: 14px;
    font-style: normal;
    text-decoration: underline;
    display: none;
    position: absolute;
    right: 0;
    top: 0;
    background-color: rgba(255, 255, 255, 0.95);
    padding: 5px;
    color: rgba(0, 128, 255, 1);
    border-radius: 2px;
    box-shadow: 0px 1px 1px #999;
    white-space: nowrap;
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    z-index: 10000;
}
.edit-region.editable:hover {
    outline: 2px dashed rgba(0, 128, 255, 0.4);
}
/* different color for sub-regions */
.edit-region.editable .edit-region.editable:hover {
    outline: 2px dashed rgba(255, 128, 0, 0.4);
}
.edit-region.editable .edit-region.editable a.admin-edit-link {
    color: rgba(255, 128, 0, 1);
}

.edit-region.editable:hover > a.admin-edit-link {
    display: inline;
}
