body {
	/*font-family: "Arimo", "Open Sans", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;*/
	font-family: "Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;
}
body b, body strong {
	font-weight: bold;
}
table {
	margin-bottom: .5rem;
}
form {
	margin:initial;
}
.button {
	text-decoration:none !important;
}
.column, .columns {
	padding-left: .4rem;
	padding-right: .4rem;
}
.row .row {
	margin-left: -.5rem;
	margin-right: -.5rem;
}
.width-limit {
	max-width:61rem;
}
.show-print-only {
	display:none;
}
.tooltip[aria-hidden="true"] {
	display: none;
}
.tooltip {
    position: absolute;
    color: white;
    background-color: #525252;
    padding: 1rem;
    width: 20rem;
    z-index: 100;
    border-radius: 10px;
}

/* Top Panel - everything above the navbar; the gradient and basic panels */

.white-bar-right {
	/* Don't tell Castor I did this! */
	float:right;
	padding:10px;
	margin-top:1px;
	width: 100px;
	text-align:center;
}

.purple-bar.pb-parent-child, .purple-bar.pb-two-line {
	margin-bottom:0;
}

#topPanel, #advancedSearch {
	padding: 1.8rem;
	padding-bottom:0;
	margin-bottom: -2rem;
}

#topPanel h1, #topPanel h2, #topPanel h3, #topPanel h4, #topPanel h5, #topPanel h6 {
	color: #40095e;
}

#topPanel #advancedSearchLink {
	float: right;
	padding: 1em;
	font-weight: bold;
}

/* Select Panel - the main interface in the center of the Top Panel */
#advancedSearch, #advancedSearch fieldset, #selectPanel {
	margin-bottom: 5px;
}

#advancedSearch label, #advancedSearch legend, #selectPanel label {
	font-weight: bold;
	font-size: 0.75rem;
}

#selectPanel select {
	height:50px;
}

#modifySubjects, #modifySubjects a {
	background-color: #ECECEC;
	color: #6B6B6B;
	text-align:left;
	border-color: white;
}
#modifySubjects span.icon-l1 {
	background-color: #727272;
	border-color:white;
}

/* Subjects sub-panel */

#popularSearches {
	column-count: 2;
}

#subjects {
	column-count:3;
	display: none; /* just the default */
	border: 1px solid #E1E1E1;
}

#subjects, #popularSearches {
    column-gap: 0;
  	font-size: 0.8em;
    padding: 1rem;
}

@media only screen and (max-width: 999px) and (min-width: 750px) {
	#subjects, #popularSearches {
		column-count:2;
	}
}

@media only screen and (max-width: 750px) {
	#subjects, #popularSearches {
		column-count:1;
	}
}

#subjects ol, #popularSearches ol {
	list-style-type: none;
	padding: 0;
	display: table-cell;
}

#subjects li, #popularSearches li {
	padding: 0.25em;
}

.searchButton {
	transition:background-color 300ms ease-out;
	background-repeat: no-repeat;
	background-color: #727272;
	background-position: 1rem 0.4rem;
    border: none;
    text-align:left;
    padding-left:3rem;
	height: 48px;
}
.searchButton:hover, span.icon-l1:hover /*- .searchButton*/ {
	background-color: #510c76;
	cursor:pointer;
}

.searchButton + span.icon-l1 {
	height: 46px;
    width: 2.25rem;
    display: block;
    position: relative;
    top: -67px;
    left: 0;
    background-color: #595959;
    border-right: .0625rem solid #656565;
    transition:background-color 300ms ease-out;
}
.searchButton:hover + span.icon-l1, .searchButton + span.icon-l1:hover {
	background-color:#727272;
	cursor:pointer;
}

.searchButton + span.icon-l1 .icon-c2 {
	background-position: 0rem -5.5rem;
	background-image: url(https://s3.amazonaws.com/ust-style-static-files.aws.stthomas.edu/dist-castor3/img/castor-2-icons-white.svg);
	position: absolute;
    top: 50%;
    left: 50%;
    width: 1.375rem;
    height: 1.375rem;
    margin: -.6875rem 0 0 -.6875rem;
}

/* Navbar - the six items below the main search box */

.navbar {
  padding: 0;
  margin-bottom: 1.125rem;
  position: relative;
  float: left;
  width: 100%;
}
.navbar a {
  display: block;
  height: 100%;
  font-size: 0.875em;
  color: #f6f3fb;
}
.navbar a:hover, .navbar a.active-top-nav {
  color: white;
}

.navbar div {
	float: left !important;
	position: relative;
	text-align: center;
	height: 36px;
	line-height: 36px;
	border-right: 1px solid #7d6587;
	padding: 0;
	margin-left: 0em;
	margin-right: 0em;
	border-bottom: 1px solid #7d6587;
	border-top: 1px solid #7d6587;
	font-size: 100%;
}

#topNavBar, .site-navigation-wrap ul#topNavBar {
	margin-bottom: 1.125rem;
}

.full-button {
	width: 100%;
	text-align: center;
}

.grayButton {
	background-color: #727272 !important;
	text-align:center;
	border: white solid 1px;
	vertical-align: top;
}
.grayButton:hover {
	background-color: #510c76 !important;
}
.extraFeature .grayButton {
	height: 4rem;
	vertical-align: middle;
	font-size: 1rem;
}

#courseToggle {
	width:100%;
}
#courseToggle, .booklistButton {
    transition: none;
    margin-bottom: 0;
}
#courseToggle span.icon-l1, .booklistButton span.icon-l1 {
	background-color: #595959;
	border-right: .0625rem solid #656565;
}
#courseToggle:hover span.icon-l1, .booklistButton:hover span.icon-l1 {
	background-color: #727272;
}

/* Search Filters - listing of search criteria below Last Updated */

ul.advancedSearchFilters {
	list-style-type: none;
	margin:0;
	padding:0;
}
ul.advancedSearchFilters li {
	border: none;
	color: white;
	font-size: 0.75em;
	background-color: #595959;
	padding: 2px 7px;
	display: inline;
	border-radius: 2px;
}

/* Crosslist boxen */

.crosslister {
	/* border: black solid 2px; */
	margin: .5rem 0;
	padding: .75rem;
}
.crosslister:nth-child(even) {
	background-color: #bb5cff; /*rgb(204,170,204); #d39afc; #acd7e8*/
}
.crosslister:nth-child(odd) {
	background-color: #d39afc; /*#cacccf; /* #98999b;*/
}
.crosslister .course {
	margin: 2px;
}

/* Courses */

.course label {
	cursor: inherit;
}

.course {
	margin: 10px;
}

.anchor {
	position:relative;
	top:-100px;
}

.courseKeyInfo, .courseKeyInfo div {
	background-color: #727272;
  	color: white;
  	font-size: 1rem;
  	transition: background-color 300ms ease-out;
  	text-transform: none;
  	height: initial;
	font-family: truenoregular, Arial, sans-serif;
}

.courseKeyInfo:hover, .courseKeyInfo:hover div  {
	background-color: #510c76;
	color:white;
	cursor:pointer;
}

.courseKeyInfo {
	padding:0;
	border: 1px solid #727272;
}

.courseKeyInfo a {
	color: white;
}

.courseKeyInfo > * {
  	padding-top:10px;
  	padding-bottom:0.5rem;
}

.courseKeyInfo .columns {
	padding-left: .15rem;
	padding-right: .2rem;
}

.courseKeyInfo .numberAndCourse {
	background-color:white !important;
	border-right:none;
	font-size: .93rem;
}

.numberAndCourse span {
	color: #727272;
}

.numberAndCourse span:before {
    display: inline-block;
    width: .5em;
    height: .5em;
    margin-right: 0.2em;
    vertical-align: middle;
	text-align: center;
    -moz-border-radius: 100em;
	border-radius: 100em;
	content: "";
}

.numberAndCourse span.courseOpen:before {
	background-color: #399E5A; /* #94D600;*/
}
.numberAndCourse span.courseWaitlist:before {
	background-color: #FBBC05 ;
}
.numberAndCourse span.courseClosed:before {
	background-color: red;
}

.attribute-bubble {
	border: white 1px solid;
	border-radius: 10%;
	float: right;
	padding: 5px;
	margin: 2px;
	font-size: 0.8125rem;
	background-color: #510c76;
}

.courseOpen {
	color: #399E5A;
	font-weight: bold;
}

.courseClosed {
	color: red;
	font-weight: bold;
}

.courseWaitlist {
	color: #FBBC05;
	font-weight: bold;
}

.courseInvisible {
	color: dodgerblue;
	font-weight: bold;
}

.courseDetails {
	background-color: white;
}

.courseEnrollmentInfo {
	margin: 10px !important;
}

.blueLabel {
	color: #000000; /* Yes I am aware it is no longer blue. #1d75cc; */
	display: inline;
}

span.locationHover {
	text-decoration: underline;
}

@media only screen and (min-width: 64em) {
	.courseCalendar {
		table-layout: fixed;
	}
}

@media only screen and (max-width: 40em) {
	.courseKeyInfo, .courseKeyInfo div {
		font-size: .9rem;
	}
}

@media only screen and (min-width: 40em) and (max-width: 63.999999em) {
	.courseCalendar {
		table-layout:fixed;
	}
	.numberAndCourse {
	/*	height: 75px;*/
	}
}

/* Removed maplink icon to save space */
.mapLink {
	background: no-repeat center url(https://s3.amazonaws.com/ust-style-static-files.aws.stthomas.edu/dist-castor3/img/castor-2-icons-white.svg);
	background-position: -55px -18px;
	background-size: 130px;
	height: 18px;
	width: 18px;
	display: inline-block;
	position: relative;
	top: .25rem;
	left: .25rem;
}

.scheduler-table tr td, .scheduler-table tr th {
	padding: 0.2rem;
}
td.day {
	text-align:center;
}

td.time {
	font-size: 0.7rem;
	padding:0.5rem;
}

td.noTime {
	background-color: #dededf;
}

.calendarLocation {
	font-style:italic;
	font-size:0.8em;
}

.mailLink { /* This background image specially requested by Amy C.. */
	background: no-repeat center url(//static.aws.stthomas.edu/ust-style/img-supplement/classfinder-darkgray-envelope.png);
/*	background-position: -18px 0;
	background-size: 130px;*/
	height: 18px;
	width: 18px;
	display: inline-block;
	position: relative;
	top: .25rem;
	left: .25rem;
}

p.courseInfoHighlight {
    margin-bottom:0;
}

/* These styles are used to show a fancy checkbox. They hide the real checkbox and create a shadow box in its place. */
/* Hex Characters for Checkbox check content. */
/* Tick 2713 */
/* Heavy Tick 2714 */
/* Ballot 2717 */
/* Cross Mark 274C */
input[type=checkbox], input[type=radio] {
    display:none;
}

input[type=checkbox] + label:before, input[type=radio] + label:before {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    margin-right: 0.5em;
    vertical-align: middle;
	text-align: center;
    line-height: 130%;
    cursor: pointer;
    border: white 1px solid;
    box-shadow: 0 0 1px 1px #595959;
    /*-moz-border-radius: 100em;
	border-radius: 100em;*/
	cursor: pointer;
	content: "";
	position:relative;
	top:-1px; /* Fixes cut-off-circle issue for some reason. */
	border-radius: 0;
	transition: background-color 0.8s, border-radius 0.8s;
}

input[type=checkbox] + label:hover:before, input[type=radio] + label:hover:before {
	background-color: #b99dc8;
	border-radius: 50%;
}

input[type=checkbox]:checked + label:before, input[type=radio]:checked + label:before {
    /*content: "\2713";*/
    color: #c8c8c9;
    background-color: #510C76;
}

/* Full Course (fka Scheduler) View */

@media only screen and (min-width: 40em) {
	td.schedule-cell {
		white-space: nowrap;
		margin:0;
	}
}

.scheduler-table-container {
	overflow-x: scroll;
}
/* This approach looks "cleaner" in some respects but forces scroll much more often. */
/*.scheduler-table {
	min-width: max-content;
	width:100%;
}*/
.scheduler-table * {
	word-break: normal;
}

/* Print */

@media only print {
	#topPanel, #topNavBar, #advancedSearchFilters, #courseToggle, .booklistButton {
		display:none;
	}
	a[href]:after {
    	content: none !important;
  	}
	.courseKeyInfo .column, .courseKeyInfo .columns {
		width:12%;
		display:block !important;
		word-wrap:break-word;
	}
	.show-print-only {
		display:block;
	}

}
