/*
Theme Name: USF Catalog
Author: USF Web Services

Author URI: http://www.sf.edu
Description: 2019 USF Catalog Site
Version: 1.0
*/

html 

body {
  margin: 0;
  font-size: 16px;
  font-family: sans-serif;
  box-sizing: border-box;
  color: #444;
}

body * {
  box-sizing: inherit;
}


/*********************************
  CONTAINER AND GRID
*********************************/

[class*="col-"] {
  float: left;
  min-height: 1px;
  width: 100%;
}

.container {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.col-xs-1 { width: 8.3333333333333%; }
.col-xs-2 { width: 16.6666666666666%; }
.col-xs-3 { width: 25%; }
.col-xs-4 { width: 33.3333333333333%; }
.col-xs-5 { width: 41.6666666666666%; }
.col-xs-6 { width: 50%; }
.col-xs-7 { width: 58.3333333333333%; }
.col-xs-8 { width: 66.6666666666666%; }
.col-xs-9 { width: 75%; }
.col-xs-10 { width: 83.3333333333333%; }
.col-xs-11 { width: 91.6666666666666%; }
.col-xs-12 { width: 100%; }

@media (min-width: 768px) {
  .container { width: 768px; padding: 0; }
  .col-sm-1 { width: 8.3333333333333%; }
  .col-sm-2 { width: 16.6666666666666%; }
  .col-sm-3 { width: 25%; }
  .col-sm-4 { width: 33.3333333333333%; }
  .col-sm-5 { width: 41.6666666666666%; }
  .col-sm-6 { width: 50%; }
  .col-sm-7 { width: 58.3333333333333%; }
  .col-sm-8 { width: 66.6666666666666%; }
  .col-sm-9 { width: 75%; }
  .col-sm-10 { width: 83.3333333333333%; }
  .col-sm-11 { width: 91.6666666666666%; }
  .col-sm-12 { width: 100%; }
}

@media (min-width: 1024px) {
  .container { width: 991px; }
  .col-md-1 { width: 8.3333333333333%; }
  .col-md-2 { width: 16.6666666666666%; }
  .col-md-3 { width: 25%; }
  .col-md-4 { width: 33.3333333333333%; }
  .col-md-5 { width: 41.6666666666666%; }
  .col-md-6 { width: 50%; }
  .col-md-7 { width: 58.3333333333333%; }
  .col-md-8 { width: 66.6666666666666%; }
  .col-md-9 { width: 75%; }
  .col-md-10 { width: 83.3333333333333%; }
  .col-md-11 { width: 91.6666666666666%; }
  .col-md-12 { width: 100%; }
}

@media (min-width: 1190px) {
  .container { width: 1100px; }
  .col-lg-1 { width: 8.3333333333333%; }
  .col-lg-2 { width: 16.6666666666666%; }
  .col-lg-3 { width: 25%; }
  .col-lg-4 { width: 33.3333333333333%; }
  .col-lg-5 { width: 41.6666666666666%; }
  .col-lg-6 { width: 50%; }
  .col-lg-7 { width: 58.3333333333333%; }
  .col-lg-8 { width: 66.6666666666666%; }
  .col-lg-9 { width: 75%; }
  .col-lg-10 { width: 83.3333333333333%; }
  .col-lg-11 { width: 91.6666666666666%; }
  .col-lg-12 { width: 100%; }
}

@media print {
  .container { width: 100%; }
  .col-print-1 { width: 8.3333333333333%; }
  .col-print-2 { width: 16.6666666666666%; }
  .col-print-3 { width: 25%; }
  .col-print-4 { width: 33.3333333333333%; }
  .col-print-5 { width: 41.6666666666666%; }
  .col-print-6 { width: 50%; }
  .col-print-7 { width: 58.3333333333333%; }
  .col-print-8 { width: 66.6666666666666%; }
  .col-print-9 { width: 75%; }
  .col-print-10 { width: 83.3333333333333%; }
  .col-print-11 { width: 91.6666666666666%; }
  .col-print-12 { width: 100%; }
}

/*********************************
  CONVENIENCE CLASSES
*********************************/

.pull-right {
  float: right;
}

.pull-left {
  float: left;
}

.clear, .clearfix {
  clear: both;
}

.img-responsive {
  max-width: 100%;
}

.sr-only {
  height: 0;
  width: 0;
  overflow: hidden;
  position: absolute;
  left: -10000px;
}

/* -only classes */
.lg-only, .md-only, .sm-only, .xs-only { display: none; }
@media (min-width: 1190px) { .lg-only { display: block; } }
@media (min-width: 1024px) and (max-width: 1189px) { .md-only { display: block; } }
@media (min-width: 768px) and (max-width: 1023px) { .sm-only { display: block; } }
@media (max-width: 767px) { .xs-only { display: block; } }

/* -up classes */
.md-up, .sm-up { display: none; }
@media (min-width: 1024px) { .md-up { display: block; } }
@media (min-width: 768px) { .sm-up { display: block; } }

/* -down classes */
.md-down, .sm-down { display: none; }
@media (max-width: 1189px) { .md-down { display: block; } }
@media (max-width: 1023px) { .sm-down { display: block; } }

@media print {
  .hidden-print {
    display: none;
  }
}


/*********************************
  HEADER
*********************************/

.logo-bar {
  padding: 2em;
  background-color: #043965;
}

header h1 {
  font-weight: 200;
  line-height: 1;
  color: #043965;
  margin: 1.5em 2rem;
}

/*********************************
  SIDEBAR
*********************************/

@media (max-width: 767px) {
  .sidebar-controls {
    padding: 2em 2em 0 2em;
  }
}

@media (min-width: 768px) {
aside.content {
	background-color: #eee;
	font-size: .9em;
	line-height: 1.5em;
	padding: 1em;
	border: 1px solid #ccc;
	}

aside.content a {
	text-transform: lowercase;
	color: #043965;
	border-bottom: 1px dotted #043965;
	font-size: 1em;
	padding: 0;
	display: inline;
	}
	


.sidebar h3 {
    font-family: serif;
    font-weight: 200;
	color: #043965;
	font-size: 1.5em;
	border-bottom: 1px solid #DFDFDF;
	margin-right: 1em;
	}

  .sidebar ul {
    padding: 0;
    list-style: none;
    overflow: hidden;
    margin: 0;
  }

  .sidebar a {
    font-size: .75em;
    font-weight: bold;
    text-decoration: none;
    text-transform: uppercase;
    display: block;
    color: #212121;
    padding: .75em 3em .75em 1em;
    transition: background-color .2s linear;
  }

  .sidebar ul.subnav {
    display: none;
  }

  .sidebar li {
    position: relative;
  }

  .sidebar .sidebar-cat.current {
    display: block;
    background-color: #ECECEE;
  }

  .sidebar li li a {
    font-weight: bold;
    padding: .75em 3em;
    background-color: #FFF;
  }

  .sidebar li li a:active {
  	background-color: #ECECEE;
  	}
	
  .sidebar li.current {
    border-bottom: 2px solid #043965;
  }

  .sidebar li.current>a {
    font-weight: normal;
    background-color: #043965;
    color: #fff;
  }

  .sidebar li.current>ul {
    display: block
  }

  .sidebar li.current>ul {
    height: auto;
  }

  .sidebar-root:not(.current)>a {
    display: none;
  }

  .sidebar-cat>ul {
    display: none;
  }

  .sidebar li li.current>a {
    color: #212121;
    font-weight: bold;
    border-left: .5em solid #043965;
    padding-left: 2.5em;
    background-color: #ECECEE;
  }

  .sidebar li.sidebar-cat>a:after {
    content: '+';
    font-weight: normal;
    font-size: 2em;
    position: absolute;
    right: .25em;
    top: .125em;
    text-align: center;
    width: 1em;
  }

  .sidebar li.sidebar-cat.current>a:after {
    content: '-';
  }

  .sidebar .collapsed-link {
    display: none;
  }
  
  .sidebar label {
  	line-height: 1.5em;
  	}

}


/*********************************
  DEPARTMENT SIDEBAR
*********************************/

.dept-sidebar {
	font-size: .85em;
	line-height: 1.5em;
}

.dept-sidebar h2, .sidebar h2 {
	color: #043965;
	line-height: 1.5em;
}




/*********************************
  MOBILE NAV
*********************************/

/* Mobile Menu Visual Styles */

@media (max-width: 767px) {

  .sidenav {
    width: 100%;
  }

  .sidenav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    background-color: #043965;
  }

  .sidenav li {
    padding: 1em;
  }

  .sidenav a {
    color: #fff;
    text-decoration: none;
  }

  .mobile-menu-toggle {
    background-color: #6D6E72;
    color: #fff;
    padding: 1em;
    font-size: 1rem;
    border: 0;
    width: 100%;
  }

  .mobile-menu-close {
    position: absolute;
    right: 0;
    background: transparent;
    border: 0;
    width: 70px;
    padding: 0;
  }

  .mobile-menu-back {
    width: 90%;
    background-color: transparent;
    text-align: left;
    padding: 1em 0;
    margin: 0 1em;
    border: 0;
    border-bottom: 1px solid #fff;
  }

  .mobile-menu-back svg {
    width: 20px;
    float: left;
  }

  .mobile-menu-back span {
    display: inline-block;
    padding: .6em;
    color: #fff;
    font-size: 1rem;
  }

  /* Mobile Menu Behavioral Styles */

  .sidenav {
    position: relative;
    overflow: hidden;
  }
  .sidenav ul {
    position: absolute;
    top: 0;
    padding-top: 4em;
    display: none;
    transition: left 200ms linear;
    width: 100%;
    left: 100%;
  }
  .mobile-menu-controls {
    display: none;
    position: relative;
    width: 100%;
    height: 0;
    z-index: 1;
  }

}

/*********************************
  CONTENT
*********************************/

article {
  padding: 0 3em;
  line-height: 1.6;
}

article h1 {
  color: #043965;
  font-family: serif;
  font-weight: 200;
  font-size: 2em;
  margin-top: 0;
  border-bottom: 1px solid #DFDFDF;
}

article h2 {
  text-transform: uppercase;
  color: #043965;
  font-weight: 300;
  font-size: 1.375em;
}

article a {
	color: #043965;
	border-bottom: 1px dotted #043965;
	text-decoration: none;
}

article a:hover {
	border: 0;
	}
	
article.programs {
	font-size: .9em;
	}

article p.faculty-member {
	font-size: .9em;
	}


@media (min-width: 768px) {
  main {
    margin-top: 3em;
    margin-bottom: 3em;
  }
}

@media (max-width: 767px) {
  article {
    padding: 2em;
  }
}




/*********************************
  COURSES
*********************************/

.course-list {
  list-style: none;
  padding: 0;
}

.course-list li {
	border-bottom: 1px solid #CCC;
	padding: .5em 0;
  position: relative;
}

.course-link {
  text-decoration: none;
  color: inherit;
  display: block;
}

a.course-link {
	border-bottom: 0;
  }

a.course-link>:after{
  content: '+';
  font-weight: normal;
  font-size: 1.25em;
  position: absolute;
  right: .25em;
  text-align: center;
  width: 1em;
  }

  li.open a.course-link>:after{
    content: '-';
  }

  .sidebar li.sidebar-cat.current>a:after {
    content: '-';
  }






.course-details {
  display: none;
  height: 0;
  overflow: hidden;
  transition: height 200ms ease;
}

/*********************************
  COURSES SIDEBAR
*********************************/

.courses-sidebar label {
  position: relative;
  display: block;
  line-height: 1.5em;
}

.courses-sidebar {
	border-right: 0;
	}

.courses-sidebar input, .courses-sidebar select {
  width: 100%;
  font-size: .9rem;
}

.courses-sidebar select {
	display: block;
	color: #444;
	line-height: 1.3;
	padding: .6em 1.4em .5em .8em;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0;
	border: 1px solid #aaa;
	box-shadow: 0 1px 0 1px rgba(0,0,0,.04);
	border-radius: .5em;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'),
	  linear-gradient(to bottom, #ffffff 0%,#e5e5e5 100%);
	background-repeat: no-repeat, repeat;
	background-position: right .7em top 50%, 0 0;
	background-size: .65em auto, 100%;
}

.courses-sidebar input {
  padding: .5em 1em;
}

.courses-sidebar .search-btn {
  position: absolute;
  bottom: 0;
  right: 0;
  height: 3em;
  width: 3em;
  padding: .5em;
  background-color: transparent;
  border: 0;
  border-left: 1px solid #ccc;
}

.faculty input[type="checkbox"] {
line-height: 1.3;
	padding: .8em;
	box-sizing: border-box;
	margin: 0;
	border: 1px solid #aaa;
	box-shadow: 0 1px 0 1px rgba(0,0,0,.04);
	border-radius: .5em;
	}


@media (max-width: 767px) {
  .courses-sidebar {
    margin: 0 2em;
  }

}

/*===========================================
 	TABLE STYLES
  ===========================================*/

.table {
	border-collapse: collapse;
	width: 100%;
	}
	

.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  padding: 8px;
  line-height: 1.6em;
  vertical-align: top;
  border-top: 1px solid #dddddd;
}

.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #dddddd;
}

.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
  border-top: 0;
}

.table > tbody + tbody {
  border-top: 2px solid #dddddd;
}

.table .table {
  background-color: #ffffff;
}

.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
  padding: 5px;
}

.table-bordered, .table-bordered-all {
  border: 1px solid #dddddd;
}


.table-bordered-all > thead > tr > th,
.table-bordered-all > tbody > tr > th,
.table-bordered-all > tfoot > tr > th,
.table-bordered-all > thead > tr > td,
.table-bordered-all > tbody > tr > td,
.table-bordered-all > tfoot > tr > td {
  border: 1px solid #dddddd;
}

.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border-bottom-width: 2px;
}

.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: #f9f9f9;
}

.table-hover > tbody > tr:hover {
  background-color: #f5f5f5;
}

table col[class*="col-"] {
  position: static;
  float: none;
  display: table-column;
}

table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  float: none;
  display: table-cell;
}

.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
  background-color: #f5f5f5;
}

.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
  background-color: #e8e8e8;
}

.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
  background-color: #dff0d8;
}

.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
  background-color: #d0e9c6;
}

.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
  background-color: #d9edf7;
}

.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
  background-color: #c4e3f3;
}

.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
  background-color: #fcf8e3;
}

.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
  background-color: #faf2cc;
}
.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
  background-color: #f2dede;
}
.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
  background-color: #ebcccc;
}

.table th {
	text-align: left;
}	

.table-smaller {
	font-size: .9em;
}

.table-centered td {
	text-align: center;
	}


.centered-cell {
  text-align: center;
}



/*≥ 768px   .grid-width-md-* */
@media screen and (min-width: 48em) {

  .table-responsive > .table > thead > tr > th,
  .table-responsive > .table > tbody > tr > th,
  .table-responsive > .table > tfoot > tr > th,
  .table-responsive > .table > thead > tr > td,
  .table-responsive > .table > tbody > tr > td,
  .table-responsive > .table > tfoot > tr > td {
    white-space: nowrap;
  }
  .table-responsive > .table-bordered {
    border: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:first-child,
  .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  .table-responsive > .table-bordered > thead > tr > td:first-child,
  .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-left: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:last-child,
  .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  .table-responsive > .table-bordered > thead > tr > td:last-child,
  .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-right: 0;
  }
  .table-responsive > .table-bordered > tbody > tr:last-child > th,
  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
  .table-responsive > .table-bordered > tbody > tr:last-child > td,
  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
    border-bottom: 0;
  }

}

/*********************************
  ACADEMIC PROGRAMS
*********************************/

.back-to-button {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
}
.back-to-button svg {
  margin-right: .5em;
}


/*********************************
  FOOTER
*********************************/

.top-nav {
  background-color: #6D6E72;
  padding: .75em 1.5em;
}

.top-nav ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.top-nav li {
  margin-right: 1.5em;
  float: left;
}

.top-nav a {
  color: #fff;
  text-decoration: none;
}

.copyright {
  float: right;
}

@media (max-width: 767px) {
  .copyright {
    margin-top: 1em;
    float: none;
  }
}

.footer-bar {
  padding: 2em;
  background-color: #043965;
  color: #fff;
  text-transform: uppercase;
  font-size: 0.75em;
}

@media print {
  .sidebar {
    display: none;
  }
}
