/***************************************************************
File Name: cat_styles.css
Description: Main page styles for all catalog pages.

Modifications:
10/08/2015 - APINZONE (CP17031)
- Initial format and styling.
10/09/2015 > 10/23/2015 - APINZONE (CP17031)
- Various style changes and corrections as described in the ticket.
10/27/2015 - APINZONE (CP17031)
- Vertically centered catalog search boxes reset icon.
11/06/2015 - APINZONE (CP17031)
- Added default cursor to date blocks on the catalog for better user experience.
- Moved Calendar css to the form-calendar file.
11/09/2015 - APINZONE (CP17031)
- Had to remove 'overflow:hidden' and add 'float:right' to the program-list to fix an issue with the program-notice popup being hidden on Windows 7 versions of IE.
- Removed the same float in mobile and tablet formats.
- Position adjustments to fit program image into the sessions sidebar.
- Better spacing and smaller fonts for registration information tidbits (ie: Registration closed on #date#)
11/13/2015 - APINZONE (CP17031)
- Adjustments to program images for better responsiveness.
01/06/2016 - A.Pinzone (CP20024)
- Added styling to user tags that may be deprecated or may have lost styling within the overall design.
01/07/2016 - A.Pinzone (CP20024)
- ADDED better spacing around session content. 
02/17/2016 - APINZONE (CP21492)
- Styled figcaptions to transition in and out on hover (program-img)
02/25/2016 - A.Pinzone (FO21250)
  - Changed color of links within orange buttons.
03/04/2016 - A.Pinzone (CP21679)
  - Updated display for link buttons.
3/16/2016 A.Pinzone (FO21621)
  - Adjustments to price display to account for custom pricing
3/17/2016 A.Pinzone (FO21443)
  - Added sub-groups classes
08/30/2016 - A.Pinzone (CP20182)
- Added new read more / read less styling that adjusts the div height instead of counting characters.
- Done this way to account for user generated HTML via TinyMCE
04/17/2017 A PINZONE (TICKET FO24654)
- Limited the size of session buttons and centered.
06/06/2017 A PINZONE (TICKET 26587)
- Added CSS Tooltip functionality for global use in catalog. 
10/12/2017 P WATERS (TICKET 27557)
- Added preserve class
12/13/2017 A PINZONE (TICKET 28228)
- Updated cat-btn-red to match CP color palette. 
01/08/2018 A PINZONE (TICKET 28336)
- Improvements to catalog program display.
- Added new class to style the program session program code.
09/09/2019 R ROCHE (TICKET CP19965)
- Fixed program session styling so that they appear correctly on mobile and desktop
09/10/2019 R ROCHE (TICKET CP19965)
- Added support for the "Add Adult" and "Add Child" A tags and table
09/11/2019 R ROCHE (TICKET CP19965)
- Added new class: .add-ind to the "Add Adult" and "Add Child" A tags, so we don't apply the styles anywhere else
- Changed the padding on #cat-main .program .container, so its equal all around
04/27/2022 R ROCHE (TICKET VIN40049)
- Updated styling to allow for any font size in the program long description
****************************************************************/

@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,800italic,800,700italic,700,600italic,600,400italic,300italic,300|Roboto+Slab:700);
/*************************************
 * Base Styles
 ************************************ */
.clear { clear: both; }
.red { color: #bd1f37; }

#cat-inner-wrap #cat-main p,
#cat-inner-wrap #cat-main ul {
  font-size: 12px;
  line-height: normal;
  margin-bottom: 10px;
}

#cat-inner-wrap a { color: #414043; }
#cat-inner-wrap a:hover { text-decoration: underline; }

#cat-inner-wrap strong { font-weight: bold; }
#cat-inner-wrap em { font-style: italic; }

/* Added 09/10/2019 by R ROCHE (TICKET CP19965) 
Supports the "Add Adult" and "Add Child" links in the filter side bar */
#cat-sidebar a.add-ind, 
#cat-sidebar a.add-ind:active, 
#cat-sidebar a.add-ind:visited, 
#cat-sidebar a.add-ind:link,
#cat-sidebar a.add-ind:hover {
  display: inline-block;
  color: #5E859E;
  font-weight: bold;
}
#cat-sidebar a.add-ind i{
  margin-right: 5px;
  color: #757d85;
}

.preserve { white-space: pre-wrap; }

.cat-program-long-desc * {
  line-height: normal;
}

/*************************************
 * Layout
 ************************************ */
#cat-inner-wrap {
  display: block;
  margin: 15px 0;
  position: relative;
  width: 100%;
}
#cat-inner-wrap:after {
  clear: both;
  content: "";
  display: table;
}
#cat-inner-wrap * {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
}
#cat-inner-wrap #cat-sidebar {
  float: left;
  width: 200px;
}
#cat-inner-wrap #cat-main {
  margin-left: 225px;
  position: relative;
}

/*************************************
 * Layout - Tablet Adjustments
 ************************************ */
@media screen and (max-width: 980px) {
  #cat-inner-wrap {
    box-sizing: border-box;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
    margin: 0;
    padding: 10px;
  }
  #cat-inner-wrap #cat-sidebar {
    float: none;
    padding-bottom: 15px;
    width: 100%;
  }
  #cat-inner-wrap #cat-sidebar:after {
    clear: both;
    content: "";
    display: table;
  }
  #cat-inner-wrap #cat-main {
    margin-left: 0;
  }
}
/*************************************
 * Layout - Mobile Adjustments
 ************************************ */
@media screen and (max-width: 640px) {
  #cat-inner-wrap,
  #cat-inner-wrap #cat-sidebar,
  #cat-inner-wrap #cat-main {
    margin: 0;
    padding: 0;
  }
}
/*************************************
 * Buttons
 ************************************ */
.cat-btn.disabled,
.cat-btn.disabled:hover {
  background: #9AA1A8;
  color: white;
  cursor: default;
}

.cat-btn {
  background: lightgrey;
  border: 0;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
  color: #414043;
  cursor: pointer;
  display: inline-block;
  font-size: 12px;
  margin: 0;
  outline: none;
  padding: 5px 8px;
  position: relative;
  text-align: center;
  -webkit-appearance: none;
}
.cat-btn input[type="submit"],
.cat-btn input[type="button"] {
  background: none;
  border: 0;
  color: inherit;
  cursor: inherit;
  display: block;
  font-size: inherit;
  line-height: inherit;
  margin: 0;
  outline: none;
  padding: 0;
  width: 100%;
  -moz-appearance: none;
  -webkit-appearance: none;
}
button.cat-btn {
  display: block;
  margin: 0;
  padding: 5px 8px;
  width: 100%;
  -moz-appearance: none;
  -webkit-appearance: none;
}
.cat-btn::before {
  font-family: FontAwesome;
  position: absolute;
  left: 10px;
}
.cat-btn:hover {
  background: #58595b;
  color: white;
}
.cat-btn a,
.cat-btn a:visited,
.cat-btn a:active,
.cat-btn a:hover {
  color: inherit;
  font-style: normal;
  font-weight: normal;
  text-decoration: none;
}
.cat-btn-blue {
  background: #315e89;
  color: white;
}
.cat-btn-blue:hover {
  background: #386b9c;
}
.cat-btn-orange,
#cat-inner-wrap a.cat-btn-orange {
  background: #e29905;
  color: white;
  text-decoration: none;
}
.cat-btn-orange:hover,
#cat-inner-wrap a.cat-btn-orange:hover {
  background: #faa907;
}
.cat-btn-orange a {
  color: #fff !important;
  text-decoration: none !important;
}
.cat-btn-red {
  background: #e15554;
  color: white;
}
.cat-btn-red:hover {
  background: #f05d5c;
}
.cat-btn-program-notice::before {
  content: "\f06a";
}
.cat-btn-add-to-cart::before {
  content: "\f07a";
}
.cat-btn-add-to-waitlist::before {
  content: "\f017";
}
.cat-btn-quick-view {
  display: none;
}
.cat-btn-quick-view::before {
  content: "\f002";
}

/* Added 09/11/2019 by R ROCHE (TICKET CP19965)
Supports the Log In button in the Family Filter section */
#cat-inner-wrap a.family-filter-login {
  width: 100%;
  color: #FFF;
}

/*************************************
 * Searchbox
 ************************************ */
#cat-inner-wrap .cat-search-box form,
#cat-inner-wrap .cat-search-box .search-form {
  position: relative;
}
#cat-inner-wrap .cat-search-box input[type="text"],
#cat-inner-wrap .cat-search-box .search-text {
  border: 1px solid #9ba1a8;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  font-family: "Open Sans", verdana, sans-serif;
  font-size: 13px;
  height: 30px;
  line-height: 30px;
  outline: none;
  padding-right: 55px;
  width: 100%;
  z-index: 1;
  -webkit-appearance: none;
}
#cat-inner-wrap .cat-search-box input[type="text"]::-ms-clear,
#cat-inner-wrap .cat-search-box .search-text::-ms-clear {
    display: none;
}
#cat-inner-wrap .cat-search-box input[type="submit"],
#cat-inner-wrap .cat-search-box .search-submit {
  background-color: #757d85;
  border: 0;
  -webkit-border-radius: 0 5px 5px 0;
  -moz-border-radius: 0 5px 5px 0;
  -ms-border-radius: 0 5px 5px 0;
  -o-border-radius: 0 5px 5px 0;
  border-radius: 0 5px 5px 0;
  color: white;
  cursor: pointer;
  font-family: FontAwesome;
  font-size: 16px;
  height: 30px;
  line-height: 30px;
  padding: 0;
  position: absolute;
  top: 0;
  right: 0;
  text-align: center;
  width: 30px;
  z-index: 0;
  -webkit-appearance: none;
}
#cat-inner-wrap .cat-search-box .search-reset {
  background: none;
  border: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  border-radius: 0;
  color: #aaa;
  cursor: pointer;
  font-family: FontAwesome;
  font-size: 14px;
  height: 30px;
  line-height: 30px;
  outline: 0;
  padding: 0;
  position: absolute;
  top: 0;
  right: 30px;
  text-align: center;
  width: 30px;
  z-index: 0;
  -webkit-appearance: none;
}
#cat-inner-wrap .cat-search-box .search-reset:hover {
  color: #315E89;
}
#cat-inner-wrap .cat-search-box .search-reset .fa:before {
  line-height: 30px;
}

/*************************************
 * Searchbox - Tablet Adjustments
 ************************************ */
@media screen and (max-width: 980px) {
  #cat-inner-wrap .cat-search-box {
    float: right;
    width: 75%;
  }
  #cat-inner-wrap .cat-search-box .search-form {
    margin-left: 2%;
    width: 98%;
  }
  #cat-inner-wrap .cat-search-box input[type="text"],
  #cat-inner-wrap .cat-search-box .search-text {
    font-size: 16px;
  }
  #cat-inner-wrap .cat-search-box input[type="text"],
  #cat-inner-wrap .cat-search-box .search-text,
  #cat-inner-wrap .cat-search-box input[type="submit"],
  #cat-inner-wrap .cat-search-box .search-submit {
    height: 40px;
    line-height: 40px;
    margin: 0;
  }
  #cat-inner-wrap .cat-search-box input[type="submit"],
  #cat-inner-wrap .cat-search-box .search-submit {
    width: 40px;
  }
  #cat-inner-wrap .cat-search-box .search-reset {
    font-size: 16px;
    height: 40px;
    line-height: 40px;
    right: 40px;
  }
}
/*************************************
 * Searchbox - Mobile Adjustments
 ************************************ */
@media screen and (max-width: 640px) {
  #cat-inner-wrap .cat-search-box {
    background: #dfdfdf;
    display: none;
    float: none;
    padding: 10px;
    width: 100%;
  }
  #cat-inner-wrap .cat-search-box .search-form {
    width: auto;
  }
}
/*************************************
 * Filters
 ************************************ */
#cat-sidebar .filters {
  line-height: 22px;
}
#cat-sidebar .filters .filters-wrap::after {
  clear: both;
  content: '';
  display: table;
}
#cat-sidebar .filters .filters-heading {
  font-weight: 800;
  text-transform: uppercase;
  margin-top: 15px;
}
#cat-sidebar .filters .filters-title {
  background: rgba(155, 161, 168, 0.35);
  color: #58595b;
  cursor: pointer;
  margin: 10px 0;
  padding: 5px 10px;
  position: relative;
}
#cat-sidebar .filters .filters-title i {
  position: absolute;
  top: 8px;
  right: 15px;
}
#cat-sidebar .filters .filters-list {
  width: 100%;
}
#cat-sidebar .filters .filters-item {
  padding-left: 15px;
  position: relative;
}
#cat-sidebar .filters .filters-item.child {
  padding-left: 15px;
}
#cat-sidebar .filters .filters-item label {
  cursor: pointer;
}

#cat-sidebar .filters .filters-item label input[type="checkbox"] {
  display: none;
}
#cat-sidebar .filters .filters-item label input[type="checkbox"] + .label-text:before,
#cat-sidebar .filters .filters-item .has-children:before {
  color: #939598;
  display: inline-block;
  font-family: "FontAwesome";
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  margin-right: 5px;
  speak: none;
  text-transform: none;
  width: 1em;
  -webkit-font-smoothing: antialiased;

  position: absolute;
    top: 6px; left: 0;
}
#cat-sidebar .filters .filters-item label input[type="checkbox"] + .label-text:before {
  content: "\f096";
}
#cat-sidebar .filters .filters-item label input[type="checkbox"]:checked + .label-text:before {
  color: #315e89;
  content: "\f14a";
}
#cat-sidebar .filters .filters-item label input[type="checkbox"]:disabled + .label-text {
  color: lightgrey;
  cursor: default;
}
#cat-sidebar .filters .filters-item label input[type="checkbox"]:disabled + .label-text:before {
  color: lightgrey;
  content: "\f0c8";
}
#cat-sidebar .filters .filters-item .has-children {
  text-decoration: underline;
}
#cat-sidebar .filters .filters-item .has-children:before {
  content: "\f105";
  font-size: 17px;
  margin: 0;
  top: 2px;
}
#cat-sidebar .filters .filters-item .has-children.expanded:before {
  content: "\f107";
}
#cat-sidebar .filters .filters-item .fmly-icon {
  position: absolute;
  right: 5px;
  top: 0;
}
#cat-sidebar .filters .filters-date-title {
  color: #58595b;
  padding-left: 5px;
}
#cat-sidebar .filters .filters-date,
#cat-sidebar .filters .filters-age {
  background: lightgrey;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
  cursor: pointer;
  float: left;
  margin: 0 5% 10px 0;
  padding: 3px 0;
  position: relative;
  width: 45%;
}
#cat-sidebar .filters .filters-date:hover {
  background: #dbdbdb;
  color: #414043;
}
#cat-sidebar .filters .filters-date::before {
  content: '\f073';
  font-family: FontAwesome;
  position: absolute;
    top: 4px;
    left: 7px;
}
#cat-sidebar .filters .filters-age .age-range,
#cat-sidebar .filters .filters-age .age-range:hover {
  background: transparent;
  color: #414043;
  text-align: left;
  width: 100%;
}
#cat-sidebar .filters .filters-date .datepicker,
#cat-sidebar .filters .filters-date .datepicker:hover {
  background: transparent;
  color: #414043;
  font-size: 10px;
  padding-left: 25px;
  position: relative;
  text-align: left;
  width: 100%;
}
#cat-sidebar .filters .filters-date .date-text {
  color: #58595b;
  font-size: 10px;
  font-weight: 600;
  line-height: 23px;
  position: absolute;
  top: 3px;
  right: 10px;
}
#cat-sidebar .filters .filters-clear {
  text-align: center;
}
#cat-sidebar .filters .filters-clear > .cat-btn {
  background: white;
  border: 1px solid #c6c6c6;
  color: #bbb;
  margin: 15px 0 5px 0;
}
#cat-sidebar .filters .filters-clear > .cat-btn:hover {
  border: 1px solid #e29905;
  color: #e29905;
}
#cat-sidebar .filters .clear-all {
  background: rgba(155, 161, 168, 0.35);
  color: #58595b;
  display: block;
  font-size: 12px;
  font-weight: normal;
  margin: 40px 0 0 0;
  position: relative;
  text-transform: uppercase;
  width: 100%;
}

#cat-sidebar .filters .clear-all:hover,
#cat-sidebar .filters .clear-all:hover > .btn-text,
#cat-sidebar .filters .clear-all i:hover {
  background: #e29905;
  color: white;
}
#cat-sidebar .cat-filters-btn {
  display: none;
  float: left;
  font-weight: 700;
  height: 40px;
  line-height: 40px;
  padding: 0;
  text-transform: uppercase;
  width: 25%;
}
#cat-sidebar .close-filters { display: none; }

/* Added 09/10/2019 by R ROCHE (TICKET CP19965)
Supports the "Add Adult" and "Add Child" buttons
*/
#cat-sidebar .add-family-member-table {
  width: 100%;
}

#cat-sidebar .add-family-member-table tbody tr:nth-child(1) td hr {
  border-style: solid;
  border-width: 0.5px;
  border-color: #c6c6c6;
}
#cat-sidebar .add-family-member-table tbody tr:nth-child(2) td:nth-child(1) {
  float: left;
}
#cat-sidebar .add-family-member-table tbody tr:nth-child(2) td:nth-child(2) {
  float: right;
}
#cat-sidebar #famfilter-options {
  width: 85%;
  margin: 0 auto;
}
/*************************************
 * Filters- Tablet Adjustments
 ************************************ */
@media screen and (max-width: 980px) {
  #cat-sidebar .filters {
    background: white;
    border-right: 1px solid #757D85;
    box-shadow: 10px 0 15px 0 rgba(25,25,25,.35);
    clear: both;
    margin: 0;
    overflow: auto;
    padding: 10px 15px;
    position: fixed;
      top: 0;
      bottom: 50px;
      left: -350px;
    transition: left 0.5s;
    width: 300px;
    z-index: 999;
    /* Changing the z-index requires changes to the #menu-overlay, #filters-overlay, #loading-spinner and .close-filters */
  }
  #cat-sidebar .filters.is-active,
  #cat-sidebar .close-filters.is-active {
    left: 0;
    /*transition: left 1s;*/
  }
  #cat-sidebar .close-filters {
    background: #4D5459;
    color: white;
    cursor: pointer;
    display: block;
    font-size: 12px;
    font-weight: bold;
    height: 50px;
    line-height: 50px;
    margin: 0;
    text-align: center;
    text-transform: uppercase;
    transition: left 0.5s;
    width: 300px;
    z-index: 999;

    position: fixed;
      bottom: 0;
      left: -350px;
  }
  #cat-sidebar .cat-filters-btn {
    display: block;
  }
  #cat-sidebar .filters .filters-heading {
    display: none;
  }
  #cat-sidebar .filters .filters-title {
    margin: 5px 0;
    padding: 10px;
  }
  #cat-sidebar .filters .filters-title i {
    top: 12px;
  }
  #cat-sidebar .filters .clear-all {
    margin: 10px 0 0 0;
  }
}
/*************************************
 * Filters - Mobile Adjustments
 ************************************ */
@media screen and (max-width: 640px) {
  #cat-sidebar .cat-filters-btn {
    display: block;
  }
  #cat-sidebar .cat-filters-btn {
    display: none;
  }
  #cat-sidebar .filters .filters-date .datepicker,
  #cat-sidebar .filters .filters-date .datepicker:hover {
    font-size: 16px;
    padding: 0;
    text-align: center;
  }
  #cat-sidebar .filters .filters-date::before {
    content: '';
  }
}
/*************************************
 * Icons
 ************************************ */
#cat-inner-wrap .fmly-icon {
  border: 2px solid;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  display: inline-block;
  font-family: "Roboto Slab", Georgia, "Times New Roman", serif;
  font-size: 16px;
  height: 22px;
  line-height: 18px;
  text-align: center;
  text-transform: uppercase;
  vertical-align: middle;
  width: 22px;
}
#cat-inner-wrap .fmly-icon.condensed {
  font-size: 12px;
  height: 18px;
  line-height: 14px;
  width: 18px;
}
#cat-inner-wrap .fmly-icon.red {
  border-color: #be1e2d;
  color: #be1e2d;
}
#cat-inner-wrap .fmly-icon.blue {
  border-color: #00aeef;
  color: #00aeef;
}
#cat-inner-wrap .fmly-icon.green {
  border-color: #39b54a;
  color: #39b54a;
}
#cat-inner-wrap .fmly-icon.orange {
  border-color: #ed7d21;
  color: #ed7d21;
}

/********************************************************
 * Active Filters Listing
 ******************************************************* */
#cat-main .active-filters{
  padding: 10px 10px 3px;
  position: relative;
}

#cat-main .active-filters .active-filters-list h4 {
  display: inline-block;
  font-weight: bold;
  padding-right: 10px;
}
#cat-inner-wrap #cat-main .active-filters .active-filters-list {
  margin: 0;
  padding-right: 115px;
}
#cat-main .active-filters .active-filters-list li {
  border: 1px solid #9AA1A8;
  border-radius: 15px;
  color: #9AA1A8;
  cursor: pointer;
  display: inline-block;
  line-height: 16px;
  padding: 2px 5px;
  transition: all .3s;
}
#cat-main .active-filters .active-filters-list li:hover {
  border-color: #315e89;
  color: #315e89;
  transition: all .3s;
}
#cat-main .active-filters .active-filters-list li i {
  padding-right: 5px;
}
#cat-main .active-filters .clear-all {
  color: #315e89;
  cursor: pointer;
  display: block;
  font-style: italic;
  opacity: .75;
  position: absolute;
    right: 10px;
    bottom: 3px;
  text-decoration: none;
  transition: opacity .3s;
}
#cat-main .active-filters .clear-all:hover {
  font-style: italic;
  font-weight: normal;
  opacity: 1;
  transition: opacity .3s;
}

@media screen and (max-width: 640px) {
  #cat-main .active-filters {
    display: none;
  }
}


/********************************************************
 * The program list wraps all the programs in a list-style
 * format. This is the key content for the catalog page.
 ******************************************************* */
#cat-main .cat-program-list {
  border-bottom: 0;
  -webkit-border-radius: 5px 5px 0 0;
  -moz-border-radius: 5px 5px 0 0;
  -ms-border-radius: 5px 5px 0 0;
  -o-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
  float: right;
  width: 100%;
}

  /* Program Header: Results title and Current Season display */
  #cat-main .program-header {
    background: #315e89;
    border-radius: 5px;
    color: white;
    line-height: 19.5px;
    margin: 0 0 5px 0;
    padding: 7px 12px;}
    #cat-main .program-header::after {
      clear: both;
      content: '';
      display: table;}
    #cat-main .program-header .results-title {
      color: white;
      font-weight: bold;
      text-transform: uppercase;}
    #cat-main .program-header .results-visible {
      color: white;
      padding: 0 5px;}
    #cat-main .program-header .cur-season {
      color: white;
      float: right;}
    #cat-main .program-header .cur-season strong {
      font-weight: bold;}

  /* Program: Each program called lives within one of these wrappers */
  #cat-main .program {
    background: url(../../img/program-sidebar-bg.jpg) repeat-y top right;
    border: 1px solid #dadada;
    border-radius: 5px;
    font-size: 12px;
    margin: 0 0 5px 0;
    position: relative;
  }
    /* Program Container Wrap for Content positioning */
    #cat-main .program .container {
      border-radius: 5px;
      padding: 0 205px 0 0;
    }
      #cat-main .program .container:after {
        clear: both;
        content: "";
        display: table;
      }

    /* Program p & ul styling */
    #cat-main .program p,
    #cat-main .program ul {
      margin-bottom: 10px;
    }

    /* Program Headers */
    #cat-main .program h2,
    #cat-main .program h2 a {
      color: #4D5459;
      font-size: 16px;
      font-weight: 600;
    }
      #cat-main .program h2 a {
        text-decoration: underline;
      }
      #cat-main .program h2 a:hover {
        color: #315E89;
      }
    #cat-main .program h4 {
      display: inline-block;
      font-weight: bold;
    }

    /* Program Content */
    #cat-main .program .program-content {
      float: left;
      padding: 15px;
      width: 100%;
    }

      /* Program Excerpt */
      #cat-inner-wrap #cat-main .program .program-excerpt i.fa {
        font-style: normal;
      }
      #cat-inner-wrap #cat-main .program .program-excerpt .readmore {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
      }
      #cat-inner-wrap #cat-main .program .program-excerpt .readmore.expanded {
        max-height: 2000px;
        transition: max-height 2s;
        -webkit-line-clamp: inherit;
      }
      #cat-inner-wrap #cat-main .program .program-excerpt .readmore p {
        margin: 0;
        padding: 0;
      }
      #cat-inner-wrap #cat-main .program .program-excerpt .readmore a {
        text-decoration: underline;
      }
      #cat-inner-wrap #cat-main .program .program-excerpt .readmore.expanded p {
        margin-bottom: 10px;
      }
      #cat-inner-wrap #cat-main .program .program-excerpt .excerpt-toggle {
        cursor: pointer;
        display: block;
        line-height: 30px;
      }
      #cat-main .program .program-excerpt .readmore-content {
        height: auto;
        overflow: visible;
      }
        #cat-main .program .program-excerpt .readmore-content.collapsed {
          height: 80px;
          overflow: hidden;
          display: block;
        }
        #cat-main .program .program-excerpt .readmore-link {
          color: #0094FF;
          cursor: pointer;
          font-style: italic;
        }
        #cat-main .program .more-info {
          display: block;
          font-size: 90%;
          font-style: italic;
        }

        /***********************************************************
         Make Sure User Styles Work within Program Excerpt Only
        ************************************************************/
          /* Lists */
          #cat-main .program .program-excerpt ul,
          #cat-main .program .program-excerpt ol { margin-left: 40px; }
          #cat-main .program .program-excerpt ul,
          #cat-main .program .program-excerpt ul li { list-style-type: disc; }
          #cat-main .program .program-excerpt ol,
          #cat-main .program .program-excerpt ol li { list-style-type: 1; }

          /* Font Styles */
          #cat-main .program .program-excerpt b { font-weight: bold; }
          #cat-main .program .program-excerpt i { font-style: italic; }

        /*************************************************************/

      /* Program Details */
      #cat-main .program .program-loc > h4,
      #cat-main .program .program-fees > h4,
      #cat-main .program .program-reqs > h4,
      #cat-main .program .program-days > h4,
      #cat-main .program .program-availability > h4 {
        display: block;
        float: left;
        width: 85px;
      }

      /* Program Location & Map Button */
      #cat-main .program .program-loc {}
        #cat-main .program .program-loc > li {
          display: block;
          float: left;}
        #cat-main .program .program-loc:after {
          clear: both;
          content: "";
          display: table;}
        #cat-main .program .program-loc-full > span {
          display: block;}
        #cat-main .program .map-view {
          padding: 5px 0 10px 70px;}
        #cat-main .program .map-view-btn {
          width: 120px;}
        #cat-main .program .map-view-btn i {
          padding-right: 5px;}

      /* Program Requirements */
      #cat-main .program .program-reqs {}
        #cat-main .program .program-reqs > li {
          border-right: 1px solid lightgrey;
          display: inline-block;
          margin-right: 10px;
          padding-right: 10px;}
        #cat-main .program .program-reqs > li:last-child {
          border: 0;}

      /* Program Availability */
      #cat-main .program .program-availability > li {
        display: inline-block;}

      /* Program Days */
      #cat-main .program .program-days {
        margin-bottom: 0;}
        #cat-main .program .program-days > li {
          -webkit-border-radius: 3px;
          -moz-border-radius: 3px;
          -ms-border-radius: 3px;
          -o-border-radius: 3px;
          border-radius: 3px;
          display: inline-block;
          font-size: 10px;
          height: 16px;
          line-height: 16px;
          text-transform: uppercase;
          width: 14px;
          text-align: center;}
          #cat-main .program .program-days > li.active-day {
            background: #315e89;
            color: white;}
          #cat-main .program .program-days > li.inactive-day {
            background: #d2d4d7;
            text-align: left;
            text-indent: -9999px;}
          #cat-main .program .program-days.condensed > li {
            -webkit-border-radius: 1px;
            -moz-border-radius: 1px;
            -ms-border-radius: 1px;
            -o-border-radius: 1px;
            border-radius: 1px;
            height: 13px;
            line-height: 13px;
            margin-top: 5px;
            width: 13px;}
          #cat-main .program .program-days > li.program-hours {
            font-size: 12px;
            font-weight: bold;
            padding-left: 10px;
            width: auto;}

    /* Program Sidebar */
    #cat-main .program .program-sidebar {
      float: right;
      margin-right: -206px;
      padding: 10px 10px 0;
      width: 200px;}
      #cat-main .program .program-sidebar.mobile {
        display: none;}
      #cat-main .program .program-sidebar:after {
        clear: both;
        content: "";
        display: table;}

      /* Program Image */
      #cat-main .program .program-img {
        background: white;
        border: 5px solid white;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px;
        -ms-border-radius: 3px;
        -o-border-radius: 3px;
        border-radius: 3px;
        -webkit-box-shadow: 0 0 1px #8d949c;
        -moz-box-shadow: 0 0 1px #8d949c;
        box-shadow: 0 0 1px #8d949c;
        margin-bottom: 10px;
        height: 100px;
        overflow: hidden;
        position: relative;
        text-align: center;}
        #cat-main .program .program-img figcaption {
          background: #222;
          color: #eee;
          opacity: 0;
          padding: 5px;
          position: absolute;
            bottom: 1px;
            left: 1px;
          text-align: left;
          visibility: hidden;
          transition: 1s all ease;
        }
        #cat-main .program .program-img:hover figcaption {
          opacity: .85;
          visibility: visible;
          transition: 1s all ease;
        }
        #cat-main .program .program-img > img {
          display: block;
          margin: 0 auto;
          height: 100%;
          width: 100%;}

      /* Program Dates */
      #cat-main .program .program-dates {
        margin: 0 auto 10px;
        overflow: auto;}
        #cat-main .program .date {
          cursor: default;
          float: left;
          margin: 0;
          padding: 0 5px;
          width: 50%;}
        #cat-main .program .event-date {
          float: left;
          margin: 0 auto;
          width: 50%;}
        #cat-main .program .date-format {
          border: 1px solid #9ba1a8;
          -webkit-border-radius: 5px;
          -moz-border-radius: 5px;
          -ms-border-radius: 5px;
          -o-border-radius: 5px;
          border-radius: 5px;
          height: 40px;
          margin: 0 auto;
          overflow: hidden;
          width: 50px;}
          #cat-main .program .date-format .month {
            background: #58595b;
            color: white;
            cursor: default;
            display: block;
            font-size: 10px;
            height: 15px;
            line-height: 15px;
            text-align: center;
            text-transform: uppercase;}
          #cat-main .program .date-format .day {
            background: white;
            color: #58595b;
            cursor: default;
            display: block;
            height: 25px;
            font-size: 16px;
            font-weight: bold;
            line-height: 25px;
            text-align: center;}
        #cat-main .program .date-caption {
          color: #939598;
          font-size: 80%;
          text-align: center;}

      /* Program Registration Info (Program Reg Status, Fee, Out of Town costs, Early Registration Savings) */
      #cat-main .program .program-reg-info {
        clear: both;
        font-size: 95%;
        padding-bottom: 5px;
        text-align: center;}
        #cat-main .program .program-fees {}
          #cat-main .program .program-fees span {
            display: block;}
          #cat-main .program .program-fees span.out-of-town {
            font-size: 95%;}
          #cat-main .program .program-fees span.program-fees-more {
            font-style: italic;
            font-size: 95%;}
          #cat-main .program .program-fees span.program-fees-price {
            font-weight: bold;
          }

      /****************************************************
        Family Member Eligibility: Scrapped for Phase 1
      *****************************************************
        #cat-main .program .program-eligibility {
          padding: 0 0 15px 0;
          text-align: center;
          width: 100%;
        }
        #cat-main .program .program-eligibility .family-members {
          margin: 0;
        }
        #cat-main .program .program-eligibility .family-members > li {
          margin: 3px;
        }
      ******************************************************
      ******************************************************/

    /* Program Footer - Call-to-Action Buttons / Links */
    #cat-main .program .program-cta {
      clear: both;
      position: relative;}
      #cat-main .program .program-cta::after {
        clear: both;
        content: '';
        display: table;}

      /* Buttons */
      #cat-main .program .program-cta .btn-wrap {
        padding: 0 15px 5px;}
      #cat-main .program .program-cta .program-cta-sidebar {
        position: absolute;
          right: 0;
          bottom: 40px;
        text-align: center;
        width: 200px;}
        #cat-main .program .program-cta .btn-wrap::after,
        #cat-main .program .program-cta .program-cta-sidebar::after {
          clear: both;
          content: '';
          display: table;}
      #cat-inner-wrap #cat-main .program .program-cta .program-cta-sidebar .container,
      #cat-inner-wrap #cat-main .program .program-cta .program-cta-sidebar .container p {
        margin: 0;
        padding: 0;}
      #cat-main .program .program-cta .cat-btn {
        float: right;
        line-height: 19.5px;
        margin: 0 auto;
        position: relative;
        width: 170px;
      }
      #cat-main .program .program-cta .cat-btn-program-notice {
        background: none;
        color: #bd1f37;
        cursor: pointer;
        float: none;
        font-weight: 500;
        margin: 0 5px;
        padding-left: 15px;
        position: relative;
        text-align: left;
        width: auto;
      }
      #cat-main .program .program-cta .cat-btn-program-notice::before,
      #cat-main .program .program-cta .cat-btn-toggle::before,
      #cat-main .program .program-cta .cat-btn-toggle.hidden::before {
        font-family: FontAwesome;
        font-size: 14px;
        position: absolute;
        left: 0;
      }

      #cat-main .program .program-cta .cat-btn-toggle {
        background: none;
        color: #315e89;
        cursor: pointer;
        float: none;
        margin: 0 5px;
        padding-left: 15px;
        position: relative;
        width: auto;
      }
      #cat-main .program .program-cta .cat-btn-toggle::before {
        content: '\f056';
      }
      #cat-main .program .program-cta .cat-btn-toggle.hidden::before {
        content: '\f055';
      }

/*************************************
 * Program Sessions
 ************************************ */
#cat-main .program.session {
  background: none;
}
#cat-main .program.session .container {
  background: url(../../img/program-sidebar-bg.jpg) repeat-y top right;
  position: relative;
}
#cat-main .program.session .program-sidebar {
  padding-bottom: 60px;
}
@media screen and (max-width: 640px) {
  #cat-main .program.session .program-sidebar {
    padding-bottom: 5px;
  }
}
#cat-main .program.session .program-img {
  margin: 0;
}
#cat-main .program.session .program-show-hide {
  color: white;
  cursor: pointer;
  line-height: 19.5px;
  margin: 0;
  position: absolute;
    bottom: 15px;
    right: 15px;
  text-align: center;
  width: 170px;
}
#cat-main .program.session .program-show-hide::before {
  font-family: FontAwesome;
  content: '\f010';
  position: absolute;
  left: 10px;
}
#cat-main .program.session .program-show-hide.hidden::before {
  font-family: FontAwesome;
  content: '\f00e';
  position: absolute;
  left: 10px;
}
#cat-main .program.session .program-code {
  font-weight: normal;
  display: block;
  padding: 5px 0;
  font-size: 12px;
}


#cat-main .program-session-table {
  border: 1px solid lightgrey;
  border-bottom: 0;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  margin: 15px;
  width: calc(100% - 30px);
}
#cat-main .program-session-table th {
  background: rgba(49, 94, 137, 0.35);
  color: white;
  font-size: 12px;
  font-weight: 500;
  padding: 10px 0;
  text-align: center;
}
#cat-main .program-session-table td {
  border-right: 1px solid lightgrey;
  border-bottom: 1px solid lightgrey;
  font-size: 12px;
  padding: 10px;
  vertical-align: top;
  width: 20%;
}
#cat-main .program-session-table td.availability {
  position: relative;
  width: 25%;
}
#cat-main .program-session-table td.eligibility {
  width: 15%;
}
#cat-main .program-session-table td .cat-btn.session-notice {
  background: none;
  color: #bd1f37;
  font-weight: 500;
  margin: 0;
  padding: 0;
  position: absolute;
    bottom: 5px;
    left: 5px;
  width: auto;
}
#cat-main .program-session-table td .cat-btn.session-notice::before {
  content: '';
}
#cat-main .program-session-table td.register-info {
  border-right: 0;
}
#cat-main .program-session-table td.register-info a {
  font-style: normal;
  margin: 0 auto;
  max-width: 170px;
}
#cat-inner-wrap #cat-main .program-session-table td.register-info .reg-info {
  font-size: 90%;
  margin: 0;
  padding: 5px;
}
#cat-main .program-session-table td h4 {
  font-size: 13px;
  font-weight: 700;
  line-height: 115%;
}
#cat-main .program-session-table td h4 a {
  color: #4d5459;
  font-weight: 700;
  text-decoration: underline;
}
#cat-main .program-session-table td h4 a:hover {
  color: #315e89;
}
#cat-main .program-session-table td p,
#cat-main .program-session-table td ul {
  margin-bottom: 0;
}
#cat-main .program-session-table td .program-availability {
  float: none;
  font-size: inherit;
  margin: 10px 0;
  text-align: left;
  width: 100%;
}
#cat-main .program-session-table td .program-reqs {
  margin-bottom: 10px;
}
#cat-main .program-session-table td .program-reqs > li {
  border: 0;
  display: block;
  line-height: 18px;
  margin: 0;
  padding: 0;
}
#cat-main .program-session-table td .family-members > li {
  margin: 0 2px;
}
#cat-main .program-session-table td.dates-times > span {
  display: block;
  font-weight: bold;
  line-height: 150%;
}
#cat-main .program-session-table td .program-days {
  padding: 10px 0;
}
#cat-main .program-session-table td .program-days h4 {
  font-style: italic;
  font-weight: normal;
  width: 100%;
}
#cat-main .program-session-table td .program-fees {
  display: block;
  font-style: italic;
  font-weight: bold;
}
#cat-main .program-session-table td .program-loc-name,
#cat-main .program-session-table td .program-loc-address {
  font-size: 11px;
  line-height: 115%;
}
#cat-main .program-session-table td .cat-btn {
  display: block;
  font-size: 11px;
  line-height: 15px;
  margin-bottom: 5px;
  text-align: center;
  width: 100%;
}
#cat-main .program-session-table td .more-details {
  display: block;
  font-size: 11px;
  padding: 15px 0;
  text-align: center;
}
#cat-main .program-session-table td .more-details::after {
  content: "\BB";
  padding: 0 3px;
}
#cat-main .program-session-table .program-days > li {
  margin-top: 5px;
}

/*************************************
 * No Programs Found
 ************************************ */
#cat-main .no-programs-found {
  font-size: 16px;
  line-height: 150%;
  padding: 15px;
  text-align: center;
}
#cat-main .no-programs-found .cat-btn {
  display: block;
  margin: 20px auto 0;
  max-width: 200px;
  padding: 10px;
}

/*************************************
 * Programs - Tablet Adjustments
 ************************************ */
@media screen and (max-width: 980px) {
  #cat-main .cat-program-list {
    float: none;
  }
  #cat-main .program-session-table td {
    padding: 5px;
  }
  #cat-main .program-session-table .btn-add-to-cart::before {
    content: "";
  }
  #cat-main .program .program-loc h4 {
    display: block;
    width: 100%;
  }
  #cat-main .program .program-loc .program-loc-full {
    padding-right: 25px;
  }
  #cat-main .program .program-loc .map-view {
    padding: 5px 0;
  }
}
/*************************************
 * Programs - Mobile Adjustments
 ************************************ */
@media screen and (max-width: 640px) {
  #cat-main .cat-program-list {
    border: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
  }
  #cat-main .program,
  #cat-main .program .container,
  #cat-main .program.session .container {
    background: none;
    padding: 0;
  }
  #cat-main .program .program-content {
    float: none;
    padding: 10px 10px 0;
  }
  #cat-main .program-header {
    padding: 5px;
    position: relative;
  }
  #cat-main .program-header .results-title {
    display: none;
  }
  #cat-main .program-header .results-visible {
    display: block;
    font-size: 95%;
    font-style: italic;
    position: absolute;
      bottom: 5px;
      left: 0;
      right: 0;
    text-align: center;
  }
  #cat-main .program-header .cur-season {
    display: block;
    float: none;
    padding-bottom: 20px;
    text-align: center;
  }
  #cat-inner-wrap #cat-main .program-details-wrapper ul li { font-size: 10px; }

  #cat-main .program .program-fees h4 {
    display: inline;
    float: none;
    width: auto;
  }
  #cat-main .program .program-fees span {
    padding: 0;
  }
  #cat-main .program .program-fees span em,
  #cat-main .program .program-fees span.program-fees-more {
    display: none;
  }
  #cat-main .program .program-days {
    display: none;
  }
  #cat-main .program .program-sidebar {
    float: none;
    margin-right: 0;
    padding: 0;
    width: 100%;  }
  #cat-main .program .program-sidebar .date {
    display: none;
  }
  #cat-main .program .program-sidebar .program-reg-info {
    background: #E0E7ED;
    border-top: 1px solid #d4dadf;
    border-bottom: 1px solid #d4dadf;
    padding: 10px 0;
  }

  #cat-main .program .program-sidebar.mobile {
    background: #e0e7ed;
    display: block;
    float: none;
    height: auto;
    margin-right: 0;
    padding: 0;
    text-align: center;
    width: auto;
  }
  #cat-main .program .program-img {
    display: none;
  }
  #cat-inner-wrap #cat-main .program .date {
    float: left;
    margin: 0;
    padding: 10px 0;
  }
  #cat-main .program .start-date,
  #cat-main .program .end-date {
    width: 25%;
  }
  #cat-main .program .event-date {
    width: 50%;
  }
  #cat-main .program .fees-and-cta {
    float: left;
    padding: 10px 0;
  }
  #cat-main .program .fees-and-cta .program-fees {
    display: block;
  }
  #cat-main .program .fees-and-cta .cat-btn {
    margin: 0 auto;
    padding: 10px 0;
    width: 85%;
  }
  #cat-main .program .date-format {
    width: 40px;
  }
  #cat-main .program .program-eligibility {
    padding: 0 0 10px 0;
  }
  #cat-main .program .program-cta {
    display: block;
    position: relative;
    padding: 0 0 0 0;
    text-align: center;
  }
  #cat-main .program .program-cta .program-cta-sidebar {
    float: none;
    padding: 5px 0;
    width: 100%;
  }
  #cat-main .program .program-cta .program-cta-sidebar .container {
    float: none;
    width: 100%;
  }
  #cat-inner-wrap #cat-main .program .program-cta .program-cta-sidebar p {
    margin: 0;
    padding: 0;
  }
  #cat-main .program .program-cta .btn-wrap {
    margin: 0 auto;
    max-width: 300px;
    padding: 5px 0;
  }
  #cat-main .program .program-cta .details-notices-wrap {
    float: left;
    width: 50%;
  }
  #cat-main .program .program-cta .cat-btn {
    float: none;
    padding: 10px;
    width: 100%;
  }
  #cat-main .program .program-cta .cat-btn-program-notice,
  #cat-main .program .program-cta .cat-btn-toggle {
    float: left;
    margin: 5px;
    padding: 0 0 0 15px;
    text-align: left;
    width: auto;
  }
  #cat-main .program.session {
    padding: 0;
  }
  #cat-main .program.session .program-session-content {
    padding: 5px 10px;
  }
  #cat-main .program.session .program-show-hide {
    display: block;
    height: 40px;
    line-height: 40px;
    margin: 10px auto 0;
    padding: 0;
    position: relative;
      top: 0; bottom: 0; left: 0; right: 0;
    max-width: 300px;
    width: 100%;
  }
  #cat-main .program.session .program-show-hide i {
    top: 14px;
  }
  #cat-main .program-session-table {
    border: 0;
    display: block;
    margin: 0;
    width: 100%;
  }
  #cat-main .program-session-table thead {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
  #cat-main .program-session-table tbody,
  #cat-main .program-session-table td,
  #cat-main .program-session-table tr {
    border: 0;
    display: block;
    font-size: 13px;
    text-align: center;
  }
  #cat-main .program-session-table tbody {
    margin: 0 auto;
    max-width: 350px;
  }
  #cat-main .program-session-table tr {
    border: 1px solid lightgrey;
    margin: 10px;
  }
  #cat-main .program-session-table tr:after {
    clear: both;
    content: "";
    display: table;
  }
  #cat-main .program-session-table td {
    width: 100%;
  }
  #cat-main .program-session-table td.availability {
    border-bottom: 1px solid lightgrey;
    text-align: left;
    width: 100%;
  }
  #cat-main .program-session-table td.eligibility,
  #cat-main .program-session-table td.dates-times,
  #cat-main .program-session-table td.price-location {
    display: table-cell;
  }
  #cat-main .program-session-table td.eligibility,
  #cat-main .program-session-table td.dates-times {
    border-right: 1px solid lightgrey;
  }
  #cat-main .program-session-table td.eligibility {
    text-align: left;
    width: 30%;
  }
  #cat-main .program-session-table td.dates-times {
    font-size: 11px;
    font-weight: normal;
    width: 40%;
  }
  #cat-main .program-session-table td.price-location {
    width: 30%;
  }
  #cat-main .program-session-table .program-availability {
    margin: 0;
    padding: 0;
    text-align: center;
  }
  #cat-inner-wrap #cat-main .program-session-table .program-reqs { margin: 0; }

  #cat-main .program-session-table .program-reqs > li {
    display: inline-block;
    padding: 0 5px;
  }
  #cat-main .program-session-table .dates-times span {
    display: inline;
    padding: 0 10px;
  }
  #cat-main .program-session-table .dates-times .dates {
  }
  #cat-main .program-session-table .price-location span {
    display: block;
    line-height: 150%;
  }
  #cat-main .program-session-table .register-info {
    border-top: 1px solid lightgrey;
    padding: 0;
  }
  #cat-main .program-session-table .register-info:after {
    clear: both;
    content: "";
    display: table;
  }
  #cat-main .program-session-table .register-info span {
    float: left;
    height: 30px;
    line-height: 30px;
    margin: 0;
    padding: 0;
    width: 50%;
  }
  #cat-main .program-session-table .register-info .cat-btn {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
  }
  #cat-main .program-session-table .register-info .more-details {
    background: lightgrey;
  }
  #cat-main .program-session-table td .cat-btn.session-notice {
    display: block;
    position: relative;
  }
}
/*************************************
 * Pagination
 ************************************ */
#cat-inner-wrap #pagination {
  color: #58595b;
  font-size: 13px;
  font-style: italic;
  font-weight: 600;
  padding: 25px 0 25px 225px;
  text-align: center;
}
#cat-inner-wrap #pagination .pag-list, #cat-inner-wrap #pagination .pag-list li {
  display: inline-block;
}
#cat-inner-wrap #pagination .pag-list li:hover {
  color: #315e89;
  font-style: italic;
}
#cat-inner-wrap #pagination .is-active {
  color: #315e89;
  font-weight: 800;
}
#cat-inner-wrap #pagination .pag-current {
  border-right: 2px solid #939598;
  margin-right: 15px;
  padding-right: 15px;
}
#cat-inner-wrap #pagination .pag-arrows,
#cat-inner-wrap #pagination .pag-link {
  padding: 5px;
  cursor: pointer;
}
#cat-inner-wrap #pagination .pag-arrows {
  font-size: 20px;
  cursor: pointer;
}

/*************************************
 * Pagination - Tablet Adjustments
 ************************************ */
@media screen and (max-width: 980px) {
  #cat-inner-wrap #pagination {
    padding: 25px 0;
  }
  #cat-inner-wrap #pagination .pag-link.is-active,
  #cat-inner-wrap #pagination .pag-link.is-active:hover {
    background: #315e89;
    color: white;
    cursor: default;
  }
  #cat-inner-wrap #pagination .pag-arrows,
  #cat-inner-wrap #pagination .pag-link {
    background: lightgrey;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
    display: block;
    font-size: 14px;
    height: 30px;
    line-height: 30px;
    margin: 0 2px 5px;
    padding: 0 5px;
    text-align: center;
    width: 30px;
  }
  #cat-inner-wrap #pagination .pag-arrows:hover,
  #cat-inner-wrap #pagination .pag-link:hover {
    background: #386b9c;
    color: white !important;
  }
  #cat-inner-wrap #pagination .pag-current {
    border: 0;
    display: block;
    margin: 0;
    padding: 0 0 15px 0;
    text-align: center;
    width: 100%;
  }
}
/*************************************
 * Pagination - Mobile Adjustments
 ************************************ */
@media screen and (max-width: 640px) {
  #cat-inner-wrap #pagination {
    padding: 15px 0;
  }
}
/*************************************
 * Modules
 ************************************ */
.notice-cart-wrap:after {
  clear: right;
  content: "";
  display: table;
}

.cat-notices {
  /*background: #bd1f37;*/
  border: 1px solid #bd1f37;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  color: #bd1f37;
  margin: 0 0 15px 0;
  padding: 10px;
}
.cat-notices::after {
  clear: both;
  content: '';
  display: table;
}
.cat-notices h3 {
  border-right: 1px solid #bd1f37;
  color: #bd1f37;
  display: inline-block;
  float: left;
  font-size: 14px;
  font-weight: 600;
  line-height: 130%;
  padding-right: 15px;
  text-align: right;
  text-transform: uppercase;
}
.cat-notices h3 span {
  color: #bd1f37;
  display: block;
}
.cat-notices ul {
  color: #bd1f37;
  font-size: 12px;
  line-height: 125%;
  margin-left: 115px;
}
.cat-notices ul li {
  padding-bottom: 10px;
}
/*************************************
 * Modules- Mobile Adjustments
 ************************************ */
@media screen and (max-width: 640px) {
  .cat-notices {
    border: 0;
    border-radius: 0;
    display: none;
    margin: 0;
  }
  .cat-notices h3 {
    border-right: 0;
    border-bottom: 1px solid #bd1f37;
    display: block;
    float: none;
    margin-bottom: 10px;
    padding: 0;
    text-align: left;
  }
  .cat-notices h3 span {
    display: inline;
  }
  .cat-notices ul {
    margin-left: 0;
  }
}

/*************************************
 * Program Notices Popup
 ************************************ */
#cat-main .program .program-notice-details {
  background: #fff;
  margin: 0;
  min-width: 600px;
  position: fixed;
    top: 50%;
    left: 50%;
  transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);

  border-radius:5px;
	box-shadow:0 3px 7px rgba(0,0,0,.25);
	-moz-box-shadow:0 3px 7px rgba(0,0,0,.25);
	-webkit-box-shadow:0 3px 7px rgba(0,0,0,.25);
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
  z-index: 10000;
}
#cat-main .program .program-notice-details .notice-content {
  padding: 20px;
  position: relative;
}
#cat-main .program .program-notice-details .notice-content h2 {
  color: #bd1f37;
  font-size: 2em;
  margin-bottom: 15px;
  text-align: left;
}
#cat-main .program .program-notice-details .notice-content ul li {
  font-size: 12px;
  line-height: 150%;
  padding-bottom: 10px;
  text-align: left;
}
#cat-main .program .program-notice-details .notice-content .close-btn {
  cursor: pointer;
  font-size: 20px;
  position: absolute;
  top: 10px;
  right: 10px;
}
@media screen and (max-width: 980px) { #cat-main .program .program-notice-details {} }
@media screen and (max-width: 640px) {
  #cat-main .program .program-notice-details {
    border-radius: 0;
    box-shadow: 0;
    position: fixed;
      top: 0; bottom: 0; left: 0; right: 0;
    transform: none;
      -moz-transform: none;
      -webkit-transform: none;
      -o-transform: none;
    min-width: 0;
    height: 100%;
    width: 100%;
  }
}
/*************************************
 * States
 ************************************ */
.is-visible {
  display: block;
}

.is-hidden {
  display: none;
  visibility:hidden;
}

/***************************
  TABLE DESIGN
***************************/
.cat-table {
  border-collapse: collapse;
  margin-bottom: 10px;
}
.cat-table th,
.cat-table td.footer {
  background: #eee;
  border: 1px solid #ccc;
  color: #315e89;
  font-family: "Open Sans", "Helvetica";
  font-weight: bold;
  height: auto;
  padding: 3px;
}
.cat-table td {
  background: #fff;
  border: 1px solid #ccc;
  padding: 3px;
}
.cat-table .center  { text-align: center;     }
.cat-table .left    { text-align: left;       }
.cat-table .right   { text-align: right;      }
.cat-table .top     { vertical-align: top;    }
.cat-table .middle  { vertical-align: middle; }
.cat-table .bottom  { vertical-align: bottom; }

.cat-table .total {
  color: red;
  font-weight: bold;
}

/***************************
  Mobile Menu
***************************/
#cat-inner-wrap .cat-mobile-menu {
  display: none;
  background: #4D5459;
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
  font-size: 10px;
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
}
#cat-inner-wrap .cat-mobile-menu::after {
  clear: both;
  content: '';
  display: table;
}
#cat-inner-wrap .cat-mobile-menu li {
  border-right: 1px solid #333;
  float: left;
  margin: 0;
  padding: 0;
  width: 33.33%;
}
#cat-inner-wrap .cat-mobile-menu li:last-child {
  border: 0;
}
#cat-inner-wrap .cat-mobile-menu li span {
  color: white;
  cursor: pointer;
  display: block;
  font-weight: 600;
  height: auto;
  padding: 5px;
  width: 100%;
}
#cat-inner-wrap .cat-mobile-menu li span:hover {
  box-shadow: inset 0 0 8px #222;
  text-decoration: none;
}
#cat-inner-wrap .cat-mobile-menu li span i {
  display: block;
  padding-bottom: 5px;
}
#cat-inner-wrap .cat-mobile-menu .cat-notices-btn span:hover,
#cat-inner-wrap .cat-mobile-menu .cat-notices-btn.active {
  background: #BD1F37;
  box-shadow: inset 0 0 8px #7c1424;
}
#cat-inner-wrap .cat-mobile-menu .cat-filters-btn span:hover,
#cat-inner-wrap .cat-mobile-menu .cat-filters-btn.active {
  background: #315E89;
  box-shadow: inset 0 0 8px #1d3852;
}
#cat-inner-wrap .cat-mobile-menu .cat-search-btn span:hover,
#cat-inner-wrap .cat-mobile-menu .cat-search-btn.active {
  background: #E29905;
  box-shadow: inset 0 0 8px #a97305;
}
/***************************
  Mobile Menu - Mobile
***************************/
@media screen and (max-width: 640px) {
  #cat-inner-wrap .cat-mobile-menu { display: block; }
}

/***************************
  Titles
***************************/
.section-title.bg-none {
  background: none;
  font-size: 18px;
  font-weight: bold;
  padding-top: 10px;
}
.section-title.bg-none + .section-body {
  padding-top: 0;
}
h3.catalog-participant-name {
  margin-bottom: 10px;
  font-size: 16px; }

h2.program-desc {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 20px;
  line-height: 20px;
  padding-right: 15px;
  padding-left: 15px; }
  @media (min-width: 768px) {
    h2.program-desc {
      padding: 0; } }



/***************************
  Tooltip
***************************/
  .tooltipWrapper {
      position: relative; }

  .tooltipWrapper .tooltip {
    background: #3a3a3a;
    color: white;
    bottom: 100%;
    display: block;
    left: -20px;
    font-size: .75em;
    margin-bottom: 5px;
    opacity: 0;
    padding: 5px;
    pointer-events: none;
    position: absolute;
    text-align: center;
    text-transform: uppercase;
    width: 175px;
    -webkit-transform: translateY(10px);
     -moz-transform: translateY(10px);
      -ms-transform: translateY(10px);
       -o-transform: translateY(10px);
          transform: translateY(10px);
    -webkit-transition: all .25s ease-out;
     -moz-transition: all .25s ease-out;
      -ms-transition: all .25s ease-out;
       -o-transition: all .25s ease-out;
          transition: all .25s ease-out;
    -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
     -moz-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
      -ms-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
       -o-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
          box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28); }

  .tooltipWrapper .tooltip:after {
    border-left: solid transparent 8px;
    border-right: solid transparent 8px;
    border-top: solid #3a3a3a 8px;
    bottom: -6px;
    content: " ";
    height: 0;
    left: 20px;
    position: absolute;
    width: 0; }
      
  .tooltipWrapper:hover .tooltip {
    opacity: 1;
    /*pointer-events: auto;*/
    -webkit-transform: translateY(0px);
       -moz-transform: translateY(0px);
        -ms-transform: translateY(0px);
         -o-transform: translateY(0px);
            transform: translateY(0px); }