/*
Theme Name: Enfold Child
Description: Minimal presentation layer for the standalone Fisch learning site.
Author: NovoPeak
Template: enfold
Version: 0.6.30
Text Domain: novopeak-fisch-learning
*/

.fisch-membership-notice { position: relative; padding: 12px 42px 12px 20px; background: #006b9d; color: #fff; }
#top .fisch-membership-notice a { color: #fff; text-decoration: underline; }
.fisch-membership-notice[hidden] { display: none !important; }
.fisch-notice-dismiss { position: absolute; right: 8px; top: 6px; background: transparent; border: 0; color: inherit; font-size: 28px; cursor: pointer; }
.branding > a { display: flex; align-items: center; gap: 16px; color: inherit; }
.branding img { width: auto; max-width: 220px; max-height: 90px; }
#top.layout_sidebar .avia-post-nav:has(.topic-title) { background-color: rgba(0, 106, 157, 0.9); }
#top nav.sub_menu .sub_menu_hamburger { display: none; width: 50px; height: 50px; }
#top nav.sub_menu .sub_menu_hamburger svg { display: block; width: 22px; height: 26px; }
#top nav.sub_menu #avia2-menu li { position: relative; }
#top nav.sub_menu #avia2-menu .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    left: auto;
    min-width: 220px;
    width: max-content;
    max-width: 90vw;
    background: #fff;
    border: 1px solid #d2d7da;
    box-shadow: 0 3px 8px rgb(0 0 0 / 15%);
    padding: .4rem;
    z-index: 110;
}
#top nav.sub_menu #avia2-menu li:hover > .sub-menu,
#top nav.sub_menu #avia2-menu li:focus-within > .sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}
#top nav.sub_menu #avia2-menu .sub-menu li { float: none; display: block; text-align: left; }
#top nav.sub_menu #avia2-menu .sub-menu a { display: block; padding: .55rem .7rem; height: auto !important; line-height: 1.4 !important; }
#top nav.sub_menu #avia2-menu a:focus-visible { outline: 2px solid #006b9d; outline-offset: 2px; }
@media (max-width: 600px) {
    /* The positioned body otherwise moves WordPress's absolute admin bar over the header. */
    #top.admin-bar > #wpadminbar { top: -46px; }
}
#top nav.sub_menu #avia2-menu .avia_mega_div .sub-menu {
    display: block; position: static; width: 100%; min-width: 0;
    max-width: none; border: 0; box-shadow: none; padding: 0;
}
#top nav.sub_menu #avia2-menu .avia_mega_div .sub-menu li { margin: 0; }
#top nav.sub_menu #avia2-menu .avia_mega_div .sub-menu a { padding: 0; }
#top nav.sub_menu #avia2-menu .welcome-name > a { font-weight: 400; }
#top nav.sub_menu #avia2-menu .avia_mega_div { border: 0; padding: 1px 0 0; }
#top nav.sub_menu #avia2-menu .avia_mega_div > .sub-menu { padding: 20px 30px 30px; }
#top nav.sub_menu #avia2-menu .avia_mega_div > .sub-menu > li { padding: 10px 0 0; }
#top nav.sub_menu #avia2-menu .avia_mega_div .mega_menu_title {
    display: block; margin: 0 0 8px; border: 0;
}
#top nav.sub_menu #avia2-menu .avia_mega_div .mega_menu_title a {
    color: #000; font-size: 16px; font-weight: 600; line-height: 1.1 !important;
}
#top nav.sub_menu #avia2-menu .avia_mega_div .sub-menu .sub-menu a {
    position: relative; padding: 3px 12px; font-size: 16px; font-weight: 400;
    line-height: 23px !important; border: 0;
}
#top nav.sub_menu #avia2-menu .avia_mega_div .sub-menu .sub-menu .avia-bullet {
    display: block; position: absolute; left: 3px; top: 50%;
    margin: 0; transform: translateY(-50%);
    width: 0; height: 0; border: 3px solid transparent; border-left-color: #006b9d;
}
#top nav.sub_menu #avia2-menu .welcome-name:focus-within > .avia_mega_div {
    display: block !important; visibility: visible !important; opacity: 1 !important;
}
@media (min-width: 1440px) and (max-width: 1679px) {
    /* The compact member menu fits alongside Live's full desktop search. */
    #top.logged-in #header_main .main_menu > #searchform.novopeak-live-search { display: block !important; }
    #top.logged-in #header_main .main_menu li#menu-item-search { display: none !important; }
}
@media (max-width: 1129px) {
    #top nav.sub_menu .sub_menu_hamburger { display: flex; align-items: center; justify-content: center; }
    #top nav.sub_menu #menu-location-avia2 { position: absolute; right: 0; width: min(340px, 94vw); }
    #top nav.sub_menu #menu-location-avia2 #avia2-menu { display: none; position: relative; top: 0; background: #fff; width: 100%; }
    #top nav.sub_menu #menu-location-avia2 #avia2-menu > li { float: none; text-align: center; padding: 10px !important; }
    #top nav.sub_menu #menu-location-avia2 #avia2-menu > li > a { line-height: 30px !important; height: auto !important; }
    #top nav.sub_menu.hamburger--open #menu-location-avia2 #avia2-menu { display: block !important; }
    #top nav.sub_menu.hamburger--open #avia2-menu .sub-menu {
        display: block !important; visibility: visible !important; opacity: 1 !important;
        position: static !important; width: auto; min-width: 0; box-shadow: none; border: 0;
    }
    #top nav.sub_menu.hamburger--open #avia2-menu .sub-menu li { width: 100%; }
    #top nav.sub_menu.hamburger--open #avia2-menu .avia_mega_div {
        display: block !important; visibility: visible !important; opacity: 1 !important;
        position: static !important; width: 100% !important; max-width: none; border: 0; box-shadow: none;
    }
    #top nav.sub_menu #menu-location-avia2 { max-height: 85vh; overflow-y: auto; }
}
@media (max-width: 767px) {
    #top.fisch-has-learning-tools .brlbs-cmpnt-widget { bottom: calc(7rem + env(safe-area-inset-bottom, 0px)) !important; }
    #top .avia_responsive_table table.fisch-row-header-table tr:first-child { display: block !important; }
    #top .avia_responsive_table table.fisch-row-header-table td::before { display: none !important; content: none !important; }
    #top .avia_responsive_table table.fisch-row-header-table th { display: block; width: 100%; font-weight: 700; }
}

/* Fill the main area's minimum height without taking the footer out of flow. */
#top #main {
    display: flex;
    flex-direction: column;
}

#top #main > * {
    flex-shrink: 0;
}

.responsive #top #wrap_all #main > #socket {
    position: static !important;
    bottom: auto;
    margin-top: auto;
}

#top {
    position: relative;
}

.responsive #top > #socket {
    position: absolute !important;
    bottom: 0;
}

.home:not(.logged-in) .ec_term_grid > .grid-entry:nth-child(n + 8) {
    display: none;
}

.home #after_full_slider_1 > .container {
    width: 96%;
}

.sub_menu .service-menu__shop a {
    color: #006b9d;
}

#header .logo,
#header .logo a,
#header .logo svg {
    width: 245px;
}

#header .logo svg {
    height: 45px;
}

#top.tax-topic .container_wrap_first > .container {
    width: 100%;
    max-width: 1216px;
    margin-right: auto;
    margin-left: auto;
}

#top.tax-topic .category-term-description {
    margin-bottom: 25px;
}

#top.tax-topic .container_wrap_first {
    padding-bottom: 0;
}

#top.tax-topic #main {
    position: relative;
}

#top.page:not(.home) #main .container {
    width: 100%;
    max-width: 1216px;
    margin-right: auto;
    margin-left: auto;
}

@media screen and (max-width: 1024px) {
    /* Match Live's 3% gutters after the full-width desktop container rules. */
    .responsive #top #wrap_all #main .container {
        width: 94%;
        max-width: 94%;
    }
}

#top.tax-topic .topic-link__icon {
    font-family: inherit;
    font-size: 22px;
    line-height: 16px;
}

#top.home #av_section_1,
#top.home #av_section_2 {
    padding-bottom: 56.4286px;
}

#top.home #main {
    position: relative;
}

#top.home #av_section_1 .flex_column_table,
#top.home #av_section_2 .flex_column_table {
    margin-top: 0;
}

#top.home #av_section_1 > .av-section-color-overlay-wrap > .container,
#top.home #av_section_2 > .av-section-color-overlay-wrap > .container {
    width: 100%;
    max-width: 1216px;
    margin-right: auto;
    margin-left: auto;
}

#top .fisch-library svg {
    vertical-align: middle;
    margin-bottom: 3px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

#top .fisch-library__row > a { position: relative; }
#top .fisch-library__progress { position: absolute; left: 0; bottom: 0; width: 100%; height: 3px; background: #e3e3e3; }
#top .fisch-library__progress > span { display: block; height: 100%; background: #006a9d; }

#top .fisch-library .fisch-library__icon {
    fill: #fff;
    stroke: none;
    stroke-width: 0;
}

#top #wrap_all #ec_structured_header .ec-structured-header-socket {
    border-bottom: 0 !important;
}

#top #wrap_all #ec_structured_header .ec-structured-header-socket .container .ec-structured-header-topic {
    padding: 10px 0 !important;
    margin-bottom: -7px !important;
}

#top #wrap_all #ec_structured_header .ec-structured-header-socket .container .ec-structured-header-topic h2 {
    padding: 10px 0 !important;
    margin-bottom: -7px !important;
}

#top .ec-structured-header-topic_abbreviation .header-toggle {
    width: 30px;
    min-width: 30px;
}

#top .fisch-library #fisch-library-panel {
    width: 300px;
    max-height: calc(100vh - 118px);
    margin: 0;
    padding: 15px 20px;
    overflow-y: auto;
    background: #fafafa;
}

/* Override legacy mobile display:none only while the library is open. */
#top.layout_sidebar #sidebar.fisch-library #fisch-library-panel:not([hidden]) {
    display: block;
    max-width: calc(100vw - 20px);
}

#top .fisch-library #fisch-library-panel[hidden] {
    display: none;
}

@media screen and (max-width: 767px) {
    #top.layout_sidebar #sidebar.fisch-library.library--open {
        width: min(300px, calc(100vw - 20px));
        max-height: 100dvh;
        overflow-y: auto;
    }
    #top.layout_sidebar #sidebar.fisch-library.library--open .widget_nav_menu {
        display: block;
        height: auto;
        max-height: none;
    }
    #top.layout_sidebar #sidebar.fisch-library.library--open #fisch-library-panel[hidden] {
        display: none;
    }
}

#top .fisch-library #fisch-library-panel ul {
    margin: 0;
}

#top .fisch-paywall > p:first-child img {
    width: 530px;
    max-width: 100%;
    height: auto;
}

/* Legacy library drawer: hierarchical term rows rather than a flat catalogue. */
#top { --fisch-library-width: min(400px, 80vw); }
#top.fisch-library-open { overflow-x: hidden; }
#top.fisch-library-open #wrap_all { transform: translateX(var(--fisch-library-width)); }
#top.fisch-library-open #sidebar.fisch-library { transform: translateX(var(--fisch-library-width)); }
#top #fisch-library-panel.fisch-library__drawer {
    position: fixed; z-index: 99999; top: var(--fisch-library-top, 0px); bottom: 0; left: 0;
    width: var(--fisch-library-width); padding: 6px 0; overflow-y: auto; background: #f3f3f3;
    color: #444; box-shadow: 1px 0 4px #ccc; text-align: left;
}
#top #fisch-library-panel[hidden], #top #fisch-library-panel [hidden] { display: none !important; }
#top #fisch-library-panel ul { list-style: none; margin: 0; padding: 0; }
#top #fisch-library-panel .fisch-library__filter { display: block; padding: 0 8px 6px; }
#top #fisch-library-panel input { width: 100%; margin: 0; padding: 8px 6px; background: white; border: 0; font-weight: bold; }
#top #fisch-library-panel .fisch-library__row { display: flex; align-items: stretch; border-top: 1px solid #ddd; margin: 0; padding: 0; min-height: 41px; }
#top #fisch-library-panel .fisch-library__row:last-child { border-bottom: 1px solid #ddd; }
#top #fisch-library-panel .fisch-library__row > a { flex: 1; min-width: 0; padding: 9px 12px; color: #444; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#top #fisch-library-panel .fisch-library__row > button { width: 80px; flex-shrink: 0; display: flex; justify-content: space-around; align-items: center; background: none; border: 0; border-left: 1px solid #ddd; color: #aaa; font-size: 20px; }
#top #fisch-library-panel .fisch-library__row > button:hover, #top #fisch-library-panel .fisch-library__row > button:focus-visible { background: #006b9d; color: #fff; }
#top #fisch-library-panel .fisch-library__heading { display: flex; align-items: center; min-height: 41px; color: #999; }
#top #fisch-library-panel .fisch-library__heading > button { width: 40px; border: 0; background: none; color: #999; font-size: 28px; }
#top #fisch-library-panel .fisch-library__heading > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#top .fisch-paywall__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; margin: 65px auto 0; padding-bottom: 30px; }
#top .fisch-paywall__actions > div { text-align: center; }
#top .fisch-paywall__actions .avia-button-wrap { float: none; }
#top .avia-image-container .ec-image-caption { text-align: left; font-size: 1rem; font-weight: 400; line-height: 1.5; }
@media(max-width:767px) { #top .fisch-paywall__actions { grid-template-columns: 1fr; gap: 24px; } }

#top .fisch-context-icon {
    position: absolute;
    left: 18px;
    color: #fff;
    font-size: 21px;
    line-height: 26px;
}

#top.tax-topic #ec_structured_header .container {
    position: relative;
}

.chapter_section_header {
    border: 0;
    border-bottom: 1px solid #d5d5d5;
    background: #f5f5f5;
}

.chapter_section_header .content,
.chapter_section_header .ec-chapter {
    padding: 0;
}

.ec-chapter-heading {
    position: relative;
    margin: 0;
    padding: 20px 0;
    font-family: inherit;
    font-weight: 400;
}

.ec-chapter-heading__link {
    position: absolute;
    right: calc(100% + .5rem);
    color: inherit;
    text-decoration: none;
    opacity: 0;
    transition: opacity .15s ease-in-out;
}

.ec-chapter-heading:hover .ec-chapter-heading__link,
.ec-chapter-heading__link:focus {
    opacity: .55;
}

.ec_flipcard_section {
    width: 100%;
    height: 300px;
    position: relative;
    margin: 0 auto 40px;
    perspective: 800px;
}

.ec-flipcard-wrapper {
    width: 100%;
    height: 100%;
    position: absolute;
    border: 1px solid #e1e1e1;
    cursor: pointer;
    transform-style: preserve-3d;
    transform-origin: right center;
    transition: transform .65s ease;
}

.ec-flipcard-wrapper:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 3px;
}

.ec-flipcard-wrapper.flipped {
    transform: translateX(-100%) rotateY(-180deg);
}

.ec-flipcard {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 1.25rem;
    box-sizing: border-box;
    backface-visibility: hidden;
    text-align: center;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.1;
}

.ec-flipcard.back {
    transform: rotateY(180deg);
}

.ec-flipcard-inner {
    width: 100%;
}

.ec_image_credit__flipcard {
    position: absolute;
    right: .5rem;
    bottom: .35rem;
    max-width: calc(100% - 1rem);
    font-size: .75rem;
    font-weight: 400;
}

.ec_term_grid {
    display: grid;
    grid-template-columns: repeat(var(--fisch-grid-columns), minmax(0, 1fr));
    gap: 0;
    padding-top: 20px;
}

.ec_term_grid .grid-entry,
.ec_term_grid .inner-entry {
    min-width: 0;
    height: 100%;
}

.ec_term_grid .inner-entry {
    position: relative;
    overflow: hidden;
    margin-right: 1px;
    border: 0;
    background: #fff;
    box-shadow: 0 1px 3px rgb(0 0 0 / 12%);
    transition: box-shadow .2s ease, transform .2s ease;
}

.ec_term_grid .inner-entry:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgb(0 0 0 / 16%);
}

.ec_term_grid .grid-image,
.ec_term_grid .grid-image img {
    display: block;
    width: 100%;
}

.ec_term_grid .grid-content {
    padding: 11px 20px;
}

.ec_term_grid .grid-entry-title {
    margin: 0;
}

.ec_term_grid .unpaid .inner-entry {
    opacity: .66;
}

.ec_term_grid .unpaid .inner-entry:hover {
    opacity: 1;
}

.ec_term_grid .unpaid img {
    filter: grayscale(100%);
}

.ec_term_grid .ribbon {
    /* The legacy presentation layer supplies the clipped diagonal blue strip. */
    padding: 0;
    background: transparent;
    font-weight: 400;
}

@media (max-width: 989px) {
    .ec_term_grid {
        grid-template-columns: repeat(var(--fisch-grid-columns-medium), minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    #top.home #av_section_1 {
        padding-bottom: 20px;
    }

    .ec_term_grid {
        grid-template-columns: repeat(var(--fisch-grid-columns-small), minmax(0, 1fr));
    }
}

@media (max-width: 479px) {
    #top.tax-topic .container_wrap_first {
        padding-bottom: 0;
    }

    .ec_term_grid {
        grid-template-columns: repeat(var(--fisch-grid-columns-mini), minmax(0, 1fr));
    }

    .ec_term_grid .inner-entry {
        height: auto;
    }

    .ec-chapter-heading__link {
        position: static;
        margin-right: .4rem;
        opacity: .45;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ec-flipcard-wrapper,
    .ec_term_grid .inner-entry {
        transition: none;
    }
}

@media print {
    .ec-flipcard-wrapper {
        transform: none !important;
    }

    .ec-flipcard.back {
        display: none;
    }

    .ec_term_grid {
        display: block;
    }
}

/* Native replacements for the old header/sidebar/TOC/table handlers. */
#top .ec-structured-header-topic_abbreviation button.header-toggle {
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    color: inherit;
    line-height: 30px;
}

#top .header-toggle:focus-visible,
#top .ec_table_vocabs__trigger:focus-visible,
#top table.ec_table_vocabs td:focus-visible {
    outline: 2px solid #006a9d;
    outline-offset: 2px;
}

#top .fisch-learning-stuck {
    position: fixed !important;
    z-index: 8 !important;
    margin: 0 !important;
}

#top .fisch-sticky-slot {
    clear: both;
    padding: 0;
    border: 0;
}

@media (min-width: 768px) {
    #top.layout_sidebar--hidden #sidebar { display: none; }
    #top.layout_sidebar--hidden #wrap_all > #main { margin-left: 0; }
    #top.layout_sidebar #sidebar.fisch-navigation-stuck {
        position: fixed;
        top: var(--fisch-navigation-top, 0px);
        padding-top: 0;
        height: calc(100vh - var(--fisch-navigation-top, 0px));
        min-height: 0;
    }
    #top.layout_sidebar #sidebar.fisch-navigation-stuck .widget_nav_menu {
        height: calc(100% - 50px);
    }
}

@media (max-width: 767px) {
    /* The mobile Bibliothek control already opens the navigation. The
       decorative desktop hamburger otherwise sits over the subject title. */
    #top .fisch-context-icon { display: none; }
    #top.privacy-policy #main > .container_wrap_first > .container > .content {
        padding-top: 60px;
    }
    #top.layout_sidebar.fisch-chapters-open #sidebar .widget_nav_menu.sidebar {
        display: block;
        height: auto;
        max-height: 65vh;
        overflow-y: auto;
    }
}

#top .ec_table_vocabs__trigger {
    border: 0;
    background: transparent;
    color: #006a9d;
    cursor: pointer;
    font: inherit;
    font-size: .8125rem;
    padding: .25rem .5rem;
}

#top table.ec_table_vocabs td { cursor: pointer; }
#top table.ec_table_vocabs td.hidden-content-specific .fisch-vocab-answer {
    visibility: hidden;
    pointer-events: none;
}

@media print {
    #top .fisch-learning-stuck { position: static !important; width: auto !important; }
    #top .fisch-sticky-slot,
    #top .ec_table_vocabs__trigger { display: none !important; }
    #top table.ec_table_vocabs td .fisch-vocab-answer { visibility: visible !important; }
    #top table.ec_table_vocabs td,
    #top table.ec_table_vocabs td * { color: inherit !important; }
}
