/* Southern Harmony Designs LLC CSS */
/* Coded: September 2020 */
/* Published: 22 November 2020 */

/* INSPIRATION BY */
/* https://www.w3schools.com/css/css_templates.asp */
/* Topnav, content and footer: */
/* https://codepen.io/anon/pen/BWNbQG */
/* https://codepen.io/anon/pen/BWNbQG */
/* https://www.w3schools.com/css/css3_images.asp */
/* LOOK AT THIS https://www.w3schools.com/css/tryit.asp?filename=trycss_image_gallery_responsive */
/* https://www.w3docs.com/snippets/css/how-to-align-divs-side-by-side.html */
/* https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Box_Alignment */
/* https://www.w3schools.com/css/css_display_visibility.asp */

/***********************/
/* TYPICAL PAGE STYLES */
/***********************/

/* Typical Global Settings */
* {
  box-sizing: border-box;
  font-family: Verdana, Arial, sans-serif;
}
body {
  margin: 0;
  font-family: Verdana, Arial, sans-serif;
}
u {
  text-decoration: underline;
  text-decoration-style: wavy;
}


/* Typical Headers */
h1, h2, h3, h4, h5, h6 {
  font-family: Georgia, Bookman, serif;
  margin-left: auto;
  margin-right: auto;
}
h1, h2, h3 {
  text-align: center;
  width: fit-content;
  border-radius: 10px;
  padding: 5px 25px;
}
h1 {
  color: #FFD92C;
  background-color: #006600;
  text-transform: capitalize;
}
h2 {
  color: #FFEC90;
  background-color: #66A366;
  border: 2px solid #006600;
  text-transform: capitalize;
}
h3 {
  color: #B2D1B2;
  background-color: #006600;
  text-transform: capitalize;
}
h4, h5, h6 {
  text-align: center;
  width: fit-content;
  border: 2px solid;
  border-radius: 10px;
  padding: 5px 25px;
}
h4 {
  color: #006600;
  background-color: #FFEC90;
  text-transform: capitalize;
}
h5 {
  color: #006600;
  background-color: #FFD92C;
  text-transform: capitalize;
}
h6 {
  color: #000;
  border: 0px;
  text-decoration: underline;
  text-decoration-style: double;
  font-size: 80%;
}

/* Typical Links */
a {

}
a:hover {
  text-decoration: none;
  color: #66CC66;
}

/* Typical Tables */
table {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  border: 3px solid #006600;
  border-collapse: collapse;
}
#table_60 {
  width: 60%;
  margin-left: auto;
  margin-right: auto;
}
#table_30 {
  width: 30%;
  margin-left: auto;
  margin-right: auto;
}
#table_16 {
  width: 16%;
  margin-left: auto;
  margin-right: auto;
}
td {
  border: 1px solid black;
  padding: 10px;
  text-align: left;
}
th, thead {
  background-color: #328432;
  font-weight: bold;
  color: white;
}
th {
  padding: 10px;
  text-align: left;
}
thead {
  text-transform: uppercase;
}
thead td, tfoot td {
  border: none;
  border-left: 1px solid black;
  border-left: 1px solid black;
  padding: 5px;
  text-align: center;
}
tbody tr:nth-child(odd) {
  background-color: #B2D1B2;
}
tbody tr:nth-child(even) {
  background-color: #FFF9DD;
}
tfoot {
  background-color: #66A366;
  font-style: italic;
  color: #FFEC90;
}

/* Typical Lists */
ul {
  list-style-position: outside;
}
ul li::before {
}
ol {
  list-style-position: outside;
}
ol li::before {
}
li {
  padding-top: 5px;
}

/* Typical Image */
img {
  display:block;
}

/******************/
/* USEFUL CLASSES */
/******************/

/* Format clean links */
.a_clean {
  text-decoration: none;
}

/* Format smaller font */
.font_75 {
  font-size: 75%
}

/* Format text in center */
.txt_ctr {
  text-align: center;
}

/* Format text-in-box */
.txt_frame {
  border: 2px solid;
  border-radius: 10px;
  padding: 1px 10px;
  background-color: #FFF;
  width: fit-content;
}

/***************/
/* INLINE ID'S */
/***************/

/* Format for mobile device */
#mobile {
  /*display: none;*/
}

/* Format for Skype service */
#skype {
  display: none;
}

/*******************/
/* ACCENT GRAPHICS */
/*******************/
 
/* Style the dividing line between sections */
.trimline {
  background-color: #66CC66;
  height: 5px;
  width: 100%;
}

/* Style the 80% dividing line between sections */
.trimline80 {
  background-color: #006600;
  height: 3px;
  width: 80%;
  margin: auto
}

/********/
/* HEAD */
/********/

/* Style the header */
header {
  overflow: hidden;
  background-color: #328432;
  padding: 15px 50px 5px 50px;
}

/* Style the header image */
header img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  border: 2px solid #FFD302;
  border-radius: 4px; 
  padding: 5px; 
  width: 250px;
}

/* Style the header on image hover */
header img:hover {
  box-shadow: 0 0 20px 2px #FFD302;
}

/* Style the header tagline */
header p {
  font-weight: bold;
  font-style: italic;
  text-shadow: 1px 1px 2px black;
  text-align:center;
  color: #FFD302;
  margin-top: 6px;
  padding-bottom: 0px;
  margin-bottom: 0px;
}

/* Style the top navigation bar */
nav#TOP {
  overflow: hidden;
  background-color: #328432;
}

/* Style the topnav links */
nav#TOP a {
  float: right;
  display: block;
  border-radius: 5px 5px 0px 0px;
  border: 2px #A3E0A3;
  border-style: solid solid none;
  padding: 10px 16px;
  text-align: center;
  text-decoration: none;
  font-size: medium;
  color: white;
}

/* Change topnav color on hover */
nav#TOP a:hover {
  color: #FFD302;
}

/* Format the selected navigation tab */
#select_tab {
  background-color: #A3E0A3;
  color: black;
}

/* Format the parent navigation tab */
#parent_tab {
  background-color: #66CC66;
  text-decoration: underline;
}

/************/
/*** BODY ***/
/************/

/* Style the content */
main {
  background-color: white;
  padding: 20px 20px;
  width: 90%;
  margin-left: auto; 
  margin-right: auto;
}

main a {
  color: #197519;
}

main a:hover {
  font-weight: bold;
  color: #FFD302;
}

/*
REF: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Box_Alignment
For use to layout page sections and create focus boxes.
*/ 
.box {
  display: flex;
  flex-wrap: wrap;
  justify-items: stretch;
  justify-content: center;
  align-items: center;
}

.box img {
  float: left;
  padding: 10px;
  margin-right: 10px;
  vertical-align: middle;
  max-width: 100%;
}
/* Responsive outline - enlarge img for narrow screen */
@media only screen and (max-width: 600px) {
  .box img { 
     width: 95%; 
  }
}

.box_outline {
  border: 2px solid #A3E0A3;
  padding: 15px;
  margin: 1%;
  
  -webkit-hyphens: auto;
  -webkit-hyphenate-limit-before: 3;
  -webkit-hyphenate-limit-after: 3;
  -webkit-hyphenate-limit-chars: 6 3 3;
  -webkit-hyphenate-limit-lines: 2;
  -webkit-hyphenate-limit-last: always;
  -webkit-hyphenate-limit-zone: 8%;
  -moz-hyphens: auto;
  -moz-hyphenate-limit-chars: 6 3 3;
  -moz-hyphenate-limit-lines: 2;
  -moz-hyphenate-limit-last: always;
  -moz-hyphenate-limit-zone: 8%;
  -ms-hyphens: auto;
  -ms-hyphenate-limit-chars: 6 3 3;
  -ms-hyphenate-limit-lines: 2;
  -ms-hyphenate-limit-last: always;
  -ms-hyphenate-limit-zone: 8%;
  hyphens: auto;
  hyphenate-limit-chars: 6 3 3;
  hyphenate-limit-lines: 2;
  hyphenate-limit-last: always;
  hyphenate-limit-zone: 8%;
}
/* Responsive outline - shrink font a bit */
@media only screen and (max-width: 900px) {
  .box_outline { font-size: 90%; }
}
/* Responsive outline - restore font for narrow screen */
@media only screen and (max-width: 600px) {
  .box_outline { font-size: 100%; }
}

.box_70 {
  width: 68%;
}
.box_50 {
  width: 48%;
}
.box_33 {
  width: 31%;
}
.box_30 {
  width: 28%;
}
.box_25 {
  width: 23%;
}
/* Responsive box width - shift to one for narrow screen */
@media only screen and (max-width: 600px) {
  .box_70, .box_50, .box_33, .box_30, .box_25 
  {  width: 90%;  }
}
  
/* REF: 
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Box_Alignment
https://www.w3schools.com/css/tryit.asp?filename=trycss_image_gallery_responsive
https://www.w3schools.com/css/tryit.asp?filename=trycss3_flexbox_image_gallery
https://www.w3schools.com/css/css_image_gallery.asp
For use to create responsive gallery page.
*/
  
.gallery {
  display: flex;
  flex-wrap: wrap;
}

.gallery_col{
  flex: 24%;
  max-width: 25%;
}
/* Responsive layout - shift to a two columns */
@media only screen and (max-width: 800px) {
  .gallery_col {
    flex: 49%;
    max-width: 50%;
  }
}
/* Responsive layout - shift to a single column */
@media only screen and (max-width: 600px) {
  .gallery_col {
    flex: 99%;
    max-width: 100%;
  }
}
  
.work {
  margin: 10px 5px;
  border: 2px solid #66CC66;
}
.work:hover {
  border: 5px solid #A3E0A3;
}
.work img {
  width: 100%;
  height: 98%;
}
.work_cap {
  padding: 10px;
  text-align: center;
  font-weight: bold;
}


/************/
/*** FOOT ***/
/************/

/* Style the bottom navigation bar */
nav#BTM {
  overflow: hidden;
  background-color: #328432;
  padding: 10px 0px;
  text-align: center;
  font-size: larger;
  color: white;
}

/* Style the btnnav links */
nav#BTM a {
  color: white;
  text-decoration: none;
}

/* Change btnnav color on hover */
nav#BTM a:hover {
  color: #FFD302;
}

/* Style the footer */
footer {
  overflow: hidden;
  background-color: #328432;
  padding: 3px;
  text-align: center;
  font-size: larger;
  color: white;
}

/* Style the footer links */
footer a {
  padding: 10px; 
  text-decoration: none;
  color: white;
}

/* Change footer color on hover */
footer a:hover {
  color: #FFD302;
}