.intro-fullscreen-media .media-container {
    grid-area: 1/1/1/span 14;
    margin: 0 max(16px, 1.25vw);
}

.intro-fullscreen-media .content-container {
	grid-area: 1/1/1/span 14;
	z-index: 1;
	align-self: flex-end;
    margin: max(32px, 2.5vw) calc(max(16px, 1.25vw) + max(32px, 2.5vw));
    text-shadow: 0 0 10px rgba(0,0,0,.65);
}

.intro-fullscreen-media .content-container .subtitle {
    margin-top: 1em;
    max-width: 32ch;
    line-height: 1.4;
}

.intro-fullscreen-media .opening-times-container {
    grid-area: 1/1/1/span 14;
	grid-template-columns: 1fr auto;
    align-self: center;
    justify-self: flex-end;
    padding: max(32px, 2.5vw) max(24px, 2.1875vw);
    margin: max(32px, 2.5vw) calc(max(16px, 1.25vw) + max(32px, 2.5vw));
    gap: var(--grid-gap);
    overflow: visible;
}

.intro-fullscreen-media .opening-times-container .headline-business-hours {
    writing-mode: vertical-lr;
    transform: rotate(180deg);
}

.intro-fullscreen-media .opening-times-container .business-hours {
    font-size: var(--fs-28);
	flex-shrink: 0;
}

.intro-fullscreen-media .opening-times-container .icon-container {
    bottom: 0;
    right: 0;
    transform: translate(37.5%, 15%);
    width: max(72px, 5.78125vw);
}

@media (max-width: 991.98px) {
    .intro-fullscreen-media .content-container {
        align-self: center;
    }

    .intro-fullscreen-media .opening-times-container {
        grid-area: 2/1/2/span 14;
        justify-self: center;
        border: 3px solid var(--beige);
        width: 100%;
        max-width: max(360px, 50vw);
        justify-content: center;
        margin-top: calc(max(32px, 2.5vw) * -1);
    }
}

@media (max-width: 767.98px) {
    .intro-fullscreen-media .media-container {
        aspect-ratio: 3/2;
    }
}

@media (max-width: 575.98px) {
    .intro-fullscreen-media .media-container {
        aspect-ratio: 1/1;
    }

    .intro-fullscreen-media .opening-times-container {
        grid-area: 2/2/2/span 12;
        margin: 0;
        margin-top: max(32px, 2.5vw);
        max-width: unset;
		display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    
    .intro-fullscreen-media .opening-times-container .headline-business-hours {
        writing-mode: unset;
        transform: none;
    }

	.intro-fullscreen-media .opening-times-container .icon-container {
		transform: translate(-45%, 45%);
	}
}

@media (max-width: 399.98px) {
    .intro-fullscreen-media .media-container {
        aspect-ratio: unset;
        min-height: 100%;
    }
}