/*
Theme Name:   Fröch Architekten Neve Child
Theme URI:    https://www.triu-software.de
Description:  Child Theme for "Fröch Architekten ZT GmbH"
Author:       Triu Software GmbH
Author URI:   https://www.triu-software.de
Template:     neve
Version:      1.0.0
*/

@font-face {
    font-family: Mixta Pro;
    src: url(fonts/MixtaProMedium.woff2) format('woff2'), url(fonts/MixtaProMedium.woff) format('woff');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: TT Norms;
    src: url(fonts/TT_Norms_Pro_Regular.woff), url(fonts/TT-Norms-Pro-Regular.otf);
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: TT Norms;
    src: url(fonts/TT_Norms_Pro_Italic.woff), url(fonts/TT-Norms-Pro-Italic.otf);
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-family: TT Norms;
    src: url(fonts/TT_Norms_Pro_Medium.woff), url(fonts/TT-Norms-Pro-Medium.otf);
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: TT Norms;
    src: url(fonts/TT_Norms_Pro_Bold.woff), url(fonts/TT-Norms-Pro-Bold.otf);
    font-weight: 700;
    font-style: normal;
}

/* Remove box shadow from header unless we're scrolling */
header .hfg_header.site-header {
    box-shadow: none;
}

header .hfg_header.site-header::after {
    content: "";
    display: block;
    width: 100%;
    height: 10px;
    margin-bottom: -10px;
    background: radial-gradient(ellipse at center top, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0) 800px) repeat scroll 0 0 transparent;
    opacity: 0;
    transition: opacity 0.3s;
}

header .hfg_header.site-header.is-scrolling::after {
    opacity: 1 !important;
}

/* Customize Logo */
header .hfg_header.site-header .container .row {
    padding: 20px 0 50px 0;
    align-items: end;
}

/* Customize appearance of top-level navigation */
header nav .nv-nav-wrap {
    margin-bottom: 2px;
}

header nav .nav-ul li > .wrap {
    padding: 0;
}

header nav .m-style > ul > li > .wrap::after,
header nav .sm-style .sub-menu .wrap::after {
    background-color: var(--nv-primary-accent);
}

header nav li.current-menu-item > .wrap::after,
header nav li.current-menu-ancestor > .wrap::after {
    width: 100% !important;
}

header nav .sub-menu li.current-menu-item.menu-item-type-custom > .wrap::after {
    background: none;
}

/* Customize appearance of sub-level navigation */
header nav .nav-ul li {
    position: static;
}

header nav .nav-ul li.current-menu-item > .sub-menu,
header nav .nav-ul li.current-menu-ancestor > .sub-menu {
    opacity: 1;
    transition: opacity 0.2s;
    visibility: visible;
}

header nav .nav-ul:hover li.current-menu-item:not(:hover) > .sub-menu,
header nav .nav-ul:hover li.current-menu-ancestor:not(:hover) > .sub-menu {
    opacity: 0;
    pointer-events: none;
}

header nav .sub-menu {
    display: flex;
    margin-top: -2px;
}

header nav .sub-menu .menu-item {
    min-width: 0;
    width: auto;
    font-family: var(--bodyfontfamily), var(--nv-fallback-ff);
    margin: 16px 16px 0 8px;
}

header nav .sub-menu .menu-item .wrap {
    padding: 0;
}

/* Customize article layout on home page */
main .nv-non-grid-article .nv-ft-wrap {
    align-items: end;
}

/* Customize page margin */
main .nv-single-page-wrap {
    margin-top: 60px;
    margin-bottom: 60px;
}

/* Reset some margins to give more flexibility in block editor */
main h1,
main h2,
main h3,
main h4,
main h5,
main h6,
main p,
.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4,
.editor-styles-wrapper h5,
.editor-styles-wrapper h6,
.editor-styles-wrapper p {
    margin-bottom: 0 !important;
}

/* Use 20px gaps */
main .wp-block-themeisle-blocks-posts-grid {
    --column-gap: 20px
}

main :where(.wp-block-columns.is-layout-flex) {
    gap: 20px;
    margin-bottom: 0;
}

main .wp-block-gallery {
    --gallery-block--gutter-size: 20px;
}

/* Add extra classes for uneven column split */
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.col-1 { flex-basis: calc(1 * 100% / 12 + 0 * 20px) }
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.col-2 { flex-basis: calc(2 * 100% / 12 + 1 * 20px) }
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.col-3 { flex-basis: calc(3 * 100% / 12 + 2 * 20px) }
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.col-4 { flex-basis: calc(4 * 100% / 12 + 3 * 20px) }
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.col-5 { flex-basis: calc(5 * 100% / 12 + 4 * 20px) }
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.col-6 { flex-basis: calc(6 * 100% / 12 + 5 * 20px) }
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.col-7 { flex-basis: calc(7 * 100% / 12 + 6 * 20px) }
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.col-8 { flex-basis: calc(8 * 100% / 12 + 7 * 20px) }
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.col-9 { flex-basis: calc(9 * 100% / 12 + 8 * 20px) }
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.col-10 { flex-basis: calc(10 * 100% / 12 + 9 * 20px) }
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.col-11 { flex-basis: calc(11 * 100% / 12 + 10 * 20px) }
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.col-12 { flex-basis: calc(12 * 100% / 12 + 11 * 20px) }

/* Do not use special color for links */
main a,
.block-editor .editor-styles-wrapper a:not(.wp-block-button__link) {
    color: inherit;
}

/* Monkeypatch to disable certain permalinks */
main a[href="#permalink-disabled"] {
    pointer-events: none;
}

/* List format */
main .nv-content-wrap ul {
    margin: 0;
}
main .nv-content-wrap ul li {
    margin-top: 0;
    margin-bottom: 0;
}
main .nv-content-wrap ul li::marker {
    color: var(--nv-primary-accent);
}

/* No special format for tables */
main .wp-block-table td,
main .wp-block-table th,
.editor-styles-wrapper .wp-block-table td,
.editor-styles-wrapper .wp-block-table th {
    padding: 0;
    font-size: 1em;
}

/* Offset anchor links */
main [id]::before {
    content: '';
    display: block;
    position: relative;
    width: 0;
    height: 200px;
    margin-top: -200px;
}

/* Customize footer */
footer .hfg_footer {
    --bodyfontsize: 14px;
    --bodylineheight: 18px;
}

footer .hfg_footer .container::before {
    content: "";
    display: block;
    border-top: 1px solid var(--nv-primary-accent);
    margin: 0 0 60px 0;
}

footer .hfg_footer .widget {
    margin-bottom: 0;
}

footer .hfg_footer .widget_nav_menu li {
    margin-top: 0;
    text-align: right;
}

/**
 * Buttons Block
 */
main .wp-block-button__link,
.editor-styles-wrapper .wp-block-button .wp-block-button__link {
    background: none;
    padding: 0;
    text-align: left;
    font-weight: 500;
    color: var(--nv-text-color);
    border: none !important;
}

main .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button .wp-block-button__link::before {
    content: "";
    display: inline-block;
    width: 40px;
    margin-right: 8px;
    border-bottom: 2px solid var(--nv-primary-accent);
}

/**
 * Image Block
 */
.nv-content-wrap figure.wp-block-image,
.editor-styles-wrapper figure.wp-block-image {
    margin: 0;
}

.nv-content-wrap figure.wp-block-image figcaption,
.editor-styles-wrapper figure.wp-block-image figcaption {
    margin: 20px 0 0 0;
    font-size: inherit;
    color: inherit;
}

/**
 * Quote Block
 */
blockquote.wp-block-quote {
    margin: 0;
    padding: 0;
    border: none;
}

blockquote.wp-block-quote p,
.editor-styles-wrapper blockquote.wp-block-quote p {
    font-family: var(--headingsfontfamily),var(--nv-fallback-ff);
    font-size: var(--h2fontsize);
    font-weight: var(--h2fontweight);
    line-height: var(--h2lineheight);
    letter-spacing: var(--h2letterspacing);
    text-transform: var(--h2texttransform);
}

/**
 * Posts Index
 */
.nv-non-grid-article .nv-post-thumbnail-wrap {
    padding-bottom: 8px;
}

/*
 * Latest Posts Block / Post Terms Block
 */
.wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-body {
    display: block;
}

.wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-image {
    aspect-ratio: 3 / 2;
    margin-bottom: 10px;
}

.wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-image a {
    height: 100%;
}

.wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-category a,
.wp-block-post-terms a,
.editor-styles-wrapper .wp-block-post-terms a:not(.wp-block-button__link) {
    display: inline-block;
    margin-right: 10px;
    color: #666666;
    text-decoration: none;
}

.wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-body .o-posts-grid-post-description {
    margin-top: 20px;
}

.wp-block-post-terms__separator {
    display: none;
}

.wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-title {
    font-family: var(--headingsfontfamily), var(--nv-fallback-ff);
    font-size: var(--h2fontsize);
    font-weight: var(--h2fontweight);
    line-height: var(--h2lineheight);
    letter-spacing: var(--h2letterspacing);
    text-transform: var(--h2texttransform);
    color: var(--nv-text-color);
}

.wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-title a:hover {
    text-decoration: none !important;
}

.wp-block-themeisle-blocks-posts-grid .is-grid.o-posts-grid-columns-3 {
    grid-template-columns: 1fr 1fr 1fr !important;

    @media (max-width: 960px) {
        grid-template-columns: 1fr 1fr !important;
    }

    @media (max-width: 600px) {
        grid-template-columns: 1fr !important;
    }
}

.wp-block-themeisle-blocks-posts-grid .is-grid.o-posts-grid-columns-2 {
    grid-template-columns: 1fr 1fr !important;

    @media (max-width: 600px) {
        grid-template-columns: 1fr !important;
    }
}

/*
 * Maps block
 */
.wp-block-themeisle-blocks-google-map {
    margin: 0 !important;
}

/*
 * Accordion block
 */
.wp-block-themeisle-blocks-accordion > details > summary,
.wp-block-themeisle-blocks-accordion > details > div {
    border-top: none !important;
    border-bottom: none !important;
}

.wp-block-themeisle-blocks-accordion > details > summary {
    padding-left: 4px;
}

.wp-block-themeisle-blocks-accordion > details > summary::after {
    color: var(--nv-primary-accent);
}

.wp-block-themeisle-blocks-accordion > details > div {
    padding: 0;
}

/*
 * Text Columns Block
 */
.wp-block-froech-text-columns,
.wp-block[data-type="froech/text-columns"] {
    column-gap: 20px;
}

@media (max-width: 960px) {
    .wp-block-froech-text-columns[style],
    .wp-block[data-type="froech/text-columns"][style] {
        column-count: 1 !important;
    }
}
