/*******************************************************
* GENERAL CSS 
*******************************************************/

@font-face {
  font-family: playfair;
  src: url("fonts/PlayfairDisplay-Regular.ttf");
  font-style: normal;
  font-weight: normal;
}

@font-face {
  font-family: playfair;
  src: url("fonts/PlayfairDisplay-Bold.ttf");
  font-style: normal;
  font-weight: bold;
}

@font-face {
  font-family: playfair;
  src: url("fonts/PlayfairDisplay-Italic.ttf");
  font-style: italic;
  font-weight: normal;
}

@font-face {
  font-family: playfair;
  src: url("fonts/PlayfairDisplay-BoldItalic.ttf");
  font-style: italic;
  font-weight: bold;
}

@font-face {
  font-family: playfairHeading;
  src: url("fonts/PlayfairDisplay-Black.ttf");
  font-style: normal;
  font-weight: normal;
}

@font-face {
  font-family: playfairHeading;
  src: url("fonts/PlayfairDisplay-BlackItalic.ttf");
  font-style: italic;
  font-weight: normal;
}

body {
  background: url('images/campusbg.png') center top fixed;
  background-size: cover;
  font-family: playfair,Garamond,Georgia,'Times New Roman', serif;
  font-size: 1.25em;
  color: #1d3124;
  margin-top: 0px;
  margin-left: auto;
  margin-top: 0px;
  margin-right: auto;
  width:65%;
  padding: 0;
}

h2 {
  border-bottom: 1px solid #1d3124;
  font-family: playfairHeading,Garamond,Georgia,'Times New Roman', serif;
  font-weight: bold;
  margin-top: 0px;
  margin-bottom: 15px;
  width: 100%;
}

h3 {
  border-bottom: 1px dashed #1d3124;
  margin-top: 0px;
  margin-bottom: 5px;
}

p  {
  margin-bottom: 10px;
  margin-left: 25px;
  margin-top: 10px;
  text-align: left;
}

a {
	font-weight: bold;
	font-style: italic;
	color: #b74803;
	text-decoration: underline 2px;
}
a:hover { color: #f6f4e8; }


/*******************************************************
* SPECIFIC ELEMENTS 
*******************************************************/

#header {
    padding-bottom: 10px;
    width: 100%;
    padding-top: 10px;
    text-align: center;
}

#header #banner {
	display: inline;
    width: 80%;
	border: 5px solid #1d3124;
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
}

#header #logo {
    width: 300px;
    padding: 10px;
}

#header .tabs {
    text-align: right;
    display: inline;
    line-height:45px;
}

#header .tabs a {
    font-family:playfairHeading,Garamond,Georgia,'Times New Roman', serif;
    font-style: normal;
    border: 2px solid black;
 	padding: 5px 10px 5px 10px;
    margin-left: 1px;
    margin-right: 1px;

    background-color: #bacec1;
    color:  #1d3124;
	text-decoration:none;
}

#header .tabs a:hover{
	  background:#e59560;
}

.block {
    background-color: #bacec1;
    margin-bottom: 3em;
    margin-top: 0px;
    border: 5px solid #1d3124;
    padding: 1em;
}

/* scoring */


#scoring table{
	display: block;
	margin: auto;
	margin-bottom: 25px;
	width: 750px;
	padding: 0;
	border-spacing: 0px;
    border: 1px solid #1d3124;
}
#scoring table tr:nth-child(even){
    background-color: #b4c9bb;
    padding: 0px;
}
#scoring table tr:nth-child(odd){
    background-color: #a0b5a7;
}
#scoring th{
	padding: 10px;
	background-color: #1d3124;
	color: #bacec1;
	font-size: 1.25em;
}
#scoring td{
	padding: 5px;
}
#scoring .teamname{
	width: 450px;
}
#scoring .gpa{
	font-family: monospace;
	width: 100px;
}
#scoring .icon{
	width: 50px;
}
#scoring .icon img{
	width:2em;
	height:2em;
	display: block;
}
#scoring .awards{
	width: 150px;
	font-size: 0.75em;
	font-style: italic;
	vertical-align: middle;
}


/* faq */
#faq .q { font-weight:bold; margin-left: 25px; }
#faq .a { margin-bottom: 5px; margin-left: 50px; margin-top: 5px; }



/*answer checker */
#answerchecker {
	display: none;
	position: fixed;
   	left: 50%;
	top: 50%;
	width: 40%;
	height: 40%;
	transform: translate(-50%, -50%);
   	z-index: 10040;
    background-color: #ffd5a5;
    border: 2px solid #b74803;
    padding: 15px;
    padding-top: 5%;
    padding-bottom: 5%;
	text-align: center;
}

#answerchecker .whichpuzzle {
	display: none;
}

#answerchecker #checkertitle {
	top: 0.25em;
	font-size: 1em;
	margin-bottom: 4em;
}

#answerchecker .response {
	display: none;
	font-size: 1.5em;
}
#answerchecker .response .responseanswer {
	font-weight: bold;
}
#answerchecker .response .responseresponse {
	font-style: italic;
}

#answerchecker .response .responseclue {
	font-size: 1.5em;
	font-style: italic;
	font-weight: bold;
	padding: 1em;
}

#answerchecker #checkerentry {
	 width:50em;
	 height: 2em;
}

#answerchecker .tooltip {
	font-size: 0.8em;
	font-style: italic;
	padding: 1em;
}
/* puzzles and solutions */



#puzzles table {
	table-layout: fixed;
	padding-left: 20px;
	width: 100%;
}

#puzzles td.round {
	font-weight: bold;
	padding-left: 0px;
}
#puzzles td.title {
	width: 40%;
	padding-left: 20px;
	font-weight: bold;

}
#puzzles td.author {
	font-style: italic;
}

#puzzles td.openchecker{
	cursor: pointer;
}
#puzzles td.errata {
	padding-left: 20px;
	color: #770000;
	font-weight: bold;
}
#soln li { margin: 10px;
	padding-left: 0px; }
#soln ul, #soln ol { padding-left: 20px; }
#soln>ul, #soln>ol { padding-left: 40px; }

#numbers td.start {
	font-size: x-small;
	font-weight: bold;
	border-left: 2px solid;
	text-align: center;
}
#numbers td{
	text-align: right;
}

.spacer{ width:50px; }

/* hints */



#hints ul, #hints ol {
	padding-left: 20px;
	text-align: left;
}

#hints .hints>li {
	margin: 10px;
	padding-left: 0px; 
}

#hints ul>li {
	font-weight: bold;
	font-style: italic;
}

#hints li.normal {
	margin: 0.2em;
	font-style: normal;
}

#hints ol.hints>li {
	display:none;
	font-weight: normal;
	font-style: normal;

}

#hints ol.hints>li.reveal {
	display: block;
	text-decoration: underline 2px #ffd5a5;
	cursor: pointer;

}

#hints ol.hints>li.reveal>span {
	display: none;
	font-weight: bold;
}

#hints ol.hints>li.reveal>#topic_1 {
	display: inline;
}


/* logo */

/* Back to top links */
h2 { position: relative; }
span.backlink { font-size: small; position: absolute; right: 0; top: 0; }
span.backlink a { text-decoration: none; }

/* FAQ question list */


/* Boxed notes */
p.note { background-color: #e1eef7; border: 1px solid #88aacc; padding: 10px; }

/* Captions */
span.caption {color: #666666; font-size: 80%; margin: 0 0.5em; }
span.caption a { color: #666666; text-decoration: none; }