/* Custom styling for the cat_program_class_details.cfm page

10/10/2016 - APINZONE - UMT23220 
-- Created initial revision.
04/17/2017 A PINZONE (TICKET FO24654)
-- Limited the size of session buttons and centered.
01/08/2018 A PINZONE (TICKET 28336)
- Added new class to style the program session program code.
08/14/2019 R ROCHE (TICKET CP34079)
- Added styling for the social media button's use of the modal
08/28/2019 R ROCHE (TICKET CP34079)
- The modal is now called #modal-box
08/29/2019 R ROCHE (TICKET CP34079)
- Made the textarea in the social media modal taller
12/06/2019 R ROCHE (TICKET CP34656)
- Removed top padding from the Add to Cart buttons. It is no longer needed without the form inside the button
*/


/*************************************
 * Program Details Page - Desktop
 ************************************ */
strong { font-weight: bold; }
em { font-style: italic; }

/****** Breadcrumbs *****/
.cat-breadcrumbs { margin: 10px 0 10px 5px; }
.cat-breadcrumbs a { display: inline; }
.cat-breadcrumbs .breadcrumb-link { line-height: 18px; }

/***** Buttons *****/
.cat-detail-content .cat-btn input[type="submit"],
.cat-detail-content .cat-btn input[type="button"] {
  height: auto;
  font-size: 12px;
  font-weight: bold;
  padding: 3px 0;
}
.cat-detail-content button.cat-btn a {
  margin: 0;
  padding: 3px 0;
}

/***** Header *****/
.cat-detail-header {
  background: #757D85;
  padding: 15px 230px 15px 15px;
  margin-bottom: 15px;
  border-radius: 5px;
 }
  .cat-detail-header::after {
    clear: both;
    content: '';
    display: table; }

  /***** Title / Img Wrap *****/
  .cat-header-title-img {
    float: left;
    width: 100%; }

  /***** Header Image *****/
  .cat-header-img {
    border: 2px solid #4D5459;
    float: left;
    height: 75px;
    margin-right: 25px;
    overflow: hidden;
    position: relative;
    width: 136px; }
    .cat-header-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-header-img:hover figcaption {
      opacity: .85;
      visibility: visible;
      transition: 1s all ease;
    }
    .cat-header-img img {
      display: block;
      height: 100%;
      width: 100%; }
    @media screen and (max-width: 640px) {
      .cat-header-img {
        float: none;
        margin: 0 auto;
      }
    }

  /***** Header Title *****/
  .cat-header-title {
    color: white; }
    .cat-header-title h1 {
      font-size: 24px; }
    .cat-header-title h3 {
      background: none;
      border-radius: 0;
      font-weight: 500;
      margin: 0;
      padding: 0; }

  /***** Header CTA & Fees *****/
  .cat-header-cta-details {
    float: right;
    margin-right: -230px;
    padding-right: 15px;
    width: 200px; }
    .cat-header-cta-details .cat-btn {
      display: block;
      font-weight: bold;
      margin-bottom: 5px;}
    .cat-header-cta-details span {
      color: white;
      display: block;
      font-size: 12px;
      font-weight: 500;
      line-height: 150%;
      text-align: center; }
    .cat-header-cta-details span.out-of-town {
      display: block;
      font-size: 95%;
    }
    .cat-header-cta-details span.program-fees-more {
      font-style: italic;
      font-size: 95%;
    }

/***** Program Notices *****/
.cat-details-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-details-notices::after {
  clear: both;
  content: '';
  display: table;
}
.cat-details-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-details-notices h3 span {
  color: #bd1f37;
  display: block;
}
.cat-details-notices ul {
  color: #bd1f37;
  font-size: 12px;
  line-height: 125%;
  margin-left: 115px;
}
.cat-details-notices ul li {
  padding-bottom: 10px;
}

/***** Section Content *****/
.section-title {
  border-radius: 4px 4px 0 0 ;
  font-weight: bold;
  text-transform: uppercase; }
.section-body {
  font-size: 12px;
  line-height: 125%; }
.section-body::after {
  clear: both;
  content: '';
  display: table;
}

/***** Two Column List w/ Titles *****/
.two-col::after {
  clear: both;
  content: '';
  display: table;
}
  .two-col li {
    float: left;
    line-height: 200%;
  }
  .two-col .title {
    font-weight: bold;
    text-transform: uppercase;
    width: 20%;
  }
  .two-col .details {
    width: 80%;
  }

/***** Locations *****/
.location {
  margin-top: 10px;
  margin-bottom: 10px;
}
.location:nth-child(odd) { clear: left; }

  .location .section-body {
    padding: 10px 25px;
  }
  .location:nth-of-type(even) {
    border-left: 1px solid #ddd;
  }
  .location-address,
  .google-maps-location {
    float: left;
    width: 50%;
  }
  .location-address {
    line-height: 175%;
  }

/***** Schedule *****/
.cat-table-schedule {
  border-collapse: separate;
  border-spacing: 3px;
  max-width: 100%;
  width: 100%;
}
  .cat-table-schedule th,
  .cat-table-schedule td {
    background: #F1F3F1;
    padding: 3px;
  }
  .cat-table-schedule th {
    color: #111;
    font-weight: bold;
    text-decoration: underline;
  }

/***** Return to Catalog *****/
.return-to-catalog {
  margin: 10px;
  text-align: center;
}
  .return-to-catalog i {
    padding-right: 10px;
  }
  .return-to-catalog a {
    cursor: pointer;
  }


/*************************************
 * Program Details Page - Mobile
 ************************************ */
@media screen and (max-width: 640px) {
  .breadcrumb-link { display: block; }
  .breadcrumb-divider { display: none; }
  .cat-detail-header { padding: 15px; }
  .cat-header-title-img { float: none; }
  .cat-header-title-img::after { content: ''; clear: both; display: table;}
  .cat-header-title { text-align: center; }
  .cat-header-cta-details {
    float: none;
    margin: 15px auto 0;
    padding: 0;
    width: 200px; }
  .two-col .title, .two-col .details { width: 50%; }
  /***** Schedule *****/
  .cat-table-schedule { border-collapse: collapse; border-spacing: 0; }
  .cat-table-schedule,
  .cat-table-schedule thead,
  .cat-table-schedule tbody,
  .cat-table-schedule th,
  .cat-table-schedule td,
  .cat-table-schedule tr {
    display: block;
  }
  .cat-table-schedule thead tr {
    position: absolute;
      top: -9999px;
      left: -9999px;
  }
  .cat-table-schedule tr { background: #fff; border: 1px solid #ccc; margin-bottom: 10px; }
  .cat-table-schedule tr:nth-of-type(odd) { background: #E6ECF1; }
  .cat-table-schedule td {
    background: none;
    border: none;
    border-bottom: 1px solid #F1F3F1;
    position: relative;
    padding-left: 50%;
  }
  .cat-table-schedule td:before {
    /* Now like a table header */
    position: absolute;
    /* Top/left values mimic padding */
    top: 3px;
    left: 6px;
    width: 45%;
    padding-right: 10px;
    white-space: nowrap;
    font-weight: 500;
  }
  .cat-table-schedule td.class-date:before       { content: 'Class Date:'; }
  .cat-table-schedule td.class-start-time:before { content: 'Start time:'; }
  .cat-table-schedule td.class-end-time:before   { content: 'End Time:';   }
  .cat-table-schedule td.class-day:before        { content: 'Day:';        }
  .cat-table-schedule td.class-location:before   { content: 'Location:';   }

}

/*************************************
 * Sessions Table
 ************************************ */
 .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 0;
  width:100%;
}
.program-session-table .program-code {
  font-weight: normal;
  display: block;
  padding: 5px 0;
  font-size: 12px;
}
 .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;
}
 .program-session-table td {
  border-right: 1px solid lightgrey;
  border-bottom: 1px solid lightgrey;
  font-size: 12px;
  padding: 10px;
  vertical-align: top;
  width: 20%;
}
.program-session-table td.availability {
  position: relative;
  width: 25%;
}
.program-session-table td.eligibility {
  width: 15%;
}
 .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;
}
 .program-session-table td .cat-btn.session-notice::before {
  content: '';
}
 .program-session-table td.register-info {
  border-right: 0;
}
 .program-session-table td.register-info a {
  font-style: normal;
  margin: 0 auto;
  max-width: 170px;
}
.program-session-table td.register-info .reg-info {
  font-size: 90%;
  margin: 0;
  padding: 5px;
}
 .program-session-table td h4 {
  font-size: 13px;
  font-weight: 700;
  line-height: 115%;
}
 .program-session-table td h4 a {
  color: #4d5459;
  font-weight: 700;
  text-decoration: underline;
}
 .program-session-table td h4 a:hover {
  color: #315e89;
}
 .program-session-table td p,
 .program-session-table td ul {
  margin-bottom: 0;
}
 .program-session-table td .program-availability {
  float: none;
  font-size: inherit;
  margin: 10px 0;
  text-align: left;
  width: 100%;
}
 .program-session-table td .program-reqs {
  margin-bottom: 10px;
}
 .program-session-table td .program-reqs > li {
  border: 0;
  display: block;
  line-height: 18px;
  margin: 0;
  padding: 0;
}
 .program-session-table td .family-members > li {
  margin: 0 2px;
}
 .program-session-table td.dates-times > span {
  display: block;
  font-weight: bold;
  line-height: 150%;
}
/* Program Days */
.program-session-table td .program-days {
  margin-bottom: 0;}
  .program-session-table td .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;}
    .program-session-table td .program-days > li.active-day {
      background: #315e89;
      color: white;}
    .program-session-table td .program-days > li.inactive-day {
      background: #d2d4d7;
      text-align: left;
      text-indent: -9999px;}
    .program-session-table td .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;}
    .program-session-table td .program-days > li.program-hours {
      font-size: 12px;
      font-weight: bold;
      padding-left: 10px;
      width: auto;}
 .program-session-table td .program-days {
  padding: 10px 0;
}
 .program-session-table td .program-days h4 {
  font-style: italic;
  font-weight: normal;
  width: 100%;
}
 .program-session-table td .program-fees {
  display: block;
  font-style: italic;
  font-weight: bold;
}
 .program-session-table td .program-loc-name,
 .program-session-table td .program-loc-address {
  font-size: 11px;
  line-height: 115%;
}
 .program-session-table td .cat-btn {
  box-sizing:border-box;
  display: block;
  font-size: 11px;
  line-height: 15px;
  margin-bottom: 5px;
  text-align: center;
  width: 100%;
}
 .program-session-table td .more-details {
  display: block;
  font-size: 11px;
  padding: 15px 0;
  text-align: center;
}
 .program-session-table td .more-details::after {
  content: "\BB";
  padding: 0 3px;
}
.program-session-table td .more-details a.code_link {
  color: #414043;
}
.program-session-table td .more-details a.code_link:hover {
  text-decoration: underline;
}
.program-session-table .program-days > li {
  margin-top: 5px;
}

/*************************************
 * Sessions Table - Tablet Adjustments
 ************************************ */
@media screen and (max-width: 980px) {
  .program-session-table td {
    padding: 5px;
  }
  .program-session-table .btn-add-to-cart::before {
    content: "";
  }
}

/*************************************
 * Sessions Table - Mobile Adjustments
 ************************************ */
@media screen and (max-width: 640px) {
  .program-session-table {
    border: 0;
    display: block;
    margin: 0;
  }
  .program-session-table thead {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
  .program-session-table tbody,
  .program-session-table td,
  .program-session-table tr {
    border: 0;
    display: block;
    font-size: 13px;
    text-align: center;
  }
  .program-session-table tbody {
    margin: 0 auto;
    max-width: 350px;
  }
  .program-session-table tr {
    border: 1px solid lightgrey;
    margin: 10px;
  }
  .program-session-table tr:after {
    clear: both;
    content: "";
    display: table;
  }
  .program-session-table td {
    width: 100%;
  }
  .program-session-table td.availability {
    border-bottom: 1px solid lightgrey;
    text-align: left;
  }
  .program-session-table td.eligibility,
  .program-session-table td.dates-times,
  .program-session-table td.price-location {
    display: table-cell;
  }
  .program-session-table td.eligibility,
  .program-session-table td.dates-times {
    border-right: 1px solid lightgrey;
  }
  .program-session-table td.eligibility {
    text-align: left;
    width: 30%;
  }
  .program-session-table td.dates-times {
    font-size: 11px;
    font-weight: normal;
    width: 40%;
  }
  .program-session-table td.price-location {
    width: 30%;
  }
  .program-session-table .program-availability {
    margin: 0;
    padding: 0;
    text-align: center;
  }
  .program-session-table .program-reqs { margin: 0; }

  .program-session-table .program-reqs > li {
    display: inline-block;
    padding: 0 5px;
  }
  .program-session-table .dates-times span {
    display: inline;
    padding: 0 10px;
  }
  .program-session-table .dates-times .dates {
  }
  .program-session-table .price-location span {
    display: block;
    line-height: 150%;
  }
  .program-session-table .register-info {
    border-top: 1px solid lightgrey;
    padding: 0;
  }
  .program-session-table .register-info:after {
    clear: both;
    content: "";
    display: table;
  }
  .program-session-table .register-info span {
    float: left;
    height: 30px;
    line-height: 30px;
    margin: 0;
    padding: 0;
    width: 50%;
  }
  .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;
  }
  .program-session-table .register-info .more-details {
    background: lightgrey;
  }
  .program-session-table td .cat-btn.session-notice {
    display: block;
    float: right;
    position: relative;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
  }
}

/*************************************
 * Program Notices Popup
 ************************************ */
.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;
}
.program-notice-details .notice-content {
  padding: 20px;
  position: relative;
}
.program-notice-details .notice-content h2 {
  color: #bd1f37;
  font-size: 2em;
  margin-bottom: 15px;
  text-align: left;
}
.program-notice-details .notice-content ul li {
  font-size: 12px;
  line-height: 150%;
  padding-bottom: 10px;
  text-align: left;
}
.program-notice-details .notice-content .close-btn {
  cursor: pointer;
  font-size: 20px;
  position: absolute;
  top: 10px;
  right: 10px;
}
@media screen and (max-width: 640px) {
  .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%;
  }
}


/* Added 08/14/2019 by R ROCHE (TICKET CP34079)
Modified 8/26/2019 R ROCHE (TICKET CP34079) - Changed to Open Sans font, size 13px */
#modal-box #sampleEmail
{
  padding: 10px;
  margin-bottom: 10px;
  border: 1px solid #9AA1A8;
  background-color: #eee;
  width: 100%;
  border-radius: 3px;
  box-sizing: border-box;
  outline: 0;
  resize: vertical;
  height: 12em;
  font-family: "Open Sans", "Helvetica", sans-serif;
  font-size: 12px;
  overflow: hidden;
  overflow-y: scroll;
}

#modal-box #copyShareTextMessage
{
  margin: 10px 0 0 10px;
}

#modal-box .email-sharing-instructions
{
  font-size: 16px;
  line-height: 18px;
  margin-bottom: 10px;
}
#modal-box .modal-title 
{
  line-height: 45px;
}