.module {
	display: flex;
	padding: 5px 10px;
	border-bottom: 1px solid #eee;
}

a.module {
	text-decoration: none;
}

a.module:hover {
	background: #e4dee7;
}

.module_info {
	flex: 1;
}
.years {
	display: flex;
}
.year {
	width: 80px;
}

.year:nth-child(2) .terms:after {
	display: block;
	content: '* Subject to confirmation';
	font-size: xx-small;
}

.module_code {
	font-weight: 300;
	padding-right: 5px;
}

.cats {
	font-size: 70%;
}

.terms, .notrunning {
	font-size: 70%;
}

.year_title {
	font-weight: 300;
}

.module_image {
	width: 100px;
	height: 81px;
	background-size: cover;
	background-color: #eee;
	margin-right: 10px;
	background-position: center center;
}

@media screen and (max-width: 780px){
	.years {
		flex-direction: column;
	}
}

.assmeths {
	font-size: small;
}

.assmeth + .assmeth:before {
	content: ", ";
}


#buttons .left {
	text-align: left;
}

#buttons .right {
	text-align: right;
}

.op {
	font-size: x-small;
	padding: 3px 5px;
	border-radius: 10px;
	text-align: center;
}

.op.C {
	background: #fdd;
	border-color: red;
}

.op.O {
	background: #dfd;
	border-color: green;
}
.op.OC {
	background: #eed;
	border-color: orange;
}
.op.C:after {
	content: 'Core';
}
.op.O:after {
	content: 'Option';
}
.op.OC:after {
	content: 'Optional Core';
}

.otable {
	margin-bottom: 0 !important;
}