/*
   Licensed to Jasig under one or more contributor license
   agreements. See the NOTICE file distributed with this work
   for additional information regarding copyright ownership.
   Jasig licenses this file to you under the Apache License,
   Version 2.0 (the "License"); you may not use this file
   except in compliance with the License. You may obtain a
   copy of the License at:

   http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on
   an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   KIND, either express or implied. See the License for the
   specific language governing permissions and limitations
   under the License.
*/

/* BEDEWORK 3.10 GLOBAL STYLESHEET
   This file is loaded after Bootstrap and jQuery CSS files
   and before bwThemeResponsive-??.css (where responsive overrides
   can be placed).

   This theme is not quite mobile first: this file holds global
   styles, bwThemeResponsive-00-Tiny.css file is used to hold
   very mobile specific overrides, and so forth. See the comments
   in the bwThemeResponsive-??.css files.  */

@import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,200i,300,300i,400,400i,600,600i,700,700i,900,900i');

body {
  margin: 0;
  padding: 0;
  font-size: 18px;
  overflow: scroll;
  background-color: white;
  color: #444;
  font-family: "Source Sans Pro", sans-serif;
}

/* GENERAL SELECTORS */
a {
  color: #ab2328;
  text-decoration: none;
}
a:hover {
  color: black;
  text-decoration: underline;
 }
.clear {
  display: block;
  clear: both;
  height: 0px;
}
h1 span.date {
  margin: 0 .6em;
  color: #ddb500;
  font-weight: normal;
}
h3 {
  letter-spacing: 1px;
  font-size: 22px;
}
h4 {
  font-size: 1em;
  margin: 0;
  line-height: 1.5em;
}
em {
  font-style: italic;
}
strong {
  font-weight: 600;
}
label {
  cursor: pointer;
  display: inline; /* override bootstrap */
}
.invisible {
  display: none;
}
.form-group {
  margin-bottom: 0;
}

/* HEADER, LOGO, and TOP LINKS */
#header {
  position: relative;
  margin: 0 0 16px 0;
}
#masthead {
  margin: 10px 0 0 0;
  padding: 0;
  background-color: #e2231b;
  color: white;
}
#masthead #siteTitleAndNav {
  margin: 0 1em 0 0;
}
#masthead h1 {
  font-size: 38px;
  margin: 5px 0 0 -20px;
  padding: 12px 8px 8px 6px;
}
#masthead a {
  color: #fff;
}
#masthead a:hover {
  color: #eee;
  text-decoration: none;
}
#masthead ul {
  margin: 0.5em 0 0 0;
  padding: 0;
}
#masthead li {
  display: inline;
  padding: 0 0.5em;
  border-right: 1px solid #bbb;
}
#masthead li.last {
  padding: 0 0 0 0.5em;
  border-right: none;
}
/* Logo */
#siteLogo {
  background-color: #e2231b;
  color: white;
  display: block;
  float: right;
  height: 57px;
  padding: 9px 12px 12px;
}
#rpiLogo {
  background: none repeat scroll 0 0 white;
  float: right;
  max-width: 300px;
  padding: 10px;
  width: 100%;
}
/* Three-line menu icon */
#mobileMenu {
  float: right;
  margin: 14px;
  padding: 6px;
}
.navbar-toggle .icon-bar {
  background-color: #333;
}
/* RPI Bar */
#rpi-bar {
  background-color: #424242;
  color: white;
  height: 24px;
  padding-left: 0;
  padding-top: 3px;
  text-align: left;
}
#rpi-bar .container {
  padding: 0;
}
#rpi-bar #nav-rpi {
  cursor: pointer;
  display: block;
  float: right;
  margin-right: 1em;
}
#rpi-bar a {
  color: white;
}
/* RPI Mega Menu */
#rpi-mega {
  background: none repeat scroll 0 0 #fff;
  border-bottom: 1px solid #ccc;
  display: none;
  margin: 0;
  padding: 0;
  position: absolute;
  width: 100%;
  z-index: 1000;
}
#rpi-mega-inner {
  margin: 1em 1em 1em 1.5em;
}
#rpi-mega #rpi-mega-menu {
  margin: 0;
  padding: 0;
}
#rpi-mega #rpi-mega-menu li {
    float: left;
    margin-right: 2em;
    width: 15%;
}
#rpi-mega li {
    list-style: outside none none;
}
#rpi-mega #rpi-mega-menu li ul {
  padding: 8px 0 10px 0;
}
#rpi-mega #rpi-mega-menu li li {
  float: none;
  line-height: 1.1em;
  margin: 0 0 0.5em;
  width: auto;
}
#rpi-mega .rpi-mega-menu-header {
  display: block;
  background: none repeat scroll 0 0 #ccc;
  margin-left: -8px;
  padding: 2px 8px;
}

/* ERRORS */
#errors {
  margin: 0.5em 0;
  padding: 0.5em;
}
#errors p {
  margin: 5px 0;
}
#errors .ui-icon-alert {
  float: left;
  margin-right: .3em;
}

/* FEATURED EVENTS TRIPTYCH */
#feature {
  white-space: nowrap;
  overflow: hidden;
}
#feature img.img-responsive {
  width: 33.3%;
  float: left;
}
#feature img.singleFeatureMode {
  width: 100%;
}

/* COLUMNS */
/* Blocks within these columns are represented in sections below.
   These are provided here for global overrides. */
#rightColumn {
  background-color: #f9f9f9;
  padding-top: 1em;
  padding-bottom: 2em;
  font-size: 0.9em;
}
#rightColumn label {
  display: block;
}

/* DATE PICKER */
#bwDatePicker {
  margin-top: 1em;
}
#bwDatePickerTop {
  padding: 1em 1em 0.5em 1em;
  background-color: #f9f9f9;
}
#bwDatePickerTopInput {
  padding: 0.5em;
  height: 2.5em;
}
#bwDatePicker label,
#bwDatePickerTop label{
  font-weight: normal;
}
#bwDatePickerTodayLink,
#bwDatePickerTopTodayLink {
  float: right;
  margin: 0;
  padding: 0;
}
#bwDatePickerTodayLink li,
#bwDatePickerTopTodayLink li {
  float: left;
  list-style: none outside none;
  margin: 0 0 0 4px;
  padding: 0 4px 0 0;
  border-right: 1px solid #888;
}
#bwDatePickerTodayLink li.last,
#bwDatePickerTopTodayLink li.last{
  padding: 0;
  border-right: none;
}
#bwDatePickerRangeLinks {
  float: right;
}
#bwDatePickerLinks {
  margin-bottom: 3em;
}
#bwDatePickerLinks ul {
  margin: 4px 2px 0 0;
  padding: 0;
}
#bwDatePickerLinks li {
  float: left;
  list-style: none outside none;
  margin: 0 0 0 4px;
  padding: 0 4px 0 0;
  border-right: 1px solid #888;
  line-height: 0.9em;
}
#bwDatePickerLinks li.last {
  padding: 0;
  border-right: none;
}

/* SEARCH BOX */
#bwBasicSearch {
  margin-top: 4px;
}
#bwBasicSearch .form-control {
  display: inline-block;
}
#bwSearchButtons {
  text-align: right;
}
#searchSubmit {
  position: relative;
  right: 40px;
  border: none;
  background: unset;
}
#searchSubmit .search-icon::before {
  content: "🔎";
}
#searchSubmit.btn { /* deprecated */
/*  background-color: white;
  border: none; */
}
#searchSubmit .glyphicon { /* deprecated */
/*  top: -6px;
  opacity: 0.4; */
}
.bwa-label {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
}

.bwFieldName {
}

/* Date Picker and Search Box Form Control styles
   (Bootstrap overrides) */
.form-control {
  display: inline-block;
  height: 30px;
}
.btn-default {
  background-color: #eee;
  border-color: #ddd;
  color: #666;
}
.btn:hover, .btn:focus {
  background-color: #ddd;
  border-color: #ccc;
  color: #555;
}
.bwInputs {
  white-space: nowrap;
}

/* MENU EXPLORER */
.bwMenuTitle {
  cursor: pointer;
  margin-top: 1em;
  text-transform: uppercase;
  color: #ab2328;
}
.bwMenuTree {
  margin: 0.5em 0 0 1em;
  /*white-space: nowrap;
  font-size: 1.2em;*/
}
.bwMenuTree ul {
  margin: 0;
  padding: 0;
}
.bwMenuTree li {
  list-style: none;
  margin-left: 14px;
  margin-bottom: 4px;
}
.bwMenuTree li.hasChildren {
}
.bwMenuTree li ul {
  margin-top: 4px;
}
.bwMenuTree li.selected {
  font-weight: bold;
}
.bwMenuTree li.selected li {
  font-weight: normal;
}
.bwMenuTree li.closed ul {
  display: none;
}
/*.bwMenuTree a {
  color: #335080;
}*/
.bwMenuTree a:hover {
  color: #222;
}
.bwMenuTree .menuTreeToggle {
  display: block;
  float: left;
  margin-right: 2px;
  margin-left: -14px;  
  width: 10px;
  height: 10px;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
}
.caret {
  border-left: 4px solid rgba(0, 0, 0, 0);
  border-right: 4px solid rgba(0, 0, 0, 0);
  border-top: 4px solid;
  height: 0;
  width: 0;
  display: inline-block;
  margin-left: 2px;
  vertical-align: middle;
}
.caret-right {
  border-top: 4px solid rgba(0, 0, 0, 0);
  border-bottom: 4px solid rgba(0, 0, 0, 0);
  border-left: 4px solid;
}

/* VIEWS LISTING */
ul.viewList {
  margin: 0 1em;
  border-top: 1px solid #fff;
}
ul.viewList li {
  border-bottom: 1px solid #fff;
}
ul.viewList li a {
  font: bold 1.2em/2 Arial, sans-serif;
  color: #335080;
}
ul.viewList li a.current {
  color: #84c03c;
}
ul.viewList li a:hover {
  color: #ddb500;
}
ul.viewList li span {
  font-weight: bold;
  margin-left: 10px;
  padding: 4px;
  font-size: 1.5em;
  cursor: pointer;
}

/* LOWER LEFT MENU CONTENT */
#rightColumn h2 {
  margin: 2em 0 .25em 0;
  font-size: 1.8em;
}
.sideLinks {
  padding-left: 2em;
}

/* EVENT LIST, DATE TITLE and NAVIGATION */
.secondaryColHeader h2 {
  font-size: 2em;
  font-weight: 400;
}
#bwNavLinks {
  padding: 16px 0 50px 4px;
  margin: 0;
}
#bwNavLinks h3 {
  float: left;
  margin: 4px 0 0 8px;
}
a#prevViewPeriod,
a#nextViewPeriod {
  float: left;
  font-size: 18px;
  padding: 0 8px 4px 8px;
  margin: 0 1px 0 0;
}
#expSubLinksList {
  margin: 1em;
  display: block;
}
ul#calDisplayOptions {
  float: right;
  cursor: pointer;
  margin: 0;
}
ul#calDisplayOptions li {
  float: left;
  list-style: none;
  margin: 0 0.5em 0 0;
}
#calDisplayOptions li:first-child {
   border-right: 1px solid #bbb;
   padding-right: 0.5em;
 }
ul#calDisplayOptions li a {
  margin: 0;
  text-decoration: none;
}

/* UPCOMING EVENTS LIST */
#listEvents {
  margin: 0.5em 0 0 0;
}
#listEvents ul {
  padding: 0;
  list-style: none;
}
#listEvents li {
  clear: both;
  display: block;
  margin-bottom: 0.5em;
  padding: 0.5em 0 0.5em 1em;
}
#listEvents .eventListTime {
  display: none;
}
#listEvents li.even {
  /* don't use nth-child(2n) here - an option date row can be included
     in the listing */
  /*background-color: #fff;*/
}
#listEvents li.bwDateRow {
  margin: 2em 0;
  border-top: 1px #ddd solid;
  border-left: 0.4em #d6001c solid;
  padding: 0.885em 0.6em 0;
  line-height: 1.25em;
}
#listEvents li.bwDateRow h2 {
  font-size: 1em;
  font-weight: normal;
}
#listEvents li.bwevent {
  cursor: pointer;
}
#listEvents .eventListContent {
  margin-left: 0;
}
.clickedEvent {
  /* briefly displayed when an listed event is clicked or touched.
     both eventList and eventListRange (day/week/month) - ede86a is RPI yellow */
  background-color: #ffde8c !important;
}
#listEvents .bwSummary {
  font-weight: 600;
}
#listEvents .bwSummary a {
  color: black;
  padding-bottom: 3px;
}
#listEvents .bwSummary a:hover {
  text-decoration: none;
  border-bottom: 1px solid #54585a;
  color: #54585a;
}
#listEvents .withImage,
#listEvents .withBlank {
/*  margin-left: 96px; */
}
/* deprecated:
#listEvents .eventThumbLink {
  max-height: 100px;
  overflow: hidden;
  display: block;
  float: right;
} */
#listEvents img.eventThumb {
  margin: 0 0.5em;
  float: right;
  max-height: 100px;
  width: auto;
}
#listEvents .bwListLocation {
  margin-top: 3px;
}
#bwStartDateContainer {
  margin: -4px 0 14px 0;
}
.calFilterContainer {
  margin: 0;
  padding: 0;
  display: none; /* default */
}
#leftColumn .eventFilterInfo {
  background-color: #f9f9f9;
  border-bottom: 2px solid #FFF;
  padding: 1em;
}
.bwfilter {
  background-color: #FFDE8C;
  border: 1px solid #DDDDDD;
  color: #000000;
  padding: 2px 4px;
  white-space: nowrap;
}
.bwfilter a {
  font-size: 12px;
  margin-left: 4px;
}
.bwfilter a:hover {
  text-decoration: none;
}
#bwResultSize {
  font-style: italic;
  margin: 0 -15px;
  padding: 0 0 1em 1em;
  background-color: #f9f9f9;
}
#loadMoreEventsLink {
  clear: left;
  margin: 2em 0;
}
#noEventsToDisplayText {
  clear: left;
  margin: 2em 0;
  padding: 0.5em;
  background-color: #f9f9f9;
}
#continueFrom {
  font-size: 1.2em;
  margin: 1em 0;
}

/* DAY, WEEK, MONTH EVENTS LIST */
table.eventList {
  border-collapse: collapse;
  width: 100%;
  margin-left: 2px;
}
table.eventList tr td {
  padding: .7em .5em;
  font-size: .9em;
  border-bottom: 1px solid #c5c5c5;
}
table.eventList tr td.dateRow a {
  color: #335080;
  font-weight: bold;
}
table.eventList tr td.time {
  text-align: center;
  background: #ececec;
  width: 8em;
  white-space: nowrap;
}
table.eventList tr td.description a {
  color: #333;
}
table.eventList tr td.icons {
  width: 5em;
}
.icons {
  float: right;
  z-index: 20;
}
.icons img {
  vertical-align: inherit;
}
.socialIcons {
  margin-left: 1em;
}
.socialIcons a {
  display: inline-block;
  padding: 0.5em 1em 0 0;
}
table.eventList tr td.fillrow {
  border-bottom: none;
  height: 1px;
}
table.eventList tr td.eventFilterInfo {
  background-color: #eee;
  font-size: 1em;
  border-bottom: 1px solid #fff;
}
table.eventList tr td.noEventsCell {
  border-bottom: none;
  padding-top: 2em;
}
table.eventList tr td span.displayGroupName,
table.eventList tr td span.displayFilterName {
  font-weight: bold;
}
table.eventList ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
table.eventList li {
  padding: 1px 0;
}
table.event-list {
  border-collapse: collapse;
  width: 100%;
  background: #ececec;
}
a#allView:visited, a#allView {
  color: #273e6d;
}
/*
div.double_center_column {
 float: left;
 width: 725px;
 margin-left: 1px;
}*/
div.groupDesc {
  display: block;
  padding: .3em 0 .1em 5em;
}

/* CALENDAR GRID */
#gridCalendarTable {
  width: 100%;
  font-size: 0.9em;
  margin: 0px;
  padding: 0px;
  border-top: 1px solid #666;
  border-bottom: 1px solid #aaa;
  border-left: 1px solid #aaa;
  border-right: 1px solid #aaa;
}
#gridCalendarTable th.dayHeading {
  width: 14%;
  text-align: center;
  vertical-align: middle;
  background-color: #424242;
  color: #eee;
  border: 1px solid #aaa;
}
#gridCalendarTable td {
  width: 14%;
  height: 60px;
  vertical-align: top;
  text-align: left;
  padding: 0em;
  border: 1px solid #aaa;
  background-color: white;
  color: black;
}
#gridCalendarTable td.filler {
  border: none;
  background-color: #eee;
  color: black;
}
#gridCalendarTable ul {
  font-size: 0.8em;
  list-style : none;
  margin: 0em;
  padding: 0.3em 0em 0em 0em;
}
#gridCalendarTable ul li {
  margin: 0em;
  padding: 0em;
  display: inline;
}
#gridCalendarTable a {
  display: block;
  padding: 0.1em 0.2em 0.1em 0.2em;
  text-decoration: none;
}
#gridCalendarTable a.eventLinkA:link,
#gridCalendarTable a.eventLinkA:visited  {
  background-color: #eee;
  color: black;
}
#gridCalendarTable a.eventLinkB:link,
#gridCalendarTable a.eventLinkB:visited {
  background-color: #fff;
  color: black;
}
#gridCalendarTable a.eventCancelled:link,
#gridCalendarTable a.eventCancelled:visited {
  background-color: #ccc;
  border-bottom: 1px solid #bbb;
  color: black;
}
#gridCalendarTable a.eventTentative:link,
#gridCalendarTable a.eventTentative:visited  {
  border-bottom: 1px solid #ccc;
  border-top: 1px solid #ccc;
  background: #eee url("../images/tentativeLines.gif") top;
  color: black;
}
/* example of specialized coloring: */
#gridCalendarTable a.holiday:link,
#gridCalendarTable a.holiday:visited  {
  background-color: #fff;
  color: black;
}
#gridCalendarTable a:hover,
#gridCalendarTable a:active  {
  color: black !important;
  background-color: #ddd !important;
}
#gridCalendarTable a.dayLink {
  text-decoration: none;
  color: black;
  background-color: transparent;
}
#gridCalendarTable a:hover.dayLink {
  text-decoration: none;
  color: #eee;
  background-color: black;
}
#gridCalendarTable a:hover {
  /* required for eventTip to hover correctly;
     apply only to the hover pseudo class, or
     the other anchors nearby will cover the eventTip in IE */
  position: relative;
}
#gridCalendarTable a span.eventTip,
#gridCalendarTable a span.eventTipReverse {
  display: none;
}
#gridCalendarTable a:hover span.eventTip {
  display: block;
  position: absolute;
  width: 20em;
  top: 1em;
  left: 12em;
  background-color: #ffe;
  color: black;
  padding: 4px;
  border: 1px solid #333;
}
#gridCalendarTable a:hover span.eventTipReverse {
  display: block;
  position: absolute;
  width: 20em;
  top: 1em;
  left: -21em;
  background-color: #ffe;
  color: black;
  padding: 4px;
  border: 1px solid #333;
}
#gridCalendarTable a:hover span.eventTipStatusCancelled {
  display: block;
  color: white;
  background-color: #333;
  padding: 2px;
  margin-bottom: 6px;
  text-align: center;
}
#gridCalendarTable a:hover span.eventTipStatusTentative {
  display: block;
  color: black;
  background: #eee url('../../images/tentativeLines.gif') top;
  padding: 2px;
  margin-bottom: 6px;
  border: 1px solid #ccc;
  text-align: center;
}
#gridCalendarTable td.today,
#yearCalendarTable td.today {
  background-color: #ffb;
  color: black;
}

/* ONGOING EVENTS */
#ongoing.ongoingForGrid {
  display: none; /* just hide for now */
}
#bwOngoing .bwEventsTitle {
  margin-top: 26px;
}
#ongoing .bwEventList {
  display: block;
}
#ongoing .caret {
  display: none;
}
#ongoing ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#ongoing li {
  margin: 0.25em 0 1.5em;
  padding: 0 0 0 1em;
  font-size: 0.9em;
}
.bwEventsCount {
  font-size: 0.8em;
}

/* SINGLE EVENT */
.singleEvent {
  width: 100%;
  margin-bottom: 2em;
}
.singleEvent #eventIcons {
  float: right;
}
.singleEvent #eventIcons img {
  vertical-align: inherit;
}
.singleEvent .infoTitle {
   font-weight: 600;
}
.singleEvent .sub-info {
  margin-left: 1em;
}
.linkBackButton {
  float: left;
  margin-bottom: 2em;
}
.bwStatusCancelled {
}
.bwStatusTentative {
}
.bwStatusConfirmed {
}
.eventTitle {
  font-weight: 400;
  margin: 0.5em 0;
}
.eventListingCal {
}
.singleEvent .eventLink {
  margin: 0;
}
.eventWhen {
}
.eventWhere {
  margin-bottom: 1em;
}
.time-container {
  display: inline;
}
.bwEventImage {
  max-width: 100%;
  min-width: 100%;
  height: auto;
  margin-bottom: 1em;
}
.singleEvent .eventDescription {
  margin: 1em 1.5em 1em 0;
}
.eventStatus {
}
.eventCost {
}
.eventLink {
}
.singleEvent .eventContact {
  margin: 1em 0;
}
.singleEvent .eventCategories {
  margin-right: 1em;
}
.singleEvent .eventAliases {
  margin-right: 1em;
}
.eventComments {
}
.dateRangeCrossDay {
  background-color: red;
}
.dateRangeEarlyMorning {
  background-color: green;
}
.dateRangeMorning {
  background-color: yellow;
}
.dateRangeAfternoon {
  background-color: gray;
}
.dateRangeEvening {
  background-color: orange;
}
table.yearViewMonthTable {
  width: 168px;
  padding: 0;
  margin: 0 0 0 1em;
  font-size: .9em;
  border-top: 1px solid #CCC;
  border-collapse: collapse;
  float: left;
}
table.yearViewMonthTable th {
  width: 24px;
}
table.yearViewMonthTable tr td {
  height: 2em;
}
div.yearMonthRow {
  clear: both;
  padding: 1.5em 0;
}
#bwRegistrationBox iframe {
  border: none;
  margin-top: 1em;
}

/* FOOTER */
#footer {
  clear: both;
  padding: 1em 0;
  margin-bottom: 2em;
  color: #444;
  font-size: .8em;
  border-top: 1px solid #ddd;
  text-align: center;
}
#footer a {
  display: inline-block;
  margin: 0 0.5em;
}
#footForms {
  float: right;
}
#footForms form {
  display: inline;
}
.stButton {
  width: 16px;
  height: 16px;
  background: url("../images/share-icon-16x16.png") no-repeat transparent;
}

/* All Calendars */
.calendarList {
  float: left;
  width: 50%;
}
