/********************** general **********************/

body {
  font-family: 'Work Sans', sans-serif;
}

h1 {
  font-family: 'Work Sans', sans-serif;
  font-weight: 600;
}
h2  {
  font-size: 2.2rem !important;
}

h3, ul.med li, ol.med li  {
  font-size: 1.65rem !important;
}

h4, 
ul.med li ul li, ul.med li ol li,
ol.med li ul li, ol.med li ol li  
{
 font-size: 1.5rem !important;
 font-family: 'Vollkorn', serif;
 font-weight: 500;
}

h5, 
ul.med li ul li ul li, ul.med li ol li ul li,
ul.med li ul li ol li, ul.med li ol li ol li,
ol.med li ul li ul li, ol.med li ol li ul li,
ol.med li ul li ol li, ol.med li ol li ol li    
{
 font-size: 1.25rem !important;
 font-family: 'Work Sans', sans-serif;
 font-weight: 400;
}

h3, h5 {
  font-family: 'Work Sans', sans-serif;
  font-weight: 400;
}
h2, h4 {
  font-family: 'Vollkorn', serif;
  font-weight: 500;
}

nav a {
  text-decoration: none;
}

a {
  text-decoration: underline;
  color: #220132;
}

a span.small {
    text-decoration: none;
    display: inline-block;
}

pre {
  background-color: #edeef1;
  padding: 20px;
  border-radius: 10px;
}

.no-class {
  /*background-image: url(../images/ptrn.png); 
  background-repeat: repeat;*/
  background:  #efefef !important;
}

.hide-weeks {
  display: none;
  background-image: url(../images/ptrn-lt.png);
  background-repeat: repeat; 

  /*background:  #efefef;  */
  text-align: center;
  width: 100%;
}

.hide-weeks td {
  padding: .5rem !important;
}

.hide-weeks a {
  font-family: 'Vollkorn', serif;
  font-size: 0.875rem;
}

.prev-week {
  display: none;
  /*background-image: url(../images/ptrn-lt.png); */
  background:  #efefef;
}

.prev-week .day-date, .prev-day .day-date {
  /*background-image: url(../images/ptrn-lt.png);*/
  background:  #efefef;
}

td:has(> .done-day) {
  background: #efefef; /* styles the TD (modern browsers only) */
}

td.done-day, 
.done-week,
.prev-week {
    /*background-image: url(../images/ptrn-lt.png);*/
    background:  #efefef;
}

.show-week {
  display: table-row !important;
  width: 100%;
}


.help, .help a {
  font-size: 0.875rem;
  color: #ff0000;
}

ul.ul-sp li, ol.ul-sp li {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

ul.ul-sp li ul li, ul.ul-sp li ol li, ol.ul-sp li ol li, ol.ul-sp li ul li {
  padding-top: 0rem;
  padding-bottom: 0rem;
}

.li-h {
  font-weight: 700;
  font-size: 1.25rem;
}

blockquote {
  padding: 0px 20px;
  margin: 0 0 20px;
  border-left: 5px solid #eee;
  font-style: italic;
}

.blockquote.small {
  font-size:  80% !important;
  margin: 10px 0 20px;
}

.strike {
  text-decoration: line-through
}

.text-white i {
  color: white;
}

.emphasis {
    font-weight: 800;
    text-transform: uppercase;
}

/* adds space to top of li with ul */
li:has(ul) {
  margin-top: 0.5rem; /* This is equivalent to Bootstrap's mt-2 */
}

/* adds space to any li that follows*/
li:has(ul) + li {
  margin-top: 0.5rem; /* Equivalent to Bootstrap's mt-2 */
}

div + li {
  margin-top: 0.5rem; /* Equivalent to Bootstrap's mt-2 */
}

/********************** nav **********************/
/* 5.0 diff */
li.nav-item.active .nav-link {
  color: #fff;
}
.nav-col {
    background-color: #220132 !important;
}
.bg-op-60 {
  opacity: 0.6; 
}

.navbar-brand {
  font-weight: 400 !important;
  text-transform: uppercase;
}
@media only screen and (max-width: 768px) {
  .no-mob {
    display: none;
  }
}
/********************** home page **********************/
.jumbotron {
  background-image: url(../images/fez-jumbo.jpg);  
  color: #fff;
  border-radius: 0.3rem
}

.caption {
  margin-top: -1.75rem;
  font-size: 0.875rem;
}
/********************** schedule **********************/
.schedule thead tr td {
  margin: -0.75rem -0.75rem 0.75rem -0.75rem;
  padding: 0.75rem;
  background-color: #220132;
  color: #fff;
  font-weight: 600;  
  font-size: 0.875rem;
  text-transform: uppercase;
  width: 50%;
}

/* 5.0 diff */
.schedule .day-date {
  font-size: 0.875rem;
  margin: -0.5rem -0.5rem 0.75rem -0.5rem;
  padding: 0.75rem;
  background-color: #d2d2d2;
  font-weight: 600;
}

.day-date.active {
  background-color: #ffff00 !important;
  /*background-image: url(../images/ptrn-hl.png); */
}

.schedule ul {
  padding-left: 1rem;
}

.popover ul {
  padding-left: 1rem;
}

.schedule, .schedule td {
  height: 100%;
}

.schedule .day-container {
  display: flex; flex-direction: column; height: 100%
}

.schedule .card {
  margin-top: auto;
}

.schedule .card-header {
  font-weight: 600;
}

.day-container > ul:first-of-type {
  margin-bottom: 2rem;
}

/********************** rubric **********************/                
.rubric td {
  border: 1px solid #eee;
  padding: 0.75rem;
  vertical-align:top;
  font-size: 0.875rem;
}

.rubric thead td {
  background-color: #eee;
  font-weight: 700;
}

.rubric td:nth-child(1) {  
  font-weight: 700;
  background-color: #eee;
}

.rubric {
  margin: 1rem 0rem;
}

.brdr {
  margin: 1rem 0rem;
  border: 1px solid #eee;
}

table tr.week td {
  font-weight: 700;
  font-size: 0.75rem;
  line-height: 1em;
  text-align: center;
  padding: 2px 0;
  margin:  0;
    /*color: #666;*/
  /*background-color: #efefef;*/
  color: #fff;
  background-color: #220132;
}

.popover ul li, .popover ol li {
  margin-bottom:  0.25rem;
  line-height:  1.25;
}

@media only screen and (min-width: 992px) {
  .due-date {
    display:inline-block;    
    float: right; 
    margin-top:0.25rem;
  }

  .filler {
    display: inline-block;
    overflow:hidden;
    background-color: #fff !important;
  }

  li[data-due] {
    background: url(../images/dots.png) repeat-x;
    background-position: top 0.5rem center;
    clear:  both;   
  }

  li[data-due]>a:first-of-type {
    display:inline-block;
    background-color: #fff;
    padding-right:0.5em;
  }

  .done-day li[data-due]>a:first-of-type,
  .done-week li[data-due]>a:first-of-type,
  .prev-week li[data-due]>a:first-of-type,
  .done-day li[data-due] span:not(span.due-date),
  .done-week li[data-due] span:not(span.due-date),
  .prev-week li[data-due] span:not(span.due-date) {
    background-color: #efefef !important;
  }

  li[data-due] a span {
    pointer-events: none;
  }
}

/********************** to do hr **********************/

hr {
  border-top: 1px solid #818078;
  opacity: .35;
}

.hr-text {
  font-weight: 700;
  font-size: 0.75rem;
  line-height: 1em;
  position: relative;
  outline: 0;
  border: 0;
  color: black;
  text-align: center;
  height: 1.5em !important;
  opacity: .35;
  background-color: inherit;
}

.hr-text::before {
  content: '';
  background: #818078;
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 1px;
}

.hr-text::after {
  content: attr(data-content);
  position: relative;
  display: inline-block;
  padding: 0 .5em;
  line-height: 1.5em;
  color: #818078;
  background-color: #fff;
}

.done-day .hr-text::after, 
.done-week .hr-text::after,
.prev-week .hr-text::after {
  background-color: #efefef;
}


/********************** highlights **********************/
.hl-y {
  background-color: #ffff00;
}

.team {
  padding-left: 10px;
  color: #666;
}
.team strong {
  font-weight: 700;
}

/********************** anchoring fix **********************/

a.anchor {
    display: block;
    position: relative;
    top: -50px;
    visibility: hidden;
}