/* ======================================================================
   CORE DESKTOP LAYOUT
   ====================================================================== */

#page-wrapper {
  margin-left: auto;
  margin-right: auto;
  width: 960px;
}

#main-wrapper {
  position: relative;
}

#content {
  float: left;
  width: 960px;
  margin-left: 0;
  margin-right: -960px;
  padding: 0;
}

.sidebar-second #content {
  width: 760px;
  margin-right: -760px;
}

#content .section {
  margin: 0;
  padding: 0;
}

.with-navigation #content {
  margin-top: 3em;
}

#header,
#content {
  overflow: visible;
  word-wrap: break-word;
}


/* ======================================================================
   GLOBAL RESET
   ====================================================================== */

body {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: none;
}

#skip-link a,
#skip-link a:visited {
  display: block;
  width: 100%;
  padding: 2px 0 3px 0;
  text-align: center;
  background-color: #666;
  color: #fff;
}

#logo {
  float: left;
  margin: 0;
  padding: 0;
}

#logo img {
  vertical-align: bottom;
}

.region-header {
  clear: both;
}

h1.title {
  margin: 0;
}


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

.block {
  margin-bottom: 1.5em;
}

li a.active {
  color: #000;
}

body.front h1 {
  display: none;
}

body.front h1.title {
  display: block;
  border-bottom: 1px solid #CCC;
  font-size: 17px;
  margin-bottom: 10px;
  padding-bottom: 5px;
  font-weight: normal;
}

h3 {
  color: #333;
}


/* ======================================================================
   *** REMOVE ALL MOBILE-FORCED 320PX LAYOUT ***
   ====================================================================== */

/* DO NOT ADD ANY MOBILE WIDTH LIMITS HERE.
   ALL MOBILE RULES BELONG IN bundle.css.
*/


/* ======================================================================
   FEATURED ARTICLES / HOME PAGE
   ====================================================================== */

#block-menu-menu-news-categories {
  margin-bottom: 0;
  width: 100%;
}

#block-menu-menu-news-categories ul {
  margin: 0;
  padding-left: 0;
}

#block-menu-menu-news-categories ul li {
  background: #222;
  border-top: 1px dashed #CCC;
  display: inline-block;
  width: 100%;
  margin: 0;
  padding: 0;
  text-transform: uppercase;
}

#block-menu-menu-news-categories ul li a {
  background: url("../images/mobile_menu.png") no-repeat 7px 8px transparent;
  color: #FFF;
  display: block;
  font-weight: bold;
  height: 23px;
  padding: 7px 15px 0 26px;
  text-decoration: none;
}

#block-menu-menu-news-categories ul li a.active {
  background: url("../images/mobile_menu_hover.png") no-repeat 25px 8px white;
  color: #333;
  padding-left: 43px;
}

.views-field-edit-node {
  position: absolute;
}

.summary-short-ellipsis {
  display: inline;
}

.summary-long {
  display: none;
}

a {
  color: #333;
}

h1,
h3 {
  font-family: "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
  line-height: 1.3em;
}

h3 a {
  text-decoration: none;
}

#block-system-main {
  clear: both;
}

.region-top-area {
  float: right;
  margin-right: 12px;
  margin-top: 5px;
  background: transparent !important;
}

.region-top-area .block,
.region-top-area .block .content,
.region-top-area .top-links,
.region-top-area .top-links a {
  background: none !important;
}

.region-top-area .top-links {
  color: #fff !important;
}

.region-top-area .top-links a {
  color: #bfbfbf !important;
}

.view-featured-articles .views-row {
  font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;
  min-height: 166px;
  padding: 14px 10px;
  font-size: 10px;
  border-bottom: 1px dashed #CCC;
}

.view-featured-articles .views-row .views-field-body {
  margin-top: 5px;
  font-size: 12px;
}

/* critical featured image layout (from bundle, stripped to essentials) */
.view-featured-articles .views-row img {
  max-width: 180px;
  width: 40%;
  max-height: 125px;
  height: auto;
  border: 1px solid #CCCCCC;
  float: left;
  margin-bottom: 6px;
  margin-right: 10px;
  padding: 3px;
}


/* ======================================================================
   HEADER AD / CLS SAFETY
   ====================================================================== */

#header,
#header .section,
.region-header {
  height: auto !important;
  overflow: visible !important;
}


/* ======================================================================
   SMALL FIXES
   ====================================================================== */

html,
body {
  font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
}

/**
 * FINAL FIX BLOCK (LCP, CLS, Wrap, and Scaling) on first article image
 * This block combines all working fixes and uses stable media queries 
 * to manage the 180px constraint across all viewports.
 */

/* 1. CLS Fix & Image Float (Foundation for LCP/CLS) */
.view-featured-articles .views-row-first img {
    /* CLS Fix: Prevents layout shift by reserving space */
    aspect-ratio: 180 / 125; 
    
    /* Layout Fix: Enables wrapping */
    float: left;
    margin-right: 12px; 
    display: block; 
    
    /* WIDTH CONTROL: This is the default desktop constraint. */
    width: 100%;             
    height: auto;            
    
    /* Default maximum size (Applies when no other rule is more specific) */
    max-width: 180px;        
}

/* 2. CRITICAL FIX: Row Container Clear Override (The working wrap fix) */
.view-featured-articles .views-row-first {
    clear: none !important; 
}

/* 3. Text Wrapper Fix (Ensures the body content flows beside the image) */
.view-featured-articles .views-row-first .views-field-body {
    clear: none !important; 
    float: none; 
    overflow: visible; 
}

/* =================================================================
 * RESPONSIVE RULES: Fixes Stretching and Shrinking (Manages 767px conflict)
 * ================================================================= */

/* 1. Tablet/Desktop Scaling Rule (min-width: 532px)
 * This ensures the image does NOT stretch past 180px when the container is wide.
 * This rule resolves the stretching issue at 767px by confirming the absolute limit.
 */
@media only screen and (min-width: 532px) {
    .view-featured-articles .views-row-first img {
        /* Confirms 180px is the hard limit on all wide screens */
        max-width: 180px !important; 
    }
}

/* 2. Mobile Scaling Rule (max-width: 531px)
 * This is the ONLY rule that allows the image to shrink below 180px.
 */
@media only screen and (max-width: 531px) {
    .view-featured-articles .views-row-first img {
        /* Forces the image to shrink relative to the container size, 
           overriding the 180px limit only on small screens. */
        max-width: 40% !important;
    }
}

/**
 * CRITICAL FIX: Ensures the main block container maintains its height 
 * and prevents surrounding content from shifting when floats fail.
 */
.view-featured-articles:before,
.view-featured-articles:after {
    content: " ";
    display: table;
}

.view-featured-articles:after {
    clear: both;
}

.view-featured-articles {
    /* This rule is a common legacy fix for older IE browsers */
    *zoom: 1; 
}
