body{
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 400;
}
/* ==========================================================================
   Header-Top
   ========================================================================== */
.region-top-menu{
    display: flex;
    justify-content: right;
    gap:25px;
    padding: 10px 0 0;
}
.menu--kopfmenue .menu{
    gap:28px;
}
.menu--kopfmenue .menu li{
    margin:5px 0 0;
    padding: 0;
}
.menu--kopfmenue .menu li a,
.menu--kopfmenue .menu li span{
    font-weight: 700;
    font-size: 0.867rem;
}
.language-switcher-language-url .links{
    display: flex;
    flex-wrap: wrap;
    margin: 12px 0 0;
    padding: 0;
}
.language-switcher-language-url .links li{
    margin:0;
    padding: 0 0.5rem 0 0.75em;
    list-style: none;
    /*border-right: 2px solid var(--dark-grey);*/

}
.language-switcher-language-url .links li a{
    font-weight: 700;
    font-size: 0.933rem;
    text-indent: -9999px;
    display: flex;
    text-decoration: none;
    line-height: 1em;   
    width: 20px;
    height: 20px;
    opacity: 0.5;
}
.language-switcher-language-url .links li a.is-active,
.language-switcher-language-url .links li:hover a{
    /*background-color: var(--gold);
    color: var(--white);*/
    opacity: 1;
}
/*.language-switcher-language-url .links li:last-child{
    border:none;
}
.language-switcher-language-url .links li[hreflang="de"] a:after{
    content:'de';
    display: flex;
    text-indent: 0;
}
.language-switcher-language-url .links li[hreflang="en"] a:after{
    content:'en';
    display: flex;
    text-indent: 0;
}*/
.language-switcher-language-url .links li[hreflang="de"] a{
    background: transparent url(/sites/default/files/images/flags/de.svg) no-repeat center center;
    background-size: cover;
}
.language-switcher-language-url .links li[hreflang="en"] a{
    background: transparent url(/sites/default/files/images/flags/gb.svg) no-repeat center center;
    background-size: cover;
}

/* ==========================================================================
   Hamburger Menü
   ========================================================================== */
.hamburger-icon{
    display:none;
    position:absolute;
    top:2.5vw;
    right:0;
    width: 80px;
    height: 25px;
    z-index:99;
}
.main-menu .hamburger-icon{
    top:17px;
}
.hamburger-icon .title{
    color:var(--dark-grey);
    margin:0 15px 0 0;
}
.hamburg-wrapper{
	cursor:pointer;
}     
 .hamburg {
     width: 22px;
     height: 25px;
     position: relative;
     border-radius: 4px;
}
 .line {
     position: absolute;
     left:0;
     height: 1px;
     width: 22px;
     background-color: var(--gold);
     border-radius: 2px;
     display: block;
     -webkit-transition: 0.5s;
     -o-transition: 0.5s;
     transition: 0.5s;
     -webkit-transform-origin: center;
     -ms-transform-origin: center;
     transform-origin: center;
}
 .checked .line, .hamburg:hover .line{
     background-color:var(--blue);
}
 .line:nth-child(1) {
     top: 0;
}
 .line:nth-child(2) {
     top: 6px;
}
 .line:nth-child(3) {
     top: 12px;
}
 .line:nth-child(4) {
     top: 18px;
}
 .hamburg-wrapper.checked .line:nth-child(1){
     -webkit-transform: translateY(6px) rotate(-45deg);
     -ms-transform: translateY(6px) rotate(-45deg);
     transform: translateY(6px) rotate(-45deg);
}
 .hamburg-wrapper.checked .line:nth-child(2){
     opacity:0;
}
 .hamburg-wrapper.checked .line:nth-child(3){
     opacity:0;
}
 .hamburg-wrapper.checked .line:nth-child(4){
     -webkit-transform: translateY(-12px) rotate(45deg);
     -ms-transform: translateY(-12px) rotate(45deg);
     transform: translateY(-12px) rotate(45deg);
}
/* ==========================================================================
   Header
   ========================================================================== */
.block-system-branding-block{
    width: 30%;
    max-width: 400px;
    padding: 5px 0 0;
    transition: all 0.5s linear;
    margin: 0 30px 0 0;
}
.region-primary-menu.on-top .block-system-branding-block{
    max-width: 300px;
    padding: 10px 0 0;
    transition: all 0.5s linear;
}
.region-primary-menu{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: sticky;
    top:0;
    z-index:9;
    background-color: var(--white);
    height: 92px;
}
.toolbar-fixed .region-primary-menu{
    top:40px;
}
.toolbar-horizontal.toolbar-tray-open .region-primary-menu{
    top:79px;
}
.region-primary-menu .menu--main{
    margin-top: 25px;
    background-color: #fff;
}
.region-primary-menu .menu{
    gap:20px;
}
.region-primary-menu .menu li{
    padding: 0;
}
.region-primary-menu .menu li a,
.region-primary-menu .menu li span{
    text-transform: uppercase;
    font-weight: 700;
    font-size: 0.933rem;
    padding: 0.25em;
}
.region-primary-menu .menu > li.menu-item--active-trail,
.region-primary-menu .menu > li:hover,
.region-primary-menu .menu > li:has(a.is-active){
    background-color: var(--gold);
}
.region-primary-menu .menu > li.menu-item--active-trail > a,
.region-primary-menu .menu > li:hover > a,
.region-primary-menu .menu > li > a.is-active,
.region-primary-menu .menu > li.menu-item--active-trail > span,
.region-primary-menu .menu > li:hover > span{
    color: var(--white);
}
.region-primary-menu .menu .menu{
    display: none;
}
/* ==========================================================================
   Layout Container
   ========================================================================== */
.layout-container{
    font-size: var(--font-size-base);
    max-width: var(--page-width-pad);
    margin: 0 auto;
    padding: 0 15px 6.5rem;
}
.layout-container nav ul:not(.contextual-links){
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}
.layout-container nav li{
    list-style: none;
}
.layout-container nav li a{
    text-decoration: none;
}
/* ==========================================================================
   Region Highlighted
   ========================================================================== */
.region-highlighted{
    padding: 42px 0 0;
    height: clamp(80px,14vw,245px);
}
.path-botschafter .region-highlighted,
.path-magazin .region-highlighted{
    height: min-content;
}
.path-frontpage .region-highlighted{
    height:168px;
}
.page-node-type-page .region-highlighted{
    height:0;
}
/* ==========================================================================
   Region Filter
   ========================================================================== */
.region-filter{
    position: sticky;
    top:76px;
    z-index:8;
    background-color: var(--white);
    padding: 16px 0 30px;
}
.toolbar-fixed .region-filter{
    top:116px;
}
.toolbar-horizontal.toolbar-tray-open .region-filter{
    top:155px;
}
#block-diplomag-closehistoryback{
    margin-left: auto;
    max-width: 100px;
}
.region-filter .close{
    color:var(--gold); 
    font-size: 0.933rem;  
    cursor: pointer;
    margin: 30px 0 0 auto;
    display: flex;
    justify-content: right;
}
.region-filter .close .icon{
    border:var(--hr);
    font-size: 1rem;
    font-weight:800;
    text-align: center;
    width: 30px;
    height: 30px;
    display: inline-block;
    margin-left: 0.25rem;
    padding: 2px 0 0;
}
.region-filter .close:hover .icon{
    color:var(--white);
    background-color: var(--gold);
}
.region-filter .close a{
    color:var(--gold);
}
.region-filter .menu{
    column-gap:40px;
    margin-left:0
}
.region-filter .menu a{
    font-size: 0.933rem;
    color: var(--gold);
    font-weight: 700;
}
.region-filter .menu .menu-item--active-trail a,
.region-filter .menu a.is-active,
.region-filter .menu li:hover a{
    color: var(--dark-grey);
}
/* ==========================================================================
   Layout Content
   ========================================================================== */
   /*.layout-content{
    margin-top: 2rem;
   }*/
   .advertising{
    font-size: 0.866rem;
   }
   #block-diplomag-werbungbmw:not(:has(img)){
    border-top:var(--hr);
    padding: 0 0 7px;
    margin: 93px 0 0;
   }
/* ==========================================================================
   Footer
   ========================================================================== */
footer{
    width:100%;
    border-top:20px solid var(--gold);
    background-color: var(--blue);
    color: var(--gold);
    padding: 3rem 0;
}
footer h2,
footer h3,
footer a,
footer ul.menu a.is-active{
    font-size: var(--font-size-base);
    color: var(--gold);
    text-decoration: none;
}
footer h2{
    margin: 0 0 0.5em;
}
.region-footer{
    max-width: var(--page-width-pad);
    padding: 0 15px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap:20px;
}
.region-footer p{
    margin: 0;;
}
.region-footer .menu--footer{
    margin-top:55px;
}
.region-footer .menu--footer ul.menu{
    margin: 0;
}
.region-footer-col3{
    display: flex;
    flex-direction: column;
    gap:50px;
}
.region-footer-col3 .menu--footer ul.menu li{
    text-align: right;
}
.footer-bottom{
    border-top: 1px solid var(--gold);
    margin-top: 30px;
    padding: 30px 15px;
}
#block-diplomag-ourcoorperationpartners{
    max-width: var(--page-width-pad);
    padding: 0 15px;
    margin: 0 auto;
}
#block-diplomag-ourcoorperationpartners .block-content{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap:30px;
}
#block-diplomag-ourcoorperationpartners h2{
    margin-bottom: 1.5em;
}
#block-diplomag-ourcoorperationpartners .block-content > p{
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width:170px;
}
#block-diplomag-linkabonnement .abo{
    cursor: pointer;
}
/* ==========================================================================
   Back to top
   ========================================================================== */
.back-to-top.bottom{
    position:fixed;
    right:3%;
    bottom:5%;
    width:50px;
    height:55px;
    z-index:199;
}
.back-to-top.bottom a{
    font-size:3rem;
    border:var(--hr);
    padding:10px 5px 17px;
    opacity:0.5;
    background-color:transparent;
    -webkit-transition:all 0.5s linear;
    -o-transition:all 0.5s linear;
    transition:all 0.5s linear;
    color: var(--gold);
    display: block;
    text-align: center;
}
.back-to-top.bottom:hover a{
    opacity:1;
    -webkit-transition:all 0.5s linear;
    -o-transition:all 0.5s linear;
    transition:all 0.5s linear;
    background-color:var(--blue);
    color:var(--gold);
}
/* ==========================================================================
Mobile
   ========================================================================== */
   @media screen and (max-width:959px) {
    .block-system-branding-block{
        width:50%;
    }
   }
   @media screen and (max-width:767px) {
    .region-top-menu{
        margin-bottom: 15px;
    }
    .hamburger-icon{
        display: flex;
    }
    .layout-container nav.menu--main ul:not(.contextual-links){
        display: none;
    }
    .region-highlighted{
        padding: 0;
    }
    .layout-container nav.menu--main ul.open{
        display: flex;
        flex-direction: column;
        width: calc(100vw - 30px);
        background-color: var(--white);
        z-index: 99;
        position: relative;
        gap:10px;
        padding-bottom: 30px;
    }
   }
   @media screen and (max-width:499px) {
    .block-system-branding-block{
        width:60%;
    }
    #block-diplomag-ourcoorperationpartners .block-content{
        flex-direction: column;
    }
    .region-footer-col3 .menu--footer ul.menu li,
    .aktueller-stand .views-footer .note{
        text-align: left;
    }

   }