.infobox{
    background: #f8f8f8;
    border-radius: 6px;
    box-sizing: border-box;
    max-width: 330px;
    overflow: hidden;
    float: right;
    clear: both;
    font-size: 85%; 
    margin: 0 0 1.4em 1.4em;
    padding: 1.4em;}

.infobox .aspect-group{
    margin: 0.8em 0 0 0;
    padding: 0.4em 0 0 0;
    border-top: 1px solid #ccc;}

.infobox .first{
    border-top: none;}

.infobox .notitle{
    padding-top: 0.8em !important;}

.infobox .sub{
    border-top: none !important;
    margin: 1.5em 0 0 0 !important;}

.infobox .head{
    font-size: 1.1em;
    font-weight: bold;
    margin: 1em 0;
    border: 0;
    padding: 0;
    font-family: sans-serif;}

.infobox .title{
    width: max-content;
    margin: 0;
    border-radius: 6px 6px 0 0;
    text-align: left; 
    line-height: 1.3; 
    background: #fff;
    color: #000;
    padding: 0.55em 0.8em 0.55em 0.8em;
    font-size: 1.2em;
    font-weight: bold;
    font-family: sans-serif;
    box-shadow: 0px 4px 16px 0px rgba(0,0,0,0.25);
    max-width: 85%;}

.infobox .title-no-img{
    width: max-content;
    margin: 0 0 1.2em 0;
    border-radius: 6px;
    text-align: left;  
    background: #fff;
    color: #000;
    padding: 0.4em 0.8em 0.4em 0.8em;
    font-size: 1.2em;
    font-weight: bold;
    box-shadow: 0px 4px 16px 0px rgba(0,0,0,0.25);}

.infobox .title-noshow{
    display: none;}

.infobox .motto{
    font-size: 120% !important;
    font-weight: normal;
    padding: 0;
    margin: 2.2em 0 0 0;
    font-style: italic !important;
    text-align: center;}

.infobox .media-container{
    margin: 1.2em 0 0 0;}

.infobox .map-container{
    margin: 0;
    border-radius: 6px;
    box-shadow: 0px 4px 16px 0px rgba(0,0,0,0.25);
    height: max-content;}

.infobox .map-container .karte{
    width: 100% !important;
    border-radius: 6px;
    border: none !important;
    mask-image: radial-gradient(white, black);}

.infobox .karte> p{
    display: none;}

.infobox .leaflet-container{
    width: 100% !important; /* Override the (inline) width property */
    border-radius: 6px;
    margin: 0 auto;}

.infobox .strassenschild img{
    width: 100%;
    border-radius: 6px;
    height: auto !important;
    filter: grayscale(30%);
    box-shadow: 0px 4px 16px 0px rgba(0,0,0,0.25);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0.8em;
    display: block;}

.infobox .logo{
    max-width: 85%;
    background: #fff;
    margin-bottom: 1.6em;
    padding: 6px;
    border-radius: 6px;
    box-shadow: 0px 4px 16px 0px rgba(0,0,0,0.25);}

.infobox .logo img{
    display: block;
    object-fit: contain;
    width: auto;
    max-width: 100%;
    max-height: 110px;
    height: auto !important;
    margin-left: auto;
    margin-right: auto;}

.nocorner img{
    border-radius: 0px 6px 6px 6px !important;}

.infobox .strassenbild{
    margin: 1.2em 0 1.2em 0;}

.infobox .strassenbild img{
    width: 100%;
    border-radius: 6px;
    height: auto !important;
    box-shadow: 0px 4px 16px 0px rgba(0,0,0,0.25);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.2em;
    display: block;}

.infobox .bild{
    margin: 1.2em 0 1.2em 0;}

.infobox .unter_logo{
    margin-top: 4em;}

.infobox .overlap{
    background: #fff;
    position: absolute;
    top: 1.2em;
    z-index: 2;}

.infobox .bild img{
    width: 100%;
    border-radius: 6px;
    height: auto !important;
    box-shadow: 0px 4px 16px 0px rgba(0,0,0,0.25);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.2em;
    display: block;}

.infobox .strassenbild p{
    margin: -0.5em 0 0 0;
    color: #AAA;
    font-size: 11px;}

.infobox .services img{
    vertical-align: text-bottom;
    margin-right: 0.5em;
    border-radius: 4px;}

.infobox dl{
    display: flex;
    flex-wrap: wrap;
    margin: 0;}

.infobox dl dt{
    width: 35%;
    margin: 0 0 0.4em 0;
    padding: 0 2% 0 0;
    font-weight: bold;
    color: #333;
    display: flex;}

.infobox dl dd{
    width: 63%;
    margin: 0 0 0.4em 0;
    text-align: right;}

@media (max-width: 700px) and (min-width: 585px){
.infobox{
    max-width: none;
    width: 100%;
    padding: 2em 2.5em;}
  
.infobox .title{
    max-width: 75% !important;    
    margin-left: 0 !important;}

.infobox .media-container{
    display: flex;}

.infobox .map-container{
    width: 49%;
    margin-right: 2%;}

.noscale{
    width: 100% !important;
    margin: 0! important;}

.infobox .strassenbild{
    width: 49%;
    margin-top: 0;}

.infobox .strassenbild img{
    height: 180px !important;
    object-fit: cover;
    margin-left: 0 !important;
    display: block;}

.infobox .unternehmensbild{
    width: 49%;
    margin-top: 0;}

.infobox .unternehmensbild img{
    height: 180px !important;
    object-fit: cover;
    margin-left: 0 !important;
    display: block;}

.infobox .unternehmensbild p{
    text-align: left;}

.infobox .strassenbild p{
    text-align: left;}

.infobox .strassenschild img{
    width: 90% !important;
    margin-left: 0 !important;
    display: block;}

.infobox .leaflet-container{
    height: 180px !important;}

.infobox .services dt{
    display: inline-flex;}
}

@media (max-width: 584px) and (min-width: 431px){
.infobox-pagewide {
    font-size: 80% !important;}

.infobox-inline {
    display: flex;
    margin-bottom: 1.2em;
    max-width: 100% !important;}

.infobox{
    max-width: none;
    width: 100%;}

.infobox .title{
    max-width: 90% !important;}

.infobox .services dt{
    display: flex;}

.noscale{
    width: 100% !important;
    margin: 0! important;}

}

@media (max-width: 430px) and (min-width: 401px){
.infobox{
    max-width: none;
    width: 100%;}

.infobox-pagewide {
    font-size: 75% !important;}

.infobox-inline-icon, .infobox-inline-img {
    flex-shrink: 1 !important;}

.infobox .title{
    max-width: 85% !important;}

.noscale{
    width: 100% !important;
    margin: 0! important;}

}

@media (max-width: 400px){
.infobox{
    max-width: none;
    width: 100%;}

.infobox-pagewide{
    font-size: 75% !important;}

.infobox .services img{
    display: none;}

.infobox .title{
    max-width: 85% !important;}

.noscale{
    width: 100% !important;
    margin: 0! important;}

}

/* Toggle */

body.skin-minerva .mw-collapsible-toggle{
    display: none !important;}

.infobox .mw-collapsible-toggle {
    width: max-content;
    padding: 0 0.5em;
    height: max-content;
    background-color: #f8f9fa;
    border: 1px solid #f8f9fa;
    color: #3c4043;
    border-radius: 4px;
    box-shadow: 0 0 3px #ccc;
    text-align: center;
    line-height: 22px;
    font-size: 100%;
    cursor: pointer;
    transition: all .3s;
    display: flex;
    user-select: none;
    touch-action: manipulation;
    white-space: pre;
    float: right;
}

.infobox.mw-collapsed .mw-collapsible-toggle:before {
    content: 'Infobox erweitern';
    color: #333;}

.infobox:not(.mw-collapsed) .mw-collapsible-toggle:before {
    content: 'Minimieren';
    color: #333;}

.infobox .mw-collapsible-toggle:hover {
    background-color: #f5f5f5;
    border-color: #dadce0;
    box-shadow: rgba(0, 0, 0, .1) 0 1px 1px;}