html {
  font-size: 62.5%; /* font-size 1rem = 10px on default browser settings */
}

html,
body,
h1,
h2,
h3,
h4,
ul,
ol,
li,
a,
p,
article,
aside,
footer,
header,
main,
nav,
section,
img {
  padding: 0;
  margin: 0;
}

article,
aside,
footer,
header,
main,
nav,
section {
  display: block;
}

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  text-decoration: none;
  background-color: transparent;
}

ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

.clearfix:before,
.clearfix:after {
  content: ' ';
  display: table;
}
.clearfix:after {
  clear: both;
}
.clearfix {
  *zoom: 1;
}

h1 {
  font-size: 2.5rem;
}
h2 {
  font-size: 2.15rem;
}
h3 {
  font-size: 1.6rem;
}
h4 {
  font-size: 1.55rem;
}
h5 {
  font-size: 1.35rem;
}
h6 {
  font-size: 1.15rem;
}

/* ========== CSS ========== */
body {
  font-size: 1.6rem;
  font-family: Arial, Helvetica, sans-serif;
  line-height: 2rem;
  background-color: #e7e0d7;
  background-image: url(../images/bodybg.jpg);
  background-repeat: repeat;
  color: #221f51;
}

#wrapper {
  max-width: 96rem;
  height: auto;
  margin-top: 0.5rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4rem;
  background-color: #e5e7e9; /* was #cccccc */
}

header {
  width: 100%;
  height: auto;
  background-color: #f0f0f0;
}

.topBanner {
  width: 100%;
  height: auto;
  position: relative;
  display: flex;
}

/*-- ========== MAIN NAVIGATION ========== --*/
nav {
  width: 100%;
  height: 38px;
  background-color: #008080; /*#07468c;*/
  font-family: Arial, Verdana, Helvetica, sans-serif;
  font-size: 1.6rem;
  font-weight: normal;
}
nav ul {
  width: 666px;
  margin: 0 auto;
}
nav li {
  list-style-type: none;
  float: left;
  border-right: 1px solid #ccc;
}
nav a {
  width: 110px;
  display: block;
  text-align: center;
  text-decoration: none;
  color: #fff;
  height: 38px;
  line-height: 38px;
}
nav li:last-child {
  border-right: 0;
}
nav li a:hover,
nav li.active a {
  background-color: #08966e; /*#087196;*/
  color: #fff;
}
nav a#pull {
  display: none;
  color: #fff;
}
/*-- ========== END of MAIN NAVIGATION ========== --*/

.page-header {
  height: 50px;
  line-height: 50px;
  font-family: Arial, Verdana, Helvetica, sans-serif;
  font-size: 2.15rem;
  color: #000;
  padding-left: 1rem;
  background-color: transparent; /* #e5e7e9;  /* was #cccccc */
}

main.left-col {
  width: 70%;
  float: left;
  padding: 0 1rem 1rem 1rem;
  background-color: transparent; /* #e5e7e9;  /* was #cccccc */
}

main.full-width {
  width: 100%;
  padding: 0 1.2rem 1rem 1rem;
  background-color: transparent; /* #e5e7e9;  /* was #cccccc */
}

/* ========== CONTENT BOX ========== */
.content-box,
.content-box1,
.content-box2 {
  width: 100%;
  margin-top: 0;
  margin-bottom: 20px;
  background-color: #f0f0f0;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  box-shadow: 2px 2px 3px 2px #6a6a5a;
  -moz-box-shadow: 2px 2px 3px 2px #6a6a5a;
  -webkit-box-shadow: 2px 2px 3px 2px #6a6a5a;
}
.content-box .title,
.content-box1 .title,
.content-box2 .title {
  width: 100%;
  height: 30px;
  line-height: 30px;
  background-color: #008080;
  border-top-left-radius: 6px;
  -moz-border-radius-topleft: 6px;
  -webkit-border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  -moz-border-radius-topright: 6px;
  -webkit-border-top-right-radius: 6px;
}
.content-box .title h3,
.content-box1 .title h3,
.content-box2 .title h3 {
  font-family: Arial, Verdana, Helvetica, sans-serif;
  font-size: 1.8rem;
  color: #fff;
  padding-left: 1.5rem;
  letter-spacing: 0.1rem;
}
.content-box .content,
.content-box1 .content,
.content-box2 .content {
  padding: 1.5rem;
}
.content-box .content h3 {
  font-family: Arial, Verdana, Helvetica, sans-serif;
  font-size: 1.6rem;
  color: #000;
  letter-spacing: 0.1rem;
}

.content-box1 .content,
.content-box2 .content {
  font-family: Arial, Verdana, Helvetica, sans-serif;
  font-size: 1.5rem;
  line-height: 1.8rem;
}
/* ========== END of CONTENT BOX ========== */

.content-box,
.about p {
  margin-bottom: 1.5rem;
}

p.top1rem {
  margin-top: 1rem;
}

.content-box .disclaimer {
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-size: 1.3rem;
  line-height: 1.5rem;
  font-style: italic;
}

aside {
  width: 29%;
  float: right;
  padding: 0 1.2rem 1rem 1rem;
  background-color: transparent; /* #e5e7e9;  /* was #cccccc */
}

.author_img {
  width: 20%;
  float: left;
  margin-right: 1.5rem;
  margin-bottom: 1.5rem;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  box-shadow: 2px 2px 3px 2px #6a6a5a;
  -moz-box-shadow: 2px 2px 3px 2px #6a6a5a;
  -webkit-box-shadow: 2px 2px 3px 2px #6a6a5a;
}

/* ========== CEMETERY INDEX SECTION ========== */
.cemetery_index {
  width: 100%;
  padding: 1.5rem;
  background-color: #f0f0f0;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
  -moz-border-radius-bottomleft: 6px;
  -webkit-border-bottom-left-radius: 6px;
  -moz-border-radius-bottomright: 6px;
  -webkit-border-bottom-right-radius: 6px;
}
.cemetery_index h3 {
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-size: 1.8rem;
  color: #000000;
  margin: 0.5rem 0 0.5rem 1.5rem;
}
.cemetery_index li {
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-size: 1.6rem;
  color: #080808;
  margin-left: 5rem;
  padding: 5px 0 5px 0;
  line-height: 1.9rem;
}
.cemetery_index ul {
  margin-bottom: 20px;
}
.cemetery_index a:link {
  display: block;
  color: #0000ff;
}
.cemetery_index a:hover {
  background-color: #08966e;
  color: #fff;
}
/* ========== END of CEMETERY INDEX SECTION ========== */

/*-- ========== Cemetery UL Section ========== --*/
.Cemetery_page-header {
  margin: 25px;
}
ul.headstone-name {
  width: 94%;
  margin: auto;
  padding-bottom: 2rem;
 /* background-color: #ccc; */
}
ul.headstone-name li {  
  font-family: Verdana, Arial, Helvetica, sans-serif;  
  font-size: 1.7rem;
  color: #000000;  
  line-height: 2.5rem;
}
ul.headstone-name a:link {
  padding: 3px 5px;
  color: #0000ff;
}
ul.headstone-name a:hover {
  background-color: #08966e;
  color: #fff;
}
/*-- ========== End of Cemetery UL Section ========== --*/

/*-- ========== Headstone Inscription Section ========== --*/
.headstone-inscription {
  width: 94%;
  margin: auto;
  padding-bottom: 20px;
}
.headstone-inscription p {  
  padding: 1% 0;
  font-family: Arial, Helvetica, Verdana, sans-serif;
  font-size: 1.7rem;
  color: #453823;
  text-align: justify;
  line-height: 2.1rem;
  border-bottom: 2px solid #008080;
}

.backtoIndex {
  display: block;
  height: 32px;
  width: 225px;
  margin: 10px 0 20px 25px;
  background-color: rgba(235, 235, 235, 0.8);
  border: 1px solid #453823;
  /* Text Styles*/
  color: rgba(0, 0, 0, 0.55);
  text-align: center;
  font: bold 1.6rem/30px Arial, Helvetica, Geneva, sans-serif;
  /*Fancy CSS3 Styles*/
  border-radius: 16px;
  -moz-border-radius: 16px;
  -webkit-border-radius: 16px;
  box-shadow: 2px 2px 3px 2px rgb(106, 106, 90); /*#6a6a5a;*/
  -moz-box-shadow: 2px 2px 3px 2px rgb(106, 106, 90); /*#6a6a5a;*/
  -webkit-box-shadow: 2px 2px 3px 2px rgb(106, 106, 90); /*#6a6a5a;*/
}
.backtoIndex:hover {
  background-color: #08966e;
  color: #fff;
}
/* ========== END of Cemetery Headstone Inscriptions info ========== */

/* ========== FAMILY TREE INDEX-LIST SECTION ========== */
.familyTree_indexList {
  width: auto;
}
.familyTree_indexList li {
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-size: 1.5rem;
  color: #080808;
  margin-left: 1rem;
  padding: 5px 0 5px 0;
  line-height: 1.9rem;
}
.familyTree_indexList a:link {
  color: #0000ff;
  padding: 3px 0 3px 0;
}
.familyTree_indexList a:hover {
  background-color: #08966e;
  color: #fff;
}
/* ========== END of FAMILY TREE INDEX-LIST SECTION ========== */

/* ========== Family tree page ========== */
.tree {
  width: auto;
}
.tree p {
  margin: 0;
  font-family: Arial, Verdana, Helvetica, sans-serif;
  font-size: 1.6rem;
  color: #080808;
  line-height: 2rem;
}
p.treeChild {
  margin-top: 40px;
  margin-bottom: 0;
}
p.treeIndent_5pc {
  margin-left: 5%;
  margin-top: 20px;
}
p.moreabout {
  margin-left: 10%;
  margin-top: 8px;
  line-height: 2rem;
}
p.treeInfo {
  width: 80%;
  text-align: justify;
  font-size: 1.3rem;
  line-height: 1.6rem;
  border-top: 3px solid #008080;
  padding-top: 5px;
  clear: both;
  margin-top: 30px;
  margin-left: auto;
  margin-right: auto;
}
/* ========== End of Family tree info ========== */

/* ========== HISTORY PAGE ========== */
.history {
  width: 100%;
  height: auto;
  padding: 1.5rem;
  background: #f0f0f0;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
}

.history p {
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-size: 1.5rem;
  line-height: 1.6rem;
  margin: 1rem 0 1rem 0;
}

.tartanBox-flex-container {
  width: 100%;
  height: auto;
  background: #f0f0f0;
  /* add flexbox style */
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  flex-flow: wrap;
}

.tartanBox {
  width: 45%;
  height: auto;
  margin: 10px;
  /* display:inline-block;*/
  border: 1px solid #453823;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  box-shadow: 2px 2px 3px 2px #6a6a5a;
  -moz-box-shadow: 2px 2px 3px 2px #6a6a5a;
  -webkit-box-shadow: 2px 2px 3px 2px #6a6a5a;
}

.tartanBox h4 {
  font-family: Arial, Verdana, Helvetica, sans-serif;
  font-size: 1.3rem;
  font-weight: bold;
  margin: 0.5rem;
  padding: 0;
  text-align: center;
}
.tartanBox p {
  font-family: Arial, Verdana, Helvetica, sans-serif;
  font-size: 1.3rem;
  line-height: 1.2rem;
  margin: 2px 10px 5px 10px;
}

.clan-profile p {
  color: #2c2416;
  font-family: Arial, Verdana, Helvetica, sans-serif;
  font-size: 1.4rem;
  line-height: 1.6rem;
  margin-bottom: 1rem;
}
/* ========== END of HISTORY PAGE ========== */

/* ========== USEFULL LINKS SECTION ========== */
.useful_links {
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-size: 1.6rem;
  color: #080808;
  line-height: 1.9rem;
}
.useful_links ul {
  margin: 1rem 1rem 1rem 3rem;
}
.useful_links li {
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-size: 1.5rem;
  color: #080808;
  padding: 5px 0 5px 0;
  line-height: 1.9rem;
}
.useful_links a:link {
  padding: 0.2rem 0;
  color: #0000ff;
}
.useful_links a:hover {
  background-color: #08966e;
  color: #fff;
}
/* ========== END of USEFUL LINKS SECTION ========== */

/* ========== PICTURES and THUMB NAIL GALLERY PAGE ========== */
.thumbGallery {
  width: 96%;
  height: auto;
  margin: 0 auto;
  background-color: #f0f0f0;
  /* add flexbox style */
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  flex-flow: wrap;
}

.thumbGallery_thumbWrapper {
  width: 120px;
  margin: 20px 10px 10px 10px;
  background-color: #f0f0f0;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  box-shadow: 2px 2px 3px 2px #6a6a5a;
  -moz-box-shadow: 2px 2px 3px 2px #6a6a5a;
  -webkit-box-shadow: 2px 2px 3px 2px #6a6a5a;
}
.thumbGallery_thumbCaption {
  width: auto;
  text-align: center;
}
.thumbGallery_thumbCaption p {
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-size: 1.1rem;
  line-height: 1.5rem;
  margin-top: 0.3rem;
  margin-bottom: 0.3rem;
}

.thumbGallery img {
  max-width: 100%;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  box-shadow: 2px 2px 3px 2px #6a6a5a;
  -moz-box-shadow: 2px 2px 3px 2px #6a6a5a;
  -webkit-box-shadow: 2px 2px 3px 2px #6a6a5a;
}
/* ========== END of PICTURES and THUMBNAIL GALLERY PAGE ========== */

footer {
  background-color: #000000;
  color: #f5f2f1;
  height: 4rem;
  line-height: 4rem;
  font-size: 1.4rem;
  text-align: center;
}

.corners {
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  box-shadow: 2px 2px 3px 2px #6a6a5a;
  -moz-box-shadow: 2px 2px 3px 2px #6a6a5a;
  -webkit-box-shadow: 2px 2px 3px 2px #6a6a5a;
}

/* ========== BACK to TOP SECTION ========== */
.back-to-top {
  position: fixed;
  bottom: 2em;
  right: 5px;
  text-decoration: none;
  color: #2c2416;
  background-color: #08966c;
  font-size: 12px;
  font-weight: 700;
  padding: 1em;
  display: none;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
}
.back-to-top:hover {
  background-color: #08966e;
  color: #fff;
}
/* ========== END of Back to Top section ========== */

/* ====== Media Queries ====== */

@media screen and (max-width: 600px) {
  nav {
    height: auto;
  }
  nav ul {
    width: 100%;
    display: block;
    height: auto;
  }
  nav li {
    width: 50%;
    float: left;
    position: relative;
  }
  nav li a {
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
  }
  nav a {
    text-align: left;
    width: 100%;
    text-indent: 25px;
  }

  nav li:last-child a {
    border-right: 2px solid #ccc;
  }

  .page-header,
  .page-header h2 {
    height: 40px;
    line-height: 40px;
    font-size: 1.8rem;
  }
  main.left-col {
    width: 100%;
  }
  aside {
    width: 100%;
  }
  aside .content-box1 {
    width: 46%;
    float: left;
  }
  aside .content-box2 {
    width: 46%;
    float: right;
  }
}

@media only screen and (max-width: 480px) {
  nav {
    border-bottom: 0;
  }

  nav ul {
    display: none;
    height: auto;
  }

  nav a#pull {
    display: block;
    background-color: #078c41; /*#008080;*/
    width: 100%;
    position: relative;
  }

  nav a#pull:after {
    content: '';
    background: url('../images/nav-icon.png') no-repeat;
    width: 30px;
    height: 30px;
    display: inline-block;
    position: absolute;
    right: 15px;
    top: 10px;
  }

  .page-header,
  .page-header h2 {
    height: 30px;
    line-height: 30px;
    font-size: 1.5rem;
  }

  .tartanBox {
    width: 100%;
  }

  aside .content-box1 {
    width: 100%;
  }
  aside .content-box2 {
    width: 100%;
  }
  .useful_links ul {
    margin-left: 0;    
  }
  .cemetery_index h3  {
    margin-left: 1rem;
  }
  .cemetery_index li  {
    margin-left: 2.5rem;
  }
}

@media only screen and (max-width: 320px) {
  nav li {
    display: block;
    float: none;
    width: 100%;
  }
  nav li a {
    border-bottom: 1px solid #32568a;
  }

  .tartanBox {
    width: 100%;
  }
}
