/*
*******************************************************************************
Copyright Holder and License
*******************************************************************************
GRAMPS Cascading Style Sheet
Style Name: Basic - Lilac
Style Author: Jason M. Simanek (2008)
Note: Adapted from GRAMPS original Modern Style stylesheet with colors from the
      original 'Business' stylesheet
*******************************************************************************
This website was created with GRAMPS <http://www.gramps-project.org/>
-------------------------------------------------------------------------------
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!

-------------------------------------------------------------------------------
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 2018 Theo van Rijn
Copyright (C) 2019      Serge Noiraud

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
lilac dark              #2E2E61
lilac                   #669
lilac light             #B4B4CB
lilac very light        #E0E0E9
white                   #FAFAFF
-------------------------------------------------------------------------------
Characteristic of this style is that it uses the full width of the browser
window and that horizontal highlighting bars extend over the full width of
the page.
-------------------------------------------------------------------------------

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

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

body {
    font-family: sans-serif;
    font-size: 90%;
    color: black;
    margin: 0px;
    background-color: #E0E0E9;
}
body > div {
    clear: both;
}
#outerwrapper {
    margin: 5px auto;
    width: 98%;
}
#outerwrapper > div {
    clear: both;
}
.content {
    background-color: #FAFAFF;
    border-top: solid 1px #669;
}
.content div.snapshot {
    float: right;
    margin: 2em;
}
#ThumbnailPreview div.snapshot {
    float: right;
    margin: 0;
}
.fullclear {
    clear: both;
}
/* Less whitespace on smaller real estate. */
@media only screen and (max-width: 1080px) {
    .content {
        padding: 0em 0.5em;
    }
    body#fullyearlinked table.calendar {
        float: none;
        width: 100%;
    }
}
@media only screen and (width > 1080px) {
    body#fullyearlinked table.calendar {
        float: left;
        width: 33.3%;
    }
}

/* General Text
----------------------------------------------------- */
h1 {
    font-size: x-large;
    font-weight: bold;
    padding-left: 15px;
}
h2 {
    display:block;
    margin:0;
    padding:0;
    text-align: center;
}
h3 {
    font-size: large;
    padding-left: 15px;
}
h4 {
    font-size: medium;
    color: #2E2E61;
    background-color: #B4B4CB;
    padding-left: 15px;
    margin-bottom: 0px;
    border-bottom: solid 1px #669;
}
p#description {
    padding-left: 15px;
}
a {
    color: black;
    text-decoration: none;
    word-wrap: break-word;
}
a[href]:hover, a[href]:active {
    background-color: #E0E0E9
}
.grampsid {
    font-family: monospace;
    font-size: smaller;
    color: #669;
}

/* Header
----------------------------------------------------- */
#SiteTitle {
    width: 95%;
    color: #2E2E61;
}
#user_header, #user_footer {
    padding-left: 15px;
}

/* Navigation
----------------------------------------------------- */
div#nav, #subnavigation {
    border: solid 1px #E0E0E9; /* needed by IE7 */
    position: relative;
}
#subnavigation ul {
    overflow: hidden;
}
div#nav.wrappernav.ltr {
    float: left;
}
div#nav.wrappernav.rtl {
    float: right;
}
div#nav ul, #subnavigation ul {
    list-style: none;
    margin: 0px;
    padding-left: 15px;
}
#subnavigation ul {
    border-bottom: solid 1px #669;
}
div#nav ul li a, #subnavigation ul li a {
    display: block;
    font-size: smaller;
    font-weight: bold;
    border-bottom: solid 1px #E0E0E9;
}
div#nav ul li a:hover, #subnavigation ul li a:hover {
    text-decoration: none;
    background-color: #B4B4CB;
    border-bottom: solid 1px black;
}
div#nav ul li.CurrentSection a {
    position: relative;
    top: 1px;
    border: solid 1px #669;
    border-bottom-style: none;
    background-color: #FAFAFF;
}
#subnavigation ul li.CurrentSection a {
    background-color: #FAFAFF;
}
div#nav li.lang {
    font-size: smaller;
    font-family: sans-serif;
    padding-top: .3em;
    padding-bottom: .3em;
    font-weight: bold;
}
div#nav li.lang:hover > ul {
    visibility: visible;
    opacity: 1;
    width: 80px;
    padding-right: 5px;
}
div#nav ul.lang {
    position: absolute;
    visibility: hidden;
    opacity: 0;
    z-index: 999;
    padding: 2px;
    background-color: #E0E0E9;
    top: -1em;
    font-size: larger;
    font-family: sans-serif;
}
div#nav ul.lang:hover {
    float: initial;
}
div#nav ul.lang li {
    float: none;
    padding: 1px 2px;
}
.ltr, .ltr li {
    float: left;
    list-style: none;
}
li:not(:first-child) {
    padding-right: 8px;
    padding-left: 8px;
}
.rtl, .rtl li {
    float: right;
    list-style: none;
}

/* Alphabet Navigation
----------------------------------------------------- */
div#alphanav {
    background-color: #E0E0E9;
}
div#header.rtl h1 {
    margin-right: 40px;
}
div#header.rtl button {
    float: right;
}
div#header.ltr h1 {
    margin-left: 40px;
}
div#header.ltr button {
    float: left;
}
div#alphanav ul {
    list-style: none;
    border-width: 2px 0px 4px 0px;
    border-style: solid;
    border-color: black;
    margin: 0px;
    padding-left: 15px;
    /* float container stretch, see www.quirksmode.org/css/clearing.html */
    overflow: hidden;
}
div#alphanav ul li {
    float: left;
    font-size: larger;
    font-weight: bold;
}
div#alphanav ul li:after {
    content: " |";
}
div#alphanav ul li a {
    display: block;
    padding: 4px 8px;
    line-height: 100%;
    float: left;
}
div#alphanav ul li a:hover {
    text-decoration: none;
    background-color: black;
    color: #FAFAFF;
}

/* Responsive navigation */
button.navIcon {
    display: none;
}

div#header.rtl h1 {
    margin-right: 40px;
}
div#header.rtl button {
    float: right;
}
div#header.ltr h1 {
    margin-left: 40px;
}
div#header.ltr button {
    float: left;
}
div#header::after {
    content: "";
    clear: both;
    display: table;
}

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

@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. */
    }

    /* Undo some of the #nav styles  - to enable the class .nav */
    .nav ul, #subnavigation ul {
        list-style: none;
        min-width: unset;
        width: 200px;
        margin: 0;
        padding: 0;
    }
    .nav ul li, #subnavigation ul li {
        float: unset;
        display: unset
    }
    li:first-child {
        padding-right: 8px;
        padding-left: 8px;
    }

    /* Start with hidden menu options */
    /* .nav li:not(:first-child) {display: none;} */
    .nav li {display: none;}
    .nav ul {display: none;}

    button.navIcon.rtl {
        text-align:right;
    }
    button.navIcon.ltr {
        text-align:left;
    }
    button.navIcon {
        display: block;
        float: left;
        font-size:2.9em;
        line-height: 35px;
        border: 0px;
        color: #2E2E61;
        background-color: #E0E0E9;
    }
    h1#SiteTitle.ltr  {
        float: left;
    }
    h1#SiteTitle.rlt  {
        float: right;
    }

    .nav.responsive {position: absolute; display: block; z-index: 100;}
    .nav.responsive a.icon {
        position: absolute;
        right: 0;
        top: 0;
        margin-right: 10px;
    }
    .nav.rtl.responsive li.lang {
        text-align: right;
    }
    .nav.ltr.responsive li.lang {
        text-align: left;
    }
    .nav.responsive li {
        display: block;
        text-align: left;
        background-color: #669;
        /* required by IE */
        float: left;
        clear: both;
        width: 200px;
    }

    div#nav ul, #subnavigation ul {
        padding-left: 0px;
    }

    .content {
        padding: 0em 0.5em;
    }
    .lang {
        position: relative;
    }
    .lang > .lang {
        top: 0;
        margin-top: -6px;
        margin-left: -1px;
        -webkit-border-radius: 0 6px 6px 6px;
        -moz-border-radius: 0 6px 6px 6px;
        border-radius: 0 6px 6px 6px;
    }
    .lang:hover > .lang {
        display: block;
    }
}

/* Main Table
----------------------------------------------------- */
table {
    border-collapse: collapse;
    width: 100%;
}
div#summaryarea > table.infolist,
div#parents > table.infolist,
h3 + table.infolist {
    width: auto;
}
table tr th {
    text-align: left;
    background-color: #E0E0E9;
    border-top: solid 1px #669;
    border-bottom: solid 1px #669;
}
table tr th:first-child {
    border-left: solid 1px #669;
}
table tr th:last-child {
    border-right: solid 1px #669;
}
table.relationships.ltr tr th, table.infolist.ltr tr th, table.primobjlist.ltr tr th, table.eventlist.ltr tr th {
    text-align: left;
}
table.relationships.rtl tr th, table.infolist.rtl tr th, table.primobjlist.rtl tr th, table.eventlist.rtl tr th {
    text-align: right;
}
table.primobjlist tr th {
    background-color: #B4B4CB;
}
table td, table th {
    vertical-align: top;
    padding-left: 1ex;
}
table.primobjlist td {
    vertical-align: middle;
}
table td:first-child, table th:first-child {
    padding-left: 15px;
}
table.primobjlist tr a {
    display: block; /* make whole td clickable */
}
table.primobjlist tr.BeginLetter td, table.primobjlist tr.BeginSurname td {
    border-top: solid 1px #B4B4CB;
}
td.ColumnLetter, td.ColumnRowLabel {
    font-weight: bold;
}
td.ColumnBirth, td.ColumnDeath, td.ColumnPartner, td.ColumnParents {
    font-size: 90%;
}
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: #2E2E61;
}
/* div summaryarea is missing for events, sources and repos! */
h3 + table.infolist td.ColumnAttribute {
    color: #2E2E61;
}
table.primobjlist td.ColumnParents span.mother:before {
    content: "+ ";
}

/* Surnames
----------------------------------------------------- */
table#SortByName td.ColumnSurname, table#SortByName th.ColumnSurname,
table#SortByCount td.ColumnQuantity, table#SortByCount th.ColumnQuantity {
    background-color: #E0E0E9;
}
table#SortByName td.ColumnSurname a[href]:hover {
    background-color: #B4B4CB;
}
/* make the whole cell light up on hover not just the a. */
table#SortByName td.ColumnSurname,
table#SortByName th.ColumnSurname,
table#SortByName th.ColumnQuantity {
    padding-left: 0px;
}
table#SortByName td.ColumnSurname > a,
table#SortByName th.ColumnSurname > a,
table#SortByName th.ColumnQuantity > a {
    padding-left: 1ex;
}
table#SortByName thead th.ColumnSurname a:after,
table#SortByCount thead th.ColumnQuantity a:after {
    content: " \2193";
}
table.surname td.ColumnName {
    background-color: #E0E0E9;
}
table.surname td.ColumnName a[href]:hover {
    background-color: #B4B4CB;
}
/* make the whole cell light up on hover not just the a. */
table.surname td.ColumnName {
    padding-left: 0px;
}
table.surname td.ColumnName > a {
    padding-left: 15px;
}
table#SortByName tr:hover td.ColumnSurname,
table#SortByCount tr:hover td.ColumnQuantity {
    background-color: #B4B4CB;
}
table#SortByName tr:hover,
table#SortByCount tr:hover,
table#SortByName tr:hover td.ColumnQuantity,
table#SortByCount tr:hover td.ColumnSurname {
    background-color: #B4B4CB;
}
table.surname tr:hover,
table.surname tr:hover td.ColumnName {
    background-color: #B4B4CB;
}

/* Individuals
----------------------------------------------------- */
table.IndividualList td.ColumnSurname {
    background-color: #E0E0E9;
}
#parents table.infolist tr:hover,
table.IndividualList tr:hover,
table.IndividualList tr:hover td.ColumnSurname {
    background-color: #B4B4CB;
}

/* Places
----------------------------------------------------- */
#Places table.infolist td.ColumnName {
    background-color: #E0E0E9;
}
#Places table.infolist td.ColumnName a[href]:hover {
    background-color: #B4B4CB;
}
/* make the whole cell light up on hover not just the a. */
#Places table.infolist td.ColumnName {
    padding-left: 0px;
}
#Places table.infolist td.ColumnName > a {
    padding-left: 1ex;
}
#Places table.infolist tr:hover,
#Places table.infolist tr:hover td.ColumnName {
    background-color: #B4B4CB;
}

/* Events
----------------------------------------------------- */
#EventList table.infolist tr.BeginType td {
    border-top:dashed 1px #B4B4CB;
}
#EventList table.infolist tr.BeginLetter td {
    border-top:solid 1px #B4B4CB;
}
#EventList table.infolist td.ColumnType {
    background-color: #E0E0E9;
}
#EventList td.ColumnPerson a {
    display: inline;
}
#EventList table.infolist tr:hover,
#EventList table.infolist tr:hover td.ColumnType {
    background-color: #B4B4CB;
}
#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.fatherNmother:after,
#EventDetail td.ColumnPerson span.fatherNmother: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: "";
}
#attributes table.infolist td.ColumnType {
    width: 10%;
    padding-left: 15px;
}
#attributes table.infolist td.ColumnValue {
    width: 15%;
}
#attributes table.infolist td.ColumnSources {
    width: 5%;
    padding-left: 5px;
}
#WebLinks table.infolist td.ColumnType {
    width: 10%;
    padding-left: 15px;
}
#events table.eventlist td.ColumnDate {
    width: 15%;
    padding-left: 10px;
}
#families table.eventlist td.ColumnDate {
    width: 15%;
    padding-left: 10px;
}
#families table.eventlist tbody tr td:first-child,
#families table.eventlist thead tr th:first-child {
    width: 10%;
    padding-left: 0px;
}
#families table.eventlist tbody tr td.ColumnDate,
#families table.eventlist tbody tr td.ColumnNotes {
    padding-left: 20px;
}
table.eventlist tbody tr td:first-child,
table.eventlist thead tr th:first-child {
    padding-left: 10px;
}
table.eventlist tbody tr td.ColumnSources {
    padding-left: 20px;
    width: 5%;
}
#families table.eventlist th.ColumnDate {
    padding-left: 20px;
    width: 15%;
}
table.eventlist td.ColumnEvent,
table.eventlist td.ColumnDate,
table.eventlist td.ColumnPlace {
    font-weight: bold;
}

/* Gallery
----------------------------------------------------- */
#GalleryNav {
    text-align: center;
    margin: 2em 0px;
}
#GalleryNav a {
    font-weight: bold;
    background-color: #E0E0E9;
    border: solid 1px #669;
    margin: 1em;
}
#GalleryNav a:hover {
    background-color: #B4B4CB;
}
#GalleryNav a#Previous {
    padding: .4em .7em .3em .7em;
}
#GalleryNav a#Next {
    padding: .4em 1.9em .3em 1.9em;
}
#GalleryCurrent {
    font-size: larger;
}
#GalleryTotal {
    font-weight: normal;
}
#GalleryDisplay {
    margin: 0px auto;
    position: relative;
}
#GalleryDisplay img {
    margin: 0px auto;
    display: block;
    border: solid 1px #669;
    height: auto;
}

@media only screen and (max-width: 1600px) {
    #GalleryDisplay img {
        max-width: 100%;
    }
}

#GalleryDetail h3 {
    text-align: center;
}

/*    Sources
------------------------------------------------------ */
div#SourceDetail {
    margin: 0 auto;
}
#Sources table.infolist tr:hover,
#Sources table.infolist tr:hover td.ColumnType {
    background-color: #B4B4CB;
}

/* Contact
----------------------------------------------------- */
#Contact {
    overflow: hidden;
}
#Contact #summaryarea {
    background-color: #E0E0E9;
    border: solid 1px #669;
}
#Contact #summaryarea #GalleryDisplay img {
    float: right;
    border: solid 1px #669;
}
#Contact #researcher, #Contact #researcher h3 {
    font-size: larger;
    padding-left: 0px;
}
#Contact #streetaddress, #Contact #locality, #Contact #email {
    display: block;
}
#Contact #locality, #Contact #city, #Contact #state, #Contact #postalcode,
#Contact #country {
    white-space: nowrap;
}
#Contact #city:after {
    content: ",";
}

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

/* Subsection
----------------------------------------------------- */
#Home #GalleryDisplay, #Introduction #GalleryDisplay, #Contact #GalleryDisplay {
    float: right;
    margin: 0;
    border: 0px;
}
#Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
      #Contact #GalleryDisplay img {
    display: block;
    max-width: 950px;
    height: auto;
    float: right;
}
@media only screen and (max-width: 1080px) {
    #Home #GalleryDisplay img, #Introduction #GalleryDisplay img,
          #Contact #GalleryDisplay img {
        margin: 0 auto;
        max-width: 100%;
    }
}
#Home p, #Introduction p {
    padding-left: 15px;
}
.subsection {
    clear: both;
    overflow-x: auto;
}
.subsection p {
    margin: 0px;
}

/* Subsection : Families
----------------------------------------------------- */
#families table.infolist td.ColumnValue.Child table.infolist tr:hover,
table.relationships tr:hover {
    background-color: #B4B4CB;
}
div.content table.tags {
    text-align: left;
    width: auto;
}
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;
}
div#families table.attrlist td.ColumnType {
    color: black;
}

/* Subsection : Gallery
----------------------------------------------------- */
#gallery {
    background-color: green;
}
#indivgallery {
    background-color: white;
}
#indivgallery a {
    color: black;
    text-decoration: none;
    word-wrap: break-word;
    display: block;
}
#gallery .gallerycell.ltr {
    float: left;
}
#gallery .gallerycell.rtl {
    float: right;
}
#gallery .gallerycell {
    width: 130px;
    height: 150px;
    text-align: center;
    margin: 0;
    background-color: white;
    border-top: solid 1px #999;
    border-right: solid 1px #999;
}
#gallery .thumbnail {
    font-size: smaller;
    margin: 3em auto;
}
#indivgallery .thumbnail {
    float: left;
    width: 160px;
    height: 220px;
    font-size: smaller;
    text-align: center;
    margin: 0.8em 0.5em;
    background-color: white;
}
#indivgallery h4 + .thumbnail {
    margin-left: 15px;
    /* Problem: if there are more thumnails then fit on a single row, the
     *          first thumnail on each next row should also have a margin-left
     *          of 15 px. */
}
#gallery div.indexno {
    float: right;
    font-size: large;
    text-align: center;
    background-color: #CCC;
    color: #555;
    margin: 0;
}
#indivgallery div.date {
    float: right;
    width: 1.8em;
    font-size: large;
    text-align: center;
    background-color: #CCC;
    color: #555;
}
#indivgallery .thumbnail ul {
    font-size: smaller;
    list-style: none;
    padding: 0px;
}
#indivgallery .thumbnail ul li:first-child {
    border-style: none;
}
#indivgallery .thumbnail ul li {
    border-top: dashed 1px #CCC;
    border-top-style: dashed;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
}
#gallery img {
    border: solid 1px #999;
}
#indivgallery img {
    border: solid 1px #669;
}
#indivgallery span {
/* ## remove this line and the comment markers from the line below to hide description in Indivifual Gallery
    display: none; */
}
div.snapshot div.thumbnail {
    text-align: center;
}

/* Subsection : Narrative
----------------------------------------------------- */
h4 + div.grampsstylednote, a.familymap {
    margin: 1em 15px;
}
i.NoteType {
    font-weight: bold;
    font-size: .8em;
}
i + div.grampsstylednote p {
    margin: 0 0 0.3em 0;
}
div.grampsstylednote p {
    padding-bottom: 0.6em;
}
div.grampsstylednote a {
    text-decoration: underline;
    font-weight: bold;
    color: #2E2E61;
}
div.grampsstylednote a:visited {
    color: red;
}

/* Subsection : References
----------------------------------------------------- */
#references ol {
    margin-left: 2em;
}

/* Subsection : Family Map
----------------------------------------------------- */
a.familymap {
    display: block;
}
a.family_map {
    margin-left: 15px;
}

/* Subsection : Source References
----------------------------------------------------- */
#sourcerefs ol#srcr {
    counter-reset: itema;
    list-style-type: none;
    display: block;
    margin-top: .1em;
}
#sourcerefs ol#citr {
    counter-reset: itemb;
    list-style-type: none;
}
#sourcerefs ol#srcr > li::before {
    content: counter(itema);
}
#sourcerefs ol#citr > li::before {
    content: counter(itema)counter(itemb, lower-alpha);
}
#sourcerefs ol#srcr > li {
    counter-increment: itema;
    margin-top: .1em;
}
#sourcerefs ol#citr > li {
    counter-increment: itemb;
    margin-top: .1em;
}
#sourcerefs ol#citr ul {
    list-style: none;
    display: inline-block;
    vertical-align: top;
}

/* Subsection : Pedigree
----------------------------------------------------- */
.pedigreegen {
    list-style-type: none;
    padding-left: 15px;
}
.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;
    padding-top: 1em;
    background-color: #B4B4CB;
    border-top: solid 1px #2E2E61;
}
#footer > * {
    background-color: #E0E0E9;
    font-size: 80%;
}
#footer p#createdate {
    float: left;
    width: 50%;
    text-align: left;
    padding-left: 15px;
    margin-top: 1em;
}
#footer p#copyright {
    float: right;
    width: 40%;
    text-align: right;
    padding-right: 15px;
}
#footer a[href]:hover {
    background-color: #B4B4CB;
}

/* Updates
----------------------------------------------------- */
#Updates table.list td.date {
    width: 20%;
}

/* Overwritten
----------------------------------------------------- */
body#FamilyMap {
    background-color: #E0E0E9 !important;
}

/* Calendar Styles
===================================================== */
.dropmenu.rtl li {
    text-align: right;
}
.dropmenu.ltr li {
    text-align: left;
}
table.calendar {
    table-layout: fixed;
    empty-cells: show;
}
.calendar thead th {
    text-align: center;
    border-top-style: none;
}
.calendar thead th.monthName {
    font-size: xx-large;
    font-weight: normal;
    background-color: #FAFAFF;
    border-bottom-style: none;
    padding-top: 1em;
    vertical-align: top;
    height: 2em;
}
.calendar thead th abbr {
    border-bottom-style: none;
}
.calendar tfoot tr td {
    border-top: solid 4px #669;
    vertical-align: middle;
}

/* Calendar : Date Numeral */
.calendar div.date {
    float: right;
    width: 1.8em;
    font-size: large;
    text-align: center;
    background-color: #B4B4CB;
    color: #2E2E61;
}

/* Calendar : Date Container */
.calendar td {
    padding: 0px 5px 0px 1ex;
    border-width: 1px 0px 0px 1px;
    border-style: solid;
    border-color: #B4B4CB;
    background-color: #FAFAFF;
}
.calendar td:first-child {
    border-left-style: none;
    padding: 0px 5px 0px 1ex;
}
.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 {
    border-top: dashed 1px #B4B4CB;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
}
.calendar td ul li:first-child {
    border-style: none;
}
.calendar td ul a[href]:hover {
    background-color: #B4B4CB;
}

/* Calendar : Birthday, Anniversary, Highlight */
.calendar td ul li em {
    font-style: normal;
    color: #669;
}
.calendar td.highlight {
    background-color: #E0E0E9;
}
.calendar td.highlight div.date {
    color: black;
    background-color: #B4B4CB;
}

/* Calendar : Previous-Next Month */
.calendar td.previous,
.calendar td.next,
.calendar td.previous div.date,
.calendar td.next div.date {
    color: #B4B4CB;
    background-color: #FAFAFF;
}

/* Calendar : Full Year */
body#fullyearlinked div.content {
    overflow: hidden;
}
body#fullyearlinked table.calendar {
    height: 18em;
    border: solid 1px black;
}
body#fullyearlinked table.calendar thead th {
    height: 2em;
}
body#fullyearlinked table.calendar thead th.monthName {
    font-size: large;
    padding: 2px 0px;
}
body#fullyearlinked table.calendar tbody td {
    height: 3em;
}
body#OneDay div.content {
    overflow: hidden;
}
body#OneDay h3 {
    font-size: xx-large;
    vertical-align: top;
    height: 2em;
}
#WebCal table.calendar tfoot {
    display: none;
}
#WebCal table.calendar tr td {
    word-wrap: break-word;
    padding: 2px;
}
#WebCal .calendar tr td .empty {
    border: 5px solid rgba(255,255,255,.0);
}
#WebCal .calendar tr td .clickable {
    border: 5px solid rgba(255,255,255,.0);
}
#WebCal .calendar tr td .clickable:hover {
    display: block;
    overflow:auto;
    word-wrap: break-word;
    cursor: text;
    border-radius: 10px 0px 10px 10px;
    border: 5px solid #2E2E61;
    padding: 0px;
}
body#fullyearlinked #YearGlance tbody td {
    height:48px;
    vertical-align: middle;
    text-align: center;
    padding-left: 6px;
}
body#fullyearlinked #YearGlance tbody td .date {
    font-size: 30px;
    vertical-align: middle;
    text-align: center;
    border-radius: 45px;
    float: none;
    border: 5px solid rgba(0,0,0,.0);
}
body#fullyearlinked #YearGlance tbody td:hover .date {
    border-radius: 45px;
    border: 5px solid;
}
h4 button.icon {
    width: 1.9em;
    border: 0px solid;
    padding: 0;
    opacity: 1;
    transform: rotate(90deg);
    transition: transform 200ms ease-out 0s;
    background: transparent;
}
h4 button.icon-close {
    transform: rotate(90deg);
    transition: transform 0.2s linear;
}
h4 button.icon-open {
    transform: rotate(180deg);
    transition: transform 0.2s linear;
}
svg {
  fill: #2E2E61;
}
/* Go to the top of the page */
#gototop {
  display: none;
  position: fixed;
  bottom: 10px;
  right: 20px;
  z-index: 999;
  border: none;
  background-color: transparent;
  color: black;
  cursor: pointer;
  border-radius: 4px;
  width: 40px;
  height: 40px;
  padding: 0px;
}

#gototop:hover {
  background-color: #E0E0E9;
}
