 * { box-sizing: border-box; }

body { background-color: #ffffff;
       color: #000000;
       font-family: Verdana, sans-serif;
       position: relative;
       margin: 0;
 }

 #wrapper { position: relative;
            min-height: 100vh;
}

header { background-color: #32492D;
         color: #ffffff;
         font-family: Georgia, serif;
         font-style: italic;
         font-size: 1em;
         padding: 1em;
         padding-top:0;
         text-align:center; 
         background-image: url('newcomb.jpg');
         background-repeat: no-repeat;
         background-position:center;
         background-size: cover;
         height: 125px;
}

nav {background-color: #6e816Fff;
     text-align:center;
     font-size: 1.2em;
}

nav a { text-decoration: none; }
nav a:link { color: #ffffff; }
nav a:visited { color: #ffffff; }
nav a:hover { color: #CCE1EFff; }

nav ul { display:flex;
         flex-direction:column;
         margin:0;
         list-style-type: none; 
         padding-left: 0;
}

nav li { padding: 0.5em 1em;
         width:100%;
         border-width:1px;
}

main { padding-bottom: 3rem;
       padding-top: 1em;
       margin-right:10px;
       margin-left: 10px;
}

main div {margin-right: 10px;
          margin-left: 10px;
}

footer { background-color: #6E816Fff;
     color: #ffffff;
     font-size: .70em;
     font-style: italic;
     padding: 1em;
     text-align: center;
     position: absolute;
     width: 100%;
     height: 3rem; 
}

h1 { font-size: 1.2em;
     letter-spacing: .025em;
}

h2 { font-family: Georgia, serif;
     color: #486240ff;
}

h3 { font-family: Georgia, serif;
     color:#182C22ff;    
}

.picfloat { float: left;
            margin-right: 10px;
            margin-bottom: 25px;
            margin-left:10px;
            margin-top: 25px;
}

.picfloatright { float: right;
                 margin-right: 10px;
                 margin-bottom: 25px;
                 margin-top: 25px;
}

/*formatting for main - 3 horizontal sections */

.newcomb {font-family: Georgia, serif;
     font-weight: bold;
     color: #486240ff;
     font-size: 1.2em;
}

.onethird { height: 33%;
            margin: 10px;
}

/*formatting for family member pages*/

.person { background-color:#ccE1efff;
          border-spacing: 0;
          border: 1px solid #486240ff;
          font-size:small; 
          height: auto;
          display:block;
}

.personfloat { margin-right: 10px;
               margin-bottom: 25px;
               margin-left:10px;
               margin-top: 25px;
}

dt {font-family: Georgia, serif;
     color: #486240ff;
     font-weight: bold;
     font-size: medium;
     padding: 0.25em;
     margin-top: 1em;
 }

 div.gallery {
     border: 1px solid #ccc;
   }
   
   div.gallery:hover {
     border: 1px solid #777;
   }
   
   div.gallery img {
     width: 100%;
     height: auto;
   }
   
   div.desc {
     padding: 15px;
     font-size:small;
     text-align: center;
   }

   .responsive {width: 100%;}
     
   .clearfix:after {
     content: "";
     display: table;
     clear: both;
   }

/*fomatting for table */
table { margin-left:10px;
        margin-right:10px;
        margin-bottom: 25px;
        border-spacing: 0;
        border: 1px solid #6e816Fff;
}

td,th { border: 1px solid #6E816Fff;
        padding: 0.5em;
}
th { color: #ffffff;
     background-color:#9E9F40ff;
}


/*formatting for share page */

.family { color:#486240ff;
          font-weight:bold;
          font-family: Georgia, serif;
}

.share { margin-left: 10px;
         margin-right: 10px;
         align-content: center;
}

/*resize for tablet display */

@media (min-width: 768px) {
     header h1 { font-size: 1.5em; 
                 color: #ffffff;
                 padding: .5em;
                 text-align: left;
                 letter-spacing: .025em;}
     nav ul {display: flex;
          flex-direction: row;
          justify-content: space-evenly;
          padding-right: 2em;}
     nav li {width: 12em;
          border-bottom: none;}
     section {padding-left: 2em;
              padding-right: 2em;}
     .person { display:flex;
               flex-direction: row;
               justify-content:space-evenly;
               margin: 10px;}
     .person .left,
     .person .right {flex: 1;
                     margin:10px;}	
     .personfloat { float: left;
          padding-right: 20px;}
     .responsive {padding: 0 6px;
               float: left;
               width: 19.99999%;}
     #flow {display: flex;
            flex-direction:column;}
     #mobile {display: none;}
     #desktop {display: inline;}
}

/*resize for laptop display*/
@media (min-width: 1024px) {
     header h1 { font-size: 2em; }
     nav ul, main div { padding-right: 2em;
                        padding-left: 2em; }
     .person { padding-right: 2em;
               padding-left: 2em; } 
}