:root {
     --main-color: #6abd6e;
}
.meme {
  max-width: 680px;
  display: none;
}
main[aria-label="Content"] { max-width: 64rem; margin: 1rem auto; }
pre { border: thin solid #eeeeee; margin: .25rem 0; padding: .25rem .5rem; }

code { color: initial; white-space: nowrap; }

/* Style command entry into various tools. */
pre[is="tty"] {
    background: #eee;
}
pre[is="tty"] > kbd {
    font-weight: bold;
    font-size: 100%; padding: 0;
    background: none; border: none; color: black;
}
pre[is="tty"] > kbd:before { font-weight: normal; color: var(--gray); }
pre[is="tty"] > kbd[data-prompt]:before { content: attr(data-prompt) ' '; }
pre[is="tty"] > kbd[is="sh"]:before    { content: '$ '; }
pre[is="tty"] > kbd[is="gdb"]:before   { content: '(gdb) '; }
/* COMP1521 says hi! */
pre[is="tty"] > kbd[is="spim"]:before  { content: '(spim) '; }
/* COMP3311 and COMP9315 say hi! */
pre[is="tty"] > kbd[is="psql"]:before  { content: attr(db) '=# '; }
pre[is="tty"] > kbd[is="psql,"]:before { content: attr(db) '-# '; }

/* Fix indentation. */
pre      { tab-size: 4; -moz-tab-size: 4; }
pre.mips { tab-size: 8; -moz-tab-size: 8; }

/* Tutorial questions. */
body > ol > li { margin-top: 1rem; }
li > code:nth-child(1) { margin-left: 1ex; }

p { margin-bottom: 0.5rem; }
* + p { margin-top: 0.5rem; }

/* indicate ctrl-d typed */
.eof:before {
	content: 'Ctrl-D';
	font-weight:lighter;
	font-style: italic;
	font-family:"Courier New", Courier, monospace;
	border:thin solid;
	border-radius:5px;
	padding:1px 4px;
}

.eof:after {
	position:relative;
    content:"Ctrl and D keys pressed";
    border: 2px solid black;
    background-color: yellow;
    opacity:0;
    height:5em;
    width: 10px;
    top: 1em;
	border-radius:5px;
    transition: opacity 0.5s;
}

.eof:hover::after {
    opacity: 1;
}

/*
 * Lay out tutorial answers.
 */
.answer {
    border: thin solid var(--blue);
    padding: 1rem;
    padding-bottom: 0;
    margin-bottom: 1rem;
}

.answer > h4 {
    background-color: #eef;
    border-top-left-radius: .25rem;
    border-top-right-radius: .25rem;
    border-bottom: 1px solid var(--blue);
    display: block;
    padding: 0.5rem 1rem;
    margin: -1rem -1rem 0;
    font-size: 1rem;
    font-weight: bold;
}

.hidden { display: none; }

/*
 * Hints and asides.
 */
aside {
    border: .01rem solid var(--light); /* .border */
    border-left-width: .25rem;
    border-radius: .25rem; /* .rounded */
    margin: 1.5rem; /* .m-4 */
    padding: .5rem; /* .p-2 */
}

aside > p:first-child:before {
    text-transform: uppercase;
    font-weight: bold;
    font-size: 90%;
}

aside.tip                 { border-color: var(--green); }
aside.tip > p:first-child:before { color: var(--green); content: "tip: " }

aside.note                 { border-color: var(--cyan); }
aside.note > p:first-child:before { color: var(--cyan); content: "note: " }

aside.warning                 { border-color: var(--orange); }
aside.warning > p:first-child:before { color: var(--orange); content: "warning: " }

aside.danger                 { border-color: var(--red); }
aside.danger > p:first-child:before { color: var(--red); content: "danger: " }

aside.challenge                 { border-color: var(--red) }

body > nav.navbar { background-color: var(--main-color) }

/*
 * Sectioning for the home page.
 * Replaces ad-hoc .thick_hr with a bordered section.
 */
section.homepage-section {
    /* inherits .thick_hr */
    margin-top: .5rem;
    border-top: .25rem solid var(--main-color);
    padding-top: .5rem;
}

/*
 * Tidy up the login form.
 */
.login-form {
	margin: 1rem auto;
}

.login-form .form-group {
	margin-top: 0; margin-bottom: 0;
}

.login-form button {
	margin-top: 1rem;
}

.login-form div.form-group input[type="text"] {
	border-radius: .3rem .3rem 0 0;
}

.login-form div.form-group input[type="password"] {
	border-radius: 0 0 .3rem .3rem;
}

/*
 * Exercise layout on the lab page.
 */
.exercise {
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #eee;
}

.exercise > header {
	padding: .75rem 1.25rem;
	margin-bottom: 1rem;
	border: 1px solid;
	border-radius: .25rem;
	border-left-width: .5rem; /* left-tab effect */
}
.exercise > header > h3 { margin: 0; }
.exercise.with-pair > header { border-color: var(--green); }
.exercise.with-self > header { border-color: var(--red); }
.exercise.with-test > header { border-color: var(--blue); }

/*
 * Adjust the layout of highlighted program blocks.
 */
.highlight {
	border: 1px solid #f0f0f0;
	border-radius: 0.25rem;
	margin: .25rem 0;
	padding: .25rem .5rem;
}
.highlight > pre {
	border: 0;
	margin: 0;
	padding: 0;
}

/*
 * Code highlighting styles, from Pygments:
 */
.highlight .hll { background-color: #ffffcc }
.highlight      { background: #f8f8f8; }
.highlight .c   { color: #408080; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k   { color: #008000; font-weight: bold } /* Keyword */
.highlight .o   { color: #666666 } /* Operator */
.highlight .ch  { color: #408080; font-style: italic } /* Comment.Hashbang */
.highlight .cm  { color: #408080; font-style: italic } /* Comment.Multiline */
.highlight .cp  { color: #BC7A00 } /* Comment.Preproc */
.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.highlight .c1  { color: #408080; font-style: italic } /* Comment.Single */
.highlight .cs  { color: #408080; font-style: italic } /* Comment.Special */
.highlight .gd  { color: #A00000 } /* Generic.Deleted */
.highlight .ge  { font-style: italic } /* Generic.Emph */
.highlight .gr  { color: #FF0000 } /* Generic.Error */
.highlight .gh  { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi  { color: #00A000 } /* Generic.Inserted */
.highlight .go  { color: #888888 } /* Generic.Output */
.highlight .gp  { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs  { font-weight: bold } /* Generic.Strong */
.highlight .gu  { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt  { color: #0044DD } /* Generic.Traceback */
.highlight .kc  { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd  { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn  { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp  { color: #008000 } /* Keyword.Pseudo */
.highlight .kr  { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt  { color: #B00040 } /* Keyword.Type */
.highlight .m   { color: #666666 } /* Literal.Number */
.highlight .s   { color: #BA2121 } /* Literal.String */
.highlight .na  { color: #7D9029 } /* Name.Attribute */
.highlight .nb  { color: #008000 } /* Name.Builtin */
.highlight .nc  { color: #0000FF; font-weight: bold } /* Name.Class */
.highlight .no  { color: #880000 } /* Name.Constant */
.highlight .nd  { color: #AA22FF } /* Name.Decorator */
.highlight .ni  { color: #999999; font-weight: bold } /* Name.Entity */
.highlight .ne  { color: #D2413A; font-weight: bold } /* Name.Exception */
.highlight .nf  { color: #0000FF } /* Name.Function */
.highlight .nl  { color: #A0A000 } /* Name.Label */
.highlight .nn  { color: #0000FF; font-weight: bold } /* Name.Namespace */
.highlight .nt  { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv  { color: #19177C } /* Name.Variable */
.highlight .ow  { color: #AA22FF; font-weight: bold } /* Operator.Word */
.highlight .w   { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb  { color: #666666 } /* Literal.Number.Bin */
.highlight .mf  { color: #666666 } /* Literal.Number.Float */
.highlight .mh  { color: #666666 } /* Literal.Number.Hex */
.highlight .mi  { color: #666666 } /* Literal.Number.Integer */
.highlight .mo  { color: #666666 } /* Literal.Number.Oct */
.highlight .sa  { color: #BA2121 } /* Literal.String.Affix */
.highlight .sb  { color: #BA2121 } /* Literal.String.Backtick */
.highlight .sc  { color: #BA2121 } /* Literal.String.Char */
.highlight .dl  { color: #BA2121 } /* Literal.String.Delimiter */
.highlight .sd  { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.highlight .s2  { color: #BA2121 } /* Literal.String.Double */
.highlight .se  { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.highlight .sh  { color: #BA2121 } /* Literal.String.Heredoc */
.highlight .si  { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx  { color: #008000 } /* Literal.String.Other */
.highlight .sr  { color: #BB6688 } /* Literal.String.Regex */
.highlight .s1  { color: #BA2121 } /* Literal.String.Single */
.highlight .ss  { color: #19177C } /* Literal.String.Symbol */
.highlight .bp  { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .fm  { color: #0000FF } /* Name.Function.Magic */
.highlight .vc  { color: #19177C } /* Name.Variable.Class */
.highlight .vg  { color: #19177C } /* Name.Variable.Global */
.highlight .vi  { color: #19177C } /* Name.Variable.Instance */
.highlight .vm  { color: #19177C } /* Name.Variable.Magic */
.highlight .il  { color: #666666 } /* Literal.Number.Integer.Long */

/**********************************************************************/
@media do-not-use-these-styles {

/* additions for 19T2 assignment 1 */

pre.cspaint-nice {
    line-height: 1.0;
    font-family: monospace;
    font-size: 1.5em;
}

.inverted-color {
   background-color: #2d2d2d;
   color: white;
}

.inverted-color.command_line {
   background-color: #2d2d2d;
   color: white;
   padding: 0.5em;
   margin-right: 0em;
}

.card-body.thinner {
    padding: 0.7rem;
}

span.output {
    margin-top: 0.2em;
    /*margin-left: 0.5em;*/
    display: inline-block;
}


kbd.inverted-color.shell {
    background-color: inherit;
    color: inherit;
    font-family: monospace;
    font-weight: bold;
    display: inline-block;
    margin-bottom: 0.2em;
    line-height: 1.25em;
}

kbd.inverted-color.shell:before {
    content: '$ ';
    background-color: inherit;
    color: inherit;
    /* padding:3px 1px; */
    /* font-weight:lighter; */
    font-family: monospace;
}

th.borderless td.borderless .borderless {
    border-top: 0px;
}

.nav-list > .active {
    color: #ffffff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
    background-color: #0088cc;
}

a.nav-link.visible-tab {
    border-color: #eeeeee #eeeeee #fff;
    border: 0.5px 0.5px 0.5px 0px dotted;
}

a.nav-link.visible-tab.active {
    border-color: #cecece #cecece #fff;
    border: 0.5px 0.5px 0.5px 0.5px solid;
}


/* end of additions for 19T2 assignment 1 */



/* changes to make bootstrap 4 look like bootstrap 3. */
pre {
	padding: 9.5px;
	margin: 0 0 10px;
	line-height: 1.42857143;
	color: #333;
	word-break: break-all;
	word-wrap: break-word;
	background-color: #f5f5f5;
	border: 1px solid #ccc;
	border-radius: 4px;
}

/* lab exercise "cards" */
.card {
	margin-top: 1em;
	margin-bottom: 1em;
}

body {
	font-size: 14px;
}

/* changes end here */

/* changes end here */

body {
	font-family: Verdana, Tahoma, Arial, sans-serif;
	line-height: 1.6;
	/* width: 960px; */
	/* max-width: 800px; */
	/* font-size: .85em; */
	/* margin: 0 auto; */
}

a {
	text-decoration:none;
}

#heading {
	/* padding-top: 30px; */
	margin-top: 1rem;
	margin-bottom: 1rem;
}

.heading_button {
	padding: 10px
}


#heading, .heading_button {
	text-align: center;
        /* x-large no longer fits? */
	font-size:larger;
	font-weight:bold;
}

.heading_link {
	/* position: absolute; */
	font-weight:lighter;
	font-size:small;
	top: 10px;
}

#left_heading_link {
	left: 10px;
}

#right_heading_link {
  	right: 10px;
}

.program_description {
	font-size:110%;
	font-weight:bold;
	font-family:courier;
}


/* separate tut questions */
.tut>ol>li, .separated_list>li  {
	margin-top: 2em;
}


.answer {
/*	border:thin solid #9999CC; */
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: 1em;
	margin-right: 1em;
	padding:16px 8px;
	border-radius:10px;
}


.written.answer {
	margin-top: 0.5em;
	padding:4px 8px;
}

.tutlab h2 {
	text-align:center;
}


/* heading for a lab section */
.lab h3, .section_heading {
	margin: 0;
	padding: 0;
	border-radius:10px;
}

/* show a command-line interaction */
.command_line {
	font-family:"Courier New", Courier, monospace;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	margin-left: 0em;
	margin-right: 1em;
	padding:4px 8px;
	border-radius:10px;
    white-space: pre;
	font-size: 1.5em;
	line-height: 125%;
	border:thin solid #9999CC;
}

.command_line kbd {
	font-size:85%;
	font-family: Verdana, Tahoma, Arial, sans-serif;
	padding: 3px 3px;
	box-shadow: none;
}


/* show a prompt before a shell command */
kbd.shell:before {
	content: '$ ';
	background-color: #F4F4FF;
	/* padding:3px 1px; */
	/* font-weight:lighter; */
	font-family:"Courier New", Courier, monospace;
}

/*
pre.command_line {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	margin-left: 0em;
	margin-right: 1em;
	padding:4px 8px;
	border-radius:10px;
}
*/

kbd {
	color:black;
	background:#E0E0E0;
}


samp {
	font-weight:lighter;
	font-family:"Courier New", Courier, monospace;
}




/* programs */
.program {
	font-size: 1em;
	line-height: 120%;
	font-family: "Lucida Console", Courier, "Courier New",monospace;
}


pre.program {
	border:thin solid #9999CC;
	margin: 1em 0;
	padding:4px 8px;
	border-radius:10px;
}

.cp_embed_wrapper {
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: 0em;
	margin-right: 0em;
}

.answer pre.program {
	margin: 0.5em;
}


.example_link {
	font-weight:bold;
	font-size: 1.2em;
	font-family:"Courier New", Courier, monospace;
	/* margin-left: 2em; */
}


.example_header_comment {
/*	font-weight:bold;
	margin-left: 4em; */
	font-size: 1.2em;
	font-family: Verdana, Tahoma, Arial, sans-serif;}

div.date_changed {
	margin-top: 2em;
	margin-left: -3em;
	text-align:center;
	font-family: monospace;
	font-size:110%;
	font-style: italic;
}

.tutors_only:after {
	content: '(tutors-only)';
	/* padding:3px 1px; */
	font-weight:lighter;
	font-size:50%;

}

.thin_hr {
	height:2px;
	border:none;
}

.thick_hr {
	height:5px;
	border:none;
}

.autotest_results {
	margin-top: 0.5em;
	margin-bottom: 0em;
	margin-left: 0em;
	margin-right: 1em;
	padding:4px 8px;
	border-radius:10px;
	border:thin solid #9999CC;
	font-size:100%;
}

.autotest_results_individual {
	font-size:75%;
}

.autotest_results_emphasis {
	font-weight: bold;
}

.edit_github {
	margin: 1em;
}

.edit_github_link {
	font-weight: bold;
	font-size:75%;
}

.cgi_display {
    width : 100%;
	display: inline-block;
	border-top: 1.5em;
	border-bottom: 1.5em;
}

.cgi_display_title {
    width : 100%;
	float: left;
    text-align : center;
    font-weight : bold;
}

.cgi_output_panel {
	float: left;
    height : 20em;
    width : 50%;
}

.cgi_source_display {
    height: 100%;
    width: 100%;
    font-family: "Lucida Console", Courier, "Courier New",monospace;
    background:#E8E8FF;
}

.cgi_output_display {
    height: 100%;
    width: 100%;
}

.html_source_panel {
	float: left;
    height : 20em;
    width : 50%;
    left: 50%;
}

.html_source_display {
	padding-left: 2px;
    height: 100%;
    width: 100%;
    overflow: auto;
    white-space: pre;
    background:#F0F0FF;
    border:thin solid #9999CC;
}

.give_marking {
	font-family: Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New, monospace, serif;
}

.give_marking_listing_file {
	border:thin solid #9999CC;
	margin: 1em;
	padding:4px 8px;
	border-radius:10px;
}

.highlighted_note {
	border: solid #9999CC;
	margin: 1em;
	padding:4px 8px;
	border-radius:10px;
	font-size:120%;
}

code {
    border:none;
    tab-size: 2;
    border-radius: 3px;
    padding: 0.2em 0.4em;
    font-size: 85%;
    background: rgba(135, 131, 120, 0.15);
    color: #eb5757;
}


.multicolumn_block {
    white-space:nowrap;
}

.two_column_block {
    max-height: 64em;
    overflow: auto;
    width : 50%;
    display:inline-block;
    vertical-align : top;
}

.code_link {
    font-weight:bold;
    font-size: 0.9em;
    font-family:"Courier New", Courier, monospace;
    text-align:center;
}

.faq  {
	margin-top: 2em;
}

/* FAQ question */ 
.faq div:nth-child(1) {
	margin-left: 0em;
	margin-bottom: 0em;
	font-size: 120%;
	padding:4px 8px;
	border-radius:10px;
	border:thin solid #9999CC;
}
/* show a prompt before a shell command */
.faq div:nth-child(1):before {
	content: 'Question:';
	font-weight:bold;
}

/* FAQ answer */ 
.faq div:nth-child(2) {
	margin-top: 0.4em;
	margin-left: 2em;
	margin-bottom: 0em;
}

.request_path {
	text-align: center;
        /* x-large no longer fits? */
	font-size:larger;
	font-weight:bold;
}

.survey_message {
	font-size:larger;
	font-weight:bold;
	border-radius:10px;
	border: thin solid green;
	margin: 2em;
	padding:8px 8px;
	background-color:#F1FAF1;
}

.survey_preface {
	border-radius:10px;
	border: thin solid;
	margin: 2em;
	padding:8px 8px;
	background-color:#FAFAFA;
}

.survey_question {
	margin-bottom: 2em;
}

.survey_question_description {
	font-weight:bold;
}

.survey_question_radio {
	margin-top: 0.3em;
}


/* color scheme */

a {
	color:#3333FF;
}

a[href]:hover {
	background-color:#FFFFCC;
	color:#CC0000;
}

h2 {
	color:#3366CC;
	page-break-before: always;  /* so exam questions start on new page */
}

code {
	color : black; /* why pink in bootstrap */
	background-color:#FFFFFF; 
}
/* show a command-line interaction */
.command_line  {
	background-color:#F8F8FF;
}

.command_line kbd  {
	background-color:#F8F8FF;
	color: black;
}

/* indicate ctrl-d typed */
.eof {
/*	background-color:#F8F8FF; */
}

/* programs */
.program {
	background-color:#F8F8FF;
}


.answer code , .answer{
	background-color:#EAFAEA;
}

.answer .command_line , pre.answer , .answer pre {
	border:thin solid green;
	background-color:#F1FAF1;
}


.tutors_only {
	color: red;
}

#heading, .heading_button {
	color:#4477DD;
	color:#4477DD;
	background-color:#FFFFFF;
}

.program_description {
	/* color:#993300; */
}

.written.answer {
/*	color: blue; */
	border:thin solid green;
	background-color:#F1FAF1;
}

/* heading for a lab section */
.lab h3, . {
	color: black;
/*	background-color: #E0E0E0; */
	background-color: #FFF8A0;
}

/* heading for a tut section */
.tut h3 {
	color: #4477DD;;
}

.heading {
	color:#4477DD;
}

kbd {
	color:black;
	background:#E0E0E0;
}

.thin_hr {
	color:var(--main-color);
	background-color:var(--main-color);
}

.thick_hr {
	color:var(--main-color);
	background-color:var(--main-color);
}

.autotest_results  {
	background-color: #FFF8D0;
}


.nav-tabs > li.active > a {
    border-color: var(--main-color);
}
.nav-tabs>.active>a, .nav-tabs>.active>a:hover, .nav-tabs>.active>a:focus {
    border-color: var(--main-color);
    border-bottom-color: transparent;
}
.nav-tabs {
   border-bottom: 1px solid var(--main-color);
}

.edit_github_link {
	background-color: #FFE050;
	color: #000000;
}

.give_marking_listing_file {
	background-color:#F8F8FF;
}

.highlighted_note {
	background-color:#FFF4F4;
}

/* FAQ question */ 
.faq div:nth-child(1) {
	background-color:#F6FFF6;
}

/* FAQ answer */ 
.faq div:nth-child(2) {
}

.request_path {
	color: black;
}

