:root {
    --primary-font: "Work Sans";
    --brand-color-primary: #EF472F;
    --brand-color-secondary: #3351a2;
    --text-color: #4A4949;
    
    --font-size-regular: 1rem;
    --font-size-medium: 1.2rem;
    --font-size-large: 1.6rem;
    --font-size-extra-large: 1.8rem;
    --font-size-huge: 2.4rem;

    --brand-color-primary: #EF472F;
    --brand-color-secondary: #3351a2;
    --text-color: #4A4949;
    --text-color-inverse: #FFF;
    --logo-image-height: 306px;
    --frontpage-header-background-color: #000;
    --frontpage-header-height: 418px;
    --frontpage-header-text-color: #FFF;
    --frontpage-header-emphasis-color: var(--brand-color-primary);
    --frontpage-header-content-width: 748px;

    --frontpage-header-text-size: var(--font-size-huge);

    --frontpage-navigation-text-size: var(--font-size-medium);

    --frontpage-catalog-list-header-text-size: var(--font-size-extra-large);
    --frontpage-catalog-list-item-text-size:  var(--font-size-medium);

    --frontpage-category-item-header-text-size: var(--font-size-large);
    --frontpage-category-item-text-size: var(--font-size-medium);
    
    --publication-list-header-text-size: var(--font-size-extra-large);
    
    --max-content-width: 1000px;
    --max-article-width: 800px;

    --sidebar-width: 200px;

    --footer-text-size: var(--font-size-regular);
    --footer-height: 5rem;
}


html {
    font-family: var(--primary-font), sans-serif;
    font-optical-sizing: auto;
    font-weight: normal;
    font-style: normal;
}

.partner-list {
    padding-left: 50px;
}

.partner-list .partner {
    margin-top: 10px;
}

.partner-list .partner .partner-link {
    display: block;
    color: var(--brand-color-secondary);
}

body {
    font-size: 13px;
    color: var(--text-color);
    font-family: work-sans, sans-serif;
    font-weight: 500;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

a,
a:visited,
a:hover {
    color: inherit;
    text-decoration: none;
}

li {
    list-style: none;
}

#contact-list .contact-image {
    width: 100px;
    height: 100px;
}

#contact-list .contact-image img {
    max-width: 100px;
    max-height: 100px;
}

#contact-list .contact {
    margin-right: 14px;
    width: calc(50% - 14px);
    margin-bottom: 14px;
}

.contact-profile .contact-data {
    display: block;
}

#mobile-publication-nav-toggle {
    display: none;
}

.marquee-banners .banner a {
    display: block;
    height: 100px;
    position: relative;
}

.marquee-banners .banner img {
    width: 170px;
    object-fit: contain;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.company-list .priority .company-name,
.company-list .priority .client-name {
    font-weight: bold;
}

#exhibition-map {
    width: 100vw;
}

#map-back-navigation {
    z-index: 2;
    display: inline-block;
    width: 80px;
    height: 40px;
    background: url(/images/back-icon.svg) no-repeat center;
    background-size: contain;
}

#map-back-navigation .text-content {
    display: none;
}

template {
    display: none;
}

.webshop-link,
.announcement-link,
.brochure-link {
    margin-top: 5px;
    display: inline-block;
    padding: 5px;
    font-weight: bold;
    color: white;
}

.webshop-link:visited,
.announcement-link:visited,
.brochure-link:visited {
    color: white;
}

.webshop-link {
    background-color: green;
}

.announcement-link {
    background-color: var(--brand-color-secondary);
}

.brochure-link {
    background-color: var(--brand-color-primary);
}


@media print {
    .floating-banners {
        display: none;
    }
}

.map-view {
    margin: 0;
    padding: 0;
    height: 100%;
    width: 100vw;
}

body.map-view {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.map-view template {
    display: none;
}

.map-view #exhibition-map {
    flex: 1 1 407px;
}

.map-view footer {
    flex: 0 0 100px;
    max-height: 100px;
    position: relative;
}

.keyword-banners {
    margin-top: 24px;
}

.banner-container {
    display: inline-block;
    position: relative;
}

.banner-container .close-link {
    font-size: 60px;
    line-height: 40px;
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
}

.publication-header {
    background: no-repeat left center;
    background-size: cover;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.search-result-container {
    display: flex;
    flex-direction: row;
}

.search-result-container .search-results-all,
.search-result-container .search-result-banners {
    flex: 0 0 50%;
}


summary h2 {
    display: inline-block;
}

.feed-item {
    display: flex;
    flex-direction: row;
    margin: 10px 0;
    padding: 10px;

    border-bottom: 1px solid rgba(74, 73, 73, 0.25);
}

.feed-item h2 {
    font-weight: normal;
}

.feed-item:last-child {
    border-bottom-width: 0;
}

.feed-item-content {
    flex: 1 1 800px;
}

.feed-image-container {
    width: 100px;
    flex: 0 0 100px;
}

.feed-image {
    width: 100px;
}

.company-details-columns .company-feed h2 {
    margin-bottom: 8px;
}

.company-details-columns .company-feed li {
    margin-bottom: 4px;
}
.company-details-columns .company-feed li time {
    font-style: italic;
}

.company-feed {
    position: relative;
    height: 200px;
    overflow: hidden;

    transition: height ease-in-out 1s;
}

.company-feed .company-feed-toggle {
    display: none;
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    border: 0;
    background-color: #fff;
    font-weight: bold;
    padding: 5px 0;
}


.company-feed.overflow .company-feed-toggle {
    display: block;
}

.company-feed .company-feed-toggle:hover {
    background-color: #F0F0F0;
}

.company-feed .company-feed-toggle .close {
    display: none;
}

.company-feed.active .company-feed-toggle .open {
    display: none;
}
.company-feed.active .company-feed-toggle .close {
    display: inline;
}

.keyword-tree .keyword-products {
    font-style: italic;
}

.search-result-container .company .product-name {
    display: block;
    padding-left: 2em;
    font-style: italic;
}

.company-details .keyword-products li,
.company-list .keyword-products li {
    padding-left: 2em;
    font-style: italic;
}

.amt-frontpage-header-container {
    width: 100%;
    margin: 0;
    background: url(/images/2024/amt-frontpage-header-bg.jpg) var(--frontpage-header-background-color) no-repeat center center;
    background-size: var(--max-content-width);
}

.amt-frontpage-header {
    --element-spacing: calc((var(--frontpage-header-height) - var(--logo-image-height)) / 2);

    display: flex;
    flex-direction: row;

    max-width: var(--max-content-width);
    margin: 14px auto 28px auto;
    padding: var(--element-spacing);
    min-height: var(--frontpage-header-height);
}

.amt-frontpage-header .logo-element {
    margin-right: var(--element-spacing);
}

.amt-frontpage-header .frontpage-header-content {
    max-width: var(--frontpage-header-content-width);
}

.amt-frontpage-header .frontpage-header-content h1 {
    color: var(--frontpage-header-text-color);
    max-width: var(--frontpage-header-content-width);
    font-size: var(--frontpage-header-text-size);

}
.amt-frontpage-header .frontpage-header-content em {
    color: var(--frontpage-header-emphasis-color);
}

.frontpage-catalogs-heading {
    font-size: var(--frontpage-catalog-list-header-text-size);
    color: var(--brand-color-secondary);
    text-align: center;
}

.amt-footer {
    background-color: var(--brand-color-primary);
    color: white;
    bottom: 0;
    position: relative;
    z-index: 3;
}

.amt-footer-content {
    display: flex;
    flex-direction: row;
    width: var(--max-content-width);
    max-width: 100%;
    margin: auto;
    align-items: center;
}

header.main-navigation {
    max-width: var(--max-content-width);
}

#top-zone {
    margin: 2rem auto;
    width: 100%;
    position: relative;
    min-height: 93px;
}

#top-zone .banner {
    position: absolute;
    top: 0;
    max-width: 100%;
}

#top-zone .banner img {
    max-width: 100%;
}

