/**
 * Theme Name: Ready-PV
 * Author: Daniele Paolella
 * Author URI: mailto:daniele.paolella@enea.it
 * Version: 1.1.0
 * Requires at least: 7.0
 * Tested up to: 7.1
 */

body {
    color: var(--wp--preset--color--contrast);
    background-color: var(--wp--preset--color--base);
    font-family: var(--wp--preset--font-family--body-font);
    line-height: 2;
}

h1, h2, h3, h4, h5, h6,
.readypv-tagline {
    color: var(--wp--preset--color--secondary);
    font-family: var(--wp--preset--font-family--heading-font);
}

h3,
.wp-block-separator {
    border-top: none;
    border-bottom: 1px solid var(--wp--preset--color--border);
}

h3 {
    padding-bottom: 1em;
    padding-top: 1em;
}

a {
    color: var(--wp--preset--color--primary);
}

a:hover {
    text-decoration: none;
}

li {
    margin-top: calc(var(--wp--style--block-gap) / 2);
    margin-bottom: calc(var(--wp--style--block-gap) / 2);
}

.wp-block-post-date::before,
footer address::before,
footer .website::before,
footer .privacy-policy::before,
footer .legal-notice::before,
footer .project-coordinator h3::before,
footer .website-author h3::before,
.readypv-organization-list .role::before,
.readypv-organization-list .country::before,
.readypv-organization-list .website::before,
.single-organization .facility .links .details::before,
.single-organization .facility .links .source::before,
.single-facility .links .provider::before,
.single-facility .links .source::before {
    content: "";
    display: inline-block;
}

.wp-block-post-date::before,
footer address::before,
footer .website::before,
footer .privacy-policy::before,
footer .legal-notice::before,
footer .project-coordinator h3::before,
footer .website-author h3::before,
.readypv-organization-list .country::before,
.readypv-organization-list .website::before,
.single-organization .facility .links .details::before,
.single-organization .facility .links .source::before,
.single-facility .links .provider::before,
.single-facility .links .source::before {
    background-color: currentColor;
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-position: center center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    width: 1.25em;
    height: 1.25em;
    margin-right: 0.25em;
    vertical-align: middle;
}

header > .readypv-logo-group,
header > .readypv-navigation > *,
header > .readypv-breadcrumbs-group > *,
main .alignwide,
footer > .readypv-project-disclaimer,
footer > .readypv-contacts-group > * {
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    max-width: var(--wp--style--global--wide-size);
    padding-left: var(--wp--style--block-gap);
    padding-right: var(--wp--style--block-gap);
}

header > .readypv-logo-group {
    min-height: 128px;
    padding-top: var(--wp--style--block-gap);
    padding-bottom: var(--wp--style--block-gap);
}

.readypv-tagline {
    max-width: 24em;
}

header > .readypv-navigation {
    color: var(--wp--preset--color--text-on-accent);
    background-color: var(--wp--preset--color--accent-background);
    min-height: 96px;
}

header > .readypv-navigation a {
    padding: 0;
}

header > .readypv-navigation a:hover {
    text-decoration: underline;
}

header > .readypv-breadcrumbs-group {
    color: var(--wp--preset--color--text-on-primary);
    background-color: var(--wp--preset--color--primary-background);
    min-height: 64px;
    line-height: 64px;
}

header > .readypv-breadcrumbs-group h2 {
    color: var(--wp--preset--color--text-on-primary);
    text-align: center;
}

header > .readypv-breadcrumbs-group a {
    color: var(--wp--preset--color--link-on-primary);
}

@media (max-width: 599px) {
    header .readypv-navigation .wp-block-navigation__responsive-container {
        background-color: var(--wp--preset--color--secondary);
        color: var(--wp--preset--color--link-on-secondary);
        text-align: center;
    }

    header .readypv-navigation .wp-block-navigation__responsive-container a {
        text-decoration: underline;
    }

    header .readypv-navigation .wp-block-navigation__responsive-container a:active,
    header .readypv-navigation .wp-block-navigation__responsive-container a:hover {
        text-decoration: none;
    }
}

@media (max-width: 668px) {
    main.has-global-padding {
        padding-left: var(--wp--style--block-gap);
        padding-right: var(--wp--style--block-gap);
    }
}

footer .readypv-project-disclaimer {
    margin-bottom: var(--wp--style--block-gap);
}

footer .readypv-project-disclaimer a {
    color: var(--wp--preset--color--primary);
}

footer .readypv-project-disclaimer .wp-block-media-text {
    gap: 0 var(--wp--style--block-gap);
    text-align: center;
}

footer .readypv-project-disclaimer .wp-block-media-text__content {
    color: var(--wp--preset--color--alt-contrast);
    font-size: 0.8125rem;
    padding: 0;
}

footer .readypv-project-disclaimer .wp-block-media-text__media img {
    width: 64px;
}

footer .readypv-project-disclaimer .wp-block-media-text__content p:last-child {
    margin-bottom: 0;
}

footer .readypv-contacts-group {
    color: var(--wp--preset--color--text-on-primary);
    background-color: var(--wp--preset--color--secondary);
    line-height: 1.5;
    padding-top: var(--wp--style--block-gap);
    padding-bottom: var(--wp--style--block-gap);
}

footer h1, footer h2, footer h3, footer h4, footer h5, footer h6 {
    color: inherit;
}

footer a {
    color: var(--wp--preset--color--link-on-secondary);
}

footer .is-layout-flex {
    align-items: stretch;
}

footer .is-layout-flex > * {
    flex: 1 1 auto;
    width: 464px;
}

footer .project-coordinator h3::before {
    margin-right: 0.325em;
    mask-image: url(assets/images/readypv-icon-mono.svg);
    -webkit-mask-image: url(assets/images/readypv-icon-mono.svg);
    vertical-align: text-bottom;
}

footer .website-author h3::before {
    mask-image: url(assets/images/wordpress--globe.svg);
    -webkit-mask-image: url(assets/images/wordpress--globe.svg);
    width: 1.5em;
    height: 1.5em;
    vertical-align: bottom;
}

footer .organization {
    font-weight: bold;
}

footer address {
    font-style: normal;
    padding-left: var(--wp--style--block-gap);
    position: relative;
}

footer address::before {
    mask-image: url(assets/images/wordpress--map-marker.svg);
    -webkit-mask-image: url(assets/images/wordpress--map-marker.svg);
    left: 0;
    top: 0.125em;
    position: absolute;
}

footer nav ul {
    list-style: none;
    margin: 0;
    padding-left: 0;
}

footer nav ul li:first-child {
    margin-top: 0;
}

footer .website::before {
    mask-image: url(assets/images/wordpress--link.svg);
    -webkit-mask-image: url(assets/images/wordpress--link.svg);
}

footer .privacy-policy::before {
    mask-image: url(assets/images/dashicons--privacy.svg);
    -webkit-mask-image: url(assets/images/dashicons--privacy.svg);
}

footer .legal-notice::before {
    mask-image: url(assets/images/heroicons--scale.svg);
    -webkit-mask-image: url(assets/images/heroicons--scale.svg);
}

@media (min-width: 600px) {
    footer .readypv-project-disclaimer .wp-block-media-text {
        grid-template-columns: 64px 1fr;
        text-align: left;
    }

    footer .readypv-project-disclaimer .wp-block-media-text__content {
        border-top: 1px solid var(--wp--preset--color--border);
    }

    footer .website-author {
        display: grid;
    }

    footer .website-author h3,
    footer .website-author .organization {
        grid-column: 1 / span 2;
    }

    footer .website-author address,
    footer .website-author nav.part-1 {
        grid-column: 1;
    }

    footer .website-author nav.part-2,
    footer .website-author .copyright {
        grid-column: 2;
    }

    footer .website-author nav.part-2 {
        grid-row: 3;
    }
}

.wp-block-post-date {
    color: var(--wp--preset--color--alt-contrast);
    font-size: 0.875em;
}

.wp-block-post-date::before {
    mask-image: url(assets/images/dashicons--edit-page.svg);
    -webkit-mask-image: url(assets/images/dashicons--edit-page.svg);
}

.wp-block-gallery.has-nested-images figure.wp-block-image {
    flex-grow: initial;
}

.readypv-no-breadcrumbs .readypv-breadcrumbs-group {
    display: none;
}

.readypv-intro-group .wp-block-column > :not(:first-child),
.readypv-news-group .wp-block-post .wp-block-column > :not(:first-child),
.readypv-news-group .wp-block-post .wp-block-post-excerpt__more-text {
    margin-block-start: 0.75em;
}

.readypv-news-group .wp-block-post-title {
    font-family: revert;
    font-size: 1.25rem;
}

.readypv-news-group .wp-block-post-title a:link {
    text-decoration: underline;
}

.readypv-news-group .wp-block-post-title a:hover {
    text-decoration: none;
}

.readypv-swiper.alignwide {
    padding-left: 0;
    padding-right: 0;
}

.readypv-swiper .wp-swiper__slide {
    align-items: end;
    display: flex;
    justify-content: center;
    position: static;
}

.readypv-swiper .wp-swiper__slide-content {
    background-color: var(--wp--preset--color--primary-background);
    color: var(--wp--preset--color--text-on-primary);
    font-size: 0.875em;
    margin: 0.5em;
    padding: 0.5em 1em;
    position: initial;
    width: initial;
}

.readypv-swiper .wp-swiper__slide-content :first-child {
    margin-top: 0;
}

.readypv-swiper .wp-swiper__slide-content :last-child {
    margin-bottom: 0;
}

.readypv-swiper .wp_swiper__navigation {
    position: relative;
    width: 100%;
    height: 48px;
}

.readypv-swiper .swiper-button-prev,
.readypv-swiper .swiper-button-next {
    color: var(--wp--preset--color--primary);
    z-index: 11;
    width: 24px;
}

.readypv-swiper .swiper-button-prev {
    left: 0;
}

.readypv-swiper .swiper-button-next {
    right: 0;
}

.readypv-swiper .swiper-button-prev .swiper-navigation-icon,
.readypv-swiper .swiper-button-next .swiper-navigation-icon {
    width: 16px;
    height: 16px;
}

.readypv-swiper .swiper-pagination-bullet,
.readypv-swiper .swiper-pagination-bullet-active {
    border-radius: 4px;
    transition: opacity 500ms, width 500ms;
}

.readypv-swiper .swiper-pagination-bullet {
    background: var(--wp--preset--color--primary);
}

.readypv-swiper .swiper-pagination-bullet-active {
    width: 16px;
}

@media (min-width: 600px) {
    .readypv-swiper.alignwide {
        padding-left: var(--wp--style--block-gap);
        padding-right: var(--wp--style--block-gap);
    }
}

.readypv-organization-list {
    border-top: 1px solid var(--wp--preset--color--border);
    list-style: none;
    padding: 0;
}

.readypv-organization-list > li {
    padding-top: var(--wp--style--block-gap);
    padding-bottom: var(--wp--style--block-gap);
    text-align: center;
}

.readypv-organization-list > li:not(:last-child) {
    border-bottom: 1px solid var(--wp--preset--color--border);
}

.readypv-organization-list > li > div {
    line-height: 1.5;
    margin: 0.25em 0;
}

.readypv-organization-list > li > div:empty,
.readypv-organization-list > li > .details > div:empty {
    display: none;
}

.readypv-organization-list figure img {
    width: 150px;
    max-height: 100px;
    object-fit: contain;
}

.readypv-organization-list .name {
    font-size: 1.25rem;
}

.readypv-organization-list .alt-name {
    font-style: italic;
}

.readypv-organization-list .details {
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}

.readypv-organization-list .role::before {
    width: 1.125em;
    height: 1.125em;
    margin-right: 0.375em;
    vertical-align: -0.125em;
}

.readypv-organization-list .country::before {
    vertical-align: text-bottom;
}

.readypv-organization-list .role {
    font-weight: bold;
}

.readypv-organization-list .role::before {
    background: url(assets/images/readypv-icon.svg) center / contain no-repeat;
}

.readypv-organization-list .country::before {
    mask-image: url(assets/images/wordpress--map-marker.svg);
    -webkit-mask-image: url(assets/images/wordpress--map-marker.svg);
}

.readypv-organization-list .website::before {
    mask-image: url(assets/images/wordpress--globe.svg);
    -webkit-mask-image: url(assets/images/wordpress--globe.svg);
}

@media (min-width: 600px) {
    .readypv-organization-list > li {
        display: grid;
        gap: 0 var(--wp--style--block-gap);
        grid-template-columns: 150px 1fr;
        text-align: left;
    }

    .readypv-organization-list figure {
        grid-column: 1;
        grid-row: 1 / span 99;
    }

    .readypv-organization-list figure img {
        height: 100px;
    }

    .readypv-organization-list .details {
        margin: inherit;
        padding-left: 1em;
    }
}

/* Custom Post Types */
.single-organization .facility .links .source,
.single-facility .links .source {
    position: relative;
    padding-left: 1.5em;
}

.single-organization .facility .links .source::before,
.single-facility .links .source::before {
    mask-image: url(assets/images/heroicons--arrow-top-right-on-square.svg);
    -webkit-mask-image: url(assets/images/heroicons--arrow-top-right-on-square.svg);
    left: 0;
    top: 0.375em;
    position: absolute;
}

.single-organization main > ul {
    list-style: none;
    margin-top: 0;
    padding-left: 0;
}

.single-organization main > ul > li:not(:last-child) {
    border-bottom: 1px solid var(--wp--preset--color--border);
}

.single-organization .facility {
    margin: 0;
    padding-top: var(--wp--style--block-gap);
    padding-bottom: var(--wp--style--block-gap);
}

.single-organization .facility .name,
.single-organization .facility .type,
.single-organization .facility .thumbnail,
.single-organization .facility .links {
    text-align: center;
}

.single-organization .facility .name,
.single-organization .facility .type,
.single-organization .facility .thumbnail {
    font-weight: bold;
    margin: 0;
}

.single-organization .facility .name {
    font-size: 1.25rem;
}

.single-organization .facility .thumbnail {
    margin-top: var(--wp--style--block-gap);
    margin-bottom: var(--wp--style--block-gap);
}

.single-organization .facility .features ol,
.single-organization .facility .features ul {
    margin: 0;
    padding-left: 2em;
}

.single-organization .facility .features dd {
    margin-left: 0;
}

.single-organization .facility .links ul {
    list-style: none;
    padding-left: 0;
}

.single-organization .facility .links .details::before {
    mask-image: url(assets/images/heroicons--magnifying-glass-plus.svg);
    -webkit-mask-image: url(assets/images/heroicons--magnifying-glass-plus.svg);
}

@media (min-width: 600px) {
    .single-organization .facility {
        display: grid;
        gap: 0 var(--wp--style--block-gap);
        grid-template-columns: 150px 1fr;
    }

    .single-organization .facility .name,
    .single-organization .facility .type,
    .single-organization .facility .features,
    .single-organization .facility .links {
        grid-column: 2;
    }

    .single-organization .facility .name,
    .single-organization .facility .type,
    .single-organization .facility .thumbnail,
    .single-organization .facility .links {
        text-align: left;
    }

    .single-organization .facility .thumbnail {
        grid-column: 1;
        grid-row: 1 / span 4;
        margin: 0;
    }
}

.single-facility main .type,
.single-facility main figure {
    text-align: center;
}

.single-facility main .type {
    font-weight: bold;
    font-size: 1.25rem;
    margin-top: 0;
}

.single-facility main figure img {
    width: 150px;
    height: 150px;
    object-fit: cover;
}

.single-facility .links ul,
.single-facility .links ul li:first-child {
    margin-top: 0;
}

.single-facility .links ul {
    list-style: none;
    padding-left: 0;
}

.single-facility .links .provider::before {
    mask-image: url(assets/images/heroicons--arrow-uturn-left.svg);
    -webkit-mask-image: url(assets/images/heroicons--arrow-uturn-left.svg);
    vertical-align: text-bottom;
}

.single-facility .facility .features ol,
.single-facility .facility .features ul {
    margin: 0;
}

.single-facility .facility .features dd {
    margin-left: 0;
}

@media (min-width: 600px) {
    .single-facility .facility {
        display: grid;
        gap: 0 var(--wp--style--block-gap);
        grid-template-columns: 150px 1fr;
    }

    .single-facility .facility .type,
    .single-facility .facility figure {
        text-align: left;
    }

    .single-facility .facility .type,
    .single-facility .facility .features,
    .single-facility .facility .entry-content {
        grid-column: 1 / span 2;
    }

    .single-facility .facility figure {
        grid-row: 2;
        grid-column: 1;
    }
}
