/* Review 29.10.2026: layout corrections to match the agriculture site (lacos.eu).
   Each point is a separate block so it can be rolled back on its own. */

/* BEGIN point-01 header */
/* Header width, logo and main menu placement follow lacos.eu: full width with
   20px gutters, logo left and vertically centred, menu level with the logo. */
#headerarea > .maininner {
    width: calc(100% - 40px);
    max-width: 1444px;
    margin: 0 auto;
}
#headerarea div.logo {
    margin-left: 0;
    margin-top: 18px;
}
body.down #headerarea div.logo {
    margin-top: 5px;
}
#headerarea div.logo span.small {
    left: 20px;
}
@media (min-width: 1131px) {
    #headerarea nav .desk {
        padding-top: 40px;
        transition: padding-top .7s;
    }
    body.down #headerarea nav .desk {
        padding-top: 20px;
    }
    #headerarea nav .desk ul.nav > li a {
        font-size: 16px;
        line-height: 26.4px;
    }
    /* Order as on lacos.eu: menu, search, language flag at the right edge. */
    #headerarea nav .desk ul.nav {
        margin-right: 128px;
    }
    #headerarea nav .desk ul.nav > li.lang {
        position: absolute;
        right: 0;
        top: 40px;
        margin: 0;
        padding: 0;
        border: 0;
        transition: top .7s;
    }
    body.down #headerarea nav .desk ul.nav > li.lang {
        top: 20px;
    }
    #headerarea nav .desk ul.nav > li.lang img {
        display: block;
        margin-top: 6px;
    }
    #headerarea .desk ul.nav > li:nth-last-child(2) {
        margin-right: 0;
    }
    #headerarea .systemhaus-search-toggle,
    #headerarea #systemhaus-header-search {
        top: 40px;
        height: 26.4px;
        transition: top .7s, clip-path .35s, opacity .2s;
    }
    body.down #headerarea .systemhaus-search-toggle,
    body.down #headerarea #systemhaus-header-search {
        top: 20px;
    }
    #headerarea .systemhaus-search-toggle {
        right: 38px;
        font-size: 16px;
    }
    #headerarea #systemhaus-header-search {
        right: 128px;
    }
    /* Submenus start directly below the header, also after the menu moved down. */
    #headerarea nav .desk ul.nav > li ul {
        top: 80px;
    }
    body.down #headerarea nav .desk ul.nav > li ul {
        top: 45px;
    }
}
/* Burger and search icon level with the logo on small screens, as on lacos.eu. */
@media (max-width: 630px) {
    #headerarea .systemhaus-search-toggle,
    #headerarea #systemhaus-header-search {
        top: 40px;
    }
    body.down #headerarea .systemhaus-search-toggle,
    body.down #headerarea #systemhaus-header-search {
        top: 20px;
    }
}
@media (max-width: 400px) {
    #headerarea nav .desk .respmenu {
        margin-top: 12px;
    }
    body.down #headerarea nav .desk .respmenu {
        margin-top: -8px;
    }
}
/* END point-01 header */

/* BEGIN point-03 header-image-size */
/* Services and hardware use the same header height as the lacos.eu subpages. */
body:is(#lc-10846, #lc-10847):not(#lc-1):not(#lc-127) .page {
    padding-top: calc(120px + 33.84vw);
}
body.down:is(#lc-10846, #lc-10847):not(#lc-1):not(#lc-127) .page {
    padding-top: calc(65px + 33.84vw);
}
body:is(#lc-10846, #lc-10847) section.imager.only {
    height: 33.84vw !important;
}
body:is(#lc-10846, #lc-10847) section.imager.only > .image.only {
    width: 100%;
    height: 100% !important;
}
body:is(#lc-10846, #lc-10847) section.imager.only > .image.only > img {
    display: block;
    position: static;
    width: 100%;
    height: 100% !important;
    min-height: 0;
    object-fit: cover;
    object-position: center;
    transform: none;
}
@media (max-width: 630px) {
    body:is(#lc-10846, #lc-10847):not(#lc-1):not(#lc-127) .page { padding-top: calc(120px + 36.458333vw); }
    body.down:is(#lc-10846, #lc-10847):not(#lc-1):not(#lc-127) .page { padding-top: calc(65px + 36.458333vw); }
    body:is(#lc-10846, #lc-10847) section.imager.only { height: 36.458333vw !important; }
}
/* END point-03 header-image-size */

/* BEGIN point-04 company-header-images */
/* The company pages show the lacos.eu header images in their native ratio (2500 x 846). */
body:is(#lc-10315, #lc-10319, #lc-10323, #lc-10325, #lc-10331, #lc-10849):not(#lc-1):not(#lc-127) .page {
    padding-top: calc(120px + 33.84vw);
}
body.down:is(#lc-10315, #lc-10319, #lc-10323, #lc-10325, #lc-10331, #lc-10849):not(#lc-1):not(#lc-127) .page {
    padding-top: calc(65px + 33.84vw);
}
body:is(#lc-10315, #lc-10319, #lc-10323, #lc-10325, #lc-10331, #lc-10849) section.imager.only {
    height: 33.84vw !important;
}
body:is(#lc-10315, #lc-10319, #lc-10323, #lc-10325, #lc-10331, #lc-10849) section.imager.only > .image.only {
    width: 100%;
    height: 100% !important;
}
body:is(#lc-10315, #lc-10319, #lc-10323, #lc-10325, #lc-10331, #lc-10849) section.imager.only > .image.only > img {
    display: block;
    position: static;
    width: 100%;
    height: 100% !important;
    min-height: 0;
    object-fit: cover;
    object-position: center;
    transform: none;
}
@media (max-width: 630px) {
    body:is(#lc-10315, #lc-10319, #lc-10323, #lc-10325, #lc-10331, #lc-10849):not(#lc-1):not(#lc-127) .page { padding-top: calc(120px + 36.458333vw); }
    body.down:is(#lc-10315, #lc-10319, #lc-10323, #lc-10325, #lc-10331, #lc-10849):not(#lc-1):not(#lc-127) .page { padding-top: calc(65px + 36.458333vw); }
    body:is(#lc-10315, #lc-10319, #lc-10323, #lc-10325, #lc-10331, #lc-10849) section.imager.only { height: 36.458333vw !important; }
}
/* END point-04 company-header-images */

/* BEGIN point-05 awards-spacing */
/* Less space between the awards and the funding note on the company pages. */
body:is(#lc-10315, #lc-10319, #lc-10323, #lc-10325, #lc-10331) main .c-section.lay40 {
    padding-bottom: 0;
}
body:is(#lc-10315, #lc-10319, #lc-10323, #lc-10325, #lc-10331) section.systemhaus-funding {
    padding-top: 12px;
}
body:is(#lc-10315, #lc-10319, #lc-10323, #lc-10325, #lc-10331) section.systemhaus-funding .frame {
    margin-top: 0;
}
/* END point-05 awards-spacing */

/* BEGIN point-06 team-gap */
/* An anchor element precedes the cards; count only the cards for the row end. */
.teamBox:nth-child(3n) {
    margin-right: 20px;
}
.teamBox:nth-child(3n of .teamBox),
.teamBox:last-child {
    margin-right: 0;
}
/* END point-06 team-gap */

/* BEGIN point-07 career-spacing */
/* The column containers already sit inside a padded section; avoid doubled spacing. */
body#lc-10325 main .c-section > .contentWidth > .c-columns:is(#c107816, #c105746) {
    padding-top: 0;
    padding-bottom: 0;
}
/* Award badges at their lacos.eu size (max. 200px), centred in their columns. */
body#lc-10325 #c107816 .ce-gallery,
body#lc-10325 #c107816 .ce-outer,
body#lc-10325 #c107816 .ce-inner,
body#lc-10325 #c107816 .ce-column {
    width: auto;
    float: none;
}
body#lc-10325 #c107816 img {
    display: block;
    width: auto;
    max-width: min(100%, 200px);
    height: auto;
    margin: 0 auto;
}
/* END point-07 career-spacing */

/* BEGIN point-08 contact-cards */
/* Contact cards as on lacos.eu: 16px text, bold name, 20px inner spacing. */
.teamBox:not(.lightbox) {
    max-width: 386px;
}
.teamBox:not(.lightbox) > .inner {
    min-height: 100px;
    padding: 20px;
    font-size: 16px;
    line-height: 26.4px;
}
.teamBox:not(.lightbox) > .inner span {
    line-height: 26.4px;
}
.teamBox:not(.lightbox) > .inner span.name {
    font-size: 16px;
    font-family: 'contobold';
    letter-spacing: .2px;
    padding-right: 40px;
}
.teamBox:not(.lightbox) > .inner span.position {
    padding-right: 40px;
}
.teamBox:not(.lightbox) > .inner span.tel {
    margin-top: 20px;
}
.teamBox:not(.lightbox) > .inner a.mfp-inliner {
    top: 20px;
    right: 20px;
}
/* The team page lists the cards in rows of three, each up to 386px wide. */
body#lc-10319 main .teamBox {
    width: 100%;
}
@media (max-width: 1200px) {
    body#lc-10319 main .teamBox {
        width: auto;
    }
}
/* END point-08 contact-cards */

/* BEGIN point-09 form-card-spacing */
/* Form and contact card side by side as on lacos.eu: 7/3 grid with 30px gap. */
@media (min-width: 769px) {
    body:is(#lc-10325, #lc-10331) main .c-columns-2-1:is(#c105746, #c105696) > .inner {
        display: grid;
        grid-template-columns: repeat(10, minmax(0, 1fr));
        column-gap: 30px;
    }
    body:is(#lc-10325, #lc-10331) main .c-columns-2-1:is(#c105746, #c105696) > .inner > .col-1 {
        grid-column: 1 / 8;
    }
    body:is(#lc-10325, #lc-10331) main .c-columns-2-1:is(#c105746, #c105696) > .inner > .col-2 {
        grid-column: 8 / 11;
    }
    body:is(#lc-10325, #lc-10331) main .c-columns-2-1:is(#c105746, #c105696) .teamBox {
        width: 100%;
        max-width: 386px;
        margin-right: 0;
    }
    body:is(#lc-10325, #lc-10331) main :is(#c105746, #c105696) .frame-type-form_formframework form {
        font-size: 16px;
        line-height: 26.4px;
    }
    body:is(#lc-10325, #lc-10331) main :is(#c105746, #c105696) .frame-type-form_formframework form .form-group {
        margin-bottom: 20px;
    }
    body:is(#lc-10325, #lc-10331) main :is(#c105746, #c105696) .frame-type-form_formframework form .form-group:not(.el-Checkbox) .form-element {
        display: flex;
        column-gap: 20px;
    }
    body:is(#lc-10325, #lc-10331) main :is(#c105746, #c105696) .frame-type-form_formframework form .form-label {
        flex: 0 0 150px;
        width: 150px;
    }
    body:is(#lc-10325, #lc-10331) main :is(#c105746, #c105696) .frame-type-form_formframework form .form-group input:not([type=hidden]):not([type=submit]):not([type=checkbox]),
    body:is(#lc-10325, #lc-10331) main :is(#c105746, #c105696) .frame-type-form_formframework form .form-group textarea,
    body:is(#lc-10325, #lc-10331) main :is(#c105746, #c105696) .frame-type-form_formframework form .form-group select {
        width: calc(100% - 170px);
    }
    body:is(#lc-10325, #lc-10331) main :is(#c105746, #c105696) .frame-type-form_formframework form .el-Checkbox .form-check {
        width: 100%;
        margin-left: 0;
    }
    body:is(#lc-10325, #lc-10331) main :is(#c105746, #c105696) .frame-type-form_formframework form .actions {
        width: calc(100% - 170px);
        margin-left: 170px;
    }
}
@media (max-width: 768px) {
    /* Labels above their fields on small screens, as on the contact page and lacos.eu. */
    body#lc-10325 main #c105746 .frame-type-form_formframework form .form-group:not(.el-Checkbox) .form-element {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }
    body#lc-10325 main #c105746 .frame-type-form_formframework form .form-label {
        order: 0;
    }
}
/* END point-09 form-card-spacing */

/* BEGIN point-10 signature-images */
/* Small preview images as on lacos.eu; a click opens the full image. */
body#lc-10331 main .frame-layout-110 .ce-gallery {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}
body#lc-10331 main .frame-layout-110 .ce-gallery .ce-inner,
body#lc-10331 main .frame-layout-110 .ce-gallery .ce-inner {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    align-items: start;
}
body#lc-10331 main .frame-layout-110 .ce-column a {
    display: block;
}
@media (max-width: 992px) {
    body#lc-10331 main .frame-layout-110 .ce-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
    body#lc-10331 main .frame-layout-110 .ce-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    body#lc-10331 main .frame-layout-110 .ce-gallery { grid-template-columns: minmax(0, 1fr); }
    body#lc-10331 main .frame-layout-110 .ce-gallery .ce-inner { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
/* END point-10 signature-images */

/* BEGIN point-11 welcome-background */
/* Lighter welcome section as on lacos.eu; the following sections keep alternating. */
body#lc-1 .page > section.sh-welcome {
    background-color: #f5f0f0;
}
body#lc-1 .page > section.ansp.vertrieb {
    background-color: #ebe6e6;
}
body#lc-1 .page > section.ansp.leitung {
    background-color: #f5f0f0;
}
/* END point-11 welcome-background */

/* BEGIN point-12 hs-subline */
/* Restore the original spacing below the subline and between the paragraphs. */
body#lc-1 #c3766 #c3886 {
    margin-top: 59.4px;
}
body#lc-1 #c3769 > p:nth-of-type(2),
body#lc-1 #c3769 > p:nth-of-type(3) {
    margin-top: 29.7px;
}
/* END point-12 hs-subline */

/* BEGIN point-13 footer-address */
/* First footer column as on lacos.eu: no blank line below "LACOS GmbH", space after the icons. */
#footer .row1 {
    height: auto;
}
#footer .row1 .contentWidth > div:first-child h3 {
    margin: 0;
    line-height: 16px;
}
#footer .row1 .contentWidth > div:first-child .ce-bodytext h4 {
    margin: 0 0 26.4px;
}
#footer .row1 .ce-gallery {
    margin: 10px 0 0;
}
#footer .row1 .ce-gallery .ce-column {
    width: auto;
    margin: 0 10px 0 0;
}
#footer .row1 .ce-gallery figure,
#footer .row1 .ce-gallery a {
    display: block;
    margin: 0;
}
#footer .row1 .ce-gallery img {
    display: block;
    width: 22px;
    height: 22px;
}
/* The Systemhaus templates output uncropped originals. Show the same image
   section as the crops of the lacos.eu footer icons (22px visible glyph). */
#footer .row1 .ce-gallery a:has(> img[src*="Lacos_SoMe_Icons"]) {
    position: relative;
    width: 22px;
    height: 22px;
    overflow: hidden;
}
#footer .row1 .ce-gallery img[src*="Lacos_SoMe_Icons"] {
    position: absolute;
    left: -4.35px;
    top: -4.08px;
    width: 30.71px;
    max-width: none;
    height: 30.51px;
}
#footer .row1 .ce-gallery img[src*="Lacos_SoMe_Icons_Youtube"] {
    left: -3.04px;
    top: .24px;
    width: 28.17px;
    height: 21.53px;
}
/* END point-13 footer-address */

/* BEGIN point-14 footer-width */
/* Footer width and column grid as on lacos.eu (max. 1444px with 20px gutters). */
#footer .maininner {
    width: calc(100% - 40px);
    max-width: 1444px;
    margin: 0 auto;
    padding: 0;
}
#footer .row1 .contentWidth {
    grid-template-columns: 295px repeat(4, minmax(0, 1fr)) 105px;
    gap: 20px;
}
#footer .row1 .contentWidth > div:nth-child(2) {
    grid-column: 2;
}
#footer .row1 .contentWidth > div:nth-child(3) {
    grid-column: 6;
}
#footer .row1 .contentWidth > .frame-type-menu_pages > header h3 {
    margin: 0 0 31px;
    padding-top: 16px;
    line-height: 16px;
}
#footer .row1 .contentWidth > .frame-type-menu_pages ul.menu {
    margin: 0;
}
#footer .row1 .contentWidth > .frame-type-menu_pages ul.menu a,
#footer .row2 a {
    font-size: 16px;
    line-height: 26.4px;
    letter-spacing: .2px;
}
/* Bottom bar as on lacos.eu: 26.4px above and below, legal links 30px apart. */
#footer .row2 {
    height: auto;
}
#footer .row2 > .maininner {
    gap: 24px;
}
#footer .row2 > .maininner > div,
#footer .row2 > .maininner > div:last-child {
    margin: 26.4px 0;
}
#footer .row2 > .maininner > div:first-child {
    flex: 0 0 360px;
}
#footer .row2 .frame-type-header {
    margin: 26.4px 0;
}
#footer .sh-footer-legal {
    flex: 1 1 auto;
}
#footer .sh-footer-legal ul {
    gap: 8px 30px;
}
@media (max-width: 1100px) {
    #footer .row2 {
        padding: 13.2px 0;
    }
    #footer .row2 > .maininner {
        row-gap: 0;
    }
    #footer .row2 > .maininner > div,
    #footer .row2 > .maininner > div:last-child,
    #footer .row2 .frame-type-header {
        margin: 13.2px 0;
    }
    #footer .row2 > .maininner > div:first-child {
        flex: 0 0 100%;
    }
}
@media (max-width: 1100px) {
    #footer .row1 .contentWidth {
        grid-template-columns: 295px repeat(2, minmax(0, 1fr));
    }
    #footer .row1 .contentWidth > div:nth-child(3) {
        grid-column: 3;
    }
}
@media (max-width: 768px) {
    #footer .row1 .contentWidth {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    #footer .row1 .contentWidth > div:nth-child(2) { grid-column: 1; }
    #footer .row1 .contentWidth > div:nth-child(3) { grid-column: 2; }
}
@media (max-width: 480px) {
    #footer .row1 .contentWidth {
        grid-template-columns: minmax(0, 1fr);
    }
    #footer .row1 .contentWidth > div:nth-child(2),
    #footer .row1 .contentWidth > div:nth-child(3) { grid-column: auto; }
}
/* END point-14 footer-width */

/* BEGIN point-15 sidebar */
/* Fly-out contact card as on lacos.eu. Only the first span is the rotated label. */
.sidebar.contact {
    width: 346px;
    right: -286px;
}
.sidebar.contact.active {
    right: 0;
}
.sidebar.contact > div,
.sidebar.contact > div p {
    margin: 0;
    font-size: 18px;
    line-height: 27px;
}
.sidebar.contact > div p + p {
    margin-top: 26px;
}
.sidebar.contact > div span,
.sidebar.contact.active > div span {
    display: inline;
    position: static;
    width: auto;
    font-size: inherit;
    text-align: inherit;
    transform: none;
    opacity: 1;
    transition: none;
}
.sidebar.contact > div a {
    color: #fff;
    text-decoration: underline;
}
/* END point-15 sidebar */

/* BEGIN extra-empty-strip */
/* The product tile wrapper renders empty on most pages; without tiles it
   left a 40px light strip between the header image and the content. */
main > .sections:has(> .maininner:empty) {
    display: none;
}
/* END extra-empty-strip */
