.flex-container {
	display: flex;
	flex-flow: row wrap;
	hyphens: auto;
	margin-top: -8px;
}

.flex-item-2, .flex-item-3, .flex-item-4 {
	flex: 0 1 25%;
	margin-top: 8px;
}

.flex-item-2 {
	flex-basis: 50%;
}

.flex-item-3 {
	flex-basis: 33.33%;
}

.flex-item-4 {
	flex-basis: 25%;
}
	
@media only screen and (max-width: 959px) {
	.flex-item-2, .flex-item-3, .flex-item-4 {
		flex-basis: 50%;
	}

	.flex-item-2:nth-child(odd) .card, .flex-item-3:nth-child(odd) .card, .flex-item-4:nth-child(odd) .card {
		margin-left: 0;
	}

	.flex-item-2:nth-child(even) .card, .flex-item-3:nth-child(even) .card, .flex-item-4:nth-child(even) .card {
		margin-right: 0;
	}
}
	
@media only screen and (max-width: 519px) {
	.flex-item-2, .flex-item-3, .flex-item-4 {
		flex-basis: 100%;
		padding: 0;
	}

	.flex-item-2 .card, .flex-item-3 .card, .flex-item-4 .card {
		margin-right: 0;
		margin-left: 0;
	}
}

.card {
	height: 100%;
	background-color: #f1f1f1;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2), 0 1px 3px 0 rgba(0, 0, 0, 0.19);
	position: relative;
	margin: 4px 4px 0px;
}

.flex-container > :first-child  .card {
	margin-left: 0;
}

.flex-container > :last-child  .card {
	margin-right: 0;
}

.card-vso {
	display: block;
	padding: 8px;
}

.card-vso > img {
	max-width: 240px;
	margin: auto;
	display: block;
}

.label-zsb {
	padding: 6px 8px 6px 6px;
	color: #fff;
	font-weight: bold;
	font-size: 14px;
	letter-spacing: 1px;
	display: inline-block;
	background: linear-gradient(315deg, transparent 6px, #7387ad 6px);
	position: absolute;
}

.label-zsb.sowi {
	background: linear-gradient(315deg, transparent 6px, #b71e3f 6px);
}

.label-zsb.wiwi {
	background: linear-gradient(315deg, transparent 6px, #2579B5 6px);
}

.label-zsb.philo {
	background: linear-gradient(315deg, transparent 6px, #46155d 6px);
}

.label-zsb.mathe {
	background: linear-gradient(315deg, transparent 6px, #C1633E 6px);
}

.label-zsb.physik {
	background: linear-gradient(315deg, transparent 6px, #FFA733 6px);
}

.label-zsb.bio {
	background: linear-gradient(315deg, transparent 6px, #FF8F40 6px);
}

.label-zsb.forst {
	background: linear-gradient(315deg, transparent 6px, #216a51 6px);
}

.label-zsb.agrar {
	background: linear-gradient(315deg, transparent 6px, #1f7a5c 6px);
}

.label-zsb.ranking {
	background: linear-gradient(315deg, transparent 6px, #AA2244 6px);
}

.label-zsb.geo {
	background: linear-gradient(315deg, transparent 6px, #AE5B51 6px);
}

.label-zsb.chemie {
	background: linear-gradient(315deg, transparent 6px, #EFB402 6px);
}

.caption {
	padding: 12px 12px 8px 0px;
	font-size: 16px;
	font-weight: 300;
	min-height: 3.6em;
}

.caption .date {
	float: left;
	height: 40px;
	width: 60px;
	border-right: 2px solid #ddd;
	text-align: center;
	font-size: 14px;
	margin-top:2px;
}

.caption .date .fa {
	margin-top: 12px;
}

.caption .date ~ .title {	
	padding-left: 65px;
}

.caption .title {	
	padding-left: 15px;
	word-break: break-all;
}

#page-content .caption h3 {
	margin-top: 0px;
	margin-bottom: 0px;
	font-size: 16px;
	font-weight: normal;
}

.caption p {
	margin-top: 0px;
	margin-bottom: 0px;
}

/* global */

#page-content article {
	font-size: 17px;
}

@media only screen and (max-width: 767px) {
	#page-content article {
		font-size: 16px;
	}
	
	#page-content .nav > li > a {
		padding: 8px 12px;
	}

	#page-content .headline {
		font-size: 24px;
	}
	
	#page-content h2 {
		font-size: 21px;
	}
	
	#page-content h3 {
		font-size: 18px;
	}
}
	
@media only screen and (min-width: 768px) {
	.modal-dialog.modal-lg {
		width: 90%;
		max-width: 1320px;
	}

	#page-content .btn {
		font-size: 17px;
	}
}

/* modal content only */

#gcms_page:not(:empty) + #slider {
  display: none;
}

#gcms_page:empty {
	overflow-y: hidden;
}

#gcms_page:before, #gcms_page:after {
	display: table;
	content: " ";
	clear: both;
}

/*
#gcms_page {
	overflow-y: scroll;
	max-height: 320px;
}

@media only screen and (min-height: 640px) {
	#gcms_page {
		max-height: 480px;
	}
}

@media only screen and (min-height: 768px) {
	#gcms_page {
		max-height: 600px;
	}
}

@media only screen and (min-height: 1024px) {
	#gcms_page {
		max-height: 860px;
	}
}

@media only screen and (min-height: 1280px) {
	#gcms_page {
		max-height: 1200px;
	}
}
*/

/* menu */

ul#zsb-menu {
	margin-top: 30px;
}

#main .nav-tabs.nav-zsb > li > a {
	border-radius: 0;
}

#main .nav-tabs.nav-zsb > li.active > a, #main .nav-tabs.nav-zsb > li.active > a:focus, #main .nav-tabs.nav-zsb > li.active > a:hover {
	border: none;
	border-bottom: 2px solid #7387ad;
	background-color: #f1f1f1;
	color: #4a4949;
}
	
.nav-tabs > li {
	float: none;
}

@media only screen and (min-width: 768px) {	
	.nav-tabs > li {
		float: left;
	}
}
	
.fa-sm {
	font-size: 80%;
}

/* tabs global */

.tab-content {
	overflow: hidden;
}

.tab-pane {
	padding-bottom: 10px;
}

.tab-pane:focus {
	outline-style:none;
	box-shadow:none;
	border-color:transparent;
}

.tab-pane h2 {
	margin-top: 1em;
}

.tab-pane h2, .tab-pane > p, .tab-pane > dl {
	margin-bottom: .5em;
}

.tab-pane .imagetag {
	display: block;
	margin: auto;
}

.tab-pane .box {
	margin: 4px;
	height: 100%;
	font-size: 16px;
}

/* horizontal dd */
/*
.dl-horizontal {
	display: flex;
	flex-direction: column;
}

.dl-horizontal dt {
	white-space: unset;
}
*/

@media only screen and (min-width: 768px) {
	@supports (display: grid) {
		.dl-horizontal {
			display: grid;
			grid-template-columns: fit-content(250px) auto;
		}

		.dl-horizontal dt {
			grid-column-start: 1;
			margin-right: 0;
			padding-right: 1em;
			text-align: right;
			width: auto;
			white-space: normal;
		}

		.dl-horizontal dd {
			grid-column-start: 2;
			margin-left: 0;
			align-self: end;
		}
	}
}

/* text & lists */

#promos .flex-container {
	padding: 4px;
}

.txtlist-ext > li > a:after, .list-inline-ext > li > a:after, .panel-zsb-list > ul > li > a[target=_blank]:after {
	content: "\00A0\f360";
	font-size: 85%;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}

a.ext:after {
	content: "\00A0\f360";
	font-size: 85%;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}

.panel-zsb, .panel-zsb-list {
	border: none;
	border-radius: 0;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.panel-zsb {
	border-bottom: 4px solid #eee;
}

.panel-group .panel.panel-zsb {
	border-radius: 0;
}
	
.panel-zsb .panel-heading + .panel-collapse > .panel-body {
	border-top: 0;
	padding-top: 5px;
}
	
.panel-zsb .panel-title, .panel-zsb-list .panel-title {
	font-weight: normal;
	position: relative;
}
	
.panel-zsb .panel-title {
	font-size: 21px;
}
	
.panel-zsb-list .panel-title {
	font-size: 18px;
}
	
.panel-title a[data-toggle='collapse'] {
	padding-left: 24px;
	display: block;
}

.panel-title a[data-toggle='collapse']::before {
	position: absolute;
	top: 50%;
	margin-top: -11px;
	left: 2px;
	content: "\f0d8";
	font-weight: normal;
	margin-right: 12px;
	font-size: 85%;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}

.panel-title a.collapsed::before {
	content: "\f0d7";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}

.panel-zsb-list, .panel-zsb-list .list-group {
	background-color: #f1f1f1;
}

.panel-zsb-list {
	border-top: 2px solid #7387ad;
	margin: 4px;
	height: 100%;
}

@media only screen and (min-width: 768px) {
	.flex-container > :first-child  .panel-zsb-list {
		margin-left: 0;
	}

	.flex-container > :last-child  .panel-zsb-list {
		margin-right: 0;
	}
}

@media only screen and (max-width: 767px) {
	.panel-zsb-list {
		margin-left: 0px;
		margin-right: 0px;
	}
}
	
.panel-zsb-list .list-group-item {
	background-color: #f1f1f1;
	padding: 10px 5px;
	margin: 0 20px;
	border: none;
	border-top: 1px solid #ddd;
	text-align: left;
}

.panel-zsb-list > .panel-heading + .list-group .list-group-item:first-child {
	border-top-width: 1px;
}

.panel-title > .small, .panel-title > .small > a, .panel-title > a, .panel-title > small, .panel-title > small > a {
	color: #0078A3;
}

.sidebar-zsb {
	background: #f1f1f1;
	padding: 20px;
}

@media only screen and (max-width: 767px) {
	.sidebar-zsb {
		margin-top: 20px;
	}
}

.sidebar-zsb img {
	max-width: 100%;
	display: block;
	margin: auto;
}

.sidebar-zsb li + li {
	margin-top: 20px;
}

.social-media-list > li {
	display: inline-block;
	padding-right: 5px;
}

/* sub menu pills */

#main .nav-pills.nav-zsb li +li {
	margin-left: 7px;
}

@media only screen and (max-width: 767px) {
	#main .stack-xs.nav-zsb > li + li {
		margin-left: 2px;
	}

	#main .stack-xs.nav-pills.nav-zsb > li + li {
		margin-left: 2px;
	}

	#main .stack-xs.nav-zsb > li {
		margin: 2px;
		width: 48%;
	}

	#main .stack-xs.nav-zsb > li > a {
		white-space: nowrap;
		text-overflow: ellipsis;
		overflow: hidden;
	}
}

#main .nav-pills.nav-zsb > li a {
	border: 1px solid rgba(0,0,0,.1);
}

#main .nav-pills.nav-zsb > li > a:hover {
	background-color: #f1f1f1;
}

#main .nav-pills.nav-zsb > li.active > a, #main .nav-pills.nav-zsb > li.active > a:focus, #main .nav-pills.nav-zsb > li.active > a:hover {
	background-color: #f1f1f1;
	color: #0078A3;
}

#main .nav-pills.nav-zsb > li a::before {
	content: "";
	background: #7387ad;
	width: 76%;
	position: absolute;
	height: 2px;
	bottom: 6px;
	left: 12%;
	visibility: hidden;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}

#main .nav-pills.nav-zsb > li:hover a::before {
	visibility: visible;
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}

#main .nav-pills.nav-zsb > li.active a::before {
	transform: scaleX(1);
	-webkit-transform: scaleX(1);
	visibility: visible;
}

.studienprofile-tabs {
	margin-bottom: 1.5em;
}

/* pagination */

.pagination {
	margin-top: 30px;
	margin-bottom: 0px;
}

.pagination > li > a, .pagination > li > span {
	padding: 6px 14px;
}

.pagination > li > a:focus, .pagination > li > a:hover, .pagination > li > span:focus, .pagination > li > span:hover {
	background-color: #f1f1f1;
}

.pagination > .active > a, .pagination > .active > a:focus, .pagination > .active > a:hover, .pagination > .active > span, .pagination > .active > span:focus, .pagination > .active > span:hover {
	background-color: #7387ad;
	border-color: #7387ad;
}

.pagination > li:first-child > a, .pagination > li:first-child > span {
	border-top-left-radius: 0px;
	border-bottom-left-radius: 0px;
}

.pagination > li:last-child > a, .pagination > li:last-child > span {
	border-top-right-radius: 0px;
	border-bottom-right-radius: 0px;
}

/* page nav */
#main a.btn-muted {
	color: #fff;
	border: none;
	border-radius: 0;
}

.btn-muted {
    background-color: #3f3f3e;
    border-color: rgba(0,0,0,.1);
}

.btn-muted:hover {
    background-color: #4f4f4e;
}

.pages--nav {
	margin-top:1em;
	display:flex;
	justify-content: space-between
}

.page--back a:before {
	content: '\f104';
	padding-right: .5em;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}

.page--forward a:after {
	content: '\f105';
	padding-left: .5em;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}

/* image gallery */


	.flex-gallery {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}
	
	.flex-item {
		width: 100%;
		border: 0 solid transparent;
		border-width: 0 8px 8px 0;
		background-clip: padding-box;
	}
	
	.flex-item > div {
		position: relative;
		cursor: pointer;
		width: 100%;
		min-height: 120px;
		background-color: #444;
	}
	
	.overlay {
		backface-visibility: hidden;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		height: 100%;
		width: 100%;
		background-color: rgb(55,55,55);
		transition: .5s ease;
		opacity: 0;
	}
	
	.middle {
		backface-visibility: hidden;
		transition: .5s ease;
		opacity: 0;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		text-align: center;
		color: white;
		font-size: 24px;
	}
	
	.flex-item > .in .middle {
		opacity: 1;
	}
	
	.flex-item > .in .overlay {
		opacity: .8;
	}
	
	.flex-item > div::after {
		content: "\f00e";
		font-size: 24px;
		position: absolute;
		top: 10px;
		right: 20px;
		color: white;
		opacity: 0;
		transition: opacity 1s;
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
	}
	
	.flex-gallery:not(.in) .flex-item:nth-child(n+3) {
		display: none;
	}
		
	.flex-gallery img {
		width: 100%;
		height: auto;
		transition: transform .8s ease;
	}
	
	.flex-item > div:hover img {
		transform: scale(1.02, 1.02);
	}
	
	#slider img {
		display: block;
		margin: auto;
	}
	
	#slider .carousel-control {
		margin-bottom: 0px;
		background: none;
		opacity: 1;
	}
	
	#slider .carousel-indicators {
		margin-bottom: 20px;
	}
	
	#slider .carousel-indicators > li + li {
		margin-left: 2px;
	}
		
	#slider .carousel-caption {
		padding: 0px;
		border: none;
	}
	
	@media only screen and (min-width: 520px) {
	
		.flex-item {
			width: 50%;
		}
		
		.flex-item.thinner {
			width: 33.32%;
		}
	
		.flex-gallery:not(.in) .flex-item:nth-child(n+3) {
			display: block;
		}
	
		.flex-item > .in .middle {
			opacity: 0;
		}
		
		.flex-item > .in .overlay {
			opacity: 0;
		}
	
		.flex-item > div:hover::after {
			opacity: 1;
		}
	}
	
	@media only screen and (min-width: 960px) {
		.flex-item {
			width: 25%;
		}
		
		.flex-item.thinner {
			width: 20%;
		}
	}
	
/* callout */


	.flex-callout {
		display: flex;
		flex-flow: row wrap;
		align-items: center;
		background-color: #f1f1f1;
	}
	
	.flex-callout + .flex-callout {
		margin-top: 20px;
	}
	
	.flex-callout-text, .flex-callout-video, .flex-callout-vso {
		flex: 0 1 100%;
	}
	
	.flex-callout-text {
		padding: 0px 20px;
	}

	.flex-callout-video, .flex-callout-vso {
		padding: 20px;
	}
	
	.flex-callout-vso img {
		display: block;
	}
	
	@media only screen and (min-width: 520px) {		
		.flex-video, .flex-vso {
			flex-basis: 66.66%;
		}
	}
	
	.flex-callout-video > a { 
		position: relative;
		display: block;
	}

	#main .flex-callout-video > a > .fas {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		color: #fff;
		font-size: 48px;
		opacity: .5;
		transition: opacity .5s linear;
	}

	#main .flex-callout-video > a:hover > .fas {
		opacity: .8;
	}
	
	@media only screen and (min-width: 769px) {			
		.flex-callout-text, .flex-callout-video, .flex-callout-vso {
			flex-basis: 50%;
		}
		
		.flex-callout-text {
			order: 1;
		}
		
		.flex-callout-video, .flex-callout-vso {
			order: 2;
		}
	
		.flex-callout-vso img {
			margin: auto;
		}
	}
	
	@media only screen and (min-width: 960px) {
		.flex-callout-text {
			padding-right: 0px;
		}
		
		.flex-callout-video, .flex-callout-vso {
			padding-top: 0px;
			padding-bottom: 0px;
			padding-right: 0px;
		}
				
		.flex-callout-video {
			flex-basis: 33.33%;
		}
				
		.flex-callout-video + .flex-callout-text {
			flex-grow: 1;
		}
		
		.flex-callout-vso {
			flex-basis: unset;
			margin-left: auto;
			padding-left: 0px;
			width: 267px;
		}
		
		.flex-callout-vso img {
			margin-left: auto;
			margin-right: 0px;
		}
				
		.flex-callout-vso + .flex-callout-text {
			flex-grow: 1;
			padding-left: 40px;
			padding-right: 40px;
		}
	}
	
/* event gallery */


	.flex-event-gallery {
		display: flex;
		flex-flow: row wrap;
	}
	
	.flex-event {
		display: flex;
		flex-flow: column;
		align-items: center;
		background-color: #f1f1f1;
		padding: 20px 30px;
		flex-basis: 100%;
	}
	
	.flex-event + .flex-event {
		margin-top: 20px;
	}
	
	.flex-event-icon {
		padding-bottom: 29px;
		text-align: center;
	}
	
	.flex-event-icon .fa {
		font-size: 48px;
		width: 48px;
	}
	
	.flex-event-desc {
		padding-top: 11px;
		position: relative;
	}
	
	.flex-event-desc > p {
		text-align: left;
	}
	
	.flex-event-desc:before {
		content: "";
		background: #6f6f6e;
		position: absolute;
		width: calc(100% - 24px);
		height: 2px;
		left: 12px;
		top: 0;
	}
	
	.flex-event-desc h3 {
		margin-top: 10px;
	}
	
	@media only screen and (min-width: 769px) {
		.flex-event {
			flex-basis: 50%;
			overflow: hidden;
			border: 4px solid white;
		}
	
		.flex-event + .flex-event {
			margin-top: 0px;
		}
	}
	
	@media only screen and (min-width: 1200px) {
		.flex-event {
			flex-flow: row;
			flex-basis: 100%;
			border: none;
		}
	
		.flex-event + .flex-event {
			margin-top: 20px;
		}
		
		.flex-event-icon {
			padding-bottom: 0px;
			padding-right: 29px;
			flex-basis: 96px;
		}
	
		.flex-event-desc {
			padding-top: 0px;
			padding-left: 11px;
		}
		
	
		.flex-event-desc > p {
			text-align: justify;
		}
	
		.flex-event-desc:before {
			height: calc(100% - 24px);
			width: 2px;
			left: 0;
			top: 12px;
		}
	}

/* qoutes */

.quoteElement {
	position: relative;
}

.quoteElement > blockquote {
	padding: 6px;
	background-color: #eee;
	border: 0 solid #FFA733;
	border-width: 0px 4px 0 4px;
	overflow: hidden;
}

.quoteElement.philo > blockquote {
	border-color: #46155d;
}

.quoteElement > .imagetag {
	width: 96px;
	height: auto;
}

.quoteElement p.source {
	font-style: italic;
	text-align: right;
	margin-top:8px;
}

.quoteElement.quoteRight p.source {
	text-align: left;
}

.quoteQuestion > .imagetag {
	float: left;
	margin-right: 8px;
}

.quoteQuestion > blockquote {
	border-color: #7387AD;
	margin-right: 56px;
	font-weight: bold;
}

.quoteQuestion::before {
	border-width: 8px;
	border-color: transparent #7387AD transparent transparent;
	border-style: inset solid inset none;
	content: "";
	display:block;
	position: absolute;
	top: 6px;
	left: 98px;
}

.quoteAnswer > .imagetag {
	float: right;
	margin-left: 8px;
}

.quoteAnswer > blockquote {
	margin-left: 56px;
}

.quoteAnswer::after {
	border-width: 8px;
	border-color: transparent transparent transparent #FFA733;
	border-style: inset none inset solid;
	content: "";
	display:block;
	position: absolute;
	top: 6px;
	right: 98px;
}

.quoteLeft > .imagetag {
	float: left;
	margin-right: 8px;
}

.quoteLeft::before {
	border-width: 8px;
	border-color: transparent #FFA733 transparent transparent;
	border-style: inset solid inset none;
	content: "";
	display:block;
	position: absolute;
	top: 18px;
	left: 98px;
}

.quoteLeft.philo::before {
	border-color: transparent #46155d transparent transparent;
}

.quoteRight > .imagetag {
	float: right;
	margin-left: 8px;
}

.quoteRight::after {
	border-width: 8px;
	border-color: transparent transparent transparent #FFA733;
	border-style: inset none inset solid;
	content: "";
	display:block;
	position: absolute;
	top: 18px;
	right: 98px;
}

.quoteRight.philo::after {
	border-color: transparent transparent transparent #46155d;
}

/* well */

.well {
	background-color: #f1f1f1;
	border: inherit;
	border-radius: inherit;
	-webkit-box-shadow: inherit;
	box-shadow: inherit;
}

/* multicol */

.multicol {
	column-count: 3;
	column-gap: 30px;
}

@media only screen and (max-width: 560px) {
	.multicol {
		column-count: 2;
	}
}

/* admission specific */

.admission--linkmenu {
	display: flex;
	flex-direction: column;
}

.admission--linkmenu  > div {
	width: 100%;
}
	
@media only screen and (min-width: 640px) {
	.admission--linkmenu {
		flex-direction: row;
		justify-content: space-between;
	}
	
	.admission--linkmenu  > div {
		width: calc(50% - 20px);
	}
}

#main {
	background-size: contain;
	background-repeat: no-repeat;
	background-position: 0px 41px;
}

@media only screen and (max-width: 767px) {
	#main {
		background-position: 0px 58px;
	}
}

#main #page-content {
	margin-top: 30%;
	background-color: #fff;
}

#page-content .carousel-control > .fa {  
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  font-size: 36px;
  color: #fafafa;
}

#page-content .carousel-control.left > .fa {
  left: -50px;  
}

#page-content .carousel-control.right > .fa {
  right: -50px;  
}

/* Popover */
.popover {
	z-index: 99;
	padding: 1px;
	border-color: #ccc;
	border-radius: 0;
	box-shadow: 0 4px 12px rgba(0,0,0,.2);
	color: #4A4949;
}

.popover-title {
	background: #eee;
	font-size: 16px !important;
	border-bottom: 3px solid #8ab8cf;
	border-radius: 0;
	font-weight: normal !important;
	text-align: center;
}

.popover.top > .arrow {
	border-top-color: #ccc;
}

.popover.right > .arrow {
	border-right-color: #ccc;
}

.popover.bottom > .arrow {
	border-bottom-color: #ccc;
}

.popover.left > .arrow {
	border-left-color: #ccc;
}

.popover a, .popover a:hover, .popover a:visited {
	color: #4d9cc2;
}

.curriculum {
	text-align: center;
}
.curriculum h3 {
	margin:0 0 8px;
	display: block;
	padding: 8px 2px;
	background: #eee;
	text-align: center;
}

@media screen and (min-width: 768px) {
	.curriculum ~ .curriculum {
		margin-top: 1.5em;
	}
	
	.header ~ .curriculum {
		margin-top: 0;
	}
}

@media screen and (max-width: 767px) {
	.curriculum h3 {
		margin-top: 24px;
	}
	
	.curriculum .cur-footer {
		margin-bottom: 24px;
	}
}
.cur-footer {
	margin:0 0 8px;
	display: block;
	padding: 8px 2px;
	background: #eee;
	text-align: center;
}

.curriculum a {
	display: block;
	font-size: 16px;
	padding-top: 8px;
	padding-bottom: 8px;
	padding-left: 24px;
	padding-right: 24px;
	color: #4A4949 !important;
	background: #8ab8cf;
	margin-bottom: 8px;
	border-left: 4px solid transparent;
	word-wrap: break-word;
	position: relative;
}

.curriculum a, .curriculum a > span {	
	text-decoration-line: underline;
	text-decoration-style: dotted;
}

.curriculum a:hover, .curriculum a > span:hover {
	text-decoration-style: solid;
}

.curriculum a:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f05a";
	position: absolute;
	left: 8px;
}

/**** GRID *****/

.curriculum-grid h3 {
	font-size: 21px;
	margin: 0;
}		
.curriculum-grid ul {
	list-style-type: none;
	padding: 0;
}

.curriculum-grid a, .curriculum-grid h3, .curriculum-grid div {
	display: block;
	color: #4A4949 !important;
	word-wrap: break-word;
	position: relative;
	padding: .5em 1.5em;
	text-align: center;
}

.curriculum-grid h3, .curriculum-grid div {
	background-color: #f1f1f1;
}

.curriculum-grid h3 {
	font-size: 1em;
	margin: 0;
	border-top: .5em solid white;
}

.curriculum-grid a, .curriculum-grid a > span {
	text-decoration-line: underline;
	text-decoration-style: dotted;
	border-left-width: 4px;
	border-left-style: solid;
	text-underline-position: under;
}

.curriculum-grid a:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f05a";
	position: absolute;
	left: 8px;
}

@media screen and (max-width: 767px) {
	.curriculum-grid li {
		margin-top: .5em;
	}
	
	.curriculum-grid h3 {
		margin-top: 1em;
		border-top: none;
	}
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
	.curriculum-grid li {
		margin-top: .5em;
	}
	
	.curriculum-grid h3 {
		margin-top: 1em;
		border-top: none;
	}
}

@media screen and (min-width: 768px) {
	.curriculum-grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-auto-rows: min-content;
		grid-gap: .5em;
	}

	.curriculum-grid ul {
		display: contents;
	}

	.curriculum-grid li {
		height: 100%;
		width: 100%;
	}

	.curriculum-grid a, .curriculum-grid h3 {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;
		width: 100%;
	}
	
	.curriculum-grid a:before {
		content: "";
	}
}

@media screen and (min-width: 960px) {
	.curriculum-grid {
		grid-template-columns: 1fr 1fr 1fr;
	}
	
	.curriculum-grid.curriculum-grid-4 {			
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
}

a.cur-red, .cur-red > .popover-title  {
	border-color: #cf8a8a;
	background: #f2dfdf;
}

a.cur-green, .cur-green > .popover-title {
	border-color: #8acf8a;
	background: #dff2df;
}

a.cur-blue, .cur-blue > .popover-title {
	border-color: #8aaccf;
	background: #dfe9f2;
}

a.cur-orange, .cur-orange > .popover-title {
	border-color: #cfc18a;
	background: #f2eedf;
}

a.cur-purple, .cur-purple > .popover-title {
	border-color: #a18acf;
	background: #e5dff2;
}

a.cur-pink, .cur-pink > .popover-title {
	border-color: #cf8acf;
	background: #f2dff2;
}

a.cur-turquoise, .cur-turquoise > .popover-title {
	border-color: #8acfcf;
	background: #dff2f2;
}

a.cur-red:before {
	color: #cf8a8a;
}

a.cur-green:before {
	color: #8acf8a;
}

a.cur-blue:before {
	color: #8aaccf;
}

a.cur-orange:before {
	color: #cfc18a;
}

a.cur-purple:before {
	color: #a18acf;
}

a.cur-pink:before {
	color: #cf8acf;
}

a.cur-turquoise:before {
	color: #8acfcf;
}

@media screen and (min-width: 768px) {

	.curriculum a:before {
		content: "";
	}

	a.cur-height-1_5 {
		min-height: 46px;
		padding-top: 12px;
	}
	
	a.cur-height-2 {
		min-height: 56px;
		padding-top: 18px;
	}
	
	a.cur-height-3 {
		min-height: 80px;
		padding-top: 30px;
	}
	
	a.cur-height-4 {
		min-height: 100px;
		padding-top: 40px;
	}
	
	a.cur-height-4x {
		min-height: 102px;
		padding-top: 41px;
	}
	
	a.cur-height-4_5 {
		min-height: 120px;
		padding-top: 50px;
	}
	
	a.cur-height-4_5x {
		min-height: 124px;
		line-height: 108px;
	}
			
	a.cur-height-4_5x > span {
		display: inline-block;
		vertical-align: middle;
		line-height: normal;
	}
	
	a.cur-height-6 {
		min-height: 144px;
		padding-top: 64px;
	}
	
	a.cur-height-6x {
		min-height: 144px;
		padding-top: 44px;
	}
	
	a.cur-height-8 {
		min-height: 168px;
		padding-top: 72px;
	}
 
	a.cur-height-8x {
		min-height: 188px;
		padding-top: 82px;
	}
 	
	a.cur-height-9 {
		min-height: 212px;
		padding-top: 94px;
	}
	
	a.cur-high-3 {
		min-height: 80px;
		padding-top: 30px;
	}

	a.cur-high-1_5 {
		min-height: 46px;
		padding-top: 12px;
	}
}

.popover span {
	border-left: 4px solid transparent;
	padding: 1px;
}

span.cur-inline-red  {
	border-color: #cf8a8a;
	background: #f2dfdf;
}

span.cur-inline-orange {
	border-color: #cfc18a;
	background: #f2eedf;
}

span.cur-inline-purple {
	border-color: #a18acf;
	background: #e5dff2;
}

span.cur-inline-pink {
	border-color: #cf8acf;
	background: #f2dff2;
}

span.cur-inline-turquoise {
	border-color: #8acfcf;
	background: #dff2f2;
}

span.cur-inline-green {
	border-color: #8acf8a;
	background: #dff2df;
}

span.cur-inline-blue {
	border-color: #8aaccf;
	background: #dfe9f2;
}


#main .nav-pills > li > a {
	font-size: 21px;
	padding: 10px;
}

#main .nav-pills > li > a, #main .nav-pills > li > a:focus {
	background-color: #fff;
}

#main .nav-pills li +li {
	margin-left: 7px;
}

#main .nav-pills > li a {
	border: 1px solid rgba(0,0,0,.1);
}

#main .nav-pills > li > a:hover {
	background-color: #f1f1f1;
}

#main .nav-pills > li.active > a, #main .nav-pills > li.active > a:focus, #main .nav-pills > li.active > a:hover {
	background-color: #f1f1f1;
}

#main .nav-tabs > li.active > a, #main .nav-tabs > li.active > a:focus, #main .nav-tabs > li.active > a:hover {
}

#main .nav-pills > li a::before {
	content: "";
	background: #7387ad;
	width: 88%;
	position: absolute;
	height: 2px;
	bottom: 6px;
	left: 6%;
	visibility: hidden;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}

#main .nav-pills > li:hover a::before {
	visibility: visible;
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}

#main .nav-pills > li.active a::before {
	transform: scaleX(1);
	-webkit-transform: scaleX(1);
	visibility: visible;
}

#page-content article .panel .list-group a, #page-content article .panel .list-group a:hover, #page-content article .panel .list-group a:focus,
#page-content article .flex-callout-video a, #page-content article .flex-callout-video a:hover, #page-content article .flex-callout-video a:focus {
	border-bottom: none !important;
}

#page-content article a[data-toggle=pill], #page-content article a[data-toggle=pill]:hover, #page-content article a[data-toggle=pill]:focus {
	border-bottom: 1px solid rgba(0,0,0,.1) !important;
}

#page-content article a[data-toggle=tab], #page-content article a[data-toggle=collapse], #page-content article a[data-toggle=collapse]:hover, #page-content article a[data-toggle=collapse]:focus,
#page-content article .btn-link, #page-content article .btn-link:hover, #page-content article .btn-link:focus {
	border-bottom: none !important;
}

#page-content article a[data-toggle=tab]:hover, #page-content article a[data-toggle=tab]:focus, #page-content article .nav-tabs.nav-zsb > li.active > a, #page-content article .nav-tabs.nav-zsb > li.active > a:focus, #page-content article .nav-tabs.nav-zsb > li.active > a:hover {
	border-bottom: 2px solid #7387ad !important;
}

#page-content article .curriculum a, #page-content article .curriculum-grid a {
  text-decoration-line: underline !important;
  text-decoration-style: dotted !important;
  border-bottom: none !important;
  line-height: 1.25;
}

.nav-tabs > li > a {
	border: none;
}

#page-content article .curriculum  a:hover, #page-content article .curriculum  a:focus, #page-content article .curriculum-grid  a:hover, #page-content article .curriculum-grid  a:focus {
  text-decoration-style: solid !important;
  border-bottom: none !important;
}

@media screen and (min-width: 768px) {
	#page-content article .curriculum a:before {
		content: "";
	}

	#page-content article a.cur-height-1_5 {
		min-height: 46px;
		padding-top: 12px;
	}
	
	#page-content article a.cur-height-2 {
		min-height: 56px;
		padding-top: 18px;
	}
	
	#page-content article a.cur-height-3 {
		min-height: 80px;
		padding-top: 30px;
	}
	
	#page-content article a.cur-height-4 {
		min-height: 100px;
		padding-top: 40px;
	}
	
	#page-content article a.cur-height-4x {
		min-height: 102px;
		padding-top: 41px;
	}
	
	#page-content article a.cur-height-4_5 {
		min-height: 120px;
		padding-top: 50px;
	}
	
	#page-content article a.cur-height-4_5x {
		min-height: 124px;
		line-height: 108px;
	}
			
	#page-content article a.cur-height-4_5x > span {
		display: inline-block;
		vertical-align: middle;
		line-height: normal;
	}
	
	#page-content article a.cur-height-6 {
		min-height: 144px;
		padding-top: 64px;
	}
	
	#page-content article a.cur-height-8 {
		min-height: 168px;
		padding-top: 72px;
	}
	
	#page-content article a.cur-height-9 {
		min-height: 212px;
		padding-top: 94px;
	}
	
	#page-content article a.cur-high-3 {
		min-height: 80px;
		padding-top: 30px;
	}

	#page-content article a.cur-high-1_5 {
		min-height: 46px;
		padding-top: 12px;
	}
}