/* this file contains the global layout of page */

/* globals */
html, body {
    background: #F1F1E9;
}

a {
    transition: all .2s ease;
}

/* selection */
::selection {
    background: #B4A268;
    color: #FFF;
}

a::selection, a span::selection {
    color: #000;
}

::-moz-selection {
    background: #B4A268;
    color: #FFF;
}

a::-moz-selection, a span::-moz-selection {
    color: #000;
}

/* root */
#inner-wrapper, body > #root {
    background: #F1F1E9;
    margin: 0 auto;
    position: relative;
    min-height: 100%;
    width: 100%;
}

#inner-wrapper {
}

#root {
    margin: 0 auto;
    min-height: 100vh;
    position: relative;
}

/* page width */
#content-area {
    clear: both;
    margin: 0 auto;
    padding: 0 20px;
    max-width: 1320px;
}

#content-header+#content-area {
    padding-top: 0;
}

#main-header, #main-Footer .outer-wrapper {
    clear: both;
    margin: 0 auto;
    width: 100%;
}

#main-header > .header-inner {
    max-width: 1320px;
    padding: 0;
    margin: 0 auto;
    position: relative;
}

#main-Footer .inner-wrapper {
    max-width: 1320px;
    padding: 0 20px;
    margin: 0 auto;
}


/* animation */
.header #logo, .navbar-toggler, #main-header .navbar-toggler .navbar-toggler-icon, .toggle--sub-nav span {
    transition: .25s ease-out;
}


/** scroll to top */
#ScrollToTop {
    border-color: #2D1E1A;
}

#ScrollToTop .scroll-top-icon::before {
    border-color: #2D1E1A;
}

#ScrollToTop .scroll-top-icon::after,
#ScrollToTop.scroll-top-fixed .scroll-top-icon::after {
    background: #2D1E1A;
}

#ScrollToTop.scroll-top-fixed {
    background: none;
    border-color: #2D1E1A;
    margin-bottom: -60px;
}

#ScrollToTop.scroll-top-fixed .scroll-top-icon::before {
    border-color: #2D1E1A;
}

#ScrollToTop:hover {
    border-color: #2D1E1A;
}

#ScrollToTop:hover .scroll-top-icon::before {
    border-color: #FFF;
}

#ScrollToTop.scroll-top-fixed:hover {
    border-color: #FFF;
}

#ScrollToTop.scroll-top-fixed:hover .scroll-top-icon::before {
    border-color: #FFF;
}


/** content area */
#content-area {
}

#content-area::after,
#content-area #content::after {
    content: "";
    clear: both;
    display: block;
    width: 100%;
}

#content-area #content .frame-brown-bg-fw:last-child {
    margin-bottom: -80px;
}


/** breadcrumbs */
#breadcrumbList {
}

#breadcrumbList .breadcrumb-item[data-page-id="1"] .breadcrumb-link::before {
}

#breadcrumbList .breadcrumb-item .breadcrumb-text {
}

#breadcrumbList .breadcrumb-item.active .breadcrumb-text {
}

#breadcrumbList span.separator {
}


/** main content */
#content-area #content {
    margin-top: 0;
    margin-bottom: 80px;
}

#content-area #content > .content-row {
    margin-top: -137px;
}

#content-area #content > .row {
    margin-left: -25px;
    margin-right: -25px;
}

#content-area #content > .row > .col {
    padding-left: 25px;
    padding-right: 25px;
    background: #F1F1E9;
    padding-top: 25px;
}

#mainContent {
    display: block;
}

#nav-toggle:checked ~ #outer-wrapper #content-area {
    overflow: inherit
}


/** main header */
#main-header {
    background: rgba(0, 0, 0, 0.6);
    position: absolute;
    top: 0;
    z-index: 1000;
}

#main-header > .header-inner {
    display: flex;
}

#main-header a.link-external::after {
    content: none;
}

/* logo */
#logo {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 10px);
}

#logo a,
#logo img {
    display: block;
    font-size: 0;
    width: 150px;
    height: 195px;
}

[data-page-id="153"] #logo a {
    background: url("../../Images/FZ-Logo-RGB-ohne-famila.svg") no-repeat;
}

/* navbar toggler  */
.navbar-toggler {
    display: block;
    height: 68px;
    width: 69px;
    position: relative;
    top: 0;
    right: 0;
    background: #B4A268;
}

#main-header .navbar-toggler .navbar-toggler-icon, #main-header .navbar-toggler .navbar-toggler-icon::before, #main-header .navbar-toggler .navbar-toggler-icon::after {
    background: #fff;
    height: 3px;
    width: 35px;
}

#main-header .navbar-toggler .navbar-toggler-icon {
    margin: 0;
    left: 12px;
    top: 28px;
}

/* Backgrounds */
/* Brown */
.frame-brown-bg {
    background-color: #2D1E1A;
    padding: 20px;
    color: #fff;
}

.frame-brown-bg h3, .frame-brown-bg h3 a, .frame-brown-bg .h3, .frame-brown-bg .h3 a,
.frame-brown-bg h4, .frame-brown-bg h4 a, .frame-brown-bg .h4, .frame-brown-bg .h4 a {
    color: #fff !important;
}

.frame-brown-bg hr {
    background: #B4A268;
}

/* Brown - Full Width */
.frame-brown-bg-fw {
    background-color: #2D1E1A;
    padding: 30px 0;
    color: #fff;
}

.frame-brown-bg-fw::before {
    background: #2D1E1A;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    right: -50vw;
    left: -50vw;
    z-index: 0;
}

.frame-brown-bg-fw h3, .frame-brown-bg-fw h3 a, .frame-brown-bg-fw .h3, .frame-brown-bg-fw .h3 a,
.frame-brown-bg-fw h4, .frame-brown-bg-fw h4 a, .frame-brown-bg-fw .h4, .frame-brown-bg-fw .h4 a {
    color: #fff;
}

/* Grey */
.frame-grey-bg {
    background-color: #6C67504D;
    padding: 20px;
}

/* Grey - Full Width */
.frame-grey-bg-fw {
    background-color: #6C67504D;
    padding: 30px 0;
    color: #fff;
}

.frame-grey-fr::before {
    background: #6C67504D;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    right: -50vw;
    left: -50vw;
    z-index: 0;
}

/* header link */
#headerLink {
    margin-right: 0;
    margin-left: auto;
    transition: all .4s ease;
}

#headerLink a {
    color: #fff;
    font-size: 15px;
    text-transform: uppercase;
}

#headerLink a:hover {
    text-decoration: none;
}

#headerLink .header-link, #headerLink .social-navigation {
    display: inline-block;
    position: relative;
    top: 50%;
    transform: translate(0, -50%);
}

#headerLink .header-link {
    padding: 9px 15px;
    border-right: solid 1px #fff;
    margin-right: 15px;
}

#headerLink .social-navigation {
    margin: 0 auto;
}

#headerLink .social-navigation li {
    display: inline-block;
}

#headerLink .social-navigation li + li {
    margin-left: 15px;
}

#headerLink .social-navigation li a {
    font-size: 0;
    display: block;
    width: 24px;
    height: 24px;
}

#headerLink .social-navigation li a::after {
    font-size: 24px;
    font-family: 'Icons';
    font-weight: 400;
    top: -4px;
    margin: 0;
    padding: 0;
}

#headerLink .social-navigation li a[title="facebook"]::after {
    content: "\e900";
}

#headerLink .social-navigation li a[title="instagram"]::after {
    content: "\f16d";
}

/* main navigation */
#main-nav{
    display: none;
    position: absolute;
    top: 68px;
    left: 0;
    background: #F1F1E9;
    padding: 0 15px;
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2)
}

#main-nav ul li {
    border-bottom: 1px solid #2D1E1A;
}

#main-nav ul li a {
    padding: 15px 30px 15px 0;
    position: relative;
    display: block;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 18px;
}

#main-nav ul li:last-child {
    border-bottom: none;
}

#main-nav ul li a::after,
#main-nav ul li a.link-external::after {
    content: "\f054";
    font-family: "Icons";
    color: #B4A268;
    position: absolute;
    right: 0px;
    bottom: 15px;
    transition: 0.3s;
}

#main-nav ul li a:hover {
    text-decoration: none;
}

#main-nav ul li a:hover::after {
    right: -5px
}

.nav-open #main-nav{
    display: block;
}

/*Ohne JavaScript*/
.no-js .navbar-toggler {
    display: none;
}

.no-js #main-header {
    position: relative
}

.no-js #main-nav{
    display: block;
    position: relative;
    top: 0;
}

.no-js #main-navnav ul {
    column-count: 2;
}

.no-js #logo {
    position: relative;
    left: 0;
    transform: none;
}

.no-js #headerLink {
    margin-left: 20px;
    width: 100px;
}

@media screen and (max-width: 768px) {
    .no-js #main-navnav ul {
        column-count: 1;
    }

    .no-js #main-nav ul li a {
        font-size: 12px;
    }
}


/** main footer */
#main-Footer .outer-wrapper {
    background: rgba(108, 103, 80, 0.1);
    padding: 36px 0;
}

#main-Footer a {
    color: #2D1E1A;
}

#main-Footer a:hover {
    text-decoration: none;
}

#main-Footer .site-navigation {
}

#main-Footer .site-navigation ul {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 0;
}

#main-Footer .site-navigation li {
    flex: 1 1 25%;
    padding: 0 10px;
}

#main-Footer .site-navigation a {
    display: block;
    text-align: center;
    font-family: "Roboto Slab", sans-serif;
    font-weight: bold;
    font-size: 30px;
    line-height: 39px;
    color: rgba(45, 30, 26, 0.75);
    padding-top: 20px;
}

#main-Footer .site-navigation a::before {
    content: "";
    font-family: "Icons";
    font-size: 40px;
    font-weight: 900;
    top: -10px;
    display: block;
    position: relative;
}

#main-Footer .site-navigation a:hover {
    color: #2D1E1A;
}

#main-Footer .site-navigation a.link-external::after {
    display: none;
}

#main-Footer .site-navigation a[data-page-id="13"]::before {
    content: "\f0e0";
}

#main-Footer .site-navigation a[data-page-id="11"]::before {
    content: "§";
    font-family: "Roboto Slab";
    font-weight: 700;
}

#main-Footer .site-navigation a[data-page-id="12"]::before {
    content: "\f023";
}

#main-Footer .site-navigation a[title="Schnellbewerbung"]::before,
#main-Footer .site-navigation a[title="Datenschutz"]::before {
    content: "";
    height: 45px;
    width: 50px;
    background-repeat: no-repeat;
    margin: auto;
}

#main-Footer .site-navigation a[title="Schnellbewerbung"]::before {
    background-image: url('/typo3conf/ext/pm_theme_fz/Resources/Public/Icons/icon_schnellbewerbung.svg');
}

#main-Footer .site-navigation a[title="Schnellbewerbung"]:hover::before {
    background-image: url('/typo3conf/ext/pm_theme_fz/Resources/Public/Icons/icon_schnellbewerbung_hover.svg');
}

#main-Footer .site-navigation a[title="Datenschutz"]::before {
    background-image: url('/typo3conf/ext/pm_theme_fz/Resources/Public/Icons/icon_lock.svg');
}

#main-Footer .site-navigation a[title="Datenschutz"]:hover::before {
    background-image: url('/typo3conf/ext/pm_theme_fz/Resources/Public/Icons/icon_lock_hover.svg');
}

#main-Footer .copyright {
    border-top: 1px solid rgba(45, 30, 26, 0.2);
    margin-top: 40px;
    padding-top: 20px;
    text-align: center;
    color: #2D1E1A;
}

#main-Footer .copyright .site-navigation {
    padding-bottom: 20px;
}

#main-Footer .copyright .site-navigation li:first-child:last-child {
    flex: 0 0 100%;
}

#main-Footer .copyright .site-navigation a {
    font-size: 17px;
    font-weight: 400;
    line-height: 1.4;
    padding-top: 0;
}

#main-Footer .copyright li {
    flex: 0 0 auto;
}
#main-Footer .copyright li:last-child:not(:first-child) {
    border-left: 1px solid rgba(45, 30, 26, 0.2);
}
#main-Footer .copyright .site-navigation ul {
    justify-content: center;
}

/* * * screen width */
@media screen and (max-width: 1380px) {
    #headerLink {
        margin-right: 20px;
    }
}

@media screen and (max-width: 1320px) {
    /* before full width of design */
    #content-area #content > .content-row {
        margin-top: 0;
    }
}

/* design */

@media screen and (max-width: 1300px) {
    /* before full width of design */
}

/* design */

@media screen and (max-width: 1200px) {
    /* width of design */
}

/* design */

@media screen and (max-width: 1023px) {
    /* ipad - landscape */
    #logo a, #logo img {
        width: 120px;
        height: 156px;
    }
}

/* 1024px */

@media screen and (max-width: 1023px) {
    /* smaller than ipad - landscape */
}

/* 1023px */

@media screen and (max-width: 992px) {
}

/* 992px */

/* main navi - as sidebar */
@media screen and (max-width: 991px), (min-width: 992px) and (max-width: 1024px) and (pointer: coarse) {
    html {
        overflow-x: hidden;
        overflow-y: auto;
    }
}

@media screen and (max-width: 900px) {
}

/* 900px */

@media screen and (max-width: 812px) {
    /* iphone X - landscape  */
}

@media screen and (max-width: 800px) {
}

/* 800px */

@media screen and (max-width: 768px) {
    /* ipad - portrait */
    #logo a, #logo img {
        width: 100px;
        height: 100px;
    }

    #headerLink .header-link {
        display: none;
    }

    #main-Footer .site-navigation a {
        font-size: 20px;
    }

    .two-columns--2-1 .col-md-4 .frame-brown-bg .container .ce-gallery[data-ce-columns="4"] .ce-column {
        flex: 0 0 25%;
        max-width: 25%;
    }

    #main-Footer .site-navigation li {
        flex: 1 1 50%;
    }
}

/* 768px */

@media screen and (max-width: 767px) {
    /* smaller than ipad - portrait */
    .frame > .row > .col.col-xs-12 + .col.col-xs-12 {
        margin-top: 20px;
    }
}

/* 767px */

@media screen and (max-width: 736px) {
    /* iphone 6+ - landscape */
}

/* 736px */

@media screen and (max-width: 667px) {
    /* iphone 6 - landscape */

}

/* 667px */

@media screen and (max-width: 666px) {
    /* smaller than iphone 6 - landscape */
}

/* 666px */

@media screen and (max-width: 568px) {
    /* iPhone5 - landscape */
}

/* 568px */

@media screen and (max-width: 567px) {
    /* smaller than iPhone5 - landscape */
}

/* 567px */

@media screen and (max-width: 480px) {
    /* iPhone4 - landscape */
}

/* 480px */

@media screen and (max-width: 479px) {
    /* smaller than iPhone4 - landscape */
    #main-Footer .site-navigation a {
        font-size: 16px;
    }
}

/* 479px */

@media screen and (max-width: 414px) {
    /* iPhone6+ - portrait */
    .frame > .row > .col + .col:not(.col-xs-3) {
        margin-top: 20px;
    }


}

/* 414px */

@media screen and (max-width: 375px) {
    /* iPhone6 - portrait */
    #main-Footer .site-navigation a {
        font-size: 14px;
    }
}

/* 375px */

@media screen and (max-width: 374px) {
    /* smaller than iPhone6 - portrait */
}

/* 374px */

@media screen and (max-width: 320px) {
    /* iPhone4/5 - portrait */
}

@media screen and (max-width: 319px) {
    /* smaller devices */
}

/* smaller */


/* eof */
