

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* ~~ GENERAL STYLE FOR ENTIRE WEBSITE ~~ */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

html {}

body {
	font: 90%/1.45 Droid Sans, Open Sans, Helvetica, Verdana, Arial, sans-serif;
	background: #1C1F1C;
	margin: 0;
	padding: 0;
	color: #111;
	height: 100%;
	position:relative;
}

p {
	text-align:justify
}

h1, h2, h3, h4, h5, h6, p, table, address {
	margin-top: 0;	 /* removing the top margin gets around an issue where margins can escape from their containing block. The remaining bottom margin will hold it away from any elements that follow. */
	margin-bottom: 1em;
	margin-right: 20px;
	margin-left: 15px; /* adding the padding to the sides of the elements within the blocks, instead of the block elements themselves, gets rid of any box model math. A nested block with side padding can also be used as an alternate method. */
	border: none;
	height:100%;
}

h1 {
	font-size: 175%; margin-right:-300px;
}

h2 {
	font-size: 150%; border-bottom: 1px solid black;
}

h3 {
	font-size: 125%;
}

h4 {
	font-size: 110%;
	padding-top: 1em;
}

hr {
	margin-left:15px;
	margin-right:20px;
}

address {
	margin-bottom:1.5em;
	margin-top:-.5em;
}




/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* ~~  STYLE FOR ANCHORS ~~ */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

a img { /* this selector removes the default blue border displayed in some browsers around an image when it is surrounded by a link */
	border: none;
}
/* ~~ Styling for your site's links must remain in this order - including the group of selectors that create the hover effect. ~~ */
a:link {
	color: #e6550d;
	text-decoration: none; /* unless you style your links to look extremely unique, it's best to provide underlines for quick visual identification */
}
a:visited {
	color: #e6550d;
	text-decoration: none;
}
a:hover, a:active, a:focus { /* this group of selectors will give a keyboard navigator the same hover experience as the person using a mouse. */
	text-decoration: none;
	color: #000000;
	background: #ffeda0;

}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* ~~  STYLE FOR CONTAINERS ~~ */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

/* ~~ This fixed width container surrounds all other blocks ~~ */
.container {
	width: 92%;
	 min-width: 1300px;
	background: #FFFFFF;
	margin: 0 auto; /* the auto value on the sides, coupled with the width, centers the layout */
	position: relative;
}

.sidebar1 {
	float: left;
	width: 150px;
	background: #f2f0de;
	height: 100%;
	position: absolute;
}

.content {
	padding: 10px 0;
	max-width:650px;
	height: 100%;
	margin-left:150px;
	min-height: 600pt;
	margin-right:300px
}

figcaption { 
	padding: 0 25px;
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* ~~ STYLE FOR NAVIGATION ~~ */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

/* ~~ The navigation list styles (can be removed if you choose to use a premade flyout menu like Spry) ~~ */
nav ul {
	list-style: none; /* this removes the list marker */
	border-top: 0px solid #622; /* this creates the top border for the links - all others are placed using a bottom border on the LI */
	margin-bottom: 15px; /* this creates the space between the navigation on the content below */
	padding-left: 0px;
	margin-left: 0px;
	color: #EEE;
}
nav ul li {
	border-bottom: 0px solid #622; /* this creates the button separation */
	color: #000;
}
nav a:link {
	text-decoration: none;
}
nav ul a, nav ul a:visited { /* grouping these selectors makes sure that your links retain their button look even after being visited */
	display: block; /* this gives the link block properties causing it to fill the whole LI containing it. This causes the entire area to react to a mouse click. */
	width: 130px;  /*this width makes the entire button clickable for IE6. If you don't need to support IE6, it can be removed. Calculate the proper width by subtracting the padding on this link from the width of your sidebar container. */
	text-decoration: none;
	padding: 2px 2px 6px 15px;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* ~~  STYLE FOR SECTIONS ~~ */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */


/* ~~ The header is not given a width. It will extend the full width of your layout. ~~ */
header {
	/* height: 90px; */
	width: 92%;
	min-width: 1300px;
	background: #f2f0de;
	margin: 0 auto; /* the auto value on the sides, coupled with the width, centers the layout */
	position: relative;
	padding-top:25px;
}

section{
	margin-bottom:5em;
}

.subsection{
	margin-left:10pt;
	padding:10pt;
}

/* ~~ The footer ~~ */
footer {
	font-size: smaller;
	padding: 10px 0;
	background: #42413C;
	position: relative;/* this gives IE6 hasLayout to properly clear */
	clear: both; /* this clear property forces the .container to understand where the columns end and contain them */
	margin-bottom:0;
	color:#FFF;
}

/*HTML 5 support - Sets new HTML 5 tags to display:block so browsers know how to render the tags properly. */
header, section, footer, nav, article, figure {
	display: block;
}

.pagenav {
	display: block;
	padding: 10px 0px;
	max-width:600px;
	height: 10px;
	margin-left:165px;
	margin-right:315px;
	clear:both;
}



/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* ~~  STYLE FOR LISTS ~~ */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

dt {
	font-weight: bold;
	display: block;
	margin-top: 10px;
}
dd {
	display: inline-block;
	margin-left: 10px;
	text-align:justify;
}



/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* ~~  STYLE FOR SCHEDULE TABLE ~~ */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

tr, td {
	border: none;
	padding-left:0px;
	padding-right:3px;
	padding-top:1px;
	padding-bottom:1px;
	height:100%;
}

th {
	border-bottom-style:solid;
	border-bottom-color:#000000;
	border-width:0px;
	text-align:left;
}




.solution {
	display: none;
}

.showme:focus ~ .solution {
	display: block;
}



/* ~~ Element/tag selectors ~~
ul, ol, dl {  Due to variations between browsers, it's best practices to zero padding and margin on lists. For consistency, you can either specify the amounts you want here, or on the list items (LI, DT, DD) they contain. Remember that what you do here will cascade to the .nav list unless you write a more specific selector.
	padding: 0;
	margin: 0;
} */





.newWeek {
	height:1.15em;
	background-color:#AAAAAA;
}



.officeHours {
	font-size:80%;
}
emph {
	text-decoration:underline;
}



/*
div, span, p{
    border: 1px solid red;
}
*/

p .MathJax_Display {
	position: inherit !important;
}

/* ~~ This grouped selector gives the lists in the .content area space ~~ */
.content ul, .content ol, dl {
	padding: 0 20px 15px 40px; /* this padding mirrors the right padding in the headings and paragraph rule above. Padding was placed on the bottom for space between other elements on the lists and on the left to create the indention. These may be adjusted as you wish. */
	margin-top: .25em;
}
.content dd ul, .content dd ol {
	padding: 0 20px 0px 40px; /* this padding mirrors the right padding in the headings and paragraph rule above. Padding was placed on the bottom for space between other elements on the lists and on the left to create the indention. These may be adjusted as you wish. */
	margin-top: .25em;
}
.content p + ul {
	margin-top: -1.0em;
}

.content li > p{
	margin: 0;
}


.photoframe {
	float:left;
	margin-right:10px;
	margin-bottom:10px;
	margin-left:15px;
	}

.photo {
	width:125px;
	height:auto;
	border:solid 1px #000000;
	}


.addressSection {
	display: block;
}





p+ol {
margin-top: -1.25em;
}



aside, details {
	padding-left: 15px;
	padding-right: 20px;
	padding-bottom:1.5em;
}

figure {
	border-color: #909090;
	border-width: 0px;
	padding:0;
	border-style: solid;
	margin:0;
	margin-top:0px;
	border-style:inset;
	text-align:center;
	float:none;
	font-size:100%;
	display:inline-block;
	vertical-align: top;
}

figure .subfigure {
	border-color: #909090;
	border-width: 0px;
	padding:5px;
	border-style: solid;
	margin:15px;
	margin-top:0px;
	border-style:inset;
	text-align:center;
	float:none;
	font-size:100%;
}

figure .subfigure_gif {
	border-color: #909090;
	border-width: 0px;
	padding:5px;
	border-style: solid;
	margin:15px;
	margin-top:0px;
	border-style:inset;
	text-align:center;
	float:none;
	font-size:100%;
	display:inline;
}

figcaption{
	font-size:85%;
	color:#909090;
}

.rightfigure {
	margin-left: -300px;
	position: relative;
	left:350px;
	height:100%;
	width:300px;
	display:block;
	float:right;
}


#nav {
	float: right;
	font-size:90%;
	background-color: #f2f0de;
	margin-right:70px;
	margin-top:50px;
	margin-bottom:10px;
	padding-left:10px;
	padding-right:10px;
	padding-top:.25em;
	width:280px;
	font-size:9pt;
	position: relative;
	left: 370px;
	margin-left:-330px;
}

#nav ol {
	padding: 0px 20px 0 20px;
}

#nav a:link {
	color: #568B56;
}
#nav a:visited {
	color: #568B56;
}
#nav a:hover {
	color: #8888AA;
}


.show_proof {
	color: #e6550d;
	cursor:pointer;
}

.count:before {
		 counter-increment: mycounter;
		 content: counter(mycounter);
}


.gradetable {
		width:560px;
		margin-left:-10px;
}

.gradetable .numbergrade {
	text-align:right;
}

.gradetable .lettergrade {
	font-weight:bold;
}

.gradetable .divider {

	border-right: solid #000000 1px;

}

/* ~~ THE SCHEDULE ~~ */

.hcounter-start {
  counter-reset: hcounter;
}
.pcounter-start {
  counter-reset: pcounter;
}
.qcounter-start {
  counter-reset: qcounter;
}
.lcounter-start {
  counter-reset: lcounter;
}

.schedule {
	table-layout: auto;
	width:1100px;
	font: 100%/1;
}

.reading {
	width: 120px;
}

.class {
	width:320px;
}


.dvlecture_bold {
	
	font-weight:bold;
	
}

.today {
	background-color: #dddddd;
	color: #000000;
	margin-right: -3px;
}





/* ~~ MEDIA STYLING ~~ */
.media {
	width: 100px;
}
.dvmedia {
	height:100%;
	width:100%;
	vertical-align:middle;
	border-radius: 5px;
	text-align: center;
	font-size: 10pt;
	background-color: #ffffee;
	color: #666644;
}
.amedia {
	display:inline-block;
	height:100%;
	width:100%;
}
.dvmedia a:link, .dvmedia a:visited, .dvmedia a:active {
	background-color: #999977;
	color:#FFFFFF;
	border-radius: 5px;
}
.dvmedia a:hover {
	background-color: #EEEEAA;
	color:#666644;
}



/* ~~ HW PROBLEM STYLING ~~ */
.hwprob {
	width: 80px;
}
.dvhwprob {
	height:100%;
	width:100%;
	vertical-align:middle;
	border-radius: 5px;
	text-align: center;
	font-size: 10pt;
	background-color: #EEFFEE;
	color: #009923;
}
.ahwprob {
	display:inline-block;
	height:100%;
	width:100%;
}
.dvhwprob a:link, .dvhwprob a:visited, .dvhwprob a:active {
	background-color: #33aa33;
	color:#FFFFFF;
	border-radius: 5px;
}
.dvhwprob a:hover {
	background-color: #CCEECC;
	color: #009923;
}



/* ~~ HW SOLUTIONS STYLING ~~ */
.hwsoln {
	width: 80px;
}
.dvhwsoln {
	height:100%;
	width:100%;
	vertical-align:middle;
	border-radius: 5px;
	text-align: center;
	font-size: 10pt;
	background-color: #EEFFEE;
	color: #009923;
}
.ahwsoln {
	display:inline-block;
	height:100%;
	width:100%;
}
.dvhwsoln a:link, .dvhwsoln a:visited, .dvhwsoln a:active {
	background-color: #33aa33;
	color:#FFFFFF;
	border-radius: 5px;
}
.dvhwsoln a:hover {
	background-color: #CCEECC;
	color: #009923;
}





/* ~~ IN-CLASS EXAM PROBLEMS STYLING ~~ */
.icexamprob {
	width: 80px;
}
.dvicexamprob {
	height:100%;
	width:100%;
	vertical-align:middle;
	border-radius: 5px;
	text-align: center;
	font-size: 10pt;
	background-color: #FFEEBB;
	color: #e6550d;
}
.aicexamprob {
	display:inline-block;
	height:100%;
	width:100%;
}
.dvicexamprob a:link, .dvicexamprob a:visited, .dvicexamprob a:active {
	background-color: #e6550d;
	color:#FFFFFF;
	border-radius: 5px;
}
.dvicexamprob a:hover {
	background-color: #EEDDAA;
	color: #e6550d;
}


/* ~~ IN-CLASS EXAM SOLUTIONS STYLING ~~ */
.icexamsoln {
	width: 80px;
}
.dvicexamsoln {
	height:100%;
	width:100%;
	vertical-align:middle;
	border-radius: 5px;
	text-align: center;
	font-size: 10pt;
	background-color: #FFEEBB;
	color: #e6550d;
}
.aicexamsoln {
	display:inline-block;
	height:100%;
	width:100%;
}
.dvicexamsoln a:link, .dvicexamsoln a:visited, .dvicexamsoln a:active {
	background-color: #e6550d;
	color:#FFFFFF;
	border-radius: 5px;
}
.dvicexamsoln a:hover {
	background-color: #EEDDAA;
	color: #e6550d;
}




/* ~~ EXAM PROBLEMS STYLING ~~ */
.examprob {
	width: 80px;
}
.dvexamprob {
	height:100%;
	width:100%;
	vertical-align:middle;
	border-radius: 5px;
	text-align: center;
	font-size: 10pt;
	background-color: #FFEEBB;
	color: #e6550d;
}
.aexamprob {
	display:inline-block;
	height:100%;
	width:100%;
}
.dvexamprob a:link, .dvexamprob a:visited, .dvexamprob a:active {
	background-color: #e6550d;
	color:#FFFFFF;
	border-radius: 5px;
}
.dvexamprob a:hover {
	background-color: #EEDDAA;
	color: #e6550d;
}


/* ~~ EXAM SOLUTIONS STYLING ~~ */
.examsoln {
	width: 80px;
}
.dvexamsoln {
	height:100%;
	width:100%;
	vertical-align:middle;
	border-radius: 5px;
	text-align: center;
	font-size: 10pt;
	background-color: #FFEEBB;
	color: #e6550d;
}
.aexamsoln {
	display:inline-block;
	height:100%;
	width:100%;
}
.dvexamsoln a:link, .dvexamsoln a:visited, .dvexamsoln a:active {
	background-color: #e6550d;
	color:#FFFFFF;
	border-radius: 5px;
}
.dvexamsoln a:hover {
	background-color: #EEDDAA;
	color: #e6550d;
}













/* ~~ EXAM CODE STYLING ~~ */
.examcode {
	width: 80px;
}
.dvexamcode {
	height:100%;
	width:100%;
	vertical-align:middle;
	border-radius: 5px;
	text-align: center;
	font-size: 10pt;
	background-color: #FFEEBB;
	color: #e6550d;
}
.aexamcode {
	display:inline-block;
	height:100%;
	width:100%;
}
.dvexamcode a:link, .dvexamcode a:visited, .dvexamcode a:active {
	background-color: #e6550d;
	color:#FFFFFF;
	border-radius: 5px;
}
.dvexamcode a:hover {
	background-color: #EEDDAA;
	color: #e6550d;
}





/* ~~ CODING PROBLEM STYLING ~~ */
.codeprob {
	width: 80px;
}
.dvcodeprob {
	height:100%;
	width:100%;
	vertical-align:middle;
	border-radius: 5px;
	text-align: center;
	font-size: 10pt;
	background-color: #EEFFEE;
	color: #009923;
}
.acodeprob {
	display:inline-block;
	height:100%;
	width:100%;
}
.dvcodeprob a:link, .dvcodeprob a:visited, .dvcodeprob a:active {
	background-color: #33aa33;
	color:#FFFFFF;
	margin-left:1px;
	margin-right:1px;
	border-radius: 5px;
}
.dvcodeprob a:hover {
	background-color: #CCEECC;
	color: #009923;
}


/* ~~ CODING SOLUTION STYLING ~~ */
.codesoln {
	width: 80px;
}
.dvcodesoln {
	height:100%;
	width:100%;
	vertical-align:middle;
	border-radius: 5px;
	text-align: center;
	font-size: 10pt;
	background-color: #EEFFEE;
	color: #009923;
}
.acodesoln {
	display:inline-block;
	height:100%;
	width:100%;
}
.dvcodesoln a:link, .dvcodesoln a:visited, .dvcodesoln a:active {
	background-color: #33aa33;
	color:#FFFFFF;
	margin-left:1px;
	margin-right:1px;
	border-radius: 5px;
}
.dvcodesoln a:hover {
	background-color: #EEDDAA;
	color: #009923;
}


/* ~~ PRACTICE PROBLEM STYLING ~~ */
.pracprob {
	width: 80px;
}
.dvpracprob {
	height:100%;
	width:100%;
	vertical-align:middle;
	border-radius: 5px;
	text-align: center;
	font-size: 10pt;
	background-color: #F5F5FF;
	color: #2244BB;
}
.apracprob {
	display:inline-block;
	height:100%;
	width:100%;
}
.dvpracprob a:link, .dvpracprob a:visited, .dvpracprob a:active {
	background-color: #002399;
	color:#FFFFFF;
	margin-left:1px;
	margin-right:1px;
	border-radius: 5px;
}
.dvpracprob a:hover {
	background-color: #F5F5FF;
	color: #2245BB;
}


/* ~~ CODING SOLUTION STYLING ~~ */
.pracsoln {
	width: 80px;
}
.dvpracsoln {
	height:100%;
	width:100%;
	vertical-align:middle;
	border-radius: 5px;
	text-align: center;
	font-size: 10pt;
	background-color: #F3F3FF;
	color: #2244BB;
}
.apracsoln {
	display:inline-block;
	height:100%;
	width:100%;
}
.dvpracsoln a:link, .dvpracsoln a:visited, .dvpracsoln a:active {
	background-color: #002399;
	color:#FFFFFF;
	margin-left:1px;
	margin-right:1px;
	border-radius: 5px;
}
.dvpracsoln a:hover {
	background-color: #E2E2EE;
	color: #002399;
}




.llink {
  height:100%;
  width:100%;
  display:inline-block;
  vertical-align:middle;
  border-radius: 5px;
  text-align: center;
}

.llink a {
	 display:inline-block;
	 height:100%;
	 width:100%;
}


/* ~~ LAB STYLING ~~ */
.lab .problems:before {
	 counter-increment: lcounter;
	 content:"code " counter(lcounter) " ";
}

.lab .dvcodesoln .solutions:before {
		 content:"soln. ";
}


.lab  {
	vertical-align:top;
	border-radius: 5px;
	width: 80px;
}

.lab .dvcodesoln a:link, .dvcodesoln .dvcodesoln a:visited, .dvcodesoln .dvcodesoln a:active {
		 background-color: #ff4500;
		 color:#FFFFFF;
		 margin-left:1px;
		 margin-right:1px;
		 border-radius: 5px;
}

.lab a:hover, .lab .dvcodesoln a:hover {
	     background-color: #ffBC99;
		 color: #992300;
}

.lab .dvcodesoln a[href^="#"]:link, .lab .dvcodesoln a[href^="#"]:visited, .lab .dvcodesoln a[href^="#"]:active, .lab .dvcodesoln a[href^="#"]:hover {
		 background-color: #ffEEDD;
		 color: #992300;
		 cursor: default;
		 pointer-events: none;
}



/* ~~ PRACTICE STYLING ~~ */

.practice .problems:before {
		 counter-increment: pcounter;
		 content: "ex. " counter(pcounter) " ";
}

.practice .solutions:before {
		 content:"soln. ";
}

.practice .slink a:link, .practice .slink a:visited, .practice .slink a:active {
		 background-color: #99AABB;
		 color: #FFFFFF;
		 border-radius: 5px;
}

.practice .slink a:hover {
		 background-color: #DDDDFF;
		 color:#444466;
}
.practice .slink a[href^="#"]:link, .practice .slink a[href^="#"]:visited, .practice .slink a[href^="#"]:active, .practice .slink a[href^="#"]:hover {
		 background-color: #F3F3FF;
		 color: #444466;
		 cursor:default;
		 pointer-events: none;
}
.practice {
	width: 70px;
}



/* ~~ QUIZ STYLING ~~ */

.quiz .slink .problems:before {
		 counter-increment: qcounter;
		 content:"quiz " counter(qcounter) " ";
}

.quiz .slink .solutions:before {
		 content:"soln. ";
}

.quiz .slink a:link, .quiz .slink a:visited, .quiz .slink a:active {
		 background-color: #CC4444;
		 color: #FFFFFF;
		 border-radius: 5px;
}

.quiz .slink a:hover {
		 background-color: #EECCCC;
		 color:#664444;
}
.quiz .slink a[href^="#"]:link, .quiz .slink a[href^="#"]:visited, .quiz .slink a[href^="#"]:active, .quiz .slink a[href^="#"]:hover {
		 background-color: #fffaca;
		 color: #664444;
		 cursor:default;
		 pointer-events: none;
}

/* ~~ CLASS NOTES STYLING ~~ */

.class a:link, .class a:visited, .class a:active {

}

.class a:hover {

}
.class a[href^="#"]:link, .class a[href^="#"]:visited, .class a[href^="#"]:active, .class a[href^="#"]:hover {
		 color: #000000;
		 cursor:default;
		 pointer-events: none;
}


/* ~~ CLASS NOTES STYLING ~~ */

.grade {
		text-align:center;
}

table.schedule > tbody > tr:nth-child(3n+1) > td {
	padding-bottom:0.75em;
}

@media print
{
    .no-print, .no-print *
    {
        display: none !important;
    }

		.sidebar1 {
				display: none !important;
		}

		.content {
			padding: 10px 0;
			max-width:100%;
			height: 100%;
			margin-left: 200pt;
			min-height: 600pt;
			margin-right: 0;
		}

		body {
			font-family: "Times New Roman", Georgia, Serif;
			font-size: 15pt;
			background: #FFFFFF;
			margin: 0;
			padding: 0;
			color: #000000;
			height: 100%;
			position:relative;
		}

}
