/*
----------------------------------------------------------------------------
GRAMPS Cascading Style Sheet
Style Name: Fabulous
Style Author: Theo van Rijn (2017)

----------------------------------------------------------------------------
This website was created with GRAMPS
----------------------------------------------------------------------------
GRAMPS is a Free Software Project for Genealogy, offering a professional
genealogy program, and a wiki open to all. It is a community project, created,
developed and governed by genealogists.

Go to <http://gramps-project.org/> to learn more!

License
----------------------------------------------------------------------------
Copyright 2008 Jason M. Simanek
Copyright 2009 Stephane Charette
Copyright (C) 2008-2011 Rob G. Healey <robhealey1@gmail.com>
Copyright 2011 Michiel D. Nauta
Copyright 2017-2018 Theo van Rijn

This file is part of the GRAMPS program.

GRAMPS is free software: you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation, version 2 of the License.

GRAMPS is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with
GRAMPS. If not, see <http://www.gnu.org/licenses/>.
----------------------------------------------------------------------------


Color Palette
----------------------------------------------------------------------------
black                           #000        - used for links
Dark gray                       #31363b     - used for normal text
Liver                           #CEC7AA     - used for the background 

brown                           #7D5925
brown light                     #D8C19F
green                           #767D25
yellow                          #FFF2C6
yellow light                    #FFFFE7
----------------------------------------------------------------------------


Style Images
----------------------------------------------------------------------------
Background (pager pattern)     ../images/bg.jpg
----------------------------------------------------------------------------

Fonts
----------------------------------------------------------------------------
Text                           Linux Libertine
Headers                        Linux Biolinum
----------------------------------------------------------------------------

 NarrativeWeb Styles
-------------------------------------------------------------------------------------------- 

General Elements
-----------------------------------------------------------------*/

@font-face {
    font-family: 'Linux Libertine';
    /* src: uXrl(/fonts/LinLibertine_R.woff); */
} 

@font-face {
    font-family: 'Linux Libertine';
   /*  src: uXrl(/fonts/LinLibertine_RB.woff); */
   font-weight: bold;
} 

@font-face {
    font-family: 'Linux Biolinum';
    /* src: uXrl(/fonts/LinBiolinum_R.woff); */
} 

@font-face {
    font-family: 'Linux Biolinum';
    /* src: uXrl(/fonts/LinBiolinum_RB.woff); */
    font-weight: bold;
} 

body {
    font-family: "Linux Libertine", Georgia, serif;
    font-size: 1.1em;
    line-height: 1.3em;
    color: #31363b;
    background: url(../images/bg.jpg) black repeat;
}

div#outerwrapper {
	margin: 20px auto;
	width: 1080px;
	background-color: #CEC7AA;
	box-shadow: 0 0 3px 3px #333;
	border-radius: 4px 4px 4px 4px;
}

.content {
    padding: 0.5em 1.5em;
}

/* Less whitespace on smaller real estate. */
@media only screen and (max-width: 1080px) {
    .content {
        padding: 0em 0.5em;
    }
}

div.snapshot div.thumbnail {
    text-align: center;
}
div.snapshot a {
    display: inline;
}

/* General Text
-----------------------------------------------------------------*/
h1	{ font-size:2.0em; font-style: italic; font-family: "Linux Biolinum", Helvetica, sans-serif; margin: 0em; padding: 0.5em;}
h2	{ font-size:1.5em; font-family: "Linux Biolinum", Helvetica, sans-serif; margin: 0em; padding: 0.4em; }
h3	{ font-size:1.3em; font-family: "Linux Biolinum", Helvetica, sans-serif; margin: 0em; padding: 0.3em; text-align: center; }
h4	{ font-size:1.0em; font-family: "Linux Biolinum", Helvetica, sans-serif; margin: 0em; padding: 0.3em; text-align: center; } 

/* Smaller fonts on mobile devices */
@media only screen and (max-width: 1080px) {
    h1	{ font-size:1.5em; padding: 0.5em 0.5em 0.0em 0.5em; }
    h2	{ font-size:1.2em; }
    h3	{ font-size:1.1em; }
    h4	{ font-size:1.0em; } 
}

a {
    color: black;
    text-decoration: none;
}
/*
a[href]:hover, a[href]:active {
    background-color: #FFFFE7;
}*/
.grampsid {
    font-family: monospace;
    font-size: smaller;
}

/* Header
-----------------------------------------------------------------*/
/*
#header {
    padding-top: 5em;
    background: uXrl(../images/Web_Mainz_Header.png) repeat-x top left;
}
*/

/* Navigation
-----------------------------------------------------------------*/
#nav, #subnavigation {
    margin: 0px;
    background: #929292;
}
#nav ul, #subnavigation ul {
    list-style: none;
    min-width: 770px;
    height: 32px;
    margin: 0;
    padding: 0 0 0 12px;
}
#nav ul li, #subnavigation ul li {
    float: left;
}
#nav ul li a, #subnavigation ul li a {
    display: block;
    padding: 0.4em 0.8em 0.3em 0.8em;
    font-size: smaller;
    font-weight: bold;
    font-family: "Linux Biolinum", Helvetice, sans-serif;
    color: #31363b;
    background: #929292;
    border: 1px solid #000;
}
#nav ul li a:hover, #subnavigation ul li a:hover {
    background-color: #CEC7AA;
    color: #101010;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    border-bottom: 1px solid #CEC7AA;
    border-left: 1px solid #000;
}
#nav ul li.CurrentSection a, #subnavigation ul li.CurrentSection a {
    font-weight: bold;
    /* font-style: italic; */
    background: #CEC7AA;
    color: #101010;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    border-bottom: 1px solid #CEC7AA;
    border-left: 1px solid #000;
}
#subnavigation ul li.CurrentSection a {
    /* border-width: 0px 1px 1px 1px; */
}

/* Alphabet Navigation - renamed to ltr
-----------------------------------------------------------------*/
div#ltr ul,  div#alphanav ul {
    list-style: none;
    border-width: 2px 0px 4px 0px;
    border-style: solid;
    border-color: black;
    padding-left: 2em;
    /* float container stretch, see www.quirksmode.org/css/clearing.html */
    overflow: hidden;
}
div#ltr ul li, div#alphanav ul li {
    float: left;
    font-size: larger;
    font-family: "Linux Biolinum", Helvetice, sans-serif;
    font-weight: bold;
}
div#ltr ul li:after, div#alphanav ul li:after {
    content: " |";
}
div#ltr ul li a, div#alphanav ul li a {
    display: block;
    padding: 4px 8px;
    line-height: 100%;
    float: left;
    color: black;
}
div#ltr ul li a:hover, div#alphanav ul li a:hover {
    text-decoration: none;
    background-color: black;
    color: white;
}

/* Responive navigation */
a.navIcon, button.navIcon {
    display: none;
}

div#header::after {
    content: "";
    clear: both;
    display: table;
}

div#nav::after {
    content: "";
    clear: both;
    display: table;
}

/* Tiles and a tiled wall for responsive thumbnails. */
div.tiledwall {
    width: 96%;
    height: auto;
    margin: auto;
    clear: both;
/* Try to add the borders 
    border-width: 1px 1px 1px 1px;
    border-style: dashed;
    border-collapse: collapse;
*/
/*
    display: flex;
    flex-wrap: wrap;
*/
}

div.tile {
    width: 130px;
    height: 130px;
    float: left;
    
    border-width: 1px 0px 0px 1px;
    border-style: dashed;
    border-color: #7D5925;
/*    
    flex: 1;
*/
}

/* Hide the go to top button for now. */
#gototop {
    display: none;
}

@media only screen and (max-width: 1080px) {

    /* Use less & all realestate on mobiles. */
    div#outerwrapper {
        margin: 5px auto;
        width: 100%;
    } 
    
    .nav { 
        background: none; /* Works in IE too. */
/*
        width: 200px; 
        position: absolute;
        z-index: 10;
*/
    }
    
    /* Undo some of the #nav styles - to enable the class .nav */
    .nav ul, #subnavigation ul {
        list-style: none;
        min-width: unset;
        width: 200px;
        height: 32px;
        margin: 0;
        padding: 0;
    }
    .nav ul li, #subnavigation ul li {
        float: unset;
        display: unset
    }

    /* Start with hidden menu options */ 
    /* .nav li:not(:first-child) {display: none;} */
    .nav li, .wrappernav li {display: none;}
    .nav ul, .wrappernav ul {display: none;}
    
    a.navIcon, button.navIcon {
        font-size: xx-large;
        display: block;
        margin: 0.0em;
        padding: 0.3em 0.3em 0.0em 0.3em;
        float: left;
    }
    
    .nav.responsive {position: absolute; display: block; z-index: 100;}
    .nav.responsive a.icon {
        position: absolute;
        right: 0;
        top: 0;.wrappernav ul 
        margin-right: 10px;
    }
    .nav.responsive li {
        /* float: left; */
        display: block;
        text-align: left;
        /* required by IE */
        float: left;
        clear: both;
        width: 200px;
    }
    .content {
        padding: 0em 0.5em;
    }
}



/* Main Table
-----------------------------------------------------------------*/
table {
    /* border-collapse: collapse; - to make the header underlining more clear */
    width: 100%;
}
/*
div#summaryarea > table.infolist,
div#parents > table.infolist,
h3 + table.infolist {
    width: auto;
}
*/
table th {
    text-align: left;
    margin: 0px;
    border-bottom: solid 1px black;
    padding: .1em 10px;
}
table td {
    vertical-align: top;
    padding: .1em 10px;
}
table.primobjlist td {
    vertical-align: middle;
}
table.primobjlist tr a {
    display: block; /* make whole td clickable */
}
table.primobjlist tr.BeginLetter td, table.primobjlist tr.BeginSurname td {
    border-top: dashed 1px #D8C19F;
}
td.ColumnLetter, td.ColumnRowLabel {
    font-weight: bold;
}
td.ColumnBirth, td.ColumnDeath, td.ColumnPartner, td.ColumnParents {
    font-size: 95%;
}
table.relationships td.ColumnPartner {
    font-size: 100%;
}
table.infolist tr td ol {
    margin: 0px;
}
#summaryarea table.infolist td.ColumnAttribute,
#parents table.infolist td.ColumnAttribute,
#families table.infolist td.ColumnType,
#families table.infolist td.ColumnAttribute {
    color: #31363b;
}
#summaryarea table.infolist td.ColumnAttribute:after {
    content: ": ";
}
#summaryarea table.infolist td.ColumnValue {
    color: black;
}
/* div summaryarea is missing for events, sources and repos! */
h3 + table.infolist td.ColumnAttribute {
    color: #31363b;
}

table.primobjlist td.ColumnParents span.father, table.primobjlist td.ColumnParents span.mother {
    display: block;
}
table.primobjlist td.ColumnParents span.mother:before, table.primobjlist td.ColumnPerson span.mother:before {
    content: "+ ";
}

/* Surnames
-----------------------------------------------------------------*/
table#SortByName thead th.ColumnSurname a:after,
table#SortByCount thead th.ColumnQuantity a:after {
    content: " \2193";
}
#SurnameDetail h3 {
    border-bottom-width: 0px;
    padding-bottom: 0px;
    margin: 0px;
}

/* Events
-----------------------------------------------------------------*/
#EventList tr.BeginType td {
    border-top: dashed 1px #D8C19F;
}
#EventList tr.BeginLetter td {
    border-top: solid 1px #D8C19F;
}
/* Events with multiple participants should have a comma seperated list of
   names*/
#EventList td.ColumnPerson a {
    display: inline;
}
/* Family events, put mother on next line */
#EventList td.ColumnPerson span.father,
#EventList td.ColumnPerson span.mother,
#EventDetail td.ColumnPerson span.father,
#EventDetail td.ColumnPerson span.mother {
    display: block;
}
#EventList td.ColumnPerson span.person:after,
#EventList td.ColumnPerson span.father:after,
#EventList td.ColumnPerson span.mother:after,
#EventDetail td.ColumnPerson span.person:after,
#EventDetail td.ColumnPerson span.father:after,
#EventDetail td.ColumnPerson span.mother:after {
    content: ", ";
}
#EventList td.ColumnPerson span.person:last-child:after,
#EventList td.ColumnPerson span.father:last-child:after,
#EventList td.ColumnPerson span.mother:last-child:after,
#EventDetail td.ColumnPerson span.person:last-child:after,
#EventDetail td.ColumnPerson span.father:last-child:after,
#EventDetail td.ColumnPerson span.mother:last-child:after {
    content: "";
}

/* Gallery
-----------------------------------------------------------------*/
#GalleryNav {
    text-align: center;
    margin: 1.4em 0px;
}
#GalleryNav a {
    font-weight: bold;
    color: #31363b;
    background: #929292;
    border: solid 1px black;
    padding: 0.1em 0.5em;
}
#GalleryNav a:hover {
    border-color: #7D5925;
}
#GalleryNav a:active {
    border-style: solid;
}
#GalleryNav a#Previous {
    padding: .4em .7em .3em .7em;
}
#GalleryNav a#Next {
    padding: .4em 1.9em .3em 1.9em;
}
#GalleryPages {
    margin: 0 1em;
}
#GalleryCurrent {
    font-size: x-large;
    font-weight: normal;
    font-style: italic;
}
#GalleryTotal {
    font-weight: normal;
}
#GalleryDisplay {
    margin: 0px auto;
    position: relative;
}
#GalleryDisplay img {
    margin: 0px auto;
    display:block;
    border: solid 1px #7D5925;
    max-width: 100%;
    height: auto;
}

/*    Sources
------------------------------------------------------ */
div#SourceDetail {
    margin: 0 auto;
}

/* Contact
-----------------------------------------------------------------*/
#Contact h3 {
    border-bottom-width: 0px;
    padding-bottom: 0px;
    margin: 0px;
}
#Contact img {
    display: block;
    margin: 0px auto 1em auto;
    border: solid 1px #7D5925;
}
#Contact #researcher {
    text-align: center;
    padding: 0.5em;
}
#Contact #researcher span {
    font-size: larger;
}
#Contact #streetaddress, #Contact #locality, #Contact #email {
    display: block;
}
#Contact #city:after {
    content: ",";
}

/* Download
-----------------------------------------------------------------*/
#Download table.download a {
    display: block;
}

/* SubSection
-----------------------------------------------------------------*/
#Home img, #Introduction img {
    display: block;
    margin: 0.5em auto;
    max-width: 100%;
    height: auto;
}
@media only screen and (max-width: 1080px) {
    #Home img, #Introduction img {
        margin: 0.2em auto;
    }
}

#Home a, #Introduction a, #Contact a {
    color: black;
}
.subsection {
    clear: both;
}
.subsection p {
    margin: 0px;
}

/* SubSection : Families
-----------------------------------------------------------------*/
div#families table.fixed_subtables table.eventlist {
    table-layout: fixed;
}
div#families table.fixed_subtables table.eventlist th:first-child {
    width: 9em;
}
div#families table.fixed_subtables table.eventlist th:last-child {
    width: 5em;
}

/* SubSection : Gallery
-----------------------------------------------------------------*/
#gallery .gallerycell {
    float: left;
    width: 130px;
    height: 150px;
    text-align: center;
    margin: 0;
    border-top: solid 1px #999;
    border-right: solid 1px #999;
}
#gallery .thumbnail {
    font-size: smaller;
    margin: 3em auto;
}
#indivgallery {
    /* float container stretch, see www.quirksmode.org/css/clearing.html */
    overflow: hidden;
}
#indivgallery .thumbnail {
    float: left;
    max-width: 130px;
    /* max-height: 150px; makes sloppy layout with divs / images spanning rows. */
    height: 150px;
    font-size: smaller;
    text-align: center;
    margin: 0.5em;
    line-height: 1.1em;
}
#indivgallery img {
    /* border: solid 1px #7D5925; */
    border: none;
}
#indivgallery span {
/* ## remove this line and the comment markers from the line below to hide the description in Individual Gallery
    display: none; */
}
#gallery div.indexno {
    float: right;
    width: 1.8em;
    font-size: large;
    text-align: center;
}

/* SubSection : Lightbox
-----------------------------------------------------------------*/
.MediaColumn.ltr {
  float: left;
    text-align: center;
}

/* SubSection : Narrative
-----------------------------------------------------------------*/
h4 + div.grampsstylednote, a.familymap {
    margin-left: 10px;
    margin-right: 10px;
}
i + div.grampsstylednote p {
    margin: 0 0 0.3em 0;
}
div.grampsstylednote p {
    margin-bottom: 0.5em;
}

div.grampsstylednote ol {
    margin-top: 0.3rem;
}

div.grampsstylednote ul {
    margin-top: 0.3rem; 
}

/* SubSection : Source References
-----------------------------------------------------------------*/
#sourcerefs ol li ol {
    list-style-type: lower-alpha;
}

/* SubSection : Pedigree
-----------------------------------------------------------------*/
.pedigreegen {
    list-style-type: none;
    padding-left: 10px;
}
.pedigreegen li ol {
    list-style-type: none;
}
.pedigreegen li ol li ol {
    list-style-type: decimal;
}
.pedigreegen ol.spouselist {
    list-style-type: none;
}
.pedigreegen ol.spouselist li.spouse ol {
    list-style-type: decimal;
}
.spouse:before {
    content: "+ ";
}
.thisperson {
    font-weight: bold;
}
.thisperson > ol {
    font-weight: normal;
}

/* Footer
-----------------------------------------------------------------*/
#footer {
    /* clear: both; */
    /* background: uXrl(../images/Web_Mainz_MidLight.png) #FFF2C6; */
    overflow: hidden;
    border-top: dashed 1px #7D5925;
    font-family: "Linux Biolinum", Helvetice, sans-serif;
    margin-top: 0.3rem;
}
#user_footer {
   margin-top: 0.3rem; 
}
#footer #createdate {
    font-size: 75%;
    line-height: 100%; 
    float: left;
    /* width: 45%; */
    text-align: left;
    margin-top: 0.3rem; 
    margin-left: 10px;
    margin-bottom: 5px;
    margin-right: 10px;
}
#footer #copyright {
    font-size: 75%;
    line-height: 100%; 
    float: right;
    /* width: 45%; */
    text-align: right;
    margin-top: 0.3em; 
    margin-left: 10px;
    margin-bottom: 5px;
    margin-right: 10px;
}

/* Overwritten
-----------------------------------------------------------------*/
button#drop {
    font-style: italic;
    color: #FFF2C6;
    /* background: uXrl(../images/Web_Mainz_Bkgd.png) #7D5925 repeat; */
    border: outset 3px black ! important;
}
div#map_canvas {
    border-color: #7D5925 ! important;
}

/* Calendar Styles - also used for thumbnails
=================================================================*/
table.calendar {
    table-layout: fixed;
    empty-cells: show;
    width: 950px;
    margin: 0px auto;
    background: #CEC7AA;
    /* background: uXrl(../images/Web_Mainz_Mid.png) #FFF2C6 repeat; */
}
.calendar thead th {
    font-size: large;
    font-weight: normal;
    font-style: italic;
    text-align: center;
}
.calendar thead th.monthName {
    font-size: xx-large;
    color: #31363b;
    border-bottom-color: black;
}
.calendar thead th abbr {
    border-bottom-style: none;
}
#CreatorInfo {
    float: right;
    margin: -1em 0px 0px 0px;
    font-weight: bold;
    font-style: italic;
}
.calendar tfoot td {
    border-top: double 4px #7D5925;
}

/* Calendar : Date Numeral */
.calendar div.date {
    float: right;
    width: 1.8em;
    font-size: large;
    font-style: italic;
    text-align: center;
    /* background: uXrl(../images/Web_Mainz_MidLight.png) #FFF2C6 repeat; */
}

/* Calendar : Date Container */
.calendar td {
    padding: 0px;
    border-width: 1px 0px 0px 1px;
    border-style: dashed;
    border-color: #7D5925;
}
.calendar td.weekday {
    /* background: uXrl(../images/Web_Mainz_Mid.png) #FFF2C6 repeat; */
}
.calendar td.weekend {
    /* background: uXrl(../images/Web_Mainz_MidLight.png) #FFF2C6 repeat; */
}
.calendar td:first-child {
    border-left-style: none;
}
.calendar tbody tr:first-child td {
    border-top-style: none;
}

/* Calendar : Date Detail */
.calendar td ul {
    font-size: smaller;
    list-style: none;
    padding: 0px;
}
.calendar td ul li {
    margin: 0 4%;
    border-top: dashed 1px #D8C19F;
}
.calendar td ul li:first-child {
    border-style: none;
}

/* Calendar : Birthday, Anniversary, Highlight */
.calendar td ul li em {
    font-style: normal;
    color: #767D25;
}
.calendar td ul li span.yearsmarried em {
    color: black;
}
.calendar td.highlight div.date {
    color: #31363b;
    background-color: #CEC7AA;
}

/* Calendar : Previous-Next Month */
.calendar td.previous, .calendar td.next {
    color: #D8C19F;
    /* background: uXrl(../images/Web_Mainz_MidLight.png) #FFF2C6 repeat; */
}

/* Calendar : Full Year */
body#fullyearlinked table.calendar {
    float: left;
    width: 315px;
    height: 18em;
    border: solid 1px #7D5925;
}
body#fullyearlinked table.calendar thead th {
    height: 2em;
}
body#fullyearlinked table.calendar thead th.monthName {
    font-size: large;
}
body#fullyearlinked table.calendar tbody td {
    height: 3em;
}
