/* TEMPLATE */
/*--------  BASE  --------*/

body {
  font-family: "Calibri", sans-serif;
  font-size: 14pt;
  max-width: 976px;
  margin-left: auto;
  margin-right: auto;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  padding: 0px 24px;
  padding-left
}

body.past_semester {
  background-color: #eeeeee;
}

/* Workaround for Chrome/Android text scaling issue *
 * http://stackoverflow.com/a/16432702/500022       */
html * { max-height: 1000000px; }

div.right_nav {
	float: right;
	background-color: #eeeeee;
	border: 1px solid #999999;
	min-width: 250px;
	min-height: 300px;
	margin-left: 18px;
}
div.announcement {
	background-color: #eeeeff;
	border: 1px solid #9999ff;
	padding: 1em;
	margin: 1em 3em 1em 3em;
}
ul.spaced > li,
ol.spaced > li,
div.p {
	margin-top: 8px;
	margin-bottom: 8px;
}
ul.spaced > li:first-child,
ol.spaced > li:first-child,
div.p:first-child {
	margin-top: 0px;
}
ul.spaced > li:last-child,
ol.spaced > li:last-child,
div.p:last-child {
	margin-bottom: 0px;
}
ul.compact {
	margin-block-start: 0;
	margin-block-end: 0;
	padding-inline-start: 20px;
}


/*--------  TABLE STYLES  --------*/
table.invisible,
table.invisible > thead > tr > *,
table.invisible > tbody > tr > *,
table.invisible > tr > * {
	border-style: none;
	border-width: 0px;
	border-collapse: collapse;
}
table.invisible.padded > * > * > * {
	padding-right:  0.75em;
	padding-bottom: 0.75em;
}
table.invisible.padded > * > * > *:last-child {
	padding-right: 0px;
}
table.invisible.padded > * > *:last-child > * {
	padding-bottom: 0px;
}

table.light,
table.light > thead > tr > *,
table.light > tbody > tr > *,
table.light > tr > * {
	border-style: solid;
	border-width: 1px;
	border-color: #dddddd;
	border-collapse: collapse;
	padding-left:   4px;
	padding-right:  4px;
	padding-top:    2px;
	padding-bottom: 2px;
}

table.light.allowed_includes_functions_symbols,
table.light.allowed_includes_functions_symbols > thead > tr > *,
table.light.allowed_includes_functions_symbols > tbody > tr > *,
table.light.allowed_includes_functions_symbols > tr > * {
	border-width: 1.5px;
	border-color: #888888;
}

table.aligned_list_as_table td {
	padding-right: 8px;
}
table.aligned_list_as_table td:last-child {
	padding-right: 0px;
}

/*--------  SCORES (264-15au)  --------*/
table.scores > tbody > tr > td {
	padding-top: 0px;
}
table.scores > tbody > tr > td > pre.feedback {
	margin-top: 0px;
}
table.scores > tbody > tr > td.asg_nickname,
table.scores > tbody > tr > td.total_points {
	font-weight: bold;
}


/*--------  HOMEWORK (264-15au)  --------*/
p.attribution { /* aka attribution, Credit: */
  font-size: 80%;
  color: #888888;
}
.warning {
	background-color: #ffdddd;
	border: solid 2px black;
	padding: 8px;
}
aside > *:first-child,
.aside > *:first-child,
.warning > *:first-child,
.sidenote > *:first-child {
	margin-top: 0px;
	padding-top: 0px;
}
aside > *:last-child,
.aside > *:last-child,
.warning > *:last-child,
.sidenote > *:last-child {
	margin-bottom: 0px;
	padding-bottom: 0px;
}
aside.compact {
	padding: 2px 4px;
}
.red {
	color: red;
}
.bold {
	font-weight: bold;
}

.gray,
.attribution,
.attribution a:link,
.attribution a:hover,
.attribution a:visited,
.same_as_before,
.unimportant {
	color: gray;
}
.highlight {
	background-color: #ddffdd;
}
.same_as_before .changed,
.same_as_before .highlight {
	color: black;
}
.a_bit_smaller {
  font-size: 90%;
}
.attribution,
.smaller {
	font-size: 80%;
}
.small {
	font-size: 65%;
}
.tiny {
	font-size: 50%;
}
.a_bit_bigger {
  font-size: 110%;
}
.bigger {
	font-size: 120%;
}
.big {
	font-size: 150%;
}
.huge {
	font-size: 250%;
}
.circled {
	border-radius: 50%;
	border: 1px solid #ffaf0a;
	background-color: #ffcd28;
	padding-left: 8px;
	padding-right: 8px;
	display: inline-block;
	font-weight: bold;
}
div.required_item > code {
	white-space: normal;
}
table.required_files {
	/* width: 800px !important; */
	width: 95%;
}
table.required_files > tbody > tr > td > :last-child {
	margin-bottom: 0px;
}
table.required_files ol ol,
table.required_files ul ul,
table.required_files ol,
table.required_files ul {
  margin-top: 0px;
  margin-bottom: 0px;
  padding-left: 20px;
  list-style-type: disc;
  font-size: 12pt;
  color: #444444;
}
table.required_files ul ul,
table.required_files ol ul {
  list-style-type: circle;
}

/*--------  ECE 264 HW: SPECIAL TABLES  --------*/
.allowed_includes_functions_symbols > * > tr > td {
	padding: 2px;
	line-height: 1.3;
	vertical-align: middle;
}
.allowed_includes_functions_symbols > tbody > tr > td:first-child {
  font-family:'Lucida Console','Courier New',monospace;
}
.allowed_includes_functions_symbols > thead > tr > th {
	font-weight: normal;
	font-style: italic;
	font-size: 90%;
}

/* printf format codes for 264-15au hw02 strings.html */
table#format_codes,
table#format_codes td {
	border: 1px solid #bbbbbb;
	border-collapse: collapse;
	padding: 4px;
}

/* how-to table used for commands in hw02 / strings.html (264-15au) */
table.howto_table_with_cmd_and_explanation > tbody > tr > td + td {
  font-style: italic;
  color: #444444;
  padding-left: 3em;
}


/*--------  ECE 264 HW: Q&A  --------*/
/* Q & A list, e.g., hw02 (264-15au) */
ol.q_a > li,
ol#q_a > li {
  margin-bottom: 18px;
}
ol.q_a > li,
ol#q_a > li:last-child {
  margin-bottom: inherit;
}
ol.q_a > li > p:first-of-type {
  margin-top: 0px;
}


/*--------  ECE 264 HW: BLOCKQUOTES and BORDERED BOXES  --------*/
/* supplemental info boxes 264-15au hw02 strings.html but general */
div.supplemental > * {
  margin-top: 0px;
}
div.supplemental > *:last-child {
  margin-bottom: 0px;
}
div.supplemental {
  margin:  12px;
  padding: 12px;
  border:   1px solid #888888;
  background-color: #dddddd;
}
aside,
.aside,
blockquote.sidenote { /* used in gdb.html and setup.html */
	background-color: #eeeeee;
	border-color: #999999;
	border-style: solid;
	border-width: 1px;
	padding: 20px;
	margin-right: 20px;
	margin-top: 20px;
	margin-top: 20px;
}
aside.tiny,
.aside.tiny,
blockquote.sidenote.tiny { /* used in setup.html */
	color: #333333;
	font-size: 70%;
	padding: 0.5em;
	margin-right: 0.5em;
	margin-top: 0.5em;
	margin-top: 0.5em;
}

/*--------  CODE and OUTPUT  --------*/
/* blocks of output and/or code, e.g., malloc.html 264-15au */
tt,
.tt,
samp,
.samp,
var,
.to_type,
.output_block,
code,
.code,
code.literal,
.code_block,
.code_block.to_type {
  font-family: 'Lucida Console', 'Inconsolata','Consolas',monospace;
  /* font-family: 'Inconsolata','Consolas','Lucida Console',monospace; */
  /* font-family:'Lucida Console','Courier New',monospace; */
  font-size: 90%;
  font-style: normal;
}

/* All of the above except tt and .tt also get white-space: pre-wrap. */
samp,
.samp,
var,
.to_type,
.output_block,
code,
.code,
code.literal,
.code_block,
.code_block.to_type {
  white-space: pre-wrap;
}

.placeholder,
span.placeholder,
span.your_user_name {
  display: inline-block;
  border: 1px solid #bbbb77;
  font-size: 60%;
  margin: 0px 2px 3px 2px;
  padding: 1px;
  vertical-align: middle;
  border-radius: 4px;
  background-color: #ddddaa;
  font-style: italic;
}

span.your_user_name {
	margin-right: 0px;
}
.pre,
.vim_hint,  /* used in vim/description/vim.html (as of 8/1/2016) */
.to_type {
  white-space: pre;
}
.vim_hint,  /* used in vim/description/vim.html (as of 8/1/2016) */
.to_type {
  background-color: #ffffcc;
  border: 1px solid #dddd99;
}
.prewrap {
	white-space: pre-wrap;
}
samp.char80,
code.vim_hint {           /* used in vim/description/vim.html (as of 8/1/2016) */
  color: #993399;
  font-weight: bold;
}
aside, .aside, blockquote.sidenote, div.sample_output_label, pre.output_block, pre.code_block {
  margin-left: 20px;
}
.output_block, .code_block {
  margin-top: 1em;
  margin-bottom: 1em;
}
.tight_top_bottom,  /* .tight_top_bottom is probably not used */
.tight_inline_box,
.unimportant .code_block,
.unimportant .output_block,
.unimportant pre.output_block,
.unimportant pre.code_block {
  margin-top: 0em;
  margin-bottom: 0em;
}
.tight_inline_box,
pre.tight_box {
  display: inline-block;
}
.tight_inline_box,
.tight_box {
  border: 1px solid gray;
  padding: 0px;
}
.sample_output_label + pre.output_block, .sample_output_label + pre.code_block {
  margin-top: 5px;
}
div.sample_output_label {
  font-size: 80%;
  color: #444444;
}
.bash_prompt,
span.comment { /* used after bash commands in hw03 malloc.html 264-15au */
  color: #666666;
  font-size: 90%;
}


/*--------  OTHER  --------*/
p.feedback {
  white-space: pre-wrap;
  font-family: 'Lucida Console', 'Inconsolata','Consolas',monospace;
  /* font-family: 'Inconsolata','Consolas','Lucida Console',monospace; */
  /* font-family:'Lucida Console','Courier New',monospace; */
  font-size: 90%;
}

div.warmup0_tile { /* 695 15sp */
	text-align: center;
}
div.warmup0_tile > iframe { /* 695 15sp */
	border: 0px;
}
dd + dt {
	margin-top: 12px;
	font-style: italic;
}
dt {
	font-style: italic;
}
dl.howto > dt {
	font-style:  normal;
	font-weight: bold;
}
table#project_milestones td,
table#project_milestones {
	border: 1px solid lightgray;
	border-collapse: collapse;
	padding: 2px 4px;
}
table#project_milestones td.title,
table#project_milestones td.date {
	white-space: nowrap;
}
div.draft { /* for content in progress */
	border-left:   4px red solid;
	border-right:   4px red solid;
	padding-left:  8px;
	margin-left: -12px;
}
.columns6 { /* apparently not used in either 264-15au or 695-15sp */
	columns:6;
	-webkit-columns:6;
	-moz-columns:6;
}
.columns4 { /* apparently not used in either 264-15au or 695-15sp */
	columns:4;
	-webkit-columns:4;
	-moz-columns:4;
}
.columns2 { /* 695 15sp companies.html */
	columns:2;
	-webkit-columns:2;
	-moz-columns:2;
}
span.invisible { /* for spacers */
	visibility: hidden;
}


/*--------  SANE SPACING AND ALIGNMENT  --------*/
td {
  vertical-align: top;
}
p:first-child,
h2 + p {
  margin-top: 0px;
}
h2 {
  margin-bottom: 0px;
}
p.note {
  font-style: italic;
  text-align: center;
}


/*--------  HEADINGS  --------*/
h4 {
	font-size: 14pt;
	margin-bottom: 4px;
}
h4 + p {
	margin-top: 1px;
}
h2 {
  /* font-size: 1.5em; */
  font-size: 24pt;
}
h1.page_title {
  font-size: 2em;
}
h1.masthead {
  margin-bottom: 0px;
  font-size: 3em;
  margin-top: 0.75rem;
}
h1.masthead > a:visited,
h1.masthead > a:hover,
h1.masthead > a:link {
  text-decoration: none;
  color: black;
}
h3 {
	/* font-size: 1.25em; */
	font-size: 17pt;
	margin-bottom: 5px;
}
h1 + ol,
h1 + ul,
h2 + ol,
h2 + ul,
h3 + ol,
h3 + ul,
h3 + p {
	margin-top: 0px;
}
h3.masthead { /* general, page.html */
  margin-top: 0px;
  font-size: 1em;
  font-weight: normal;
  font-style: italic;
}
.masthead { /* general, page.html */
  text-align: center;
}
.strikeout {
  text-decoration: line-through;
}
.del,
del {
  text-decoration: line-through;
  color: #888888;
}
@media print {
	.del,
	del {
	  display: none;
	}
}
@media screen {
	.update {
		color: green;
	}
	.ins,
	.ins *,
	ins {
	  text-decoration: none;
	  color: darkgreen;
	}
}
.comment_compact {
  font-family: sans-serif;
  color: #444444;
  font-style: italic;
  font-size: 90%;
}
.update_header { /* general, homework.html temp.html */
  font-style: italic;
}
div.update_header {
  text-align: right;
}
/*--------  LINKS  --------*/
a, a:link, a:visited {
  color: rgb(0, 0, 238);
}
a:hover {
  text-decoration: underline;
}
a.hidden_link:link, a.hidden_link:visited {
  color: black;
}

@media screen {
	a, a:link, a:visited {
	  text-decoration: none;
	}
	a.unobtrusive,
	a.unobtrusive:link,
	a.unobtrusive:visited {
		text-decoration: none;
	}
}
a.unobtrusive,
a.unobtrusive:link,
a.unobtrusive:visited,
a.unobtrusive:hover {
	color: lightgray;
}
/*
a.unobtrusive:hover {
	text-decoration: underline;
}
*/

div.youtube_link {
	padding: 0px;
	border:  1px solid lightgray;
	display: inline-block;
	width:   320px;
	min-height: 231px;
}
div.youtube_link_caption {
	text-align: center;
}


/*--------  NAVBAR  --------*/
#navbar > ul {
  margin-left: auto;
  margin-right: auto;
}

#navbar {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1em;
}
#navbar td {
  border: solid lightgray 1px;
  min-width: 6em;
  text-align: center;
  vertical-align: middle;
}
#navbar > ul {
  list-style-type: none;
  padding: 0px;
}
#navbar > ul > li {
  display: inline;
}

/*--------  TOPIC TABLE  --------*/
/* topic_table is general and used in 695-15sp 264-15au resources.html policies.html */
table.topic_table {
  border-spacing: 0px 24px;
  margin-top: -24px;
  margin-bottom: -24px;
}
table.topic_table > tbody > tr > td {
  padding-top: 0px;
  padding-right: 12px;
  padding-left: 12px;
  padding-bottom: 0px;
  min-width: 130px;
}
table.topic_table > tbody > tr > td:first-child {
  padding-left: 0px;
  font-weight: bold;
}
table.topic_table > tbody > tr > td > p {
  margin-top: 0px;
  margin-bottom: 4px;
}
table.topic_table > tbody > tr > td:first-child {
  border-right: 1px solid black;
}
table.topic_table > tbody > tr > td + td > p {
  margin-top: 12px;
}
table.topic_table > tbody > tr > td + td > p:first-child {
  margin-top: 0px;
}


/*--------  SCHEDULE  --------*/
table#schedule {
  border-collapse: collapse;
}
table#schedule,
table#schedule > tbody > tr > td {
  border: 1px solid #aaaaaa;
  padding: 1px 2px;
  vertical-align: top;
}
td#spring_break {
  text-align: center;
}
table#schedule_table td {
  border: 1px solid #dddddd;
}
table#schedule_table span.topic {
	font-weight: bold;
}
table#schedule_table {
  border-collapse: collapse;
  width: 95%;
  margin-left: auto;
  margin-right: auto;
}
table#schedule_table td.lesson,
table#schedule_table td.assignments {
  width: 42%;
}
.important_notice {
	text-align:center;
	font-style:italic;
	margin:24px 0px;
	border: 1px solid gray;
}
.discuss_link { /* 695-15sp but not 264-15au */
	font-size: 80%;
	font-style: italic;
}
.pdf_link:link, /* pdf_link is used in 695-15sp not 264-15au */
.pdf_link:hover,
.pdf_link:visited {
	text-decoration: none;
	color: inherit;
	font-style: italic;
}
.reading_links, /* reading_links is used in 695-15sp not 264-15au */
table.reading > tbody > tr > td.reading_links {
	min-width: 40px;
	padding-top: 3px;
	white-space: nowrap;
}
div.reading > div.reading_links, /* used in both 695-15sp 264-15au */
div.reading > div.reading_title,
.reading img,
.reading a,
table.reading,
table.reading > tbody > tr > td.reading_links > a > img,
table.reading > tbody > tr > td.reading_links > a,
table.reading > tbody > tr > td.reading_links {
	border-collapse: collapse;
	margin: 0px;
	padding: 0px;
	border-width: 0px;
	text-decoration: none;
}
div.reading > div.reading_links {
	float:left;
	width: 48px;
	padding-top: 2px;
	text-align: left;
}
td.lesson .note,
div.reading.textbook,
div.reading_note {
	font-size: 80%;
	color: #444444;
	font-style: italic;
}


/*--------  POLICIES  --------*/
table + div.table_preamble {
  margin-top: 16px;
}
table.grades td + td {
  text-align: right;
  padding-left: 16px;
}
div.table_preamble + table {
  border-spacing: 16px 4px;
}


/*--------  WARMUPS --------*/
h2.warmup {
  margin-top: 0px;
  float: left;
  margin-bottom: 4px;
}
div.warmup_container + *,
h2.warmup + div.warmup_deadline + * {
  clear: both;
}
div.warmup_deadline {
  text-align: right;
}
div.warmup_container p {
  margin-left: 0px;
  margin-right: auto;
  margin-top: 0px;
  margin-bottom: 12px;
  text-align: left;
}
div.warmup_container {
  margin-top: 24px;
}


/*--------  HOME  --------*/
/* #instructor_details_td { */
/* 	line-height: 28px; */
/* } */
table.instructor_table > tbody > tr > td:first-child {
	text-align: center;
}
img.instructor_photo_img {
	height: 84px;
}


/*--------  FOOTER  --------*/
#footer {
  color:gray;
  font-size: 0.75em;
  margin-top: 2rem;
  clear: both;
}


/*--------  MOBILE  --------*/
@media screen and (min-resolution: 3.0dppx ) {
  body {
    font-size: 24px;
  }
  #navbar td {
    display: inline-block;
	margin-top: 8px;
	margin-bottom: 8px;
	margin-left: 4px;
	margin-right: 4px;
  }
  h2.warmup {
    float: none;
  }
  h2.warmup + div.warmup_deadline {
    float: none;
    font-style: italic;
  }
  h2.warmup + div.warmup_deadline + * {
    clear: none;
  }
}

@media screen and (max-device-width: 7in ) {
  body {
    margin-left: 8px;
    margin-right: 8px;
    padding-left: 0px;
    padding-right: 0px;
    border: 0px;
  }
  h1.page_title {
    font-size: 1.5em;
	margin-bottom: 0.5em;
  }
  h2 {
    font-size: 1.2em;
  }
  h1.masthead {
  	margin-top: 0px;
    font-size: 2em;
  }
  h3.masthead {
    font-size: 1em;
	margin-bottom: 0.5rem;
  }
  .not_mobile {
  	display: none;
  }
}

body.screenshot #navbar,
body.screenshot #footer,
body.screenshot .masthead {
	display: none !important;
}

div#contents_container {
	float: right;
	border: 1px solid gray;
	padding: 0.5em;
	max-width: 25%;
}
div#contents_container > h3 {
	margin-top: 0;
	font-size: inherit;
}
div#contents_container > .contents_first,
div#contents_container > .contents_h1,
div#contents_container > .contents_h2 {
	margin-left: 0;
}
div#contents_container > .contents_h3 {
	margin-left: 0.5em;
}
div#contents_container > .contents_h4 {
	margin-left: 1.0em;
}


.draft {
	background-color: tan;
	font-family: 'Comic Sans';
}
:target {
	background-color: #ffffdd;
}
.centered {
	text-align:center;
}

@media print {
	.hide_when_printing {
		display: none;
	}
	.del,
	del {
	  display: none;
	}
}