/***********************************/
/*********Look at my style!*********/
/*Almost as great as my bass skills*/
/***********************************/


/**********************************************************************/
/**************************GLOBAL VARIABLES****************************/
/**********************************************************************/


:root{
  /* Display */
  display: block;
  box-sizing: border-box
  /* Font Styles */
  font-family: sans-serif;
  font-size: 1rem;
  /*  Variables */
  --ratio: 1.5rem;
  --max_inline_size: 165ch;
  --font_color_main: black;
  --font_color_highlight: #832F39;
}

/* Display all borders as needed 
* {
  outline: 1px solid red;
}
*/

/**********************************************************************/
/**************************GENERAL*************************************/
/**********************************************************************/


body {
  /* Position with Header and Footer */
  height: calc(100vh - var(--ratio));
  display: flex;
  flex-direction: column;
  /* Location and Size */
  max-inline-size: var(--max_inline_size);
  margin-inline: auto;
  /* Font Styles */
  color: var(--font_color_main);
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  /* Background */
  background-image: url('Background.jpg');
  background-size: 700px 700px;
  background-repeat: repeat;
}

main {
  felx-grow: 1;
}

img{
  /* Display */
  display: block;
  /* Image Scale */
  max-width:100%;
  /* Margins */
  margin-inline: auto;
  margin-top: calc(var(--ratio)*1);
  margin-bottom: calc(var(--ratio)*1.5);
}

a {
  /* Font Styles */
  color: var(--font_color_main);
  text-decoration: none;
}

h1,h2,h3,h4,h5,h6,p,pre{
  /* Margins */
  margin: 0;
  padding: 0}

h1{
  /* Margins */
  margin-top: -1rem;
  margin-bottom: -1rem;
  /* Font Styles 
  font-size: 3.75em;*/
  font-size: 3.0em;
  font-weight: 800;
}

h2{
  /* Margins */
  margin-top: -.4rem;
  margin-bottom: -.4rem;
  /* Font Styles */
  font-size: 1.75em;
  font-weight: 800;
}

h3{
  /* Font Styles */
  font-size: 1.20em;
  font-weight: 500;
}

p{
  /* Font Styles */
  font-size: 1.20em;
  font-weight: 400;
}

/* Main text paragraphs*/
.p2{
  /* Padding */
  padding-top: .5rem;
  /* Font Styles */
  font-size: 1.20em;
  font-weight: 400;
  text-indent: 1.20em;
}


/**********************************************************************/
/**************************HEADER**************************************/
/**********************************************************************/


.header_title{
  /* Font Styles 
  color: white;
  text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;*/
  /* Font Styles */
  color: black;
}

/* Indicates the selected page */
/* Color is primary. No chage to hover state */
.hover_menu_no{color: var(--font_color_highlight);}
.hover_menu_no:hover{
    /* Font Styles */
  color: var(--font_color_highlight);
  text-shadow: none;
  /* Cursor Style */
  cursor: default;
}

/* Indicates a different page than self */
/* Color is black and the hover state is styled */
.hover_menu_yes{color: black;}
.hover_menu_yes:hover{
  /* Font Styles */
  color: gray;
  /*text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;*/
  /* Cursor Style */
  cursor: pointer;
}

/* Note, hamburger menu not required yet. */
/* Mobile and Tablet media queries for the menu items are identical. */

.hamburger_menu{display: none;}


/**************************/
/**********MOBILE**********/
/**************************/
@media only screen and (max-width: 799px) {
  header {
    /* Display */
    display: block;
    /* Margins */
    margin-top: calc(var(--ratio)*1);
  }

  .header_title_container{
    /* Display */
    display: block;
    /* Font Styles */
    text-align: center;
    margin-bottom: calc(var(--ratio)*.5);
  }

  .menu_item_container{
    width: 100%;
    /* Font Styles */
    text-align: center;
  }

  .menu_item{
    /* Display */
    display: inline-block;
    margin-top: 1rem;
    margin-left: 1rem;
    margin-right: 1rem;
  }
}

/**************************/
/**********TABLET**********/
/**************************/
@media only screen and (min-width: 800px) and (max-width: 1023px) {
  header {
    /* Display */
    display: block;
    /* Margins */
    margin-top: calc(var(--ratio)*1);
  }

  .header_title_container{
    /* Display */
    display: block;
    /* Font Styles */
    text-align: center;
    margin-bottom: calc(var(--ratio)*.5);
  }

  .menu_item_container{
    width: 100%;
    /* Font Styles */
    text-align: center;
  }

  .menu_item{
    /* Display */
    display: inline-block;
    margin-top: 1rem;
    margin-left: 1rem;
    margin-right: 1rem;
  }
}

/**************************/
/*********DESKTOP**********/
/**************************/
@media only screen and (min-width: 1024px) {
  header {
    /* Display */
    display: flex;
    flex-wrap: nowrap;
    /* Margins */
    margin-top: calc(var(--ratio)*2);
  }

  .header_title_container{
    /* Display */
    display: inline;
    /* Padding */
    padding-left: 1rem;
    /* Font Styles */
    text-align: left;
  }

  .menu_item_container{
    /* Display */
    display: flex;
    flex-wrap: nowrap;
    /* Margins */
    margin-left: auto; 
    margin-right: 0;
    /* Padding */
    padding-right: 1rem;
  }

  .menu_item{
    /* Margins */
    margin-top: auto;
    margin-bottom: 0;
    margin-left: calc(var(--ratio)*1); 
    margin-right: 0;
    /* Font Styles */
    text-align: right;
  }

}


/**********************************************************************/
/**************************HOME****************************************/
/**********************************************************************/


.home{
  /* Display */
  display: block;
  /* Margins */
  margin-top: calc(var(--ratio)*1.5);
  margin-bottom: calc(var(--ratio)*1.5);
}


/**********************************************************************/
/**************************TOUR****************************************/
/**********************************************************************/


.tour{
  /* Display */
  display: none;
  /* Location and Size */
  max-inline-size: var(--max_inline_size);
  margin-inline: auto;
  /* Margins 
  margin-top: calc(var(--ratio)*1);*/
  margin-bottom: calc(var(--ratio)*1.5);
}

.tour_title{
  /* Font Styles */
  text-align: center;
  /* Margins */
  margin-top: calc(var(--ratio)*1.5);
  /*margin-bottom: calc(var(--ratio)*1);*/
}

/**************************/
/*********GENERAL**********/
/**************************/
.tour_entry{
  /* Display */
  display: block;
  /* Padding */
  padding-top: calc(var(--ratio)*1);
  padding-bottom: calc(var(--ratio)*1);
  padding-left: 1rem;
  padding-right: 1rem;
  /* Font Styles */
  font-size: 1.2em;
}

.tour_entry_next{
  border-color: rgba(0,0,0,0.25);
  border-style: solid;
  border-width: 1px 0 0 0;
}

.tour_entry_date,
.tour_entry_city,
.tour_entry_venue,
.tour_entry_time,
.tour_entry_link,
.tour_entry_description{
  /* Display */
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.tour_entry_venue{
  /* Font Styles */
  color: var(--font_color_highlight);
}

.tour_entry_description{
  /* Display */
  display: flex;
  /* Location and Size */
  justify-content: flex-start;
  flex-direction: column;
}

.tour_entry_link{
  /* Border Style */
  border-color: var(--font_color_highlight);
  border-radius: 4px;
  border-style: solid;
  border-width: 2px;
}

.tour_entry_link:hover{
  /* Border Style */
  background-color: var(--font_color_highlight);
}

.tour_entry_link:hover h3 a{
  /* Border Style */
  color: white;
}

.tour_image{
  /* Display */
  display: none;
  margin-top: calc(var(--ratio)*1.5);
}

/**************************/
/**********MOBILE**********/
/**************************/
@media screen and (max-width: 1024px) {
  .tour_entry,
  .tour_entry_next{
    /* Margins */
    margin-left: calc(var(--ratio)*1);
    margin-right: calc(var(--ratio)*1);
  }

  .tour_entry_date,
  .tour_entry_city,
  .tour_entry_venue,
  .tour_entry_time,
  .tour_entry_link,
  .tour_entry_description{
    /* Font Styles */
    text-align: center;
  }

  .tour_entry_description{
    /* Font Styles */
    font-size: .85em;
  }

  .tour_entry_link{
    /* Location and Size */
    max-inline-size: 25ch;
    margin-inline: auto;
    /* Margins */
    margin-top: 1rem;
  }
}

/**************************/
/*********DESKTOP**********/
/**************************/
@media screen and (min-width: 1024px) {
  .tour_entry,
  .tour_entry_next{
    /* Display */
    display: grid;
    grid-template-columns: 12.5ch auto 25ch 15ch;
    grid-template-rows: 2rem 2rem;
  }

  .tour_entry_date{
    /* Location and Size */
    grid-column: 1 / 1;
    grid-row: 1 / 2;
    /* Padding */
    padding-left: 1rem;
  }

  .tour_entry_venue{
    /* Location and Size */
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    /* Location and Size */
    justify-content: flex-start;
    flex-direction: column;
  }

  .tour_entry_city{
    /* Location and Size */
    grid-column: 3 / 4;
    grid-row: 1 / 2;
  }

  .tour_entry_description{
    /* Location and Size */
    grid-column: 2 / 4;
    grid-row: 2 / 3;
    /* Padding */
    padding-right: 1rem;
    /* Font Styles */
    font-size: .95em;
  }

  .tour_entry_link{
    /* Location and Size */
    grid-column: 4 / 5;
    grid-row: 1 / 2;
    /* Margins */
    margin-right: 1rem;
    /* Font Styles */
    text-align: center;
  }
}


/**********************************************************************/
/**************************LISTEN**************************************/
/**********************************************************************/


.listen{
  /* Display */
  display: none;
  /* Margins */
  margin-top: calc(var(--ratio)*2);
  margin-bottom: calc(var(--ratio)*1.5);
}

.listen_entry{
  /* Margins */
  margin-top: calc(var(--ratio)*1.5);
  /*margin-bottom: calc(var(--ratio)*1.5);*/
}

.listen_entry_title,
.listen_entry_title h3{
  /* Margins */
  margin-bottom: calc(var(--ratio)*.5);
  /* Font Styles */
  text-align: center;
  font-size: 1.2em;
  font-weight: 800;
}

.listen_entry_text{
}

iframe{
  /* Display */
  display: block;
  /* Margins */
  margin-top: calc(var(--ratio)*1.5);
  margin-left: auto;
  margin-right: auto;
}

.listen_entry_image{
  /* Display */
  display: block;
  /* Margins */
  margin-top: calc(var(--ratio)*3);
}

/**************************/
/**********MOBILE**********/
/**************************/
@media only screen and (max-width: 799px) {
  .listen_entry_text{
  /* Display */
  margin-left: 1rem;
  margin-right: 1rem;
  }
}

/**************************/
/**********TABLET**********/
/**************************/
@media only screen and (min-width: 800px) and (max-width: 1599px) {
  .listen_entry_text{
    /* Margins */
    margin-left: 7.5rem;
    margin-right: 7.5rem;
  }
}


/**************************/
/*********DESKTOP**********/
/**************************/
@media screen and (min-width: 1600px) {
  .listen_entry_text{
    /* Margins */
    margin-left: 7.5rem;
    margin-right: 7.5rem;
  }
}

/**********************************************************************/
/**************************LESSONS*************************************/
/**********************************************************************/

label {
  /* Font Styles */
  font-size: 1.2em;
  font-weight: 400;
}

input,
select,
textarea {
  /* Font Styles */
  color: var(--font_color_main);
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-size: 1.1em;
  font-style: normal;
}

.lessons{
  /* Display */
  display: none;
  /* Margins */
  margin-top: calc(var(--ratio)*1.5);
  margin-bottom: calc(var(--ratio)*1.5);
}


/**************************/
/**********MOBILE**********/
/**************************/
@media screen and (max-width: 799px) {
  .lessons{
    /* Margins */
    margin-left: 1rem;
    margin-right: 1rem;
  }
}


/**************************/
/**********TABLET**********/
/**************************/
@media only screen and (min-width: 800px) and (max-width: 1599px) {
  .lessons{
    /* Margins */
    margin-left: 7.5rem;
    margin-right: 7.5rem;
  }
}


/**************************/
/*********DESKTOP**********/
/**************************/
@media screen and (min-width: 1600px) {
  .lessons{
    /* Margins */
    margin-left: 7.5rem;
    margin-right: 7.5rem;
  }
}

.lessons_image{
  /* Display */
  display: block;
}

#lessons_form {
  /* Margins */
  margin-top: 1rem;
  padding: 20px;
}

#lessons_form_thank_you {
  /* Margins */
  margin-top: calc(var(--ratio)*1.5);
}

#lessons_form_thank_you p {
  /* Font Styles */
  color: var(--font_color_highlight);
  font-weight: 600;
  font-size: 1.5em;
  text-align: center;
}

 /* Style inputs with type="text", select elements and textareas */
input[type=text], select, textarea {
  width: 100%; /* Full width */
  padding: 12px; /* Some padding */ 
  border: 1px solid #ccc; /* Gray border */
  border-radius: 4px; /* Rounded borders */
  box-sizing: border-box; /* Make sure that padding and width stays in place */
  margin-top: 6px; /* Add a top margin */
  margin-bottom: 16px; /* Bottom margin */
  resize: vertical /* Allow the user to vertically resize the textarea (not horizontally) */
  text-align: center;
}

/* Style the submit button with a specific background color etc */
button {
  background-color: var(--font_color_highlight);
  /*background-color: #04AA6D;*/
  color: white;
  padding: 12px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

/* When moving the mouse over the submit button, add a darker green color */
input[type=submit]:hover {
  background-color: gray;
}


/**********************************************************************/
/**************************BLOG****************************************/
/**********************************************************************/


.blog{
  /* Display */
  display: none;
  /* Margins */
  margin-top: calc(var(--ratio)*1);
}

.blog_image{
  /* Display */
  display: none;
}


/**********************************************************************/
/**************************ABOUT***************************************/
/**********************************************************************/


.about{
  /* Display */
  display: none;
  /* Margins */
  margin-top: calc(var(--ratio)*1.5);
  margin-bottom: calc(var(--ratio)*1.5);
}

.about_text{
  /* Display */
  display: block;
}

.about_image{
  /* Display */
  display: block;
}

/**************************/
/**********MOBILE**********/
/**************************/
@media only screen and (max-width: 799px) {
  .about_text{
  /* Display */
  margin-left: 1rem;
  margin-right: 1rem;
  }
}

/**************************/
/**********TABLET**********/
/**************************/
@media only screen and (min-width: 800px) and (max-width: 1599px) {
  .about_text{
    /* Margins */
    margin-left: 7.5rem;
    margin-right: 7.5rem;
  }
}


/**************************/
/*********DESKTOP**********/
/**************************/
@media screen and (min-width: 1600px) {
  .about_text{
    /* Margins */
    margin-left: 7.5rem;
    margin-right: 7.5rem;
  }
}


/**********************************************************************/
/**************************CONTACT*************************************/
/**********************************************************************/


.contact{
  /* Display */
  display: none;
  /* Margins */
  margin-top: calc(var(--ratio)*2);
  margin-bottom: calc(var(--ratio)*1.5);
}

#contact_email{
  padding-top: 1rem;
  font-weight: 600;
  font-size: 1.5em;
}

#contact_email, a{
  color: var(--font_color_highlight);
}

/**************************/
/**********MOBILE**********/
/**************************/
@media only screen and (max-width: 799px) {
  .contact{
  /* Display */
  margin-left: 1rem;
  margin-right: 1rem;
  }

  #contact_email{
  /* Text Algin */
  text-align: center;
  }
}

/**************************/
/**********TABLET**********/
/**************************/
@media only screen and (min-width: 800px) and (max-width: 1599px) {
  .contact{
    /* Margins */
    margin-left: 7.5rem;
    margin-right: 7.5rem;
    /* Text Algin */
    text-align: center;
  }
}


/**************************/
/*********DESKTOP**********/
/**************************/
@media screen and (min-width: 1600px) {
  .contact{
    /* Margins */
    margin-left: 7.5rem;
    margin-right: 7.5rem;
    /* Text Algin */
    text-align: center;
  }
}
/**********************************************************************/
/**************************FOOTER**************************************/
/**********************************************************************/


footer {
  /* Display */
  display: block;
  /* Margins */
  margin-top: auto;
  margin-left: calc(var(--ratio)*1);
  margin-right: calc(var(--ratio)*1);
}

.footer_title{
  /* Font Styles */
  text-align: center;
}

.footer_icon_bar{
  /* Display */
  display: grid;
  grid: auto / auto auto auto;
  /* Location and Size */
  max-inline-size: 24ch;
  margin-inline: auto;
  /* Margins */
  margin-top: -.5rem;
  margin-bottom: -1rem;
}

.footer_icons{
  /* Display */
  display: block;
  /* Margins */
  margin-left: auto;
  margin-right: auto;
  /* Image Scale */
  max-width: 4ex;
}

.footer_note{
  /* Font Styles */
  text-align: center;
  padding-bottom: 2rem;
}