.module {
	display: flex;
	padding: 5px 10px;
	border-bottom: 1px solid #eee;
}

a.module {
	text-decoration: none;
}

a.module:hover {
	background: #fff6cc;
}

.module_info {
	flex: 1;
}
.info_blocks {
	display: flex;
}
.info_block {
	width: 80px;
}

.info_block: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%;
}

.info_details, .notrunning {
	font-size: 70%;
}

.info_title {
	font-weight: 300;
}

.tab-content {
	border: 1px solid #a4a4a4;
}

.nav-tabs {
	border-bottom: none;
}

.nav-tabs li a {
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

.nav-tabs li a:before, .nav-tabs li .active:before {
	background: gold;
	left: 7px;
	height: 3px;
}

.nav-tabs li.active a:before, .nav-tabs li.active a:focus:before, .nav-tabs li.active a:hover:before, .nav-tabs li a:focus:before, .nav-tabs li a:hover:before {
	width: calc(100% - 14px);
	background: gold;
}

.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){
	.info_blocks {
		flex-direction: column;
	}
}

#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;
}