iframe {
            display: inline-block;
}

iframe[data-src] {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    min-width: 28em;
    min-height: 18em;
    margin: 0;
    border: 1.5em solid #ccc;
    background-color: #eee;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><text text-anchor="middle" alignment-baseline="central" y="50%" font-size="1em" fill="black"><tspan x="50%" dy="-1.5em">Dieses Video kann nur mit</tspan><tspan x="50%" dy="1.5em">aktiviertem JavaScript</tspan><tspan x="50%" dy="1.5em">abgespielt werden</tspan></text></svg>');
    font: 400 1em/1.46 Helvetica, Arial, sans-serif;
    color: #333;
}

.video-wall {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    width: 28em;
    height: 18em;
    margin: 0;
    overflow: hidden;
    border: 5px solid #333;
    background-color: #222;
    background-size: cover;
    background-position: center;
    font: 400 1em/1.46 Helvetica, Arial, sans-serif;
    color: #fff;
}

.video-wall::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.85));
}

.video-wall strong {
    position: absolute;
    z-index: 1;
    top: 0.8em;
    left: 1em;
    right: 1em;
    margin: 0;
    font-size: 1.1em;
    text-align: center;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
}

.video-wall details {
    position: absolute;
    z-index: 1;
    top: 3em;
    left: 1em;
    right: 1em;
    font-size: 0.8em;
}

.video-wall summary {
    cursor: pointer;
    text-align: center;
    text-decoration: underline;
    margin-bottom: 0.3em;
}

.video-wall details > div {
    max-height: 4.5em;
    overflow-y: auto;
    padding: 0.5em 0.75em;
    border-radius: 0.5em;
    background: rgba(0, 0, 0, 0.6);
}

.video-wall p {
    margin: 0 0 0.6em;
}

.video-wall a {
    color: inherit;
}

.video-wall .video-link {
    position: absolute;
    z-index: 1;
    left: 50%;
    bottom: 7.5em;
    transform: translateX(-50%);
    white-space: nowrap;
    font-size: 0.8em;
    color: #fff;
}

.video-wall label {
    position: absolute;
    z-index: 1;
    left: 50%;
    bottom: 4.8em;
    transform: translateX(-50%);
    white-space: nowrap;
    font-size: 0.75em;
    cursor: pointer;
}

.video-wall label input {
    margin: 0 0.4em 0 0;
    vertical-align: middle;
}

.video-wall button {
    -webkit-appearance: none;
    appearance: none;
    position: absolute;
    z-index: 1;
    left: 50%;
    bottom: 1em;
    transform: translateX(-50%);
    display: block;
    width: 11.5em;
    height: 2.8em;
    margin: 0;
    padding: 0 0 0 3.4em;
    border: 0 none;
    border-radius: 1.4em;
    background-color: #fff;
    color: #222;
    font: 700 0.85em/1.2 Helvetica, Arial, sans-serif;
    text-align: left;
    cursor: pointer;
}

.video-wall button:hover {
    background-color: #ddd;
}

.video-wall button::before {
    content: "";
    position: absolute;
    left: 1.3em;
    top: 50%;
    margin-top: -0.5em;
    border-style: solid;
    border-width: 0.5em 0 0.5em 0.85em;
    border-color: transparent transparent transparent #222;
}

.video-wall-youtube button {
    top: 50%;
    bottom: auto;
    width: 5em;
    height: 3.5em;
    padding: 0;
    border-radius: 0.8em;
    background-color: #f00;
    color: transparent;
    text-indent: -9999px;
    overflow: hidden;
    transform: translate(-50%, -50%);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}

.video-wall-youtube button:hover {
    background-color: #c00;
}

.video-wall-youtube button::before {
    left: 50%;
    top: 50%;
    margin-left: -0.35em;
    margin-top: -0.7em;
    border-width: 0.7em 0 0.7em 1.1em;
    border-color: transparent transparent transparent #fff;
}
