/** AG Film 1.2: shared twelve-column layout; loaded after the legacy visual styles. */
body.agfilm-layout {
    --agfilm-gap: clamp(12px, 1.7vw, 28px);
    --agfilm-edge: clamp(16px, 2.5vw, 48px);
    --agfilm-toolbar: 0px;
    margin: 0 !important;
    min-width: 0;
}
body.agfilm-layout.admin-bar { --agfilm-toolbar: 32px; }
.agfilm-layout *, .agfilm-layout *::before, .agfilm-layout *::after { box-sizing: border-box; }
.agfilm-layout #page {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--agfilm-gap);
    row-gap: 40px;
    width: 100%;
    max-width: none;
    min-height: calc(100vh - var(--agfilm-toolbar));
    margin: 0;
    padding: 24px var(--agfilm-edge) 32px;
    position: relative;
    background: transparent;
    align-content: start;
}
.agfilm-layout #page::before, .agfilm-layout #page::after { content: none; }
.agfilm-layout #masthead {
    grid-column: 2 / span 7;
    grid-row: 1;
    position: static;
    width: auto;
    max-width: none;
    min-height: 31px;
    margin: 0;
    padding: 0;
    background: transparent;
    z-index: auto;
}
.agfilm-layout .agfilm-brand {
    display: inline-block;
    position: fixed;
    top: calc(var(--agfilm-toolbar) + 17px);
    /* The automatic horizontal position follows the header's grid column. */
    z-index: 100;
    vertical-align: top;
}
.agfilm-layout .agfilm-brand img { display: block; width: 100px; height: auto; }
.agfilm-layout #main {
    grid-column: 2 / span 7;
    grid-row: 2;
    display: block;
    min-width: 0;
    width: auto;
    margin: 0;
    padding: 0;
    overflow: visible;
    float: none;
    clear: none;
}
.agfilm-layout #main:focus { outline: none; }
.agfilm-layout .agfilm-navigation {
    grid-column: 9 / span 3;
    grid-row: 2;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 40px;
    align-self: start;
    position: static;
    overflow: visible;
    overflow-wrap: anywhere;
    padding: 0 2px 4px;
}
/* Fixed panel keeps its static horizontal position in grid column nine. */
.agfilm-layout .agfilm-navigation-panel {
    display: flex;
    flex-direction: column;
    gap: 40px;
    position: fixed;
    top: calc(var(--agfilm-toolbar) + 17px);
    width: calc((100% - 2 * var(--agfilm-edge) - 11 * var(--agfilm-gap)) / 12 * 3 + 2 * var(--agfilm-gap) - 4px);
    /* Reserve the viewport bottom for four service links, independent of menu height. */
    bottom: calc(44px + 4 * clamp(19px, 2.15vw, 32px));
    max-height: none;
    overflow-y: auto;
    overflow-wrap: anywhere;
    padding: 2px;
    z-index: 20;
}
.agfilm-layout #primary-navigation {
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: inherit;
}
.agfilm-layout #primary-navigation .nav-menu,
.agfilm-layout #primary-navigation :is(.sub-menu, .children),
.agfilm-layout .custom_menu ul {
    display: block;
    position: static;
    inset: auto;
    float: none;
    width: auto;
    min-width: 0;
    height: auto;
    margin: 0;
    padding: 0;
    list-style: none;
    border: 0;
    box-shadow: none;
    background: transparent;
}
.agfilm-layout #primary-navigation li,
.agfilm-layout .custom_menu li {
    display: block;
    position: relative;
    float: none;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    line-height: 1;
    border: 0;
}
.agfilm-layout #primary-navigation a,
.agfilm-layout .custom_menu a {
    display: inline-block;
    width: auto;
    max-width: 100%;
    min-height: 0;
    padding: 0;
    margin: 0;
    line-height: 1;
    font-size: clamp(19px, 2.15vw, 32px) !important;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
    background: transparent !important;
}
.agfilm-layout #primary-navigation :is(.sub-menu, .children) {
    margin: 0;
    padding-left: 16px;
}
/* Override legacy page-ID rules; only the hovered/focused/active branch opens. */
.agfilm-layout #primary-navigation :is(.sub-menu, .children) { display: none !important; }
.agfilm-layout #primary-navigation li:hover > :is(.sub-menu, .children),
.agfilm-layout #primary-navigation li:focus-within > :is(.sub-menu, .children),
.agfilm-layout #primary-navigation li.current-menu-item > :is(.sub-menu, .children),
.agfilm-layout #primary-navigation li.current-menu-parent > :is(.sub-menu, .children),
.agfilm-layout #primary-navigation li.current-menu-ancestor > :is(.sub-menu, .children),
.agfilm-layout #primary-navigation li.current_page_item > :is(.sub-menu, .children),
.agfilm-layout #primary-navigation li.current_page_parent > :is(.sub-menu, .children),
.agfilm-layout #primary-navigation li.current_page_ancestor > :is(.sub-menu, .children) { display: block !important; }
.agfilm-layout #primary-navigation :is(.sub-menu, .children) a { font-size: clamp(16px, 1.5vw, 23px) !important; }
.agfilm-layout #primary-navigation li::before,
.agfilm-layout #primary-navigation a::after { content: none; }
.agfilm-layout #primary-navigation .current-menu-item > a,
.agfilm-layout #primary-navigation .current_page_item > a { text-decoration: none; text-underline-offset: 4px; }
.agfilm-layout .custom_menu {
    position: fixed;
    inset: auto;
    bottom: 20px;
    width: calc((100% - 2 * var(--agfilm-edge) - 11 * var(--agfilm-gap)) / 12 * 3 + 2 * var(--agfilm-gap) - 4px);
    z-index: 20;
    margin: 0;
    padding: 0;
    line-height: 1;
}
.agfilm-layout .agfilm-menu-toggle {
    display: inline-flex;
    align-items: center;
    min-height: 0px;
    color: inherit;
    font: inherit;
    background: transparent;
    border-radius: 0;
	padding: 0px;
	line-height: 1;
	margin: 0px;
	
}
.agfilm-layout [hidden], .agfilm-layout #primary-navigation [hidden] { display: none !important; }
.agfilm-layout a:focus-visible, .agfilm-layout button:focus-visible {
    outline: 2px solid #254bff;
    outline-offset: 4px;
}
.agfilm-layout .skip-link:focus {
    position: fixed;
    top: calc(var(--agfilm-toolbar) + 8px);
    left: 8px;
    width: auto;
    height: auto;
    clip: auto;
    clip-path: none;
    z-index: 100000;
    padding: 12px;
    background: #fff;
    color: #000;
}
/* Remove inherited Twenty Fourteen sidebar widths and fixed offsets. */
.agfilm-layout #main-content,
.agfilm-layout #primary,
.agfilm-layout #content,
.agfilm-layout #content-sidebar,
.agfilm-layout #secondary {
    position: static;
    float: none;
    clear: none;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 0;
}
.agfilm-layout #main .hentry,
.agfilm-layout #main .archive-header,
.agfilm-layout #main .page-header,
.agfilm-layout #main .page-content,
.agfilm-layout #main .entry-header,
.agfilm-layout #main .entry-content,
.agfilm-layout #main .entry-summary,
.agfilm-layout #main .entry-meta,
.agfilm-layout #main .comments-area,
.agfilm-layout #main .post-navigation,
.agfilm-layout #main .paging-navigation,
.agfilm-layout #main .image-navigation {
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
    padding-right: 0;
    padding-left: 0;
    background: transparent;
}
.agfilm-layout #main .hentry { margin-top: 0; margin-bottom: 48px; }
.agfilm-layout #main .site-title-custom { margin-bottom: 48px; }
.agfilm-layout #main p { max-width: none; }
.agfilm-layout #main img { max-width: 100%; height: auto; }
.agfilm-layout #main iframe, .agfilm-layout #main video { max-width: 100%; }
.agfilm-layout #main :is(p, li, a, h1, h2, h3) { overflow-wrap: anywhere; }
.agfilm-layout #main blockquote.alignleft,
.agfilm-layout #main blockquote.alignright { width: auto; max-width: 100%; margin-inline: 0; }
.agfilm-layout #main .publikations_post {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 120px);
    gap: 24px;
    max-width: none;
    margin-bottom: 40px;
}
.agfilm-layout #main .publikations_textbox,
.agfilm-layout #main .publikationsthumbnail { float: none; width: auto; min-width: 0; margin: 0; }
.agfilm-layout #main .publikations_post > div[style*="clear"] { display: none; }
.agfilm-layout #main .projekte_image_wrapper { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.agfilm-layout #main .projekte_image_wrapper img { float: none; width: 100%; margin: 0; }
.agfilm-layout #main .projekte_image_wrapper > div[style*="clear"] { display: none; }
.agfilm-layout #colophon {
    grid-column: 2 / span 10;
    grid-row: 3;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
    background: transparent;
    color: inherit;
}
.agfilm-layout #colophon .footer-sidebar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--agfilm-gap); }
.agfilm-layout #colophon .widget { float: none; width: auto; margin: 0; }
.agfilm-layout .gfm_logo,
.agfilm-layout.page-id-27 .gfm_logo {
    display: block;
    position: fixed;
    inset: auto;
    right: var(--agfilm-edge);
    bottom: 20px;
    width: clamp(80px, 10vw, 160px);
    z-index: 20;
}
/* The existing asset is white on transparency: black on light pages, white on home. */
.agfilm-layout .gfm_logo img { display: block; width: 100%; height: auto; filter: brightness(0); }
.agfilm-layout.home .gfm_logo img { filter: none; }
.agfilm-layout.home #page { background: #000; color: #fff; }
.agfilm-layout.home #primary-navigation :is(.sub-menu, .children) a { color: #fff !important; }
@media (max-width: 782px) {
    body.agfilm-layout.admin-bar { --agfilm-toolbar: 46px; }
}
@media (max-width: 767px) {
    .agfilm-layout #page { column-gap: 8px; row-gap: 24px; padding: 20px 16px 32px; overflow-x: hidden;}
    .agfilm-layout #masthead { grid-column: 1 / -1; grid-row: 1; }
    .agfilm-layout .agfilm-navigation {
        grid-column: 1 / -1;
        grid-row: 2;
        position: static;
        max-height: none;
        overflow: visible;
        gap: 20px;
        padding: 0;
    }
    .agfilm-layout .agfilm-navigation-panel {
        position: fixed;
        inset: auto;
        width: auto;
        max-height: none;
        overflow: visible;
        padding: 0;
        gap: 20px;
		top:17px;
		right: 17px;
		text-align: right;
    }
    .agfilm-layout .custom_menu { position: fixed; bottom: 17px!important; left:17px!important; inset: auto; width: auto; }
    .agfilm-layout .gfm_logo,
    .agfilm-layout.page-id-27 .gfm_logo { position: fixed; bottom: 8px!important; right: 10px!important; inset: auto; width: 120px; margin-left: auto; }
    .agfilm-layout #main { grid-column: 1 / -1; grid-row: 3; }
    .agfilm-layout #colophon { grid-column: 1 / -1; grid-row: 4; }
    .agfilm-layout #primary-navigation a,
    .agfilm-layout .custom_menu a { font-size: 15px !important; min-height: 0; padding-block: 0; }
    .agfilm-layout #primary-navigation :is(.sub-menu, .children) a { font-size: 18px !important; }
    .agfilm-layout .agfilm-menu-toggle { margin-bottom: 12px; }
    .agfilm-layout .custom_menu ul { display: flex; flex-wrap: wrap; gap: 8px 8px; }
    .agfilm-layout #main .site-title-custom { margin-bottom: 32px; }
    .agfilm-layout #main .publikations_post { grid-template-columns: minmax(0, 1fr) minmax(0, 90px); gap: 16px; }
    .agfilm-layout #main .entry-content img { max-width: 100%; }
    .agfilm-layout #colophon .footer-sidebar { grid-template-columns: minmax(0, 1fr); }
}
@media print {
    .agfilm-layout #page { display: block; padding: 0; }
    .agfilm-layout .agfilm-navigation, .agfilm-layout .skip-link { display: none; }
    .agfilm-layout #main { display: block; width: 100%; }
}
