* {
  box-sizing: border-box;
}


/* Style the body */
body {
  font-family: "Hiragino Sans", Calibri, Arial, sans-serif;
  font-size: 80%;
  margin: 0;
  line-height: 2.3em;
}

/* https://www.w3schools.com/css/tryit.asp?filename=trycss_layout_clearfix2 */
.clearfix::after {
  content: "";
  clear: both;
  display: table;
}
/* program notes booklet style */
p.right {
   text-align: right;
}
div.indent {
   text-indent: 35px;
}
div.indentnospace {
   text-indent: 35px;
   display: block;
}
.booklet {
   font-family: Palatino, serif;
   font-size: 1.3em;
   line-height: 2em;
}

a:link {color: #18507C;}

/* imports from cms made simple */
h2 {
	color: black;
	font-size: 1.5em; 
	text-align: left; 
	font-weight: 600;
/* some air around the text */
	padding-left: 0.5em;
	padding-bottom: 1px;
/* set borders around header */
	border-bottom: 1px solid #e7ab0b; 
	border-left: 1.1em solid #e7ab0b; 
        line-height: 1.5em;
/* and some air under the border */
        margin: 0 0 0.5em 0;
}

/* right side flag on engagements page */
.flagright {
   float: right; 
   margin: 3px; 
   border: 1px solid black;
   height: 20px;
}

/* top flag on engagements page */
.flag {
   border: 1px solid black;
   margin: 2px;
}

/* program icon on engagements page */
.pgm {
   float: right; 
   margin: 3px; 
   border: 1px solid black;
}
/* end of imports */
h3 {
	display: block;
	color: black;
	font-size: 1.17em; 
	font-weight: bold;
/* some air around the text */
        line-height: 1.5em;
/* and some air under the border */
        margin: 1.5em 0 0 0;
}

.songtitle {
	display: block;
	font-size: 1.17em; 
        line-height: 1.5em;
        margin: 1.5em 0 0 0;
}

.quote {
   border-left: 10px solid #dddddd;
   margin: 0px;
   padding: 0 0 0 15px;
   font-size: 0.9em;
   line-height: 2em;
}
.smaller {
   font-size: 0.8em;
   line-height: 1.8em;
}
.articledate {
   font-size: 0.8em;
   font-style: italic;
}

/* Header/logo Title */
.header {
  padding: 0px;
  text-align: center;
  background: white;
  color: black;
}

/* Style the top navigation bar */
.navbar {
  display: flex;
  background-color: #2b2a27;
}

/* Style the navigation bar links */
.navbar a {
  color: white;
  padding: 14px 20px;
  text-decoration: none;
  text-align: center;
}

/* Change color on hover */
.navbar a:hover {
  background-color: #f3f5f3;
  color: black;
}

/* Style the footer navigation bar */
.footerbar {
  display: flex;
  background-color: #2b2a27;
}

/* Style the footer navigation bar links */
.footerbar a {
  color: #bbbbbb;
  padding: 14px 20px;
  text-decoration: none;
  text-align: center;
}


/* Style the top 2nd navigation bar */
.submenu {
  display: flex;
  background-color: #555;
}

/* Style the 2nd navigation bar links */
.submenu a {
  color: white;
  padding: 14px 10px;
  text-decoration: none;
  text-align: center;
}

/* Change color on hover */
.submenu a:hover {
  background-color: #bbbbbb;
  color: black;
}

/* Column container */
.row {  
  display: flex;
  flex-wrap: wrap;
}

/* Create two unequal columns that sits next to each other */
/* Sidebar/left column */
.side {
  flex: 20%;
  background-color: #ddddcc;
  padding: 8px;
  font-size: 90%;
  line-height: 2.0em;
}

/* Main column */
.main {
  flex: 70%;
  background-color: #f3f5f3;
  padding: 20px;
  min-height: 700px;
}

/* Footer */
.footer {
  padding: 20px;
  text-align: center;
  background: #2b2b2b;
  color: white;
}
/* Style the navigation bar links */
.footer a {
  color: white;
  text-decoration: none;
}
.bodybox {
      padding: 0 90px 0px 90px;
  max-width: 1200px;
  margin: auto;
}

.pagepanel {
  padding: 20px;
  background: #f3f5f3;
}

/* Responsive layout - when the screen is less than 700px wide, make the two columns stack on top of each other instead of next to each other */
@media screen and (max-width: 700px) {
  .row, .navbar, .submenu, .footerbar {   
    flex-direction: column;
  }
  .bodybox {
      padding:0px;
  }
  .navbar, .submenu, .footerbar {
     padding: 4px;
  }
  .main {
    min-height:50px;
  }
}
/* table stuff */
.stoplist {
   border-collapse: collapse;
   line-height: 0;
}

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

.list tr {background-color: white;}

/*.list tr:hover {background-color: #ddd;}*/

.list td, th {
  border: 1px solid #ddd;
  padding: 6px;
  line-height: 1.3em;
}

.list th {
  padding-top: 12px;
  padding-bottom: 12px;
  text-align: left;
  background: #dddddd;
}

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

.sidemenu tr {background-color: white;}

.sidemenu tr:hover {background-color: #eeeeee;}

.sidemenu td, th {
  border: 1px solid #ddd;
  padding: 8px;
}
.sidemenu a {
  text-decoration: none;
  color: black;
  display: block;
}

.sidemenu th {
  padding-top: 12px;
  padding-bottom: 12px;
  text-align: left;
}

/* engagements table */
.engagements {
  border-collapse: collapse;
  width: 100%;
	line-height: 1.6em;
}

.engagements tr {
	background-color: #ffffff;
	padding: 8px;
}
.engagements tr:nth-child(even) {
	background-color: #f9f9f9;
}
.engagements tr:hover {
	background-color: #c3d4df;
}
.engagements td {
	padding: 8px;
}

.pdate {
	color: #222222; 
	font-size: 1em; 
	font-weight: bold;
	text-align: left; 
/* some air around the text */
	padding-left: 0.5em;
	padding-bottom: 1px;
/* set borders around header */
	border-bottom: 1px solid #31b5ce; 
	border-left: 1.1em solid #31b5ce; 
        line-height: 1.5em;
/* and some air under the border */
        margin: 0 0 0.5em 0;
}
.ploc {
	text-align: center;
	font-size: 1.6em;
	font-weight: bold;
}
.pbox {
      padding: 0px 30px 0px 30px;
   text-align: left;
   font-family: Georgia, Geneva,Verdana, Arial, Helvetica, sans-serif;
   line-height: 1.4em;
}
.ptable {
	border-collapse: separate;
	border-spacing: 2px;
	width: 100%;
	line-height: 1.6em;
}
.ptable td {
   font-size: 1em;
   line-height: 1.4em;
   background: #f3e6bb;
  vertical-align: top;
  padding: 5px;
}

td.intermission {
   padding: 0.5em;
   font-size: 1em;
   font-style: italic;
   background: #ffffff;
   text-align: center;
}

.filmstripedge  {background: #ffffff; font-size: 0px; line-height: 0;}
.filmstripimage {background: #000000; font-size: 0px; line-height: 0;}

.film {
  border-collapse: collapse;
  border-spacing: 0;
  border: none;
}
.film td {
 padding: 0;
} 
