/* Block */

main > .wrap {
    display: flex;
    gap: 2.4rem;
    align-items: flex-start;
}

main > .wrap .listing {
    flex-grow: 1;
}

main > .wrap .listing {
    flex-grow: 1;
    flex-shrink: 1;
    width: calc(101.5rem - 2.4rem);
}

.container .container {
    padding: 0;
    margin: 0;
    max-width: 100%;
}

main.page.condensed .container {
    max-width: 108rem;
}

.condensed .container,
.container.condensed {
    max-width: 108rem;
}

body.single:not(.single-place) section#content .container {
    max-width: 108rem;
}

.main-content > .container > .wrap {
    display: flex;
    gap: 2.4rem;
    align-items: flex-start;
}

.main-content > .container > .wrap aside.sidebar {
    order: 1;
    min-width: 39rem;
    max-width: 39rem;
}

.main-content > .container > .wrap > .content-left {
    order: 2;
    flex-grow: 1;
    flex-shrink: 1;
    width: calc(101.5rem - 2.4rem);
}

.main-content > .container > .wrap > .content-left > *:first-child,
.main-content > .container > .wrap > .content-left > section#content > .container > .content > *:first-child {
    margin-top: 0 !important;
}

.main-content > .container > .wrap > .content-left > *:last-child,
.main-content > .container > .wrap > .content-left > section#content > .container > .content > *:last-child {
    margin-bottom: 0 !important;
}

/* Block Intro */

.block-intro {
    padding: 0;
    margin-bottom: 7.2rem;
}

@media (min-width: 1720px) {
    .block-intro {
        margin-left: -10.4rem;
        margin-right: -10.4rem;
    }
}

.block-intro .wrap {
    min-height: 64rem;
    max-height: 64rem;
    overflow: hidden;
    width: 100%;
    position: relative;
}

.block-intro .wrap::before {
    content: '';
    display: block;
    width: 14.8rem;
    height: 14.8rem;
    position: absolute;
    left: -7.4rem;
    bottom: -7.4rem;
    background-color: var(--white);
    z-index: 3;
    transform: rotate(45deg);
}

.block-intro .wrap::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.3) 100%);
    z-index: 2;
}

.block-intro .wrap > * {
    position: relative;
    z-index: 3;
}

.block-intro .wrap .inner {
    position: relative;
    z-index: 4;
    min-height: 64rem;
    padding: 0rem 0 8rem;
    max-width: 120rem;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 0rem;
}

.block-intro .wrap .inner > * {
    max-width: 82.7rem;
}

.block-intro .wrap .inner > .buttons {
    max-width: 100%;
}

.block-intro .wrap .inner > span.label {
    color: var(--white);
    border-color: var(--white);
}

.block-intro .wrap .inner > *:not(h1) {
    margin: 2rem 0;
}

.block-intro .wrap .inner > h1 {
    margin: 0 0 4rem;
    color: var(--white);
}

.block-intro .wrap .inner .content {
    background-color: var(--yellow);
    padding: 3.2rem 4rem;
    font-size: 1.8rem;
    margin-top: -2.4rem;
}

.block-intro .wrap .inner .content p a {
    font-weight: 500;
}

.block-intro .wrap .inner > *:first-child,
.block-intro .wrap .inner .content > *:first-child {
    margin-top: 0;
}

.block-intro .wrap .inner > *:last-child,
.block-intro .wrap .inner .content > *:last-child {
    margin-bottom: 0;
}

.block-intro .wrap img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

.block-intro .wrap .right-bar {
    position: absolute;
    right: 0;
    top: 0;
    padding-top: 1.6rem;
    width: 5.4rem;
    height: 100%;
    background-color: var(--yellow);
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    align-items: center;
    z-index: 4;
}

.block-intro .wrap .right-bar span.label-text {
    display: inline-block;
    transform: rotate(-90deg) translate(-22rem, 13.5rem);
    transform-origin: left bottom;
    display: inline-block;
    font-size: 2rem;
    font-weight: 500;
    white-space: nowrap;
}

.block-intro nav.breadcrumbs,
.block-intro nav.breadcrumbs a {
    color: var(--white);
}

.block-intro .wrap .inner > .shortcode {
    margin: 0;
    position: absolute;
    right: -4rem;
    bottom: 8rem;
}

.block-intro .wrap .inner .opening-hours-switcher {
    background-color: var(--gray-light);
    padding: 1.6rem 2.4rem;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
    gap: 1.6rem;
    min-width: 38rem;
    max-width: 38rem;
}

.block-intro .wrap .inner .opening-hours-switcher label {
    font-family: var(--font-1);
    font-size: 2rem;
    font-weight: bold;
}

.block-intro .wrap .inner .opening-hours-switcher select {
    width: auto;
    min-width: 15rem;
    padding: 0 0.8rem;
    height: 4rem;
    font-size: 1.4rem;
    background-size: 1.2rem;
    background-position: calc(100% - 0.8rem);
}

.block-intro .wrap .inner .opening-hours-switcher .opening-hours-block {
    min-width: 100%;
    max-width: 100%;
}

.block-intro .wrap .inner .opening-hours-switcher .opening-hours-block table th {
    display: none;
}

.block-intro .wrap .inner .opening-hours-switcher .opening-hours-block table td {
    text-align: left;
    padding: 0.4rem 0 !important;
    font-size: 1.6rem;
    font-weight: 500;
    background-color: transparent;
}

.block-intro .wrap .inner .opening-hours-switcher .opening-hours-block table td br {
    display: none;
}

/* Block Magazines Listing Static */

.home .block-magazines-listing-static article.magazine {
    flex-flow: column;
    align-items: flex-start;
    gap: 3.2rem;
    padding: 0;
}

.home .block-magazines-listing-static article.magazine time {
    font-size: 2.4rem;
}

.home .block-magazines-listing-static article.magazine time .in-icon {
    font-size: 2.4rem;
    font-weight: 500;
}

.home .block-magazines-listing-static article.magazine time::before {
    font-size: 2rem;
}

.home .block-magazines-listing-static article.magazine .picture {
    min-width: 100%;
    max-width: 100%;
}

.home .block-magazines-listing-static article.magazine .content-wrap {
    display: none;
}

/* Block Map */

.block-map .wrap {
    display: flex;
    gap: 2.4rem;
    align-items: flex-start;
}

.block-map .listing {
    padding: 4rem;
    background-color: var(--purple-light);
    width: 39rem;
}

.block-map .right-map {
    flex-grow: 1;
    flex-shrink: 1;
    width: calc(100% - 39rem - 2.4rem);
}

.block-map .right-map div#map {
    width: 100% !important;
}

.block-map .listing .column > *:first-child {
    margin-top: 0;
}

.block-map .listing .column > *:last-child {
    margin-bottom: 0;
}

.block-map .listing .column:not(:last-of-type) {
    margin-bottom: 4rem;
}

.block-map .listing .column h3 {
    margin: 1.6rem 0;
}

.block-map .listing > a.button {
    margin-top: 2.4rem;
}

.block-map .listing .column nav.items ul {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 0.8rem 1.6rem;
    margin: 0 !important;
    padding: 0 !important;
}

.block-map .listing .column nav.items ul li {
    display: inline-block;
    list-style: none !important;
    width: calc(50% - 0.8rem);
    padding: 0 !important;
}

.block-map .listing .column nav.items ul li::before {
    display: none !important;
}

.block-map .listing .column nav.items ul li a {
    font-size: 1.8rem;
    font-weight: 500;
}

.block-map .bottom-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2.4rem;
    padding: 1.6rem 2.4rem;
    background-color: var(--gray-light);
}

.block-map .bottom-bar p {
    font-size: 1.8rem;
    font-weight: 500;
    margin: 0;
}

.block-map .bottom-bar img {
    max-width: 15.6rem;
}

.leaflet-control-attribution.leaflet-control a::before {
    display: none !important;
}

.block-map .bottom-bar a.button {
    white-space: nowrap;
}

/* Block Places */

#facetwp-map {
    width: 100% !important;
    height: 85rem !important;
    margin-bottom: 2.4rem;
}

.gm-style .gm-style-iw-c {
    border-radius: 0 !important;
    box-shadow: none !important;
    max-width: 36rem !important;
    min-width: 36rem !important;
}

.gm-style .gm-style-iw-tc {
    filter: none !important;
}

#facetwp-map article.place .content {
    display: block;
    padding: 0 0rem 0.8rem 0.8rem;
}

#facetwp-map article.place .content .picture {
    max-width: 9.6rem;
    min-width: 9.6rem;
    overflow: hidden;
    border-radius: 0;
}

#facetwp-map article.place .content .picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#facetwp-map article.place section.excerpt {
    margin: 1.6rem 0;
}

#facetwp-map article.place .content p {
    font-family: var(--font-2) !important;
    font-size: 1.6rem !important;
}

#facetwp-map article.place .content a.link {
    font-family: var(--font-2) !important;
    font-size: 1.8rem !important;
    font-weight: 500 !important;
    margin-top: 1.6rem;
    display: inline-block;
}

#facetwp-map article.place .content h3 {
    font-size: 2rem;
    margin: 0;
}

#facetwp-map article.place .content h3 a {
    text-decoration: none;
}

#facetwp-map article.place .content h3 a:hover {
    text-decoration: underline;
}

/* RESPONSIVE */

@media (max-width: 1400px) {
}

@media (max-width: 1279px) {
    .block-intro .wrap .inner {
        padding: 2.4rem 8rem 6.4rem;
    }

    .block-intro .wrap::before {
        width: 8rem;
        height: 8rem;
        left: -4rem;
        bottom: -4rem;
    }

    .block-intro .wrap .inner > .shortcode {
        position: relative;
        bottom: auto;
        right: auto;
    }
}

@media (max-width: 990px) {
    .block-intro {
        margin-bottom: 4rem;
    }

    .block-intro .wrap {
        max-height: none;
    }

    main > .wrap {
        flex-direction: column;
        gap: 0;
        justify-content: flex-start;
        align-items: flex-start;
    }

    .main-content > .container > .wrap {
        flex-direction: column;
        gap: 0;
        justify-content: flex-start;
        align-items: flex-start;
    }

    main > .wrap .listing {
        width: 100%;
        order: 2;
        margin-top: 2.4rem;
    }

    .main-content > .container > .wrap > .content-left {
        width: 100%;
        order: 2;
    }

    .main-content > .container > .wrap:has(aside#sidebar, aside.sidebar) > .content-left {
        margin-top: 2.4rem;
    }

    .block-intro .wrap .inner .content {
        padding: 2.4rem;
        margin-top: 0;
    }

    .main-content > .container > .wrap aside.sidebar {
        min-width: 100%;
        max-width: 100%;
        order: 1;
        display: none;
    }

    .block-map .wrap {
        flex-wrap: wrap;
    }

    .block-map .listing {
        padding: 2.4rem;
        width: 100%;
    }

    .block-map .right-map {
        width: 100%;
    }
}

@media (max-width: 781px) {
    .block-intro .wrap .inner > h1 {
        margin-bottom: 2.4rem;
    }

    .block-map .bottom-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 2.4rem;
        padding: 2.4rem;
    }
}

@media (max-width: 600px) {
    .block-intro .wrap .inner {
        padding: 2.4rem 8rem 6.4rem 2.4rem;
    }

    .block-intro .wrap .inner .opening-hours-switcher {
        min-width: 100%;
        max-width: 100%;
    }
}

@media (max-width: 400px) {
}
