* {
	margin: 0;
	padding: 0;
}



body {
	margin: 20px 0;
	background: #FFFFFF;
	font-family: 'Lato', sans-serif;
	font-size: 13px;
	color: #3B3B3B;
}

h1 {
	font-weight: bold;
	color: #00693E;
}


h2, h3 {
	font-weight: bold;
	color: #282828;
}

h1 { font-size: 200% ;}
h2 { font-size: 152%; }
h3 { font-size: 100%; }

p, ul, ol {
	margin-bottom: 20px;
	line-height: 167%;
	font-size: 100%;
}

a:link {
	text-decoration: none;
	color: #00693E;
}
a:visited { 
	color: #00693E; 
}
a:hover {
	text-decoration: underline;
	color: #333;
}

li:hover{
	text-decoration: none;
}

#page {
	width: 770px;
	margin: 0 auto;
}

#page h1, #page h2 {
	margin-bottom: 20px;
}

#content {
	float: left;
	width: 490px;
	padding: 20px;
}

#content ol, #content ul {
	margin-left: 3em;
}

#sidebar {
	float: right;
	width: 200px;
	padding: 20px;
}

#sidebar h2 {
	padding-top: 6px;
	font-weight: bold;
}

#sidebar ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

#sidebar li {
	margin: 0 0 20px 0;
	padding: 0 0 20px 0;
	border-bottom: 1px dashed #CCCCCC;
}

#sidebar h3 {
	width: 50px;
	height: 17px;
	padding: 0 10px;
	background: #666;
	color: #FFFFFF;
}

#footer {
	clear: both;
	width: 770px;
	height: 50px;
	margin: 0 auto;
	padding-top: 10px;
	border-top: 5px solid #666;
	text-align:center;
}

#footer p {
	margin: 0;
	padding: 0;
	line-height: normal;
	font-size: 77%;
}

#legal {
	float: none;
	text-align:center;
}

#links {
	float: right;
}


/*	Header Box
---------------------------------------------------------------- */

#headerdart {
   display: block;
   width: 770px;
   height: 82px;
   margin: 0;
   padding: 0;
   border-width: 0;
   border-style: solid;
   font-weight: bold;
   background-repeat: no-repeat;
   background-position: 444px 0px;
   background-image: none;
}
#headerdart span {
	display: block;
   color: #666666; 
   font-size: 250%;
   padding-top: 19px;
   padding-left: 35px;
}



/* schedule table */
    .xTable 
    {
        border-spacing: 0; /*Others*/
        border-collapse: collapse; /*IE*/
        border-style:solid;
		border-color:#3B3B3B;
		border-width: 2px;
    }
    .xTable td,th { 
    	padding: 5px;
    	border-style:solid;
		border-color:#3B3B3B;
		border-width: 2px;
        text-align: left;
     }



/* Fall 2026: retain the original green-and-white design; support current tables and mobile screens. */
* { box-sizing: border-box; }
body { font-family: Lato, Arial, sans-serif; font-size: 15px; line-height: 1.55; }
#page { width: min(1060px, 100%); margin: 0 auto; }
#content { float: none; width: 100%; padding: 24px; }
h1 { line-height: 1.25; }
#page h2 { margin-top: 32px; margin-bottom: 12px; }
h3 { margin-top: 20px; margin-bottom: 10px; }
nav { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 20px 0 28px; padding: 12px 0; border-top: 1px solid #bbb; border-bottom: 1px solid #bbb; }
nav [aria-current=page] { font-weight: bold; text-decoration: underline; }
a { text-decoration: underline; text-underline-offset: .15em; }
a:focus-visible { outline: 3px solid #00693e; outline-offset: 3px; }
.table-scroll { max-width: 100%; overflow-x: auto; margin-bottom: 22px; }
.xTable { width: 100%; border: 1px solid #999; }
.xTable td, .xTable th { padding: 10px 12px; border: 1px solid #aaa; vertical-align: top; }
.xTable thead th { background: #edf4ef; color: #154a30; }
.xTable tbody th { font-weight: 600; }
caption { text-align: left; font-weight: bold; padding: 6px 0 10px; }
.grading { max-width: 560px; }
.formula { padding: 14px 16px; background: #f2f6f3; border-left: 4px solid #00693e; font-size: 1.08em; }
.schedule { min-width: 750px; }
.schedule th:first-child { width: 14%; }
.schedule td:nth-child(2) { width: 56%; }
.schedule td:nth-child(3) { width: 30%; }
#content ul.topic-list { list-style: none; margin: 0; }
.topic-list li + li { margin-top: 12px; }
.row-type, .muted { font-size: .9em; color: #555; font-weight: normal; }
.deadline-row { background: #fafafa; }
.exam-row { background: #fff4de; }
footer { border-top: 1px solid #bbb; margin-top: 35px; padding-top: 16px; color: #666; font-size: .9em; }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 10px; top: 5px; background: white; padding: 8px; z-index: 2; }
@media (max-width: 640px) { body { margin: 0; font-size: 14px; } #content { padding: 18px 14px; } h1 { font-size: 1.7em; } .xTable td, .xTable th { padding: 8px; } nav { gap: 8px 18px; } }
@media print { nav, .skip-link { display: none; } #page { width: 100%; } #content { padding: 0; } .table-scroll { overflow: visible; } .schedule { min-width: 0; font-size: 10px; } thead { display: table-header-group; } tr { break-inside: avoid; } a { color: black !important; } }
