.standorte {
    display: flex;
    flex-flow: row;
    margin-bottom: 100px;
}

.standorte.awards {
    margin-top: 100px;
}
@media(max-width: 1024.5px) {
    .standorte.awards {
        display: none;
    }
}

.standort {
    position: relative;
    flex: 1;
    height: 800px;
    background-size: 1150px;
    background-position: bottom left;
    background-repeat: no-repeat;
    border-right: 8px solid #F8EA45;
    transition: flex 0.5s ease-in-out, background-position 0.5s ease-in-out;;
}

.awards .standort {
    height: 500px;
    background-position: calc(100% + 100px) 100%;
    background-size: 300px 500px;
}
.awards .standort:hover, 
.awards .standort.hover {
    background-position: 85% 100%;
}

.standort.standort-frankfurt {
    background-image: url(/static/MAI_Silhouette_Frankfurt.svg);
    --ncolor: #005028; /* this is valid css */
}
.awards .standort.standort-frankfurt {
    background-image: url(/static/awards_1.svg);
}

.standort.standort-luxembourg {
    background-image: url(/static/MAI_Silhouette_Luxembourg.svg);
    --ncolor: #8C8C8C; /* this is valid css */
}
.awards .standort.standort-luxembourg {
    background-image: url(/static/awards_2.svg);
}

.standort.standort-zuerich {
    background-image: url(/static/MAI_Silhouette_Zuerich.svg);
    --ncolor: #F8EA45; /* this is valid css */
}
.awards .standort.standort-zuerich {
    background-image: url(/static/awards_3.svg);
}

/* specialElement01 */
.standort.standort-leaf-1 {
    --ncolor: #005028; /* this is valid css */
}
.standort.standort-leaf-2 {
    --ncolor: #F8EA45; /* this is valid css */
}
.standort.standort-leaf-3 {
    --ncolor: #8C8C8C; /* this is valid css */
}
.standort.standort-leaf-1,
.standort.standort-leaf-2,
.standort.standort-leaf-3 {
    background-position: calc(100% + 150px) 100%;
    background-size: 300px 500px;
}

.standort-name {
    position: absolute;
    left: 0;
    top: 0;
    transform: rotate(-90deg) translate(-100%, 0);
    transform-origin: 0% 0%;
    margin-left: 8px;
    
    font-family: 'Avenir Next Bold';
    font-size: 30px;
    line-height: 1;
    letter-spacing: 0.06em;
    text-transform: UPPERCASE;
    
    color: var(--ncolor);  /* this is valid css */
    
    background-color: #fff;
    
    white-space: nowrap;
}

.standort-text {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    
    font-family: 'Avenir Next LT Regular';
    font-size: 20px;
    line-height: 1.66;
    width: 350px;
    position: absolute;
    left: calc(50% + 38px); /* 50% for half the screen, add 38px for rotated name = totally centered */
    transform: translate(-50%);
    
    pointer-events: none;
    width: 0;
    overflow: hidden;
}
.standort.standort-leaf-1 .standort-text,
.standort.standort-leaf-2 .standort-text,
.standort.standort-leaf-3 .standort-text {
    left: calc(5% + 38px); /* 50% for half the screen, add 38px for rotated name = totally centered */
    transform: translate(-0%);
    background-color: rgba(255,255,255,0.9);
}
.standort:hover .standort-text,
.standort.hover .standort-text {
    pointer-events: all;
    width: 350px;
}
@media(max-width:768px) {
    .standort-text {
        pointer-events: all;
    }
}

.standort:hover,
.standort.hover {
    flex: 6;
}
.standort:hover .standort-text,
.standort.hover .standort-text {
    opacity: 1;
    transition-delay: 0.2s;
}