*{ box-sizing: border-box; }
header, main, nav, footer, figure, figcaption, aside, section, article { display: block; }
aside { background-color: #eaeaea;
        box-shadow: 5px 5px 5px #333333;
        color: #1C6636; 
		float: right;
        font-size: 95%;	
		padding: 1em;
		position: relative;
		top: -20px;
        width: 20em; }
aside a { text-decoration: none; 
		 font-weight: bold; 
		 color: #1C6636; }
aside a:hover {text-decoration: underline; }
body { background-color: #389943; 
	   background-image: linear-gradient(to bottom, #4DCC5C, #18421D); 
	   font-family:Verdana, Arial, sans-serif;
       margin: 0;}
caption { font-size: 1.5em; 
		  font-weight: bold; 
		  padding-bottom: 0.2em; }
footer { background-color: #058935; 
		 color: #FFFFFF; 
		 clear: both; }
footer a {text-decoration: none; 
	      font-weight: bold; 
		  color: #FFFFFF; }
footer a:hover {text-decoration: underline; }		  
h1 { color: #1C6636; 
	 font-family: Georgia, "Times New Roman", serif; 
     font-size: 3em; 
	 letter-spacing: 0.05em;
	 margin-bottom: 0; 
	 margin-top: 0;
	 text-shadow: 1px 1px 1px #CCCCCC; 
	 text-align: center; }
h2 { color: #3399CC; 
	 font-family: Georgia, "Times New Roman", serif; 
	 text-shadow: 1px 1px 1px #CCCCCC; }
h3 { color: #000033; 
	 font-family: Georgia, "Times New Roman", serif; }
header { padding: 0.2em; 
		 text-align: center; }
img {
    max-width: 100%;
    height: auto;
    width: auto\9;}
main { margin-left: 30px;
	   margin-right: 30px;
	   padding: 1px 20px 20px 20px; }
main a { text-decoration: none; 
		 font-weight: bold; }
main a:hover {text-decoration: underline; }
nav { font-size: 102%; 
	  font-weight: bold; 
	  padding: 0.8em; 
	  position: relative; }
nav a { text-decoration: none; }
nav li { border-right: 1px solid #FFFFFF; 
         display: inline; 
	     text-align: center; }
nav li:hover ul { display: block; }	 
nav li:last-child { border-right: none; }
nav ul { background-color: #058935;
		 font-size: 1.1em; 
		 list-style-type: none; 
		 margin: 0; 
		 padding-left: 0; }
nav ul li a { color: #FFFFFF; 
			  padding: 9px 9px; }
nav ul ul { background-color: #21A013;  
			display: none; 
			padding: 0; 
		    position: absolute; 
			text-align: left; }
nav ul ul a { color: #FFFFFF; }
nav ul ul li { border: 1px solid #38F77E; 
			   display: block; 
			   font-size: 60%; 
			   margin-left: 0;
			   padding-bottom: 0.5em; 
			   padding-left: 0.2em;
			   padding-right: 0.2em; 
			   padding-top: 0.5em; 
			   width: 16em; }
table {border: 2px solid #18421D; 
	   border-collapse: collapse; 
	   margin: auto; }
table a { color: #18421D; 
		  font-weight: bold; }
table a:hover {text-decoration: underline; }
td, th {padding: 0.5em; 
		border: 2px solid #18421D; }
td {text-align: center; }
th { color: #FFFFFF; 
	 font-weight: bold; }
video { padding-top: 0.8em; 
        padding-bottom: 0.8em; }
	 
#introduction {font-size: 110%; 
               text-align: center; }
#introduction a {color: #000066; 
                 font-weight: bold; }

#collaborationschedule {padding-bottom: 1.0em;
                        padding-top: 1.0em;}
#collaborationschedule caption { color: #356BC4; }
#collaborationschedule th { background-color: #356BC4; }
#collaborationschedule tr:nth-of-type(odd) { background-color: #ACE0EF; }

#earlydismissalschedule {padding-bottom: 1.0em;
                        padding-top: 1.0em;}
#earlydismissalschedule caption {color: #A5069B; }
#earlydismissalschedule th { background-color: #A5069B; }
#earlydismissalschedule tr:nth-of-type(odd) { background-color: #F7BEF3; }

#regularschedule {padding-bottom: 1.0em;
                        padding-top: 1.0em;}
#regularschedule caption {color: #018207; }
#regularschedule th { background-color: #018207; }
#regularschedule tr:nth-of-type(odd) { background-color: #B2F7CB; }

#twohourdelayschedule {padding-bottom: 1.0em;
                        padding-top: 1.0em;}
#twohourdelayschedule caption {color: #875C01; }
#twohourdelayschedule th { background-color: #875C01; }
#twohourdelayschedule tr:nth-of-type(odd) { background-color: #EFCE86; }

#weeklast { padding-bottom: 0.4em; 
		    padding-top: 0.4em; } 
#weeklast dt {color: #AD7413; 
			  font-weight: bold; }
#weeklast dd {color: #000000; }
#weeklast dd a {color: #000000; }
#weeklast h2, #weeklast h3 { color: #AD7413; }	   
#weeklast h3 a {color: #AD7413; }
#weeklast p { color: #000000; }

#weeknext { padding-bottom: 0.4em; 
		    padding-top: 0.4em; } 
#weeknext dt {color: #469987; 
			  font-weight: bold; }
#weeknext dd {color: #000000; }
#weeknext dd a {color: #000000; }
#weeknext h2, #weeknext h3 { color: #469987; }
#weeknext h3 a {color: #469987; }
#weeknext p { color: #000000; }

#weekthis { padding-bottom: 0.4em; 
		    padding-top: 0.4em; } 
#weekthis dt {color: #1E3ECC; 
			  font-weight: bold; }	  
#weekthis dd {color: #000000; }
#weekthis dd a {color: #000000; }
#weekthis h2, #weekthis h3 { color: #1E3ECC; }
#weekthis h3 a {color: #1E3ECC; }
#weekthis p { color: #000000; }	

#homeroomtable {padding-top: 2.0em; }
#homeroomtable caption {padding-bottom: 1.2em; }
#homeroomtable th {background-color: #472FC4; 
				   font-size: 120%; }

#alg2homework h2, #alg2test h2, #alg2exam h2 {color: #1B8928; }
#alg2homework dd, #alg2test dd, #alg2exam dd {padding-bottom: 0.4em; }

#csonelabs h2, #csoneprojects h2, #csonetests h2, #csonefinalproject h2 {color: #7C34AF; }
#csonelabs dd, #csoneprojects dd, #csonetests dd, #csonefinalproject dd  {padding-bottom: 0.4em; }

#csonelabs figure, #alg2homework figure, #dualcreditinfo figure, #generalinfo figure { float: right;
         width: 220px;
         margin: 10px; }
#csonelabs figcaption, #alg2homework figcaption, #dualcreditinfo figcaption, #generalinfo figcaption { text-align: center;
             font-size: .8em;
             font-style: italic; }


#gradingscalehn, #gradingscalepfw {padding-top: 1.5em; }
#gradingscalehn caption, #gradingscalepfw caption {padding-bottom: 1.0em; 
				         color: #000000}
#gradingscalehn th { background-color: #D13512; 
					font-size: 120%; }
#gradingscalehn tr { color: #000000; }
#gradingscalehn tr:nth-of-type(odd) { background-color: #E8E8E8; } 
#gradingscalepfw th { background-color: #000000; 
					font-size: 120%; }
#gradingscalepfw tr { color: #000000; }
#gradingscalepfw tr:nth-of-type(odd) { background-color: #D4AF37; } 

#dualcreditinfo a { text-decoration: none; 
		            font-weight: bold; 
					color: #000000; }
#dualcreditinfo a:hover {text-decoration: underline; }
#dualcreditinfo h2 { color: #574816; }
#dualcreditinfo dd { color: #000000; 
				     padding-bottom: 0.4em; }

#generalinfo a { text-decoration: none; 
		            font-weight: bold; 
					color: #000000; }
#generalinfo a:hover {text-decoration: underline; }
#generalinfo h2 { color: #4B9A7B; }
#generalinfo dd { color: #000000; 
				     padding-bottom: 0.4em; }

#wrapper { background-color: #FFFFFF; 
		   color: #000066; 
		   margin: auto; 
		   min-width: 600px;
           max-width: 1280px;
           width: 80%; } 
.footercolumnheading {font-style: italic; }
.homeroomrowred {background-color: #EFAEA7; }
.homeroomrowyellow {background-color: #F8F9C7; }
.homeroomrowgreen {background-color: #BBF9CD; }
.homeroomrowgray {background-color: #DCDCDC; }
.homeroomrow {background-color: #EFAEA7; }
.homeroomstatustext {color: #472FC4; 
                     font-size: 275%; 
					 font-weight: bold; }
.columnofthree { float: left;
                 padding: 10px; 
				 width: 33.33%;}
.columnoftwocenteredtext { float: left;
                           padding: 10px; 
			               text-align: center; 
						   width: 50%;}
.row:after { clear: both; 
             content: "";
             display: table; }
#mobile {display: none; }
#desktop {display: inline; }

@media only screen and (max-width: 64em) {
	body {margin: 0; 
		  background-color: #FFFFFF; }
	#wrapper {min-width: 0px; 
			  width: auto; 
			  box-shadow: none; 
			  border: none; }
	header {padding-top: 0.5em; 
			padding-bottom: 0.5em; 
			padding-left: 0em; 
			height: auto; }
	h2 {letter-spacing: 0.1em; }
	main {margin-left: 0; }
	nav {float: none; 
	     width: auto; 
		 text-align: center; 
		 padding: 0.5em; }
    nav a {border-bottom: 2px ridge #38F77E; 
	       display: block; }
	nav li {display: block; 
			padding: 0.25em 0.75em 0.25em 0.75em; }
	nav li:last-child { border-bottom: none; }
	footer {margin-left: 0; }
}

@media only screen and (max-width: 37.5em) {
	 h1, h2 { font-size: 100%; }
     span { font-size: 80%; }
     figure { display: none;}
     nav, nav ul, nav li { padding: 0; }
     nav li { display: block; }
     nav a { display: block;
             padding: 0.5em 0;
             border-bottom: 2px ridge #38F77E; }
	nav li:last-child { border-bottom: none; }
	aside {display: none; }
	#mobile {display: inline; }
	#desktop {display: none; }
}

/*Sliding menu stuff from http://www.dynamicdrive.com/style/csslibrary/item/jquery_multi_level_css_menu_2/ */
.jqueryslidemenu{font: bold 15px Verdana; background: #222222/*#414141*/; width: 100%; border-top: 1px solid gray; border-bottom: 1px solid gray;}
.jqueryslidemenu ul{margin: 0; padding: 0; list-style-type: none;}
/*Top level list items*/
.jqueryslidemenu ul li{position: relative; display: inline; float: left;}
/*Top level menu link items style*/
.jqueryslidemenu ul li a{display: block;  background: #222222/*background of tabs (default state)*/; color: white; padding: 8px 10px; border-right: 2px solid #778; color: #2d2b2b; text-decoration: none;}
* html .jqueryslidemenu ul li a{display: inline-block; /*IE6 hack to get sub menu links to behave correctly*/}
.jqueryslidemenu ul li a:link, .jqueryslidemenu ul li a:visited{color: white;}
.jqueryslidemenu ul li a:hover{background: black/*tab link background during hover state*/; color: red;}
/*1st sub level menu*/
.jqueryslidemenu ul li ul{position: absolute; left: 0; display: block; visibility: hidden;}
/*Sub level menu list items (undo style from Top level List Items)*/
.jqueryslidemenu ul li ul li{display: list-item; float: none;}
/*All subsequent sub menu levels vertical offset after 1st level sub menu */
.jqueryslidemenu ul li ul li ul{top: 0;}
/* Sub level menu links style */
.jqueryslidemenu ul li ul li a{font: normal 15px Verdana; width: 200px/*width of sub menus*/; padding: 5px; margin: 0; border-top-width: 0; border-bottom: 1px solid gray; border-left: 1px solid gray;}
/*sub menus hover style*/
.jqueryslidemenuz ul li ul li a:hover{background: #eff9ff; color: black;}
/* ######### CSS classes applied to down and right arrow images  ######### */
.downarrowclass{position: absolute; top: 12px; right: 7px;}
.rightarrowclass{position: absolute; top: 6px; right: 5px;}