fisharebest/webtrees

View on GitHub
resources/css/fab.css

Summary

Maintainability
Test Coverage
/**
 * webtrees: online genealogy
 * Copyright (C) 2023 webtrees development team
 * This program 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, either version 3 of the License, or
 * (at your option) any later version.
 * This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
 */

/* The FAB theme */
@import "_base.css";

:root {
    --chart-line-radius: 1rem;
    --chart-line: solid gray thin;
    --link-color-hover: #f00;
    --link-color: #369;
    --link-decoration-hover: underline;
    --link-decoration: none;
    --sex-f-bg: #ffdddd;
    --sex-f-fg: #ff8888;
    --sex-m-bg: #ddddff;
    --sex-m-fg: #8888ff;
    --sex-u-bg: #ddffdd;
    --sex-u-fg: #88ff88;
    --sex-x-bg: #fceaa1;
    --sex-x-fg: #ffab57;
}

/* Override Bootstrap format    --sex-u-bg: #ddffdd;
    --sex-u-fg: #88ff88;
ting */
.btn-link {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}

.table-given-name {
    overflow-x: hidden;
}

.container-fluid {
    padding-left: 5px;
    padding-right: 5px;
}

table {
    border-collapse: separate;
}

/*
 * Pages have the following high-level structure:
 *
 * wt-global wt-theme-<THEME> wt-route-<ROUTE>
 * +---wt-header-wrapper
 * |   +---wt-header-container
 * |       +---wt-header-content
 * |           +---wt-accessibility-links
 * |           +---wt-site-logo
 * |           +---wt-site-title
 * |           +---wt-header-search
 * |           |   +---wt-header-search-form
 * |           |       +---wt-header-search-field
 * |           |       +---wt-header-search-button
 * |           +---wt-secondary-navigation
 * |           |   +---wt-user-menu
 * |           +---wt-primary-navigation
 * |               +---wt-genealogy-menu
 * +---wt-main-wrapper
 * |   +---wt-main-container
 * |       +---wt-main-content
 * |           +---wt-messages
 * |           +---wt-page-title
 * |           +---wt-page-options wt-page-options-xxxxx
 * |           +---wt-page-content
 * +---wt-footers
 *     +---wt-footer wt-footer-xxxxx
 */

::backdrop, .wt-global {
    color: #555;
}

.wt-header-wrapper {
}

.wt-header-container {
    background-color: #eee;
}

.wt-header-content {
}

.wt-accessibility-links {
}

.wt-site-logo {
    display: none;
}

.wt-site-title {
    order: 1;
    flex: 1 1 auto;
    width: auto;
    font-size: 1.5rem;
    color: #888;
}

.wt-header-search {
    order: 3;
    flex: 0 0 15rem;
}

.wt-header-search-form {
}

.wt-header-search-field {
}

.wt-header-search-button {
}

.wt-secondary-navigation {
    order: 2;
    flex: 0 0 auto;
    width: auto;
    white-space: nowrap;
}

.wt-user-menu {
    flex-wrap: nowrap;
}

.wt-user-menu .nav-link {
    display: inline-block;
    padding: 0.5rem;
}

.wt-user-menu .nav-item::after {
    content: "|";
}

.wt-user-menu .dropdown-toggle::after {
    display: none;
}

.wt-primary-navigation {
    order: 4;
    flex: 0 0 100%;
    background-color: #eee;
}

.wt-genealogy-menu {
    justify-content: center;
}

.wt-genealogy-menu .dropdown-toggle::after {
    display: none;
}

.wt-genealogy-menu .nav-link {
    white-space: nowrap;
    display: inline-block;
    padding: 0.5rem;
}

.wt-genealogy-menu .nav-item + .nav-item::before {
    content: "|";
}

.wt-main-container {
    /* Space between the header/footer and the main content. */
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.wt-main {
}

.wt-messages {
}

.wt-page-title {
    text-align: center;
}

.wt-page-options-label {
    background-color: #ccc;
    border-left: 2px solid transparent;
    border-right: 2px solid transparent;
    Color: #555;
    font-weight: bold;
}

.wt-page-options-value {
    background-color: #ddd;
    border: 1px solid #fff;
    border-top: 1px solid #ddd;

    padding: 0.25rem 0.75rem;
}

.wt-page-content {
    margin-top: 1rem;
}

.wt-footers {
}

.wt-footer {
}

.wt-footer-contact {
}

.wt-footer-cookies {
    background: #aaa;
    color: #fff;
    transition: height 0.5s;
}

.wt-footer-page-views {
}

.wt-footer-powered-by {
}

.wt-footer-powered-by-webtrees {
    width: 100px;
    height: 21px;
    content: url(images/powered-by-webtrees.png);
}

/*
 * The tree/user home pages
 *
 * wt-home-page / wt-user-page
 * +---wt-main-blocks
 * |   +---wt-block, wt-block-AAA
 * |   +---wt-block, wt-block-BBB
 * |   +---wt-block, wt-block-CCC
 * +---wt-side-blocks
 *     +---wt-block, wt-block-XXX
 *     +---wt-block, wt-block-YYY
 *     +---wt-block, wt-block-ZZZ
 *
 * Each block as the structure
 * wt-block, wt-block-XXX
 * +---wt-block-header, wt-block-header-XXX
 * +---wt-block-content, wt-block-content-XXX
 */

.wt-block {
    background-color: #eee;
    padding: 3px;
    vertical-align: top;
}

.wt-block-header {
    background-color: #eee;
    border-bottom: 0;
    font-weight: bold;
}

.wt-block-content {
}

.wt-block-content .list_table {
    border-spacing: 1px;
    border: solid #000 1px;
    border-right: 0;
}

.wt-block-content .list_value,
.wt-block-content .list_value_wrap {
    border: 0;
}

/*
 * The individual page.
 *
 * wt-route-individual
 * +---wt-header-wrapper
 */
.wt-individual-silhouette-f {
    content: url(images/individual-silhouette-female.png);
}

.wt-individual-silhouette-m {
    content: url(images/individual-silhouette-male.png);
}

.wt-individual-silhouette-u,
.wt-individual-silhouette-x {
    content: url(images/individual-silhouette-unknown.png);
}

/*
 * Chart-boxes are used to build the various charts.
 * Each type of chart will set its own size and hide/show content.
 *
 * wt-chart-box
 * +--- wt-chart-box-thumbnail
 * +--- wt-chart-box-extra
 *      +--- wt-chart-box-zoom
 *           +--- wt-chart-box-icon
 *           +--- wt-chart-box-dropdown wt-chart-box-zoom-dropdown
 *      +--- wt-chart-box-links
 *           +--- wt-chart-box-icon
 *           +--- wt-chart-box-dropdown wt-chart-box-links-dropdown
 * +--- wt-chart-box-name
 * +--- wt-chart-box-lifespan
 * +--- wt-chart-box-facts
 *     +--- wt-chart-box-fact
 */

.wt-chart-box {
    height: 5rem;
    padding: 2px;
    line-height: 1.1;
    border: solid gray thin;
    border-radius: 4px;
}

.wt-chart-box-f,
.wt-chart-box-f .wt-chart-box-dropdown {
    background: var(--sex-f-bg);
    border: solid var(--sex-f-fg) thin;
}

.wt-chart-box-m,
.wt-chart-box-m .wt-chart-box-dropdown {
    background: var(--sex-m-bg);
    border: solid var(--sex-m-fg) thin;
}

.wt-chart-box-u,
.wt-chart-box-u .wt-chart-box-dropdown {
    background: var(--sex-u-bg);
    border: solid var(--sex-u-fg) thin;
}

.wt-chart-box-x,
.wt-chart-box-x .wt-chart-box-dropdown {
    background: var(--sex-x-bg);
    border: solid var(--sex-x-fg) thin;
}

/* ====== Round Corners ======== */
.block,
.descriptionbox,
.list_label,
.list_label_wrap,
.list_value,
.list_value_wrap,
.messagebox,
.optionbox,
.person0,
.person1,
.person2,
.person3,
.person4,
.person5,
#tabs {
    margin: 4px;
    padding: 4px;
    border-radius: 4px;
}

:focus {
    outline-style: none;
}

.flash-messages {
    clear: both;
    text-align: center;
}

dl {
    margin: 0;
}

dt {
    float: left;
    font-weight: bold;
    margin-right: 10px;
}

.button {
    width: 60px;
}

.alpha_index {
    color: #999;
}

.news_box:target,
#gedcom_stats:target {
    background-color: #ffc;
}

/* families tab person box */
table.center {
    margin-left: auto;
    margin-right: auto;
}

.list_table {
    margin: 0 auto;
}

.list_label,
.list_label_wrap {
    background-color: #ccc;
    font-weight: bold;
    text-align: center;
}

.list_value,
.list_value_wrap {
    background-color: #ddd;
    vertical-align: top;
}

.list_label,
.list_value {
    white-space: nowrap;
}

.list_label_wrap,
.list_value_wrap {
    white-space: normal;
}

div.fact_SHARED_NOTE {
    clear: both;
}

/* Table of genealogical facts */
.wt-facts-table caption {
    caption-side: top;
}

.wt-facts-table th {
    background-color: #ccc;
    border-radius: 4px;
    text-align: center;
    font-weight: normal;
}

.wt-facts-table > tbody > tr > th {
    min-width: 20%;
}

.wt-facts-table td {
    border-radius: 4px;
    background-color: #ddd;
}

.wt-facts-table .wt-sex-m > td {
    background-color: var(--sex-m-bg);
}

.wt-facts-table .wt-sex-f > td {
    background-color: var(--sex-f-bg);
}

.wt-facts-table .wt-sex-u > td {
    background-color: var(--sex-u-bg);
}

.wt-facts-table .wt-sex-x > td {
    background-color: var(--sex-x-bg);
}

.details_label {
    font-weight: bold;
}

.date {
    color: #337;
}

.label {
    font-weight: bold;
}

.error {
    color: #f00;
    font-weight: bold;
}

.indent {
    padding-left: 7px;
}

.parentdeath {
    padding: 1px;
}

.journal_box {
    padding: 3pt;
    border: thin solid #aaa;
    overflow: visible;
}

.news_box {
    background-color: #ccc;
    border-top: none;
    padding: 0.25rem;
}

.news_title {
    font-weight: bold;
    font-size: 14px;
}

.news_date {
    margin-bottom: 12px;
}

.current_day {
    font-weight: bold;
    font-size: 16px;
}

.cal_day {
    font-weight: bold;
}

.rtl_cal_day {
    color: #00f;
    font-weight: bold;
}

#user-page h1 {
    margin: 0.25em auto 0.6em;
}

.tvertline {
    vertical-align: bottom;
}

#childbox {
    padding: 5px;
    position: absolute;
    display: none;
    text-align: start;
    white-space: nowrap;
    top: 20px;
    left: 0;
}

.layout3 #childbox {
    top: auto;
    bottom: 20px;
}

.person0 {
    background-color: #aaf;
    vertical-align: top;
}

.person1 {
    background-color: #afa;
    vertical-align: top;
}

.person2 {
    background-color: #faa;
    vertical-align: top;
}

.person3 {
    background-color: #55f;
    vertical-align: top;
}

.person4 {
    background-color: #f55;
    vertical-align: top;
}

.person5 {
    background-color: #5f5;
    vertical-align: top;
}

.starredname {
    text-decoration: underline;
}

.search_hit {
    background-color: #ff0;
}

.descriptionbox {
    font-weight: bold;
    background-color: #ccc;
    vertical-align: top;
}

.descriptionbox {
    font-size: 14px;
    background-color: #ccc;
    vertical-align: top;
    padding: 3px;
}

.optionbox {
    background-color: #ddd;
    color: #000;
    vertical-align: top;
    white-space: nowrap;
    padding: 3px;
}

.red {
    color: #f00;
}

.wt-associate-fact,
.wt-relation-fact,
.wt-historic-fact {
    opacity: 0.8;
}

.messagebox {
    background-color: #bce;
}

/* ---Pending edits--- */
.wt-new {
    outline: solid #00f 1px;
}

.wt-old {
    outline: solid #f00 1px;
}

.nowrap {
    white-space: nowrap;
}

.wrap {
    white-space: normal;
}

.statistics-page {
    text-align: center;
}

.gchart {
    border: 0;
}

#facts_content dd {
    float: left;
    width: 70%;
}

.filtersH,
.filtersF {
    margin: 4px;
}

.filtersH img {
    margin-bottom: 2px;
}

.list-charts {
    text-align: center;
}

#place-hierarchy h2,
#place-hierarchy h4 {
    text-align: center;
}

.user_welcome_block table,
.gedcom_block_block table {
    margin: auto;
}

.user_welcome_block td,
.gedcom_block_block td {
    width: 33%;
    text-align: center;
    vertical-align: top;
}

/* ==== FAQ table styles ===== */
table.faq {
    background-color: #ddd;
    margin: 5px 0 50px 5px;
    width: 98%;
}

table.faq tr:nth-child(odd) td {
    background-color: #eee;
}

div.faq_title {
    background-color: #ddd;
    margin: 1em 0;
    padding: .25em;
    font-weight: bold;
    width: 98%;
}

div.faq_body {
    clear: both;
    padding: 0 1em;
}

.faq_top {
    float: right;
}

#indi_note {
    margin: 0 0 5px;
}

.indi_table {
    clear: left;
}

#indi_note .fact_NOTE {
    float: left;
    margin: 0 5px 0 0;
}

#indi_note .fact_SOUR {
    margin: 3px 0;
}

#indi_note .fact_SOUR a {
    font-size: 100%;
}

#indi_note .fact_NOTE,
#indi_note .fact_SOUR {
    clear: both;
}

.odometer {
    font-family: courier, monospace;
    font-weight: bold;
    background: #000;
    color: #fff;
}

.upcoming_events_block button,
.todays_events_block button {
    margin: 0 20px;
}

/* Sidebar - Family navigator */
.wt-family-navigator-dropdown {
    background: #eee;
}

.wt-family-navigator-dropdown-heading {
    font-weight: bold;
    font-size: inherit;
    color: inherit;
}

/* Sidebar - Descendants */
#sb_content_descendancy {
    margin-top: 5px;
}

#sb_desc_content {
    margin-left: 3px;
    font-size: 0.8em;
}

#sb_desc_content ul {
    padding: 0;
    margin: 0;
}

.sb_desc_indi_li {
    list-style-type: none;
}

/* Individuals and Families */
#sidebar-content-individuals,
#sidebar-content-families {
    margin-top: 5px;
}

.sb_indi_surname_li,
.sb_fam_surname_li {
    list-style-image: url(icons/plus.png);
}

.name_tree_div ul {
    padding: 0;
    margin: 0;
}

.name_tree_div li {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Clippings */
#sb_clippings_content ul {
    padding: 0;
    margin: 0;
}

#sb_clippings_content li {
    list-style: none;
    margin: 0;
    padding: 0;
    white-space: nowrap;
}

/*-- Fan chart ---- */
.fan_chart_menu {
    background: #fff;
    position: absolute;
    display: none;
    z-index: 100;
}

#fan_chart ul {
    list-style-type: none;
    margin: 0;
}

/* Lifespans chart */
.wt-lifespans-subtitle {
    text-align: center;
}

.wt-lifespans-scale {
    white-space: nowrap;
}

.wt-lifespans-decade {
    width: 70px;
    height: 60px;
    display: inline-block;
    background-image: url(images/lifespan-decade.png);
    background-position-y: bottom;
    background-repeat: no-repeat;
    background-size: 70px 37px;
}

.wt-lifespans-individuals {
    background: #fafafa;
}

.wt-lifespans-individual {

}

.wt-lifespans-summary {
    background: #ffffff;
    border: thin solid #000;
    z-index: 1;
}

.wt-lifespans-summary-link {
    font-weight: bold;
}

/*-- timeline  --*/
#timeline_chart {
    position: relative;
    top: 0;
    left: 0;
}

/*
 * Any element that is loaded dynamically has the class wt-ajax-load.
 * We can provide a "loading" placeholder for empty elements with this class.
 */
.wt-ajax-load:empty {
    height: 32px;
    background: url(images/loading-32x32.gif) no-repeat 50% 50%;
}

/*
 * Default icons are provided by FontAwesome.
 */
.wt-icon-anniversary {
}

.wt-icon-arrow-down {
}

a > .wt-icon-arrow-down:hover {
}

.wt-icon-arrow-left {
}

a > .wt-icon-arrow-left:hover {
}

.wt-icon-arrow-right {
}

a > .wt-icon-arrow-right:hover {
}

.wt-icon-arrow-up {
}

a > .wt-icon-arrow-up:hover {
}

.wt-icon-bing-maps {
}

.wt-icon-calendar {
}

.wt-icon-collapse {
}

.wt-icon-coordinates {
}

.wt-icon-copy {
}

.wt-icon-delete {
}

.wt-icon-edit {
}

.wt-icon-expand {
}

.wt-icon-family {
}

.wt-icon-google-maps {
}

.wt-icon-help {
}

.wt-icon-individual {
}

.wt-icon-keyboard {
}

.wt-icon-media {
}

.wt-icon-note {
}

.wt-icon-openstreetmap {
}

.wt-icon-preferences {
}

.wt-icon-reorder {
}

.wt-icon-repository {
}

.wt-icon-sex-f {
    color: var(--sex-f-fg);
}

.wt-icon-sex-m {
    color: var(--sex-m-fg);
}

.wt-icon-sex-u {
    color: var(--sex-u-fg);
}

.wt-icon-sex-x {
    color: var(--sex-u-fg);
}

.wt-icon-source {
}

.wt-icon-submitter {
}

.wt-icon-warning {
}

.wt-icon-zoom-in {
}

.wt-icon-zoom-out {
}

/* Miscellaneous images */
.icon-cfamily {
    content: url(fab/images/cfamily.png);
}

.icon-childless {
    content: url(images/childless.png);
}

.icon-children {
    content: url(images/children.png);
}

.icon-edit_indi {
    content: url(fab/images/edit_indi.png);
}

.icon-fam-list {
    content: url(fab/images/sfamily.png);
}

.icon-indi-list {
    content: url(fab/images/indis.png);
}

.icon-loading-small {
    content: url(images/indicator.gif);
}

.icon-minus {
    content: url(icons/minus.png);
}

.icon-mypage {
    content: url(fab/images/mypage.png);
}

.icon-pin-in {
    content: url(fab/images/pin-in.png);
}

.icon-pin-out {
    content: url(fab/images/pin-out.png);
}

.icon-plus {
    content: url(icons/plus.png);
}

.icon-resn-confidential {
    content: url(images/resn_confidential.png);
}

.icon-resn-locked {
    content: url(images/resn_locked.png);
}

.icon-resn-none {
    content: url(images/resn_none.png);
}

.icon-resn-privacy {
    content: url(images/resn_privacy.png);
}

.icon-rings {
    content: url(images/rings.png);
}

.icon-selected {
    content: url(fab/images/selected.png);
}

/* Silhouettes on charts */
.icon-silhouette-f {
    content: url(fab/images/silhouette_female_small.png);
}

.icon-silhouette-m {
    content: url(fab/images/silhouette_male_small.png);
}

.icon-silhouette-u,
.icon-silhouette-x {
    content: url(fab/images/silhouette_unknown_small.png);
}

.menu-language li {
    text-align: left; /* The language menu is always LTR, even on RTL pages */
}

.menu-theme li {
    text-align: left; /* The theme menu is always LTR, even on RTL pages */
}

.icon-indis {
    content: url(fab/images/indis.png);
}

.icon-patriarch {
    content: url(fab/images/patriarch.png);
}

.icon-pedigree {
    content: url(fab/images/pedigree.png);
}

.icon-sfamily {
    content: url(fab/images/sfamily.png);
}

.icon-user_add {
    content: url(fab/images/user_add.png);
}

/* Census assistant */
.wt-census-assistant-form-control:focus {
    min-width: 12rem;
}

/* Some blocks show a reduced version on the right-hand side. */
.wt-side-blocks .wt-side-block-optional {
    display: none !important;
}

/* my page chart enhancements */
.wt-block-content-charts {
    overflow: auto;
}

/* Some charts are wider than the page. */
.wt-chart {
    overflow-x: auto;
    overflow-y: hidden;
}

/* Forms */
.col-form-label {
    font-weight: bold;
}