/* ==========================================================================
   International Gramsci Society — igs-4-2026.css
   Cleaned up to match the table-free, responsive template.

   Changes made in this pass:
   - Removed all rules that only ever targeted the old <table>/<td> layout
     (.content-table, .table-td-border-*, .table-header-padding,
     .table-menu-padding, td { display:block }, table { width:100% }, etc.)
     since the template no longer contains any <table> elements.
   - Renamed the outer wrapper rule from .main-wrapper to .site to match
     the new markup, and kept the site at 880px max-width (the original
     intended width) rather than the 1100px placeholder used in the first
     draft of the new template.
   - Removed the padding-left/padding-right on .main-content that was
     double-stacking with the CSS Grid gap between content and sidebar.
   - Removed the hardcoded .sidebar { width: 260px } so the grid track is
     the single source of truth for that dimension.
   - Consolidated three overlapping mobile breakpoints (900px / 768px /
     600px) into the two the template actually uses: a 760px layout-stack
     breakpoint and a 600px type-scale breakpoint.
   All typography, color, and content-class rules (headings, .menulisting,
   .footer1, .biblio-*, etc.) are unchanged.
   ========================================================================== */

/* ---------- Links ---------- */
A:link {
	text-decoration: underline;
	color: #C70025;
}
A:visited {
	text-decoration: underline;
	color: #C70025;
}
A:hover {
	color: #FF2828;
	text-decoration: underline;
}
A:active {
	color: #C70025;
}
A.menulisting:link {
	text-decoration: none;
	color: #C40000;
}
A.menulisting:visited {
	text-decoration: none;
	color: #C40000;
}
A.menulisting:hover {
	color: #FF2828;
	text-decoration: underline;
}
A.menulisting:active {
	color: #990000;
}

/* ---------- Misc small utility ---------- */
.hr-dotted {
	color: #fff;
	background-color: #fff;
	border-top: 1px none #333333;
	border-right: 1px none #333333;
	border-bottom: 1px dotted #333333;
	border-left: 1px none #333333;
}

/* ---------- Headings ---------- */
H1 {
	font-size: 22px;
	font-family: source-sans-pro, sans-serif;
	color: #000;
	margin-left: 0px;
	margin-right: 0px;
	margin-top: -5px;
	margin-bottom: -10px;
}
.header-1 {
	font-size: 20px;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	color: #1B1B1B;
	margin-left: 0px;
	margin-right: 0px;
	margin-top: -5px;
	margin-bottom: 5px;
	font-weight: bold;
}
H2 {
	font-size: 19px;
	font-family: Arial, Helvetica, sans-serif;
	color: #000000;
	font-variant: normal;
}
H3 {
	font-family: Helvetica, Arial, sans-serif;
	font-size: 15px;
	color: #000000;
	margin-left: 0px;
}
H4 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 17px;
	color: #000000;
}
H5 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	color: #000000;
}

/* ---------- Body copy ---------- */
p {
	font-family: source-sans-pro, sans-serif;
	color: #333;
	text-align: left;
	line-height: 22px;
	padding-bottom: 5px;
	font-weight: 300;
	padding-left: 0px;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

p strong {
    font-weight: 900; /* Or 700, 800 depending on preference */
}

.footer1 {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	margin-left: 15px;
	font-size: 11px;
	color: #0A0A0A;
	line-height: 14px;
	margin-bottom: 5px;
}

.newslisting {
	font-family: source-sans-pro, sans-serif;
	font-weight: 300;
	font-size: 90%;
	color: #000000;
}
.newsheading {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 14px;
	color: #000000;
	font-weight: bold;
}
.newscontents {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 11px;
	color: #000000;
	margin-left: 20px;
	text-align: justify;
	margin-right: 20px;
}

/* ---------- Bibliography ---------- */
.biblio-abstract {
	font-size: 92%;
	color: #333;
	margin-left: 20px;
	text-align: justify;
	margin-right: 20px;
	margin-top: -8px;
	line-height: 20px;
}
.biblio-contents-header {
	font-family: Helvetica, Arial, sans-serif;
	font-size: 13px;
	color: #333;
	margin-left: 20px;
	text-align: justify;
	margin-right: 20px;
	margin-bottom: -15px;
	font-style: normal;
	text-decoration: underline;
	margin-top: -15px;
}
.biblio-contents-edited-volume {
	font-family: Helvetica, Arial, sans-serif;
	font-size: 13px;
	color: #333;
	margin-left: 25px;
	text-align: justify;
	margin-right: 20px;
	margin-bottom: -17px;
	font-style: normal;
	text-decoration: none;
	margin-top: -12px;
}
.biblio-part {
	list-style-position: outside;
	list-style-type: decimal;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 12px;
	color: #333;
	text-align: justify;
	margin-left: -25px;
}
.biblio-table-of-contents {
	list-style-position: outside;
	list-style-type: decimal;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 13px;
	color: #333;
	text-align: justify;
	margin-right: 20px;
	margin-left: 20px;
}
.biblio-table-of-contents-li {
	list-style-position: outside;
	list-style-type: decimal;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 13px;
	color: #333;
	text-align: justify;
	margin-right: 20px;
	margin-bottom: 4px;
	margin-left: 2px;
}
.biblio-table-of-contents-unordered {
	list-style-position: outside;
	list-style-type: disc;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 13px;
	color: #333;
	text-align: justify;
	margin-right: 20px;
	margin-bottom: 5px;
	margin-left: 2px;
	line-height: 20px;
}
.font-biblio-language-heading {
	font-family: Verdana, Geneva, sans-serif;
	font-size: 15px;
	font-weight: bold;
	border-top: 1px solid #333;
	border-bottom: 1px solid #333;
	border-right: none;
	border-left: none;
	padding: 2px;
	letter-spacing: 1px;
	font-style: normal;
	margin-top: 25px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	font-variant: normal;
}

/* ---------- Sidebar menu ---------- */
.menuheading {
	font-family: source-sans-pro, sans-serif;
	color: #000000;
	font-size: 13px;
	line-height: 16px;
	margin-left: 15px;
	margin-right: 15px;
	margin-top: 10px;
	font-weight: 500;
}
.menulisting {
	font-family: source-sans-pro, sans-serif;
	font-size: 13px;
	margin-left: 15px;
	line-height: 18px;
	font-weight: 300;
	margin-right: 15px;
}

/* ---------- Images / photo captions ---------- */
.pictitle {
	font-family: source-sans-pro, sans-serif;
	color: #666666;
	text-align: left;
	margin:0;
	font-weight: 800;
	padding-left: 0px;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.picdescription {
    font-family: source-sans-pro, sans-serif;
    font-size: 0.92rem;
    font-weight: 300;
    color: #666666;
    text-align: left;
    line-height: 1.5;
    padding-bottom: 0;
    padding-left: 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
.picdisplay {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 18px;
	font-weight: bold;
	color: #666666;
	margin-top: -5px;
}
.image-box {
	margin: 0px;
	padding: 0.5em;
	border: solid 1px;
	color: #999999;
}
.responsive,
.responsive-logo,
img {
	max-width: 100%;
	height: auto;
}

/* ---------- Generic font/utility classes (unchanged, still used inline) ---------- */
.whitetext {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13px;
	font-weight: bold;
	color: #FFFFFF;
}
.serif14px {
	font-family: "Times New Roman", Times, serif;
	color: #000000;
	font-size: 14px;
}
.serif12px {
	font-family: "Times New Roman", Times, serif;
	color: #000000;
	font-size: 12px;
}
.font-sans-16-bold {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	font-weight: bold;
	color: #000000;
}
.font-sans-16-bold-gray {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	font-weight: bold;
	color: #333333;
}
.font-verdana-11 {
	font-family: Verdana, Tahoma, Arial, Helvetica;
	font-size: 11px;
	color: #000000;
}
.font-verdana-12 {
	font-family: Verdana, Tahoma, Arial, Helvetica;
	font-size: 12px;
	color: #000000;
}
.font-verdana-13 {
	font-family: Verdana, Tahoma, Arial, Helvetica;
	font-size: 13px;
	color: #000000;
}
.font-verdana-13-extra-space {
	font-family: Verdana, Tahoma, Arial, Helvetica;
	font-size: 13px;
	color: #000000;
	line-height: 20px;
	padding-bottom: 5px;
}
.font-verdana-14 {
	font-family: Verdana, Tahoma, Arial, Helvetica;
	font-size: 14px;
	color: #000000;
}
.font-verdana-16-bold {
	font-family: Verdana, Tahoma, Arial, Helvetica;
	font-size: 16px;
	color: #000000;
	font-weight: bold;
}
.font-verdana-18-bold {
	font-family: Verdana, Tahoma, Arial, Helvetica;
	font-size: 18px;
	color: #000000;
	font-weight: bold;
}
.font-white-sans-14 {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 14px;
	color: #FFFFFF;
}
.font-sans-14-bold {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	color: #000000;
	font-weight: bold;
}
.font-sans-14-underline {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: bold;
	color: #000000;
	text-decoration: underline;
}
.font-sans-12-bold {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-weight: bold;
	color: #000000;
}
.font-sans-18-over-underline {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 18px;
	font-weight: bold;
	color: #000000;
	text-decoration: underline overline;
}
.font-sans-16-over-underline {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	font-weight: bold;
	color: #000000;
	text-decoration: underline overline;
}
.overline {
	text-decoration: underline overline;
}
.font-14px-border {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: bold;
	border-top: 1px dotted #000000;
	border-bottom: 1px dotted #000000;
	border-right: none;
	border-left: none;
	padding: 3px;
}
.font-16px-border {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 16px;
	font-weight: bold;
	border-top: 1px solid #000000;
	border-bottom: 1px solid #000000;
	border-right: none;
	border-left: none;
	padding: 3px;
}
.ordered-list-alpha {
	list-style-type: lower-alpha;
	clip: rect(auto, auto, auto, auto);
}
.table-of-contents-section-head {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 11px;
	color: #000000;
	margin-left: -5px;
	text-align: justify;
	text-decoration: underline;
	margin-top: 8px;
	margin-bottom: 5px;
}
.table-of-contents-header {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 11px;
	color: #000000;
	margin-left: 20px;
	text-align: justify;
	margin-right: 20px;
	text-decoration: underline;
	margin-top: 0px;
	margin-bottom: -15px;
}
.list {
	font-family: Verdana, Tahoma, Arial, Helvetica;
	font-size: 13px;
	color: #000000;
	margin-bottom: -5px;
	margin-left: 12px;
	text-indent: -9px;
	padding-left: 18px;
	text-align: left;
}
.table-syllabi {
	background-color: #F7F7F7;
	font-family: "Helvetica Neue", Helvetica, Arial;
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
}

/* NOTE: the following two classes have no <table> to attach to anymore,
   but are left in place in case a syllabus/bibliography page still uses
   an inline data table (not a layout table) with these border styles. */
.table-td-border {
	border-top: 0px solid #333333;
	border-right: 0px solid #333333;
	border-bottom: 0px solid #333333;
	border-left: 1px solid #333333;
}
.table-td-border-bottom-gray {
	border-top: 0px solid;
	border-right: 0px solid;
	border-bottom: 1px solid #E2E2E2;
	border-left: 0px solid;
}

/* ==========================================================================
   GLOBAL RESET / RESPONSIVE BASE
   ========================================================================== */
html {
	box-sizing: border-box;
	overflow-x: hidden;
}
*,
*:before,
*:after {
	box-sizing: inherit;
}
body {
	margin: 0;
	padding: 0;
	overflow-x: hidden;
	background-color: #F7F7F7;
}

/* Site wrapper — matches <div class="site"> in the template.
   880px keeps the original intended page width. */
.site {
	width: 100%;
	max-width: 880px;
	margin: 0 auto;
	background: #FFFFFF;
}

iframe,
embed,
object,
video {
	max-width: 100%;
}

/* ==========================================================================
   RESPONSIVE BREAKPOINTS
   Matches the two breakpoints used in the template's own <style> block:
   - 760px: content/sidebar grid stacks to a single column
   - 600px: type scale bumps up for small phones
   ========================================================================== */
@media screen and (max-width: 760px) {
	.header-1 {
		font-size: 24px;
		line-height: 30px;
		margin-bottom: 10px;
	}
	p {
		font-size: 16px;
		line-height: 28px;
	}
}

@media screen and (max-width: 600px) {
	body {
		font-size: 16px;
	}
	.header-1 {
		font-size: 22px;
		line-height: 28px;
		margin-top: 0;
		margin-bottom: 10px;
	}
	H1 {
		font-size: 22px;
		line-height: 28px;
	}
	H2 {
		font-size: 19px;
		line-height: 26px;
	}
	H3 {
		font-size: 17px;
		line-height: 24px;
	}
	p,
	.newslisting,
	.menulisting,
	.font-verdana-13,
	.font-verdana-13-extra-space {
		font-size: 16px;
		line-height: 26px;
	}
	.menuheading {
		font-size: 15px;
		line-height: 22px;
	}
	.footer1 {
		font-size: 12px;
		line-height: 18px;
	}
	hr {
		max-width: 100%;
	}
	a,
	p,
	li,
	div,
	span {
		overflow-wrap: break-word;
		word-wrap: break-word;
	}
}
/* ==========================================================================
   PHOTO ARCHIVE
   ========================================================================== */

.photo-list{

    width:95%;
    margin:0 auto;

}

.photo-item{

    display:flex;

    align-items:flex-start;

    gap:24px;

    padding:20px 0;

    border-bottom:1px solid #d9d9d9;

}

.photo-thumb{

    flex:0 0 110px;

}

.photo-thumb img{

    width:110px;
    height:140px;

    object-fit:cover;

    display:block;

    border:1px solid #cccccc;

}

.photo-text{

    flex:1;

    min-width:0;

}

@media (max-width:700px){

.photo-item{

    flex-direction:column;

}

.photo-thumb{

    flex:none;

}

.photo-thumb img{

    width:160px;
    height:200px;

}

}