@import url('normalize.css');
@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400;0,700;1,400;1,700&display=swap');
body
{
  background: white;
  color: #f0f;
  font-family: 'Crimson', serif;
  line-height: 1.3em;
}

h1, h2, h3, h4, h5, h6
{
  margin: 5px 0 5px;
}

h1 { font-size: 150%; text-align: center; line-height: 1.2 }
h2 { font-size: 140%; text-align: center; }
h3 { font-size: 130% }
h4 { font-size: 120%; }
h5 { font-size: 110%; }
h6 { font-size: 100%; }

h1 { margin-top: 30px }

@media screen and ( max-width: 400px )
{
  h1 { margin-top: 5px }
  h2 { font-size: 125%;  }
  h3 { font-size: 120% }
  h4 { font-size: 115%; }
  h5 { font-size: 110%; }
  h6 { font-size: 105%; }
}

form input,
form textarea
{
  font-family: sans-serif;
}

/* set size limits and background for the whole page */
div.wholepage
{
  background: #edb;
  color: #030;
  width: 100%;
  max-width: 1000px;
  margin: auto;
}

div.content
{
  padding: 20px;
  background: #fec;
  color: #030;
  min-height: 500px;
}

@media (max-width: 500px)
{
  div.content { padding: 5px }
}

/******* nav menu *******/
div.navmenu
{
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
  font-family: sans-serif;
  padding: 10px 0;
}

a.navlink
{
  display: block;
  flex-basis: 100px;
  flex-shrink: 1;
  text-decoration: none;
  border-radius: 5px;
  margin: 2px 2px;
  text-align: center;
  color: black;
}

@media (max-width: 700px)
{
  a.navlink { flex-basis: 80px }
}

@media (max-width: 550px)
{
  a.navlink { flex-basis: 30% }
}


a.navlink:hover
{
  background: #fec;
}

a.navlink.selflink
{
  background: #ffe;
}

/* captioned images */
div.caption 
{ 
  font-family: 'Times New Roman', serif; 
  font-style: italic; 
  text-align: center;
  color: black;
  background: white;
}

/**** text boxes ****/

div.panel
{
  background: #eee;
  max-width: 600px;
  padding: 10px;
  margin: 10px;
  border-radius: 5px;
}

div.panel.centred
{
  margin: 10px auto;
}

/*** home page ***/

div.homeheading
{
  margin: 2rem auto;
}

div.homeheading h2 
{ 
  margin: 1rem auto;
  opacity: 70%;
  font-size: 120%;
}

div.review_home
{
  margin: 10px;
  background: #eee;
  padding: 30px 10px;
  overflow: auto;
}

div.review_home img
{
  float: right;
  width: 50%;
  margin-left: 20px;
}

@media (max-width: 500px)
{
  div.homeheading { margin: 0.5rem auto }
  div.review_home { margin: 20px 0; padding: 10px }
  div.review_home img { width: 100%; margin: 0 0 20px }
}

/* home page band pic */

div.homepic
{
  width: 100%;
  max-width: 600px;
  margin: 10px auto;
  background: white;
}
div.homepic div.captions
{
  display: flex;
  justify-content: stretch;
  background: white;
  color: black;
  padding: 5px;
}
div.homepic img
{
  display: block;
  width: 100%;
}
div.homepic div.captions div
{
  flex-grow: 1;
  text-align: center;
}
div.homepic div.photocredit
{
  font-style: italic;
  text-align: center;
  font-size: 90%;
}

/**** general text blocks ***/

div.text
{
  width: 40rem;
  max-width: 80%;
  max-width: calc(100% - 200px);
  padding: 10px 100px;
  background: white;
}

@media (max-width: 800px)
{
  div.text
  {
    padding: 10px;
    max-width: calc(100% - 20px);
  }
}


div.centred
{
  margin-left: auto;
  margin-right: auto;
}

/************* datarec_form **************/
form.datarec_form {
  background: #aca;
  padding: 1rem;
  width: auto;
  margin: 20px 0;
}

form.datarec_form div.form_input_pair {
  display: grid;
  grid-template-columns: 1fr 3fr;
  background: #ada;
  padding: 5px;
  margin: 5px 0;
}

@media (max-width: 600px)
{
  form.datarec_form { padding: 0.5rem }
  form.datarec_form div.form_input_pair
  {
    display: block;
    margin-top: 5px;
  }
}

form.datarec_form div.form_input_pair div.input input[type=text],
form.datarec_form textarea
{
  width: calc(100% - 5px);
}

div.radiobuttons 
{ 
  display: inline-block; 
  width: 20%;
  min-width: 130px;
  white-space: nowrap;
}

form.datarec_form div.info,
form.datarec_form div.error
{
  grid-column-start: 2;
  grid-column-end: 3;
  font-style: italic;
}
form.datarec_form div.error { color: red; }
form.datarec_form div.info  { color: green; }


/* spam trap */
.stclass { display: none; }


/** errorbox for error messages **/

div.errorbox, div.msgbox
{
  border-radius: 5px;
  background: white;
  font-family: sans-serif;
  padding: 5px;
  width: max-content;
  margin: 10px;
}

div.errorbox
{
  border: 2px solid red;
  color: #900;
}


/** msgbox for messages **/
div.msgbox
{
  border: 2px solid green;
  color: #060;
}

/* gallery.php */
div.pic, div.pic.portrait
{
  display: inline-block;
  width: 45%;
  width: calc(50% - 37px);
  margin: 10px 5px;
  padding: 10px;
  vertical-align: top;
  text-align: center;
  background: white;
  border: 1px solid black;
  border-radius: 5px;
}
div.pic.landscape
{
  width: 90%;
  width: calc(100% - 41px);
}
div.pic img
{
  width: 100%;
}
div.pic div.caption
{
  text-align: center;
  font-style: italic;
}
@media screen and ( max-width: 400px )
{
  div.pic, div.pic.portrait, div.pic.landscape
  { 
    width: 90%; 
    width: calc(100% - 21px);
    padding: 5px;
    margin: 5px auto;
  }

}


/* index.php */
img.header
{
  display: block; 
  width: 100%;
}

div.hl-box
{
  max-width: 300px; 
  border: 2px solid #393; 
  border-radius: 10px; 
  padding: 10px; 
  margin: 20px auto; 
  text-align: center;
}

div.homepics 
{ 
  margin: 10px auto;
  max-width: 800px; 
  display: flex;
  gap: 5px;
  background: white;
  padding: 5px;
  justify-content: center;
}

/* gigs.php */
div.gig
{
  margin: 10px 0;
  padding: 5px;
  color: black;
  background: white;
}

div.gig.old
{
  color: #666;
  background: #ccc;
}

div.gig div.date
{
  display: inline-block;
  vertical-align: top;
  width: 70px;
  font-weight: bold;
}
div.gig div.desc
{
  display: inline-block;
  vertical-align: top;
  width: 80%;
  max-width: 600px;
}

div.gig p
{
  margin: 5px 0 0 0;
}

/**** action buttons *******/
form.addbutton 
{ 
  margin: 10px 0;
}
form.addbutton input[type=submit]
{
  color: green;
  background: linear-gradient(white, #cfc);
}
form.delbutton input[type=submit]
{
  margin: 10px 0;
  color: #600;
  background: linear-gradient(white, #f99);
}
form.logoutbutton
{
  margin: 10px 0;
}

/**** login form ****/

table.login
{
  width: 300px;
}

table.login tr td
{
  background: #cb9;
  padding: 5px;
}

table.login tr td input
{
  width: 300px;
  max-width: 100%;
}

table.login tr td input[type=submit]
{
  width: max-content;
}

/* hear.php */

div.sample
{
  margin: 10px 0;
  padding: 10px 5px;
  background: #ffd;
}
div.sample div.title
{
  display: inline-block;
  vertical-align: top;
  width: 50%;
  min-width: 200px;
}
div.sample div.player
{
  vertical-align: top;
  display: inline-block;
  width: 300px;
}
@media screen and (max-width: 700px)
{
  div.sample div.title
  {
    display: block;
    width: 100%;
  }

}

table.sounds
{
  background: #cdb; margin: 20px 0 ;
}

/** debug info ********/
table.reqvars tr td 
{ 
  border: 1px solid black; 
  font-family: monospace;
  font-size: 80% 
}
