:root {
    --ui-sans: -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text",
        "Segoe UI", Roboto, Helvetica, "Helvetica Neue", "Oxygen", "Ubuntu",
        "Cantarell", "Fira Sans", "Droid Sans", Arial, sans-serif,
        "Apple Color Emoji", "Twemoji Mozilla", "Segoe UI Emoji",
        "Android Emoji";
    --pp-color-gray: #53565a;
    --pp-color-dark-gray: #7f8c8d;
    --pp-color-red: #c8102e;

    --pp-color-teal: #009ca6;

    --pp-radius: 16px;
    --pp-radius-small: 4px;
    --pp-radius-large: 48px;

    --body_font: "GothamHTF", var(--ui-sans) !important;
    --heading_font: "GothamHTF", var(--ui-sans) !important;

    accent-color: #009ca6;
}

body {
    text-rendering: optimizeLegibility;
    font-variant-ligatures: common-ligatures;
    -webkit-font-smoothing: antialiased;
    font-variant: common-ligatures;
    font-feature-settings: "liga" 1, "clig" 1, "dlig" 1;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 400;
    text-transform: initial;
}
strong,
b {
    font-weight: 500;
}

/*
.has-pp-grey-color {
    color: #53565A;
}
.has-pp-grey-background-color {
    background-color: #53565A;
}

.has-pp-red-color {
    color: #C8102E;
}
.has-pp-red-background-color {
    background-color: #C8102E;
}

.has-pp-white-color {
    color: #FFFFFF;
}
.has-pp-white-background-color {
    background-color: #FFFFFF;
}

.has-pp-teal-color {
    color: #009CA6;
}
.has-pp-teal-background-color {
    background-color: #009CA6;
}
/**/

.wp-block-button__link.wp-element-button {
    transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
    font-weight: 400;
}
.wp-block-button__link.wp-element-button:hover {
    box-shadow: inset 0 0 0 256px rgb(0 0 0 / 0.25);
}

.wp-block-button__link.wp-element-button::after,
.pp--button-icon-teal::after {
    content: " \f15a";
    font-family: "akar-icons";
    display: inline-block;
    transform: translateX(0.25em);
    transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.wp-block-button__link.wp-element-button:hover::after,
.pp--button-icon-teal:hover::after {
    content: " \f15a";
    transform: translateX(0.5em);
}

.supernova-below-menu {
    background-color: #c8102e;
    box-shadow: 1024px 0 0 #c8102e, -1024px 0 0 #c8102e;
}

header nav:not(.wp-block-navigation) {
    padding-bottom: 0 !important;
}

header nav:not(.wp-block-navigation) #menu-below-header-menu {
    justify-content: space-around;
    text-align: center;
}
header nav:not(.wp-block-navigation) #menu-below-header-menu li {
    position: relative;
    flex: 1;
    background-color: #c8102e;
}
header nav:not(.wp-block-navigation) #menu-below-header-menu li a {
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
    padding: 20px 12px 20px 12px;
    color: #ffffff;

    position: relative; /* Ensure the text stays above the movable background */
    z-index: 1;
}

header
    nav:not(.wp-block-navigation)
    #menu-below-header-menu
    li.current-menu-item {
    background-color: #009ca6;
}
header
    nav:not(.wp-block-navigation)
    #menu-below-header-menu
    li.current-menu-item
    a {
    font-weight: 600;
}

/**
 * Header Navigation Toggle
 */
header nav:not(.wp-block-navigation) ul li.toggle-nav {
    width: 40px;
    height: 40px;
    cursor: pointer;
    background: transparent;
    padding: 6px;
    position: relative;
    z-index: 99999;
}
header nav:not(.wp-block-navigation) ul li.toggle-nav a {
    font-size: 0;
    display: inline-block;
    width: 20px;
    height: 2px;
    background: #ffffff;
    margin: auto;
    padding: 0 !important;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
header nav:not(.wp-block-navigation) ul li.toggle-nav a:after,
header nav:not(.wp-block-navigation) ul li.toggle-nav a:before {
    transition: top 0.2s 0.4s ease, transform 0.3s ease;
    content: "";
    position: absolute;
    top: -6px;
    right: 0;
    background: #ffffff;
    display: inline-block;
    width: 12px;
    height: 2px;
}
header nav:not(.wp-block-navigation) ul li.toggle-nav a:after {
    width: 16px;
}
header nav:not(.wp-block-navigation) ul li.toggle-nav a:before {
    top: 6px;
}

header nav:not(.wp-block-navigation) ul li.toggle-nav:hover {
    background: #c8102e;
}
header nav:not(.wp-block-navigation) ul li.toggle-nav:hover a,
header nav:not(.wp-block-navigation) ul li.toggle-nav:hover a:after,
header nav:not(.wp-block-navigation) ul li.toggle-nav:hover a:before {
    background: #ecf0f1;
}

.pp--subsite header nav:not(.wp-block-navigation) ul li.toggle-nav {
    background: #ecf0f1;
}
.pp--subsite header nav:not(.wp-block-navigation) ul li.toggle-nav a,
.pp--subsite header nav:not(.wp-block-navigation) ul li.toggle-nav a:after,
.pp--subsite header nav:not(.wp-block-navigation) ul li.toggle-nav a:before {
    background: #53565a;
}
.pp--subsite header nav:not(.wp-block-navigation) ul li.toggle-nav:hover {
    background: #53565a;
}
.pp--subsite header nav:not(.wp-block-navigation) ul li.toggle-nav:hover a,
.pp--subsite
    header
    nav:not(.wp-block-navigation)
    ul
    li.toggle-nav:hover
    a:after,
.pp--subsite
    header
    nav:not(.wp-block-navigation)
    ul
    li.toggle-nav:hover
    a:before {
    background: #ecf0f1;
}

header nav:not(.wp-block-navigation) {
    padding: 0 0 0 0 !important;
}
.pp--subsite .menu-logo-large {
    text-align: left;
}
.pp--subsite .pp--tagline {
    font-size: 20px;
    font-weight: 500;
    margin: 0.35em 0 0 0;
    color: #53565a;
    text-align: left;
    text-transform: uppercase;
    line-height: 1;
}

.pp--subsite #site-menu {
    min-width: 33%;
    background: linear-gradient(
        45deg,
        rgba(200, 16, 46, 1) 0%,
        rgba(200, 16, 46, 1) 25%,
        rgba(0, 156, 166, 1) 100%
    );
}

.supernova-pp-menu-hover {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 0;
    background: #009ca6;
    transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.pp--shadow {
    box-shadow: 0 0 16px rgb(0 0 0 / 5%), 0 0 32px rgb(0 0 0 / 2.5%);
}

.supernova-pp--agent-cards.flickity-enabled {
    padding: 1em;
    background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%);
}
.supernova-pp--agent-cards.flickity-resize .supernova-pp--agent-card {
    min-height: 100%;
}

#featured-agent-container .supernova-pp--agent-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 2em;
}
@media (max-width: 768px) {
    #featured-agent-container .supernova-pp--agent-cards {
        grid-template-columns: repeat(1, 1fr);
    }
}

.supernova-pp--agent-card {
    display: flex;
    flex-direction: column;

    background: #ffffff;
    padding: 2em;

    margin: 0 1em;
    width: calc(100% / 2 - 2em);
    min-width: 0;
}

@media (max-width: 768px) {
    .supernova-pp--agent-card {
        width: calc(100% / 1 - 2em);
    }
}

.supernova-pp--agent-card-single {
    background-color: var(--wp--preset--color--pp-light-grey);

    width: 100%;
    width: -webkit-fill-available;
}
.supernova-pp--agent-card h4,
.supernova-pp--agent-card-single h4 {
    text-transform: uppercase;
}
.supernova-pp--agent-card h4 a,
.supernova-pp--agent-card-single h4 a {
    text-decoration: none;
}

.supernova-pp--agent-card-logo {
    background: #ffffff;
}
.supernova-pp--agent-card-logo img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.supernova-pp--agent-card h4 {
    font-size: 18px;
    font-weight: 500;
    margin: 0;
}
.supernova-pp--agent-card-single h4 {
    font-size: 24px;
}

.supernova-pp--agent-card p {
    font-size: 15px;
}
.supernova-pp--agent-card p i {
    color: var(--pp-color-dark-gray);
}

.supernova-pp--agent-input {
    font-family: inherit;
    font-size: 16px;
    padding: 1em 2em;
    border: 2px solid #53565a;
    border-radius: var(--pp-radius-large);
    width: 100%;
}
.supernova-pp--agent-scroll {
    display: block;
    font-size: 14px;
    background-color: #ecf0f1;
    margin: 0 auto;
    width: fit-content;
    padding: 0.25em 1em;
    border-radius: 0 0 var(--pp-radius) var(--pp-radius);
    box-shadow: inset 0 10px 10px rgba(0, 0, 0, 0.05);
}

.supernova-pp--agent-card .pp--buttons {
    margin-top: auto;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1em;
}

.supernova-pp--featured-agent-cards > div {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 2em;
    align-items: center;
}

@media (max-width: 768px) {
    .supernova-pp--featured-agent-cards > div {
        grid-template-columns: repeat(1, 1fr);
    }
}

.supernova-pp--agent-scroll--inverted {
    background-color: lavender;
    border-radius: var(--pp-radius) var(--pp-radius) 0 0;
    box-shadow: inset 0 -10px 10px rgba(0, 0, 0, 0.05);
}
.supernova-pp--branch-map-wrap {
    margin: 0;
    display: grid;
    justify-items: center;
    background: lavender;
    border-radius: var(--pp-radius);
}
.supernova-pp--branch-map {
    position: relative;
    margin: 0;
    background: lavender;
}

@media (max-width: 768px) {
    .supernova-pp--branch-map-wrap,
    .supernova-pp--agent-scroll.supernova-pp--agent-scroll--inverted {
        _display: none;
    }
}

.pp--button {
    padding: calc(0.667em + 2px) calc(1.333em + 2px);
    text-decoration: none;
    border-radius: var(--pp-radius-small);
    font-size: 15px;
    font-weight: 400;
    transition: box-shadow 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.pp--button:hover {
    color: #ffffff;
    box-shadow: inset 0 0 0 256px rgb(0 0 0 / 0.25);
}
.pp--button-primary {
    background-color: #53565a;
    color: #ffffff;
}
.pp--button-secondary {
    background-color: #ecf0f1;
    color: #53565a;
}

.pp--button-icon-red {
    color: #c8102e;
    background-color: #c8102e40; /* 80 is half (50% transparency), 40 is a quarter (25% transparency) */
    padding: calc(0.667em + 2px) calc(1em + 2px);
}
.pp--button-icon-teal {
    /*
    color: #009ca6;
    background-color: #009ca640; /* 80 is half (50% transparency), 40 is a quarter (25% transparency) */
    padding: calc(0.667em + 2px) calc(1em + 2px);

    color: #ffffff;
    background-color: #009ca640;
    border-style: none;
    border-width: 0px;
    border-radius: 0;
    background-color: #009ca6;
    padding-top: 10px;
    padding-bottom: 10px;
}
.pp--button-icon-teal--secondary {
    background-color: #009ca680;
}

.supernova-pp--agent-card .pp--button-primary {
    margin-right: auto; /* Needs to push email and phone to the right */
}

h1.entry-title {
    font-size: 24px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
}

.flickity-prev-next-button.previous {
    left: 0;
    transform: translateX(-200%) translateY(-50%);
}
.flickity-prev-next-button.next {
    right: 0;
    transform: translateX(200%) translateY(-50%);
}

.pp--subsite #side-menu {
    background: linear-gradient(
        45deg,
        var(--pp-color-gray),
        var(--primarycolor)
    );
}

:not(.pp--subsite) [data-type="agent-finder"] .leaflet-tile {
    filter: hue-rotate(300deg) saturate(1000%) brightness(0.8) contrast(2) !important;
}

:not(.pp--subsite) .property-card--tatler .property-card--logo {
    display: block;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.25;
    color: var(--pp-color-gray);
}

:not(.pp--subsite) .property-card--logo {
    width: 100%;
    display: block;
    z-index: 1;
    background-color: #ecf0f1;
    padding: 0.5em 1em;
    text-transform: uppercase;
    line-height: 1.25;
    font-weight: 500;
    font-size: 14px;
    color: var(--pp-color-gray);
    _border-top: 1px solid var(--pp-color-gray);
}

:not(.pp--subsite) .property-card--logo .property-card-logo--brand {
    font-weight: 400;
    display: inline-block;
    padding-right: 0.5em;
    margin-right: 0.5em;
    border-right: 2px solid var(--pp-color-red);
}
:not(.pp--subsite) .property-card--logo .property-card-logo--brand b {
    font-weight: 500;
}

.leaflet-container a {
    color: var(--pp-color-red) !important;
}

.property-grid--button-group button:nth-child(3) {
    _display: none;
}

.border--paper {
    box-shadow: -16px -16px 0 var(--pp-color-red);
}
.background--glass {
    background-color: #7f8c8d40 !important;
    backdrop-filter: blur(12px);
    border-radius: var(--pp-radius);
    max-width: 768px;
}
.wp-block-media-text > .wp-block-media-text__content {
    padding: 0 0%;
}
.wp-block-media-text.is-style-rounded-borders {
    gap: 2em;
    grid-template-columns: 50% 1fr;
}

/**
 * Expandable sections
 */
:root {
    --expandable-hero-height: 300px;
    --expandable-hero-easing: cubic-bezier(0.16, 1, 0.3, 1);
}
.expandable-boxes {
    position: relative;
    color: #ffffff;

    display: flex;
    flex-wrap: nowrap;
    gap: 0;
}

.expandable-box {
    position: relative;
    width: 50%;
    height: 500px;
    box-sizing: border-box;
    transition: all 1.2s var(--expandable-hero-easing);

    filter: url("#flt_tag");
}

.flt_svg {
    visibility: hidden;
    position: absolute;
    width: 0;
    height: 0;
}

.expandable-box:first-child {
}
.expandable-box:last-child {
}

.expandable-box .expandable-box--inner {
    display: flex;
    flex-direction: column;

    position: relative;
    height: 100%;
    padding: 1em;

    transition: all 1.2s var(--expandable-hero-easing);
}

.expandable-box:first-child .expandable-box--inner {
    background: transparent
        url("https://propertypartners.ie/wp-content/uploads/2024/08/2524778d96555901f9ad4bd72f83920b1fb695f6f7261.jpg")
        no-repeat center center / cover;
    clip-path: polygon(0 0, 90% 0, 100% 100%, 0% 100%);
}
.expandable-box:last-child .expandable-box--inner {
    background: transparent
        url("https://propertypartners.ie/wp-content/uploads/2024/08/252477936aeaa5d3f860b13c707bcb16270775c6f7261.jpg")
        no-repeat center center / cover;
    clip-path: polygon(0% 0, 100% 0, 100% 100%, 10% 100%);
}

.expandable-box.open:first-child .expandable-box--inner {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}
.expandable-box.open:last-child .expandable-box--inner {
    clip-path: polygon(0% 0, 100% 0, 100% 100%, 0 100%);
}

.expandable-box .hidden-stuff {
    display: none;
}
.expandable-box.open .hidden-stuff {
    display: block;
}

.expandable-box .expandable-box--inner::before {
    _background: rgba(200, 16, 46, 0.25);
    backdrop-filter: blur(0);

    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;

    transition: all 1.2s var(--expandable-hero-easing);
}
.expandable-box.open .expandable-box--inner::before {
    background: rgba(200, 16, 46, 0.75);
    backdrop-filter: blur(4px);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
}

.expandable-box .expandable-box--inner h2 {
    font-size: 36px;
    font-weight: 400;
    margin: 0;
}

.expandable-box.open {
    width: 95%;
}
.expandable-box.out {
    width: 5%;
}

.expandable-box.out p {
    display: none;
}
.expandable-box.out h2 {
    writing-mode: tb-rl;
}
.expandable-box.out .expandable-box--inner {
    padding: 2em 0;
}

.expandable-box:first-child .expandable-box--inner .firstHalf {
    justify-content: flex-end;
    align-items: center;
}
.expandable-box:last-child .expandable-box--inner .firstHalf {
    justify-content: flex-end;
    align-items: center;
}

.expandable-box:first-child .ai-chevron-right {
    position: absolute;
    right: 0.25em;
    bottom: 0.05em;
    font-size: 48px;
    z-index: 4;
}
.expandable-box:last-child .ai-chevron-left {
    position: absolute;
    left: 0.25em;
    top: 0.05em;
    font-size: 48px;
    z-index: 4;
}

.firstHalf {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;
    gap: 2em;
    height: 100%;
}

.expandable-box.open .expandable-box--inner .firstHalf {
    justify-content: space-evenly;
}

.hidden-stuff ul {
    margin: 0;
    padding: 0;
    display: flex;
    gap: 2em;
}
.hidden-stuff ul li {
    display: flex;
    margin: 0;
    padding: 0;
}
.hidden-stuff ul li a {
    color: #ffffff;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 4em;

    width: 128px;
    _background-color: rgba(255, 255, 255, 0);
    _backdrop-filter: blur(8px);
    _border-radius: var(--pp-radius);

    transition: transform 1.2s var(--expandable-hero-easing);
}
.hidden-stuff ul li a:hover {
    transform: translateY(-0.5em);
}

.hidden-stuff ul li i, /* Akaricons */
.hidden-stuff ul li .svg-inline--fa /* Font Awesome */ {
    font-size: 48px;
}
.hidden-stuff ul li .svg-inline--fa /* Font Awesome */ {
    margin-bottom: 0.5em;
}
.hidden-stuff ul li a span {
    font-weight: 400;
    font-size: 24px;
}

/* -== ALTERNATE VERSION ==- */
/**/
.expandable-box:first-child {
    transform: translateX(2em);
}
.expandable-box:first-child::before {
    content: "";
    position: absolute;
    background: var(--pp-color-red);
    top: 0;
    left: -4em;
    right: 50%;
    bottom: 0;
}
.expandable-box:last-child {
    transform: translateX(-2em);
}
.expandable-box:last-child::before {
    content: "";
    position: absolute;
    background: var(--pp-color-gray);
    top: 0;
    left: 50%;
    right: -4em;
    bottom: 0;
}

.expandable-box:first-child .expandable-box--inner::before {
    background: linear-gradient(
        -145deg,
        #c8102e80 0%,
        #c8102e80 10%,
        transparent 100%
    );
    background: #c8102e40;
}
.expandable-box:last-child .expandable-box--inner::before {
    background: linear-gradient(
        25deg,
        #53565a80 0%,
        #53565a80 10%,
        transparent 100%
    );
    background: #53565a40;
}

.expandable-box.open:first-child .expandable-box--inner::before {
    background: linear-gradient(-145deg, #c8102e 0%, #c8102e 10%, #c8102e 100%);
    background: #c8102e;
}
.expandable-box.open:last-child .expandable-box--inner::before {
    background: linear-gradient(25deg, #53565a 0%, #53565a 10%, #53565a 100%);
    background: #53565a;
}

.expandable-box.open {
    width: 98%; /* 85% */
    z-index: 3;
}
.expandable-box.out {
    width: 2%; /* 15% */
}

.single.single-property .grid-single-property {
    margin: 0 auto;
}
/**/

.wp-block-social-link,
.wp-block-outermost-social-sharing-link {
    border-radius: 0;
}

.wp-block-separator.has-background:not(.is-style-dots) {
    border-bottom: none !important;
    height: 2px !important;
}

.supernova-aside--title img {
    padding: 0 !important;
}

.wp4pm button,
#cf9-form input[type="submit"],
.wppd-ui--button.gr-property-submit {
    background-color: #009ca6;
    color: #ffffff;
    font-family: inherit;
    border: 0 none;
}
#cf9-form input[type="submit"] {
    padding: 10px 18px;
}
.tail-select .tail--close {
    background-color: #009ca6 !important;
    color: #ffffff !important;
}

details.wp-block-details.is-style-supernova {
    border-radius: 0;
}
details.wp-block-details.is-style-supernova:hover {
    border-left-color: var(--pp-color-teal);
}
details.wp-block-details.is-style-supernova summary {
    font-weight: 500;
}

#user-address-container,
#user-location-container,
#closest-sites-container,
#map[data-type="agent-finder"] {
    padding-left: 1em;
    padding-right: 1em;
}

@media (max-width: 768px) {
    .pp--subsite.home .wp-block-buttons .wp-block-button,
    .pp--subsite.home
        .wp-block-buttons
        .wp-block-button
        .wp-block-button__link {
        width: 100%;
    }

    .single.single-property .grid-single-property {
        padding-top: 82px;
    }

    .tail-select .tail--search,
    .tail-select input[type="text"].tail--search,
    #wp4pm-search input:not(.tail--search),
    #wp4pm-search input[type="text"]:not(.tail--search),
    #wp4pm-search select,
    .wp4pm button {
        font-size: 16px !important;
    }
    .wp4pm button {
        padding: 16px 16px;
    }
    .tail-select .tail--search,
    .tail-select input[type="text"].tail--search {
        padding: 8px 72px 8px 2px !important;
    }
}
