/* ============================================================================
 * GENERAL
 * ============================================================================
 */

body
{
    font-family: 'Libre Franklin', sans-serif;
    font-weight: 400;
    font-size: 20px;
    font-style: normal;
    line-height: unset; /* = font default = 175% */
}

i, cite, em, var, dfn
{
    font-weight: 500;
}

/* ============================================================================
 * LINKS
 * ============================================================================
 */

a, a:hover, a:focus
{
    /* font-weight: bold; */
    text-decoration: none;
}

/* ============================================================================
 * HEADINGS
 * ============================================================================
 */

h1, h2, h3, h4, h5, h6
{
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 700;
    font-style: normal;
    text-transform: uppercase;
}

h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child
{
    margin-top: 0;
}

h1
{
    font-size: 1.8em;
}
h2
{
    font-size: 1.6em;
}
h3
{
    font-size: 1.5em;
}
h4
{
    font-size: 1.35em;
}
h5
{
    font-size: 1.2em;
}
h6
{
    font-size: 1em;
}

/* ============================================================================
 * BUTTONS
 * ============================================================================
 */

.btn-primary
{
    font-weight: 700;
    padding: 7px 13px;
    border-width: 0px;
}

/* ============================================================================
 * BANNER
 * ============================================================================
 */

@media (min-width: 768px)
{
    .navbar-custom
    {
        padding: 18px 0;
    }
}

/* 
 * Logo 
 */

#mainNav.affix-top img
{
    height: 64px; /* image height */
}

/* ============================================================================
 * NAVIGATION 
 * ============================================================================
 */

.navbar-custom .navbar-nav li
{
    border-width: 1px;
    border-left-style: dotted;
    min-width: 5em;
}

.navbar-custom .navbar-nav li:last-child
{
    border-right-style: dotted;
}

/* ============================================================================
 * SEARCH 
 * ============================================================================
 */

/* right-align search tool with right content column */
.navbar-form.navbar-right,
.navbar-form.navbar-right .form-group
{
  margin-right: 0px;
}

.navbar-form .form-group > input[type="text"]
{
    border-width: 0px;
}

.navbar-form.navbar-right .btn
{
    border-width: 0px;
    border-top-left-radius: 0px; /* straight left edge to align button with input field */
    border-bottom-left-radius: 0px; /* straight left edge to align button with input field */
}

/* ============================================================================
 * BREADCRUMBS
 *
 * Links of the breadcrumb trail are displayed with a triangle pointing to the
 * right except for the current breadcrumb.
 *
 * Note: the last <li> element does not contain a link <a>. 
 * ============================================================================
 */

.breadcrumb
{
    margin-top: 20px;
    margin-bottom: 20px;
}

.breadcrumb
{
    font-size: 80%;
    font-weight: 500;
    list-style: none; 
    overflow: hidden;
    padding: 0px;
    border-radius: 0px;
}

.breadcrumb > li
{
    float: left;
}

.breadcrumb > li > a
{
    text-decoration: none;
    position: relative; 
    display: block;
    float: left;
}

.breadcrumb > li > a,
.breadcrumb li:last-child
{
    padding: 2px 0px 2px 48px; /* right padding will be overlapped by successor's left padding */
}
.breadcrumb > li:first-child > a
{
    padding-left: 24px;
}
.breadcrumb li:last-child
{
    padding-right: 24px;
}

.breadcrumb > li > a::after, /* arrow tip */
.breadcrumb > li > a::before /* space between crumbs */
{
    content: " ";
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    top: 50%;
    left: 100%;
    border-style: solid;
    border-color: transparent;
    border-width: 28px; /* equal borders give 90 degree arrow tip */
    border-right-width: 0;
    margin-top: -28px; /* same as border-top */
}

.breadcrumb > li > a::after /* arrow tip */
{
    z-index: 2;
}

.breadcrumb > li > a::before /* space between crumbs */
{
    z-index: 1;
    margin-left: 4px;
}

.breadcrumb li:last-child > a::after
{ 
    border: 0; 
}

.breadcrumb > li + li::before /* space between crumbs - override mezzanine */
{
    content: " ";
    padding: 0px;
    width: 0;
}

/* ============================================================================
 * LISTING
 * ============================================================================
 */

.story
{
    text-align: justify; /* XXX add class text-justify to template instead */
}

/* ============================================================================
 * CONTENT
 * ============================================================================
 */

/* ============================================================================
 * CODE (pre block)
 * ============================================================================
 */

/* XXX download mono font */
/* XXX font, border, margin */

/* ============================================================================
 * PANEL
 * ============================================================================
 */

.panel
{
    border: unset;
    -webkit-box-shadow: unset;
    box-shadow: unset;
}

.panel-body
{
    padding: unset;
    font-size: 66%;
}

.panel-body > *
{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.panel-body h3
{
    /* font-size: 1em; */
    padding: 2px 1.5rem 2px 15px;
}


/* 
 * TAG CLOUD 
 */

.tag-cloud
{
    text-align: justify; /* XXX add class text-justify to template instead */
}


/* ============================================================================
 * FOOTER
 * ============================================================================
 */

footer .footer-below
{
    padding: 25px 0;
    font-size: 14px;
}

/* ============================================================================
 * PLONE LEGACY
 * ============================================================================
 */

/* XXX Plone fudges */

/* hide detail images on listing page */
.post-meta + .story img,
.post-meta + .story dl,
.post-meta + .story table
{
    display: none;
}

.story .image-right dd
{
    font-size: 66%;
}
