/* CSS */

*{
	font-family: "JetBrains Mono",monospace;
}

body{
	margin:auto;
	background-color:#adb9f5;
	display: flex;
	justify-content:space-evenly;
}

br{
	margin-top:2px;
	margin-bottom:2px;
}

a, a:visited{
	color:black;
	text-decoration:none;
}

h1{
	font-size:38px;
	margin:0px;
	margin-top:0px;
	padding: 10px 0px 10px 0px;
	text-align:center;
}

hr{
	margin:15px 0px 15px 0px;
	border-top: 4px dashed grey;
	border-bottom:none;
	border-left:none;
	border-right:none;
}

.hrSeperator{
	display:none;
}

#intro p{
	font-size:26px;
	padding: 20px 20% 20px 20%;
}

p{
	font-size:18px;
}

#question{
	font-family:"Lucida Sans Unicode", "Lucida Grande", sans-serif;
}

td, th, tr, a{
	font-size:18px;
	margin-bottom:1px;
	margin-top:1px;
	text-align: left;
}

pre{
    white-space:pre-wrap; 
	font-size:16px;
	line-height:23px;
	tab-size:30px;
	margin-top: 10px;
	margin-bottom: 10px;
	padding-left:20px;
}

#answerTitle{
	font-weight:bold;
	text-align:center;
	font-size:32px;
}

table, td, tr, th{
	vertical-align:top;
	border-collapse: collapse;
	table-layout: fixed;
}

#question_container img{
	max-width:70%;
	max-height:40%;
}

#answer_section img{
	max-height:320px;
	max-width:75%;
}

#headerSection{
	text-align:center;
	margin-bottom:10px;
}

#main #mainBody{
	margin:auto;
	margin-top:0px;
	margin-bottom:0px;
	text-align:center;
}

#markNum{
	font-size:18px;
	border:none;
	margin-top:6px;
}

.filterTopic{
	margin-bottom:0px;
	width:100%;
}

.tab{
	display:flex;
	justify-content:center;
	text-align:center;
	flex-wrap:wrap;
}

.tab .sub_buttons{
	width:150px;
}


#mainSection{
	height:100%;
	display:flex;
	background-color:#adb9f5;
}

#leftColumn{
	width:340px;
	height:100%;
	margin:10px;
	margin-right:15px;
}

#fullSection{ 
	width:100%;
	height:100%;
	margin:auto;
	background-image:url(images/marrbg.png);
  background-repeat: no-repeat;
  background-size:100%;
	display:flex;
	justify-content:space-evenly;
	flex-direction:column;
	color:navy;
}

#controls{
	display: flex;
    flex-wrap: wrap;
	flex-direction:column;
	margin:auto;
	height:100%;
}

#controlsText{
	margin-bottom:1px;
	margin-top:0px;
}

#question_container{
	background-color: #eeeeee;
	width:80%;
	padding:10px;
	margin:10px 15px 10px 0px;
	box-shadow: 5px 5px 7px 0px black;
	border-radius: 4px;
}

.questionInfo{
	width:100%;
	border-bottom: 2px solid black;
	display:flex;
	justify-content:space-around;
}

.questionInfo p{
	font-size: 22px;
	margin-bottom:5px;
	margin-top:5px;
}

.questionTable th{
	background-color:lightgrey;
	padding:0px 10px 0px 10px;
	border:1px solid;
	border-collapse:collapse;
	font-size:18px;
}

.questionTable tr, .questionTable td{
	border:1px solid;
	border-collapse:collapse;
	padding:2px 2px 2px 2px;
	font-size:18px;
}

.questionTable{
	margin-bottom:10px;
}

#answer_section{
	padding:5px 25px 5px 25px;
}

#answer{
	margin-top:5px;
	font-size:20px;
}

#answer ul{
	font-size:20px;
	margin-top:2px;
	padding-left:25px;
}

#marks{
	width:60px;
	padding:0px;
}
#question{
	font-size:18px;
	width:100%;
}

#question ul li, #question ol li, #answer ul li{
	font-size:17px;
	font-family:"Lucida Sans Unicode", "Lucida Grande", sans-serif;
}

#question ul, #question ol, #answer ul{
	margin-top:5px;
}

.sectionTitle{
	margin: 15px 0px 15px 0px;
	font-size:28px;
}

code{
	display:block;
	white-space:pre-wrap; 
	font-size:16px;
	line-height:23px;
	counter-increment: line;
	tab-size:35px;
	padding-left: 20px;
}
code.inline{
	display:inline;
	white-space:pre-wrap; 
	font-size:16px;
	line-height:23px;
	counter-increment: none;
	counter-reset: line;
	tab-size:35px;
	padding-left: 20px;
}

code::before {
	content: counter(line) '. ';
}
code.inline::before {
	content: none;
}

#controls select, #questionNumInput{
	width:auto;
	height:35px;
	margin-bottom:10px;
	font-size:16px;
	border-radius:5px;
}

/* QuestionSpecificCSS */
.ahUMLCode{
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
	background-color:lightgrey;
}

.ahUMLCode .questionTable{
	background-color:white;
}


/* Popup Code */
.overlay {
	position:absolute;
	display:none;
	top:0;
	right:0;
	bottom:0;
	left:0;
	background:rgba(0, 0, 0, 0.8);
	z-index:9999;
}
.close {
	font-size:45px;
	position:absolute;
	top:-7px;
	right:26px;
	width:25px;
	height:25px;
	cursor:pointer;
	color:#000;
	display:inline-block;
}
.popup {
	position:absolute;
	width:50%;
	height:auto;
	top:5%;
	left:25%;
	border-radius:10px;
	background:rgb(240,240,240);
	box-shadow:0px 0px 10px 0px black;
}
#question_header{
	display:block;
	font-size:15px;
	height:50px;
	line-height:50px;
	color:#fff;
	background:hotpink;
	border-radius:10px 10px 0px 0px;
}

#question_header h2{
	text-align:center;
	margin:0px;
	padding:0px;
}

/* New Button */
.newButton {
	align-items: center;
	appearance: none;
	background-color: #FCFCFD;
	border-radius: 4px;
	border-width: 0;
	/* box-shadow: rgba(45, 35, 66, 0.4) 0 2px 4px,rgba(45, 35, 66, 0.3) 0 7px 13px -3px,#D6D6E7 0 -3px 0 inset; */
	box-sizing: border-box;
	color: #36395A;
	cursor: pointer;
	display: inline-flex;
	font-family: "JetBrains Mono",monospace;
	height: 48px;
	justify-content: center;
	line-height: 1;
	list-style: none;
	overflow: hidden;
	padding-left: 16px;
	padding-right: 16px;
	position: relative;
	text-align: left;
	text-decoration: none;
	transition: box-shadow .15s,transform .15s;
	user-select: none;
	-webkit-user-select: none;
	touch-action: manipulation;
	white-space: nowrap;
	will-change: box-shadow,transform;
	font-size: 18px;
	margin: 2px 2px 2px 2px;
}

.newButton:hover {
	box-shadow: rgba(45, 35, 66, 0.4) 0 4px 8px, rgba(45, 35, 66, 0.3) 0 7px 13px -3px, #D6D6E7 0 -3px 0 inset;
	transform: translateY(-2px);
}

.newButton:active {
	box-shadow: #D6D6E7 0 3px 7px inset;
	transform: translateY(2px);
}

.btnActive{
	box-shadow: rgba(45, 35, 66, 0.4) 0 4px 8px, rgba(45, 35, 66, 0.3) 0 7px 13px -3px, #D6D6E7 0 -3px 0 inset;
}

/* Title Animation */
.animate-charcter{
	position: relative;
	font-family: sans-serif;
	text-transform: uppercase;
	font-size: 2em;
	letter-spacing: 4px;
	overflow: hidden;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
	background-repeat: no-repeat;
	background-size: 80%;
	animation: animate 8s linear infinite;
	-webkit-background-clip: text;
	-webkit-text-fill-color: rgba(255, 255, 255, 0);
}

@keyframes animate {
	0% {
		background-position: -500%;
	}
	100% {
		background-position: 500%;
	}
}