/* DEBUGGING GRID */
/*
.row > div {
    border: 1px dotted blue;
}
.row > div > .row > div {
    border: 1px dotted red;
}
/**/

#hamburger-menu-overlay {
    z-index: 9999;
}
#hamburger-menu {
    position: absolute;
    top: 0;
    right: auto;
    bottom: 0;
    left: 0;
    overflow-y: auto;
    width: 240px;
    z-index: 10000;
}

#hamburger-menu-search {
    padding: 10px 0 10px 14px;
}
#hamburger-menu-search-input {
    display: inline-block;
    width: 170px;
}

#hamburger-menu-section-nav {    
    font-weight: bold;
    border-bottom: 1px solid #999;
}

/* For alternate header types */
#nav-row {
    color: #FFF;
    background-color: #0C7B3E;
    margin-top: 8px;
}
#nav-row a {
    color: #FFF;
}
#nav-row #section-nav {
    position: static;
    top: 0;
    margin: 5px 0px;
}

#section-nav.below-line {
    position: static;
    display: block;
    margin-top: 5px;
}


#hamburger-menu-section-nav a:hover,
#hamburger-menu-section-nav a:focus {
    color: #FFFFFF;
    background-color: #0099CC;
}


#hamburger-menu-section-nav a:hover,
#hamburger-menu-section-nav a:focus,
#hamburger-menu-support-nav a:hover,
#hamburger-menu-support-nav a:focus {
    border-radius: 0;
}

.container,
#hamburger-menu-search,
#hamburger-menu-section-nav,
#hamburger-menu-support-nav
{
    background-color: #ffffff;
}

#support-nav li {
    border-left: 1px solid #999;
    line-height: 12px;
    font-size: 12px;
    padding-left: 7px;
}
#support-nav li:first-child {
    border: none;
}

#hamburger-menu-support-nav a,
#hamburger-menu-support-nav a:hover,
#support-nav a,
#support-nav a:hover {
    color: #333;
}

#support-nav {
    margin: 8px 0 4px 0;
}

#search-form {
    margin: 4px 0 6px 0;
}

#sidebar-button {
    display: none;
    margin: 16px 15px 0px 15px;
}

#site-header {
    margin-bottom: 20px;
    padding-bottom: 6px;
}

#header-col {
    padding-top: 20px;
}

#header-logo {
    display: inline-block;
}

#header-logo a {
    display: block;
    height: 100%;
}
    
#section-nav {
    display: inline-block;
    font-weight: bold;
    position: relative;
}

#user-row {
    color: #fff;
    background-color: #006699;
    margin-top: 8px;
}

#user-row a,
#user-row a:hover {
    color: #fff;
}

#user-actions {
    margin-right: -10px;
}
/* Fix 1px rounding error in Chrome when screen has margin on container sides */
@media (min-width: 1300px) {
    #user-actions {
        margin-right: -11px;
    }
}

#user-actions a {
    display: inline-block;
    padding: 3px 10px;
}

#user-subscribe {
    background-color: #41AD48;
}

#full-menu-button {
    font-size: 14px;
    line-height: 1.42857;
    color: #fff;
    margin: 0;
    padding: 2px 0;
}

.panel-title {
    font-weight: bold;
}

.panel-body h2 {
    font-size: 16px;
    border-bottom: 1px solid #ddd;
}

/* Today's Paper CSS */
#header_todays_front_page {
    position: absolute;
    font-size: 11px;
    right: 14px;
    top: 0;
}
#header_todays_front_page:hover {
    opacity: .8;
}
#eedition_tag {
    position: absolute;
    top: 20%;
    left: -5.5em;
    padding: 0 .6em;
    line-height: 28px;
    font-size: 1.3em;
    font-style: italic;
    color: #FFF;
    background-color: #E90028;
    border-radius: 2px 0 0 2px;
    box-shadow: 2px 2px 5px 0 rgba(0, 0, 0, .6);
}
#eedition_tag:after {
    content: "";
    position: absolute;
    top: 0;
    right: -16px;
    border-left: 16px solid #E90028;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
}
#header_todays_front_page > a > img {
    height: 103px;
    border: 1px solid #999;
    vertical-align: middle;
    border-radius: 2px;
}

/* MOCKUP CSS TO REMOVE AFTER FINAL DESIGN IS COMPLETE */

/* Homepage page breaks */
.pagebreak {
    background-color: #ffffff;
    padding: 30px 0 20px;
}
.pagebreak + .row {
    padding-top: 10px;
}

/* Standard Ad sizes */
.ad {
    color: #fff;
}
.leaderboard {
    width: 728px;
    height: 90px;
    line-height: 90px;
    text-align: center;
}
.half-banner {
    width: 468px;
    height: 60px;
    line-height: 60px;
    text-align: center;
}
.monster {
    width: 300px;
    height: 600px;
    line-height: 600px;
    text-align: center;
}
.bigbox,
.dailydeal {
    width: 300px;
    height: 250px;
    line-height: 250px;
    text-align: center;
}
.side-monster {
    width: 600px;
    height: 300px;
    line-height: 300px;
    text-align: center;
}

/* Mockup boxes */
.widget {
    height: 250px;
    line-height: 250px;
    text-align: center;
    color: #fff;
}

.homepage-slides {
    height: 510px;
    line-height: 510px;
    text-align: center;
    color: #fff;
}
.homepage-events {
    height: 250px;
    line-height: 250px;
    text-align: center;
    color: #fff;
}
.homepage-traffic {
    height: 510px;
    line-height: 510px;
    text-align: center;
    color: #fff;
}
.homepage-photos {
    height: 780px;
    line-height: 780px;
    text-align: center;
    color: #fff;
}
@media (max-width: 1279px) {
    .homepage-photos {
        height: 520px;
        line-height: 520px;
    }
}
.homepage-eedition,
.homepage-customer-service {
    height: 300px;
    line-height: 300px;
    text-align: center;
    color: #fff;
}

.section-story-position-1 {
    height: 430px;
    line-height: 430px;
    text-align: center;
    color: #fff;
}
.section-story-position-2,
.section-story-position-3 {
    height: 295px;
    line-height: 295px;
    text-align: center;
    color: #fff;
}
.section-video,
.section-social-feed {
    height: 510px;
    line-height: 510px;
    text-align: center;
    color: #fff;
}
.section-story-list {
    height: 740px;
    line-height: 740px;
    text-align: center;
    color: #fff;
}
.section-photos {
    height: 490px;
    line-height: 490px;
    text-align: center;
    color: #fff;
}

.story-photos {
    height: 640px;
    line-height: 640px;
    text-align: center;
    color: #fff;
}
.story-disqus {
    height: 800px;
    line-height: 800px;
    text-align: center;
    color: #fff;
}
.story-related-articles {
    height: 320px;
    line-height: 320px;
    text-align: center;
    color: #fff;
}
/* Colors */
.gray {
    background-color: #444;
}
.blue {
    background-color: #006699;
}
.purple {
    background-color: #7d408d;
}
.red {
    background-color: #d2232a;
}
.green {
    background-color: #41ad48;
}
.orange {
    background-color: #ee6728;
}
/****************************************/

/* Page layout item wrapper defaults */
.widget-container,
.ad,
.page-layout-item {
    margin-right: auto;
    margin-bottom: 20px;
    margin-left: auto;
}
/* Section headers/headings and widget wrapper */
/* This block is specifically to help Chrome not be stupid about z-index */
.widget-container.wire-style {
    position: relative;
    z-index: 0;
}

.section-heading,
.wire-style .widget-heading {
    margin-top: 0;
    font-size: 19px;
    color: #fff;
}
.section-heading-name,
.wire-style .widget-heading-name {
    position: relative;
    display: block;
    float: left;
    min-width: 15%;
    padding: 0 .8em;
    background-color: #006699;
    line-height: 30px;
    text-transform: uppercase;
    color: inherit;
}
a.section-heading-name,
.wire-style a.widget-heading-name {
    text-decoration: none;
}
a.section-heading-name:hover,
.wire-style a.widget-heading-name:hover {
    color: inherit;
    opacity: .8;
}
.section-heading-name:after,
.wire-style .widget-heading-name:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 100%;
    /* Leave the relative styling as an easy check for when things change or break */
    border-bottom: 1.6em solid #006699;
    border-bottom-width: 30px;
    border-right: .8em solid transparent;
}

.section-header {
    margin-top: 20px;
    margin-bottom: 15px;
}
.section-heading {
    margin-bottom: 0;
    background-color: #efefef;
}

.widget-container.wire-style {
    max-width: 400px;
}
.wire-style .widget-heading {
    position: relative;
    margin-bottom: -1px;
    z-index: 1;
}
.wire-style .widget-body {
    position: relative;
    border: 1px solid #999;
    padding: 10px;
    min-height: 221px;
}
.widget-more-link {
    position: absolute;
    right: 10px;
    bottom: 10px;
    display: block;
    padding: .3em;
    background-color: #fff;
    box-shadow: 0 0 10px 5px rgba(255, 255, 255, 1);
}
.widget-heading-name[href="#"]:before,
.widget-more-link[href="#"]:before {
    content: "###";
}

.teaser-img {
    transition: opacity 250ms;
}
.teaser-img:hover {
    opacity: .8;
}
/* Mobile Chrome requires the *, it isn't implied */
.truncated:after,
.has-truncated *:last-child:after {
    content: " \2026";
    white-space: nowrap;
}

/* Stories and storylist widgets */
.p-name a,
.p-name a:hover,
.p-name a:active {
    color: #333;
    font-weight: bold;
}

/* Special leaderboard/half-banner toggling */
@media (min-width: 1140px) {
    .responsive-toggle .half-banner {
        display: none !important;
    }
}
@media (min-width: 960px) and (max-width: 1139px) {
    .responsive-toggle .leaderboard {
        display: none !important;
    }
}
@media (min-width: 760px) and (max-width: 959px) {
    .responsive-toggle .half-banner {
        display: none !important;
    }
}
@media (max-width: 759px) {
    .responsive-toggle .leaderboard {
        display: none !important;
    }
}
@media (max-width: 506px) {
    .responsive-toggle {
        display: none !important;
    }
}

@media (min-width: 780px) {
    .pagebreak .half-banner {
        display: none !important;
    }
}
@media (max-width: 779px) {
    .pagebreak .leaderboard {
        display: none !important;
    }
}
/* Style that might supersede the above toggling style for some things */
.content-leader-with-rail {
    position: relative;
}
/* Center currently displayed ad in the space allotted in case of ad size
 * change because of screen size change without refresh
 */
.content-leader-with-rail > div {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}
@media (min-width: 1140px),
(max-width: 959px) and (min-width: 763px) {
    .content-leader-with-rail {
        width: 728px;
        height: 90px;
    }
}
@media (max-width: 1139px) and (min-width: 960px),
(max-width: 762px) {
    .content-leader-with-rail {
        width: 468px;
        height: 60px;
        overflow: hidden;
    }
}
@media (max-width: 639px) {
    .content-leader-with-rail.xs-bigbox {
        display: block !important;
        width: 300px;
        height: 250px;
        overflow: hidden;
    }
}
@media (max-width: 506px) {
    .content-leader-with-rail {
        display: none !important;
    }
}

@media (min-width: 763px) {
    .responsive-leader,
    .pagebreak-leader {
        width: 728px;
        height: 90px;
    }
}
@media (max-width: 762px) and (min-width: 505px) {
    .responsive-leader,
    .pagebreak-leader {
        width: 468px;
        height: 60px;
        overflow: hidden;
    }
}

/* Footer */
#site-footer {
    background-color: #333;
    color: #ccc;
    margin: 0 -10px;
    padding: 20px 10px 10px 10px;
}
#site-footer a {
    color: #ccc;
}
@media (max-width: 639px) {
    #left-footer {
        text-align:center;
        margin-bottom:20px;
    }
}
#center-footer {
    margin-top:10px;
}
#right-footer {
    text-align:center;
    margin-top:10px;
}

/* Responsive design media queries */
@media (max-width: 1299px) {
    .container {
        width: auto;
    }
}

@media (max-width: 1030px) {
    #header-col {
        padding-top: 0;
    }
    
    #ww_fullwidget {
        right: 40px;
        top: 4px;
    }
    
    #header_todays_front_page {
        display: none;
    }
}

@media (max-width: 950px) {
    #search-text {
        display: none;
    }
    
    #header-col {
        margin-top: -16px;
    }
    
    #header-logo {
        display: inline-block;
    }
    
    #ww_fullwidget {
        height: 45px;
        top: -22px;
        right: 230px;
    }
    
    #ww_left {
        display: none;
    }
    
    #ww_right {
        margin-left: 2px;
    }
    
    #ww_current_img {
        height: 25px;
        width: 25px;
        background-size: 25px 25px;
        margin-top: 2px;
        margin-right: 2px;
    }
    
    #ww_temp {
        font-size: 20px;
        padding-top: 1px;
    }
    
    #ww_sponsor {
        left: 0;
        bottom: 3px;
        white-space: normal;
        font-size: 7px;
        line-height: 1.2;
        width: 100px;
    }
}

@media (max-width: 820px) {
    #support-row {
        display: none;
    }
    #sidebar-button {
        display: block;
    }
    #full-menu-button {
        display: none;
    }
    #section-nav {
        display: none;
    }
    #header-col {
        padding: 0;
        margin-top: 0;
    }
    
    #header-logo {
        display: block;
        float: none;
    }
    
    #ww_fullwidget {
        position: absolute;
        height: 42px;
        top: 18px;
        right: 15px;
    }
    #ww_sponsor {
        position: static;
    }
}

@media (max-width: 639px) {
    .story-inner-column {
        float: none;
        width: 300px;
        margin: 10px auto;
    }
}

@media (max-width: 470px) {
    #ww_fullwidget {
        position: relative;
        top: 6px;
        left: 0;
        right: 0;
        float: none;
        clear: both;
	margin: 0 auto;
        width: 250px;
        height: 34px;
        border-top: 1px solid #ddd;
        padding: 2px 27px 0px 0px;
        text-align: center;
    }
    #ww_weather_widget {
        display: inline-block;
    }
    #ww_sponsor {
        clear: none;
        float: right;
        margin: 8px 0 0 6px;
    }
}

@media (max-width: 406px) {
    #header-logo {
        float: left;
    }
}

@media (max-width: 334px) {
    #sidebar-button {
        margin: 20px 7px 0px 10px;
    }
}
