:root {
    --font_default:
        -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial,
        sans-serif, "Segoe UI Symbol", "Apple Color Emoji", "Segoe UI Emoji";

    interpolate-size: allow-keywords;
}

:target {
    scroll-margin-block-start: 2em;
}

* {
    box-sizing: border-box;
}

@media (prefers-reduced-motion: no-preference) {
    html {
        scroll-behavior: smooth;
    }
}

@media screen and (prefers-reduced-motion: reduce), (update: slow) {
    *,
    *::before,
    *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
    }
}

body {
    font-family: var(--font_default);
    font-family: var(--body_font);
    position: relative;
    font-size: var(--supernova-global-font-base, 16px);
    line-height: 1.5;
    color: #2c3e50;
    color: var(--body-text);
    background-color: #ffffff;
    background-color: var(--body-background);
    margin: 0;
    overflow-x: hidden;
}

svg:not(:root).svg-inline--fa {
    overflow: visible;
}
.svg-inline--fa {
    display: inline-block;
    font-size: inherit;
    height: 1em;
    overflow: visible;
    vertical-align: -0.125em;
}
.svg-inline--fa.fa-lg {
    vertical-align: -0.225em;
}
.svg-inline--fa.fa-w-1 {
    width: 0.0625em;
}
.svg-inline--fa.fa-w-2 {
    width: 0.125em;
}
.svg-inline--fa.fa-w-3 {
    width: 0.1875em;
}
.svg-inline--fa.fa-w-4 {
    width: 0.25em;
}
.svg-inline--fa.fa-w-5 {
    width: 0.3125em;
}
.svg-inline--fa.fa-w-6 {
    width: 0.375em;
}
.svg-inline--fa.fa-w-7 {
    width: 0.4375em;
}
.svg-inline--fa.fa-w-8 {
    width: 0.5em;
}
.svg-inline--fa.fa-w-9 {
    width: 0.5625em;
}
.svg-inline--fa.fa-w-10 {
    width: 0.625em;
}
.svg-inline--fa.fa-w-11 {
    width: 0.6875em;
}
.svg-inline--fa.fa-w-12 {
    width: 0.75em;
}
.svg-inline--fa.fa-w-13 {
    width: 0.8125em;
}
.svg-inline--fa.fa-w-14 {
    width: 0.875em;
}
.svg-inline--fa.fa-w-15 {
    width: 0.9375em;
}
.svg-inline--fa.fa-w-16 {
    width: 1em;
}
.svg-inline--fa.fa-w-17 {
    width: 1.0625em;
}
.svg-inline--fa.fa-w-18 {
    width: 1.125em;
}
.svg-inline--fa.fa-w-19 {
    width: 1.1875em;
}
.svg-inline--fa.fa-w-20 {
    width: 1.25em;
}
.svg-inline--fa.fa-pull-left {
    margin-right: 0.3em;
    width: auto;
}
.svg-inline--fa.fa-pull-right {
    margin-left: 0.3em;
    width: auto;
}
.svg-inline--fa.fa-border {
    height: 1.5em;
}
.svg-inline--fa.fa-li {
    width: 2em;
}
.svg-inline--fa.fa-fw {
    width: 1.25em;
}
.fa-layers svg.svg-inline--fa {
    bottom: 0;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
}
.fa-layers {
    display: inline-block;
    height: 1em;
    position: relative;
    text-align: center;
    vertical-align: -0.125em;
    width: 1em;
}
.fa-layers svg.svg-inline--fa {
    -webkit-transform-origin: center center;
    transform-origin: center center;
}
.fa-layers-counter,
.fa-layers-text {
    display: inline-block;
    position: absolute;
    text-align: center;
}
.fa-layers-text {
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transform-origin: center center;
    transform-origin: center center;
}
.fa-layers-counter {
    background-color: #ff253a;
    border-radius: 1em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    height: 1.5em;
    line-height: 1;
    max-width: 5em;
    min-width: 1.5em;
    overflow: hidden;
    padding: 0.25em;
    right: 0;
    text-overflow: ellipsis;
    top: 0;
    -webkit-transform: scale(0.25);
    transform: scale(0.25);
    -webkit-transform-origin: top right;
    transform-origin: top right;
}
.fa-layers-bottom-right {
    bottom: 0;
    right: 0;
    top: auto;
    -webkit-transform: scale(0.25);
    transform: scale(0.25);
    -webkit-transform-origin: bottom right;
    transform-origin: bottom right;
}
.fa-layers-bottom-left {
    bottom: 0;
    left: 0;
    right: auto;
    top: auto;
    -webkit-transform: scale(0.25);
    transform: scale(0.25);
    -webkit-transform-origin: bottom left;
    transform-origin: bottom left;
}
.fa-layers-top-right {
    right: 0;
    top: 0;
    -webkit-transform: scale(0.25);
    transform: scale(0.25);
    -webkit-transform-origin: top right;
    transform-origin: top right;
}
.fa-layers-top-left {
    left: 0;
    right: auto;
    top: 0;
    -webkit-transform: scale(0.25);
    transform: scale(0.25);
    -webkit-transform-origin: top left;
    transform-origin: top left;
}
.fa-lg {
    font-size: 1.3333333333em;
    line-height: 0.75em;
    vertical-align: -0.0667em;
}
.fa-xs {
    font-size: 0.75em;
}
.fa-sm {
    font-size: 0.875em;
}
.fa-1x {
    font-size: 1em;
}
.fa-2x {
    font-size: 2em;
}
.fa-3x {
    font-size: 3em;
}
.fa-4x {
    font-size: 4em;
}
.fa-5x {
    font-size: 5em;
}
.fa-6x {
    font-size: 6em;
}
.fa-7x {
    font-size: 7em;
}
.fa-8x {
    font-size: 8em;
}
.fa-9x {
    font-size: 9em;
}
.fa-10x {
    font-size: 10em;
}
.fa-fw {
    text-align: center;
    width: 1.25em;
}
.fa-ul {
    list-style-type: none;
    margin-left: 2.5em;
    padding-left: 0;
}
.fa-ul > li {
    position: relative;
}
.fa-li {
    left: -2em;
    position: absolute;
    text-align: center;
    width: 2em;
    line-height: inherit;
}
.fa-border {
    border: solid 0.08em #eee;
    border-radius: 0.1em;
    padding: 0.2em 0.25em 0.15em;
}
.fa-pull-left {
    float: left;
}
.fa-pull-right {
    float: right;
}
.fa.fa-pull-left,
.fab.fa-pull-left,
.fal.fa-pull-left,
.far.fa-pull-left,
.fas.fa-pull-left {
    margin-right: 0.3em;
}
.fa.fa-pull-right,
.fab.fa-pull-right,
.fal.fa-pull-right,
.far.fa-pull-right,
.fas.fa-pull-right {
    margin-left: 0.3em;
}
.fa-spin {
    -webkit-animation: fa-spin 2s infinite linear;
    animation: fa-spin 2s infinite linear;
}
.fa-pulse {
    -webkit-animation: fa-spin 1s infinite steps(8);
    animation: fa-spin 1s infinite steps(8);
}
@-webkit-keyframes fa-spin {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
@keyframes fa-spin {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
.fa-rotate-90 {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}
.fa-rotate-180 {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}
.fa-rotate-270 {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
}
.fa-flip-horizontal {
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1);
}
.fa-flip-vertical {
    -webkit-transform: scale(1, -1);
    transform: scale(1, -1);
}
.fa-flip-both,
.fa-flip-horizontal.fa-flip-vertical {
    -webkit-transform: scale(-1, -1);
    transform: scale(-1, -1);
}
:root .fa-flip-both,
:root .fa-flip-horizontal,
:root .fa-flip-vertical,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-rotate-90 {
    -webkit-filter: none;
    filter: none;
}
.fa-stack {
    display: inline-block;
    height: 2em;
    position: relative;
    width: 2.5em;
}
.fa-stack-1x,
.fa-stack-2x {
    bottom: 0;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
}
.svg-inline--fa.fa-stack-1x {
    height: 1em;
    width: 1.25em;
}
.svg-inline--fa.fa-stack-2x {
    height: 2em;
    width: 2.5em;
}
.fa-inverse {
    color: #fff;
}
.sr-only {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}
.svg-inline--fa .fa-primary {
    fill: var(--fa-primary-color, currentColor);
    opacity: 1;
    opacity: var(--fa-primary-opacity, 1);
}
.svg-inline--fa .fa-secondary {
    fill: var(--fa-secondary-color, currentColor);
    opacity: 0.4;
    opacity: var(--fa-secondary-opacity, 0.4);
}
.svg-inline--fa.fa-swap-opacity .fa-primary {
    opacity: 0.4;
    opacity: var(--fa-secondary-opacity, 0.4);
}
.svg-inline--fa.fa-swap-opacity .fa-secondary {
    opacity: 1;
    opacity: var(--fa-primary-opacity, 1);
}
.svg-inline--fa mask .fa-primary,
.svg-inline--fa mask .fa-secondary {
    fill: #000;
}
.fad.fa-inverse {
    color: #fff;
}

input,
button,
select,
textarea {
    font-family: var(--font_default);
    font-family: var(--body_font);
}
input::placeholder {
    overflow: visible;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"] {
    font-family: inherit;
}

a:not(:where(.wp-element-button, .wp-block-button__link)) {
    color: var(--ui-link-colour, #7f8c8d);
}

a:not(:where(.wp-element-button, .wp-block-button__link)):hover {
    color: var(--ui-link-colour-hover, #2c3e50);
    text-decoration: none;
}

@keyframes wobble {
    0% {
        transform: translateY(-8px);
        opacity: 1;
    }
    100% {
        transform: translateY(8px);
        opacity: 0.25;
    }
}

/**
 * Attachment template
 */
.single-attachment .wrap-content {
    min-height: auto;
}
.attachment-image {
    text-align: center;
}
.attachment-image img {
    border-radius: 3px;
    max-width: 100%;
    height: auto;
}

.rounded-discrete {
    border-radius: 3px;
}

.hidden,
.property-group-switch label.hidden {
    display: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
.property-card--title {
    font-family: var(--heading_font);
}

/**
 * Gutenberg Overrides
 */
.wp-block-button.is-style-squared a,
.wp-block-media-text__media img,
.wp-block-image img {
    height: auto;
}
.wp-block-image {
    margin: 0;
}

.wp-block-embed {
    margin: 0 0 1em 0;
}
.wp-block-embed iframe,
iframe {
    border: 0 none;
    border-radius: 3px;
}

/*
.wp-block-cover, .wp-block-cover-image {
    height: auto;
}
/**/

/* Fix for https://github.com/WordPress/gutenberg/pull/60489 */
/*
@media all and (min-width: 768px) {
    .wp-block-group.alignwide,
    .wp-block-group.alignfull {
        display: flex;
    }
}
.wp-block-cover,
.wp-block-group {
    justify-content: center;
}
.wp-block-cover.alignwide > .is-layout-constrained,
.wp-block-group.alignwide > .is-layout-constrained,
.wp-block-cover.alignfull > .is-layout-constrained,
.wp-block-group.alignfull > .is-layout-constrained {
    max-width: var(--wp--style--global--content-size);
}
/**/

.wrap,
.wrap-inner,
.wrap--content,
header.wrap nav:not(.wp-block-navigation) {
    max-width: var(--content_width);
}

.wrap.wrap--blank-page,
.wrap.wrap--landing-page {
    padding: 0 1em;
}

.wrap--content {
    margin-left: auto;
    margin-right: auto;
}

.single-post .wrap-inner {
    max-width: 920px;
}
.single-post .wrap-inner.wrap-inner-has-sidebar {
    max-width: var(--content_width);
}
.single-post .wrap-inner.wrap-inner-has-sidebar .col-4 {
    padding-left: 48px;
}
.single-post .wrap-inner.wrap-inner-fullwidth {
    padding-top: 0;
}

header nav:not(.wp-block-navigation) ul.wrap,
header.wrap nav:not(.wp-block-navigation),
header.wrap nav,
.wrap {
    margin: 0 auto;
}

/*
:root :where(a:where(:not(.wp-element-button))) {
    text-decoration: initial;
}
/**/

.wrap-inner {
    margin: 24px auto 0 auto;
}
.wrap-inner h1 {
    font-weight: 700;
    font-size: 32px;
    padding: 0;
    margin: 48px 0;
}
.wrap-content {
    min-height: 800px;
}
.wrap-content img {
    max-width: 100%;
    height: auto;
}

.page-template-page-blank .supernova-header,
.page-template-page-blank .supernova-footer,
.page-template-page-core-ai .supernova-header,
.page-template-page-core-ai .supernova-footer {
    display: none;
}

p#breadcrumb,
.yoast-breadcrumbs,
.wrap-content p#breadcrumbs {
    font-size: 14px;
    margin: 1em 0;
}

.page-template-default .wrap-content-inner {
    margin: 24px 0 0 0;
}
/**/

.floatleft {
    float: left;
    margin: 0 24px 24px 0;
}
.floatright {
    float: right;
    margin: 0 0 24px 24px;
}

/**
 * Header Navigation
 */
header {
    width: 100%;
    position: relative;
    color: var(--header_menu_text_colour);
}
header nav:not(.wp-block-navigation) {
    position: relative;
    z-index: 5;
    padding: 8px 0 8px 0;
    background-color: var(--header_background_colour);
}
header nav:not(.wp-block-navigation) .sub-menu {
    background-color: var(--header_background_colour);
}
header nav:not(.wp-block-navigation) ul {
    display: flex;
    align-items: var(--ui-nav-align, center);
    justify-content: var(--ui-nav-justify, flex-end);

    padding: 0;
    text-align: right;
    position: relative;
    height: auto;
    margin: 0 24px;
}
header nav:not(.wp-block-navigation) ul li {
    margin: 0;
    padding: 0;
    list-style: none;
    display: inline-block;
}
header nav:not(.wp-block-navigation) ul li a {
    font-weight: var(--ui-nav-weight, 400);
    font-size: var(--ui-nav-size, 14px);
    text-decoration: none;
    color: var(--header_menu_text_colour);
    display: inline-block;
    padding: 16px 12px 16px 12px;
    white-space: nowrap;
}
header nav:not(.wp-block-navigation) ul li a:hover {
    color: var(--header_menu_hover_colour);
}

header nav:not(.wp-block-navigation) ul > li > ul > li a:has(hr) {
    padding: 0;
}

header.header-spacing--relaxed nav:not(.wp-block-navigation) ul li a {
    padding: 16px 24px 16px 24px;
}

header nav:not(.wp-block-navigation) ul li > a:not(:only-child):after {
    font-family: system-ui, sans-serif;
    opacity: 0.75;
    content: " \23F7";
}

header nav:not(.wp-block-navigation) ul#menu-primary-pipes-menu li a {
    padding: 8px 0 8px 16px;
    font-size: 13px;
}
header nav:not(.wp-block-navigation) ul#menu-secondary-pipes-menu li a {
    padding: 8px 0 0 8px;
    font-size: 13px;
}

header nav:not(.wp-block-navigation) ul li.menu--highlight a {
    background: var(--header-highlight-background-colour);
    border-radius: 3px;

    margin-left: 8px;
    margin-right: 8px;

    padding-left: 16px;
    padding-right: 16px;
}
header nav:not(.wp-block-navigation) ul li.menu--highlight a:hover {
    color: var(--header_menu_text_colour, red);
}

header nav:not(.wp-block-navigation) #menu-primary-menu > li > ul {
    background-color: var(--header_background_colour);
}

header nav:not(.wp-block-navigation) .current-menu-parent > a,
header nav:not(.wp-block-navigation) .current_page_parent > a,
header nav:not(.wp-block-navigation) .current_page_item a {
    color: var(--header_menu_hover_colour);
}

/**
 * Header Logo
 */
header nav:not(.wp-block-navigation) .pull-left {
    margin-right: 24px;
    margin-right: auto;
}
header nav:not(.wp-block-navigation) .custom-logo {
    width: auto;
    max-height: 60px;

    transition: all 0.3s;
}
header nav:not(.wp-block-navigation) .custom-logo-link {
    padding-top: 0;
    padding-bottom: 0;
}

header nav:not(.wp-block-navigation) .menu-logo-large:not(:empty) {
    font-size: 0;
}

/**
 * Sticky Header
 */
header.header-sticky {
    position: sticky;
    z-index: 29;
    top: 0;
}
header.header-sticky nav:not(.wp-block-navigation) {
    position: relative;

    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.05);

    padding: 8px 24px 8px 24px;
}
header.header-sticky nav.nav-scrolled:not(.wp-block-navigation) .custom-logo {
    max-height: 60px;
}

/**
 * Sticky Header: Alpha
 */
header.has-header.header-sticky {
    position: sticky;
    z-index: 29;

    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.05);
}
header.has-header.header-sticky.has-scrolled
    nav:not(.wp-block-navigation)
    .custom-logo {
    max-height: 60px;
}

/**
 * Floated Header
 */
header.has-header--legacy.header-floated,
header.has-header.header-floated {
    position: fixed;
    top: 0;
    z-index: 29;
}

/**
 * Sticky Header (padded)
 */
header.header-padded nav:not(.wp-block-navigation) {
    margin: 16px;

    transition: margin 0.15s ease-out;
}
header.header-padded nav.nav-scrolled:not(.wp-block-navigation) {
    margin: 0;
}

/**
 * Sticky Header (cluster)
 */
header.header-cluster nav:not(.wp-block-navigation) {
    margin: 0.667em 1.334em;
    border-radius: 128px;
}

/**
 * Sticky Header (rounded)
 */
header.header-rounded nav:not(.wp-block-navigation),
header.header-rounded nav:not(.wp-block-navigation) .sub-menu {
    border-radius: 3px;
}

/**
 * Sticky Header (floated, transparent)
 */
.single.single-property header.header-transparent-forced-white {
    position: sticky;
}

header.header-sticky.header-transparent nav:not(.nav-scrolled),
.page-template-page-landing
    header.header-sticky.header-transparent-forced-white
    nav:not(.nav-scrolled) {
    box-shadow: none;
    background-color: transparent;
}
.page-template-page-landing
    header.header-sticky.header-transparent-forced-white
    nav:not(.nav-scrolled)
    > ul:not(.sub-menu)
    > li:not(.current_page_item)
    > a {
    color: #ffffff;
}
.page-template-page-landing
    header.header-sticky.header-transparent-forced-white
    nav:not(.nav-scrolled)
    > ul:not(.sub-menu)
    > li:not(.current_page_item)
    > a:hover {
    color: var(--header_menu_hover_colour);
}

/**
 * Header (transparent on homepage only)
 */
header.header-home-transparent {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 29;
}
.home header.header-home-transparent nav:not(.nav-scrolled) {
    box-shadow: none;
    background-color: transparent;
}
.home
    header.header-home-transparent
    nav:not(.nav-scrolled)
    > ul:not(.sub-menu)
    > li:not(.current_page_item)
    > a {
    color: #ffffff;
}
.home
    header.header-home-transparent
    nav:not(.nav-scrolled)
    > ul:not(.sub-menu)
    > li:not(.current_page_item)
    > a:hover {
    color: var(--header_menu_hover_colour);
}

/**
 * Sticky Header (modern)
 */
header.header-sticky-modern {
    will-change: transform;

    position: -webkit-sticky;
    position: sticky;
    z-index: 32;
    top: 0;
    left: 0;
    right: 0;
}

/**
 * Compact Header
 */
header.header-compact nav:not(.wp-block-navigation) ul li a {
    padding-top: 8px;
    padding-bottom: 8px;
}
header.header-compact nav:not(.wp-block-navigation) .custom-logo-link {
    padding-top: 0;
}
header.header-compact
    nav:not(.wp-block-navigation)
    ul#menu-primary-pipes-menu
    li
    a {
    padding: 8px 0 4px 16px;
}

/**
 * Rightside Logo Header
 */
header.header-logo-right nav:not(.wp-block-navigation) .pull-left {
    margin-left: auto;
    margin-right: 0;
    order: 999;
}

/**
 * Template Part Header (alpha)
 */
header.has-header .wp-block-columns {
    margin-bottom: 0;
}
header.has-header > nav:not(.wp-block-navigation) {
    padding: 0 0 0 0;
}

/**
 * Multilevel menu
 */
header nav:not(.wp-block-navigation) ul > li > ul {
    text-align: left;
    margin: -16px 0 0 0;
    padding: 0;
    display: none;
    position: absolute;
    z-index: 1;
    background-color: #ffffff;
    min-width: 240px;
    height: auto;
    border-radius: 2px;

    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.35);

    will-change: transform, opacity;
}
header nav:not(.wp-block-navigation) ul > li > ul > li {
    position: relative;
    display: block;
}
header nav:not(.wp-block-navigation) ul > li > ul > li a {
    padding: 8px 16px 8px 16px;
    display: block;
}
header:not(.header-clicky) nav:not(.wp-block-navigation) ul > li:hover > ul {
    display: block;
    margin: 0 0 0 0;

    animation-duration: 0.25s;
    animation-name: slidein;
}

/**
 * Multilevel menu: Click instead of hover
 */
header.header-clicky nav:not(.wp-block-navigation) ul > li:active > ul {
    display: block;
    margin: 0 0 0 0;
}

header.header-clicky nav:not(.wp-block-navigation) ul > li a:focus + ul,
header.header-clicky nav:not(.wp-block-navigation) ul > li a:focus-visible + ul,
header.header-clicky nav:not(.wp-block-navigation) ul > li a:focus-within + ul {
    display: block;
    margin: 0 0 0 0;

    animation-duration: 0.25s;
    animation-name: slidein;
}
/**/

header nav:not(.wp-block-navigation) ul.sub-menu ul.sub-menu {
    top: 0;
    left: 240px;
}

@keyframes slidein {
    from {
        opacity: 0;
        margin: -16px 0 0 0;
    }
    to {
        opacity: 1;
        margin: 0 0 0 0;
    }
}

.aligncenter {
    text-align: center;
}
img.aligncenter {
    margin: 0 auto;
    display: block;
}
.wp-block-image.aligncenter {
    margin-left: auto;
    margin-right: auto;
}
.cta-discrete {
    margin: 48px 0;
    font-weight: 700;
    color: #969696;
}

footer {
    position: relative;
    background-color: var(--footer-background-colour);
    color: var(--footer-text-colour);
}
footer > .wrap {
    padding: 32px 0;
}
@media all and (max-width: 768px) {
    footer > .wrap {
        padding: 16px 16px;
    }
}

footer ul {
    margin: 0;
    padding: 0;
}
footer ul li {
    margin: 0;
    padding: 0;
    list-style: none;
}
footer hr {
    border: 0;
    height: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

footer a {
    text-decoration: none;
    color: var(--footer-link-colour);
}
footer a:hover {
    color: var(--footer-link-hover-colour);
}
footer small {
    font-size: 12px;
}
footer .footer-signature {
    position: relative;
    margin: 8px 0;
    padding: 8px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}
footer .footer-signature ul {
    display: inline-block;
}

.alignright {
    text-align: right;
}

.logo {
    position: relative;
    text-align: center;
    padding: 48px 24px 24px 24px;

    font-weight: 700;
    font-size: 32px;
    text-decoration: none;
    text-transform: uppercase;
    color: #7c263d;
}

/**
 * Property Grid
 */
.grid-item-property-tag {
    position: absolute;
    z-index: 2;
    top: 8px;
    left: 0;
    padding: 12px 16px;
    font-weight: 300;
    border-radius: 0 3px 3px 0;
    background-color: var(--primarycolor);
}
.grid-item-property-price {
    background-color: var(--primarycolor);
    opacity: 0;
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 33% 0;
    text-align: center;
    cursor: pointer;

    transition: all 0.5s ease;
}
.grid-item-property-price:hover {
    opacity: 1;
}
.grid-item-property-price:hover ~ img {
    filter: grayscale(75%);
}
.grid-item-property-price b {
    display: block;
    font-size: 24px;
    font-weight: 700;
}
.grid-item-property-title {
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    right: 0;
    max-width: 60%;
    padding: 12px 16px;
    font-size: 13px;

    transition: all 1.5s ease;
}

.homepage-section .homepage-about,
.homepage-section .homepage-news {
    padding: 24px 0;
    width: 100%;
}
.homepage-section h3,
.jtg-featured-title h5 {
    margin: 24px 0 0 0;
    font-size: 28px;
    font-weight: 300;
}

footer .jtg-box-image {
    float: left;
    width: 40%;
    height: 100%;
}
footer .jtg-box-image img {
    height: 100% !important;
}
footer .jtg-box {
    box-shadow: none;
    float: right;
    width: 60%;
    height: 100%;
}
footer .jtg-box:hover {
    box-shadow: none;
}
footer .jtg-featured-title h5 {
    display: none;
}

#menu {
    cursor: pointer;
    padding: 24px 0;
    font-size: 24px;
}

#menu span {
    text-transform: uppercase;
}

#side-menu {
    display: block;
    position: fixed;
    will-change: transform;

    backface-visibility: hidden;

    top: 0;
    left: 0;
    bottom: 0;
    min-width: 340px;
    max-width: 480px;
    padding: 32px 16px 64px 16px;
    background-color: #060811;
    z-index: 110;

    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.3);
    transform: translate(-640px, 0);
    transition: 0.3s ease-in-out;
}
#side-menu .side-menu-close {
    display: block;
    text-transform: uppercase;
    text-decoration: none;
    color: #fafafa;

    margin: 0;
    padding: 0 0 24px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
#side-menu ul {
    margin: 0;
    padding: 0 0 0 16px;
}
#side-menu .menu {
    margin: 0 0 24px 0;
    padding: 0;
}
#side-menu .menu li {
    margin: 0;
    padding: 0;
    list-style: none;
}
#side-menu .menu li.page_item_has_children > a {
    font-weight: 500;
}
#side-menu .menu li a {
    display: block;
    padding: 12px 0;
    text-decoration: none;
    color: #fafafa;
    font-size: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
#side-menu a {
    text-decoration: none;
}
#side-menu p {
    padding: 16px 0;
    margin: 0;
    color: #fafafa;
    font-size: 14px;
}
#side-menu .mobile-logo {
    width: 64px;
    height: auto;
}

#side-menu.active {
    transform: translate(0, 0);
    transition: 0.3s ease-in-out;
    overflow: auto;
}

#side-menu .sub-menu li a {
    padding: 6px 0;
    font-size: 14px;
}

body.overlaid {
    overflow: hidden;
}

.mobile-logo-header,
.side-menu-icon {
    display: none;
}
.side-menu-icon {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 140;
    padding: 16px;
    background-color: #212121;
    color: #fafafa;

    backface-visibility: hidden;
}
.side-menu-icon a {
    color: #fafafa;
    text-decoration: none;
}

#overlay {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.2);
    z-index: 105;
    display: none;
    transition: 0.3s ease-in-out;
    backface-visibility: hidden;
}
#overlay.active {
    display: block;
    transition: 0.3s ease-in-out;
}

.grid-hero {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    height: 600px;
    object-fit: cover;
}
.grid-single-property h1 {
    display: inline-block;
    margin: 16px 0;
    font-size: 30px;
    font-weight: 400;
    color: #000000;
}

@media only screen and (max-width: 768px) {
    .grid-single-property h1 {
        font-size: 24px;
        padding: 0 16px;
        margin-bottom: 0;
        line-height: 1.25;
    }
}

.single-property-title.overlaid {
    top: 488px;
    position: relative;
    color: #ffffff;
}

.single-property-title .pd-box-favourite {
    display: inline-block;
    position: relative;
    bottom: initial;
    right: initial;

    margin: 0 0 0 24px;
}

.wrap-content img.supernova-fullwidth,
img.supernova-fullwidth,
.supernova-fullwidth {
    box-sizing: border-box;
    position: relative;
    width: 100vw !important;
    max-width: initial;
    left: 50%;
    right: 50%;
    margin: 0 -50vw;
}

.supernova-property-hero {
    height: 600px;
}

header nav .menu-item.menu-toggle {
    display: none;
    float: right;
}

header nav .menu-item.mobile-menu-only {
    display: none;
}

@media only screen and (max-width: 1024px) {
    header nav:not(.wp-block-navigation) .custom-logo-link {
        padding-top: 24px;
    }

    header nav:not(.wp-block-navigation) .menu-item {
        display: none;
    }
    header nav:not(.wp-block-navigation) .menu-item.menu-toggle {
        display: block;
    }
    header nav:not(.wp-block-navigation) .menu-item.mobile-menu-only {
        display: block;
    }

    .side-menu-icon {
        display: block;
    }
    header nav:not(.wp-block-navigation) ul {
        margin: 0;
        text-align: left;
    }

    .logo {
        font-size: 24px;
    }

    .wrap-inner {
        padding: 0 16px;
    }

    footer {
        padding: 32px 0;
    }
    footer .alignright {
        text-align: left;
    }
}

@media only screen and (max-width: 768px) {
    .pd-section-breakdown,
    .gallery .buttons {
        display: none;
    }

    .team-slider div {
        width: 50% !important;
    }

    .single-property-title.overlaid {
        top: initial;
        bottom: 0;
        position: absolute;
    }
}

/**
 * Plugin overrides
 */
#wp4pm-search {
    font-size: 14px;
}
.post-type-archive-property #wp4pm-search {
    margin-top: 120px;
}
#wp4pm-search input:not(.tail--search),
#wp4pm-search input[type="text"]:not(.tail--search),
#wp4pm-search select {
    border: 1px solid #dddddd;
    border-radius: 3px;
}

/**
 * Block editor overrides
 */
@media only screen and (max-width: 480px) {
    .wp-block-buttons > .wp-block-button.wp-block-button__width-25,
    .wp-block-buttons > .wp-block-button.wp-block-button__width-50,
    .wp-block-buttons > .wp-block-button.wp-block-button__width-75 {
        width: 100%;
    }
}

.supernova-form {
    margin: 24px 0;
}
.supernova-form h3 {
    font-size: 24px;
    font-weight: 300;
    margin: 0;
    padding: 0 0 24px 0;
}
.supernova-form small {
    color: #7f8c8d;
}
.supernova-form label {
    display: block;
    font-size: 14px;
}
.supernova-form textarea,
.supernova-form select,
.supernova-form input[type="text"],
.supernova-form input[type="email"],
.supernova-form input[type="submit"] {
    padding: 8px;
    border: 1px solid #bdc3c7;
    border-radius: 3px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.supernova-form textarea,
.supernova-form input[type="text"],
.supernova-form input[type="email"] {
    width: 100%;
}
.supernova-form input[type="submit"] {
    padding: 12px 24px;
    background-color: var(--primarycolor);
    color: #ffffff;
    border: 0 none;
    cursor: pointer;
}
.supernova-form input[type="submit"]:hover {
    box-shadow: inset 0 99px 0 rgba(0, 0, 0, 0.15);
    color: #ffffff;
}

.supernova-form .confirmation {
    background-color: rgba(26, 188, 156, 0.25);
    padding: 24px;
    border-radius: 3px;
    font-size: 14px;
}
.supernova-form .fa-check {
    float: left;
    display: block;
    font-size: 32px;
    margin: 0 24px 0 0;
    color: #1abc9c;
}

h1.entry-title {
    font-weight: 300;
    margin: 24px 0;
    padding: 24px 0;
    border-bottom: 0 solid rgba(0, 0, 0, 0.1);
    border-bottom-width: var(--entry-title-border-height, 0);
}
.wrap-inner-has-sidebar h1.entry-title {
    text-align: left;
}

.supernova-blog-item img {
    border-radius: 2px;
    max-width: 100%;
    height: auto;
    margin: 0;
    aspect-ratio: 4 / 3;
}
.supernova-blog-item h3 {
    font-weight: 600;
}
.supernova-blog-excerpt {
    font-size: 14px;
}
.supernova-blog-read-more {
    text-decoration: none;
    font-size: 13px;
}

.supernova-blog-item--inner {
    position: relative;
}
.supernova-blog-item--inner > ul {
    position: absolute;
    bottom: 6px;
}

.alignleft {
    text-align: left;
}
.alignright {
    text-align: right;
}

.bold a,
.bold {
    font-weight: 700 !important;
}

/**
 * Gutenberg image styles
 */
.alignwide {
    width: auto;
    margin-left: -80px;
    margin-right: -80px;
}
.alignfull,
.wp-block-image.alignfull {
    margin-left: calc(-100vw / 2 + 100% / 2);
    margin-right: calc(-100vw / 2 + 100% / 2);
    max-width: 100vw;
    width: auto !important;
}

@media only screen and (max-width: 768px) {
    .alignwide {
        margin-left: 0;
        margin-right: 0;
    }
}

/**
 * Flexbin
 *
 * @url https://github.com/guoyunhe/flexbin
 */
.flexbin {
    display: flex;
    gap: 1px;
    overflow: hidden;
    flex-wrap: wrap;
    margin: -1px;
}
.flexbin:after {
    content: "";
    flex-grow: 999999999;
    min-width: 300px;
    height: 0;
}
.flexbin > * {
    position: relative;
    display: block;
    height: 168px;
    flex-grow: 1;

    border-radius: 2px;
    overflow: hidden;
}
.flexbin > a {
    flex-basis: calc(100% / 3 - 2px);
}
.flexbin > *:after {
    position: absolute;
    font-size: 48px;
    font-weight: 700;
    content: "+";
    color: rgba(255, 255, 255, 0);
    padding: 52px 0 0 0;
    line-height: 1;
    text-align: center;
    vertical-align: middle;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.15) url(../../img/pattern-diagonal-dark.png)
        repeat;

    transition: all 0.15s ease-in-out;
}
.flexbin > *:hover:after {
    background: rgba(0, 0, 0, 0) none;
    color: rgba(255, 255, 255, 0.5);
}
.flexbin > * > img {
    height: 168px;
    object-fit: cover;
    max-width: 100%;
    min-width: 100%;
    vertical-align: bottom;
}
.flexbin.flexbin-margin {
    margin: 2.5px;
}
.flexbin-item--more {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f5f5f5;
    color: #333;
    font-size: 1.5em;
    cursor: pointer;
    width: 33%;
}
@media (max-width: 980px) {
    .flexbin {
        display: flex;
        overflow: hidden;
        flex-wrap: wrap;
        margin: -2.5px;
    }
    .flexbin:after {
        content: "";
        flex-grow: 999999999;
        min-width: 150px;
        height: 0;
    }
    .flexbin > * {
        position: relative;
        display: block;
        height: 150px;
        margin: 2.5px;
        flex-grow: 1;
    }
    .flexbin > a {
        flex-basis: calc(100% / 2 - 1px);
    }
    .flexbin > * > img {
        height: 150px;
        object-fit: cover;
        max-width: 100%;
        min-width: 100%;
        vertical-align: bottom;
    }
    .flexbin.flexbin-margin {
        margin: 2.5px;
    }
}
@media (max-width: 480px) {
    .flexbin {
        display: flex;
        overflow: hidden;
        flex-wrap: wrap;
        margin: -2.5px;
    }
    .flexbin:after {
        content: "";
        flex-grow: 999999999;
        min-width: 100px;
        height: 0;
    }
    .flexbin > a {
        flex-basis: calc(100% / 1);
    }
    .flexbin > * {
        position: relative;
        display: block;
        width: 100%;
        height: 100%;
        margin: 2.5px;
        flex-grow: 1;
    }
    .flexbin > * > img {
        height: 100px;
        object-fit: cover;
        max-width: 100%;
        min-width: 100%;
        vertical-align: bottom;
    }
    .flexbin.flexbin-margin {
        margin: 2.5px;
    }
}

@keyframes popIn {
    0% {
        transform: translateX(-16px);
        opacity: 0.25;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

#wp4pm-search {
    will-change: transform, opacity;

    transition: all 1s ease-in-out;

    position: relative;
    z-index: 2;
}

.wp4pm-title {
    padding: 16px;
    font-size: 24px;
    font-weight: 300;
}

.item-click {
    cursor: pointer;

    background: url("../../../../plugins/wp-property-drive/assets/images/no-image.jpg")
        no-repeat center center;
    background-size: cover;
}

.button-ghost {
    display: inline-block;
    text-decoration: none;
    font-weight: 400;
    background-color: transparent;
    cursor: pointer;
    border: 1px solid #ffffff;
    border-radius: 3px;
    padding: 6px 18px;
    position: relative;

    transition: all 0.5s ease-in-out;
}
.button-ghost:hover {
    background-color: rgba(255, 255, 255, 0.15);
}

iframe {
    max-width: 100%;
}

.slider {
    position: relative;
}
.slider .slide-control {
    margin: 0;
    padding: 0;
}
.slider .slide-control li {
    list-style: none;
    padding: 0;
    margin: 0 2px 0 0;
    display: inline-block;
    width: 12px;
    height: 12px;
    background-color: #bdc3c7;
    border-radius: 100%;
    transform: scale(0.75);
    transition: all 0.25s ease;
    cursor: pointer;
}
.slider .slide-control li.active,
.slider .slide-control li:hover {
    background-color: #7f8c8d;
    transform: scale(1);
}

.supernova-btn {
    display: inline-block;
    background-color: #d2dae2;
    color: #1e272e;
    font-size: 14px;
    font-weight: 500;
    padding: 8px 16px;
    margin: 8px 0;
    line-height: 1.5;
    text-transform: uppercase;
    letter-spacing: normal;
    text-decoration: none;
    border-radius: 3px;
}
.supernova-btn:hover {
    background-color: #808e9b;
}

.article-grid .item-date {
    font-size: 12px;
    opacity: 0.75;
}

.page-template-page-highlight.has-featured-image .wrap-inner {
    margin: 0 auto 0 auto;
    padding-top: 0;
}

.primary {
    color: var(--primarycolor);
}

/**
 * Blog UI
 */
.flex-container-updated {
    display: flex;
    flex-wrap: wrap;
}
.supernova-blog-item {
    flex-basis: 33.33%;
    padding: 24px;
}
.supernova-blog-item--highlight.supernova-blog-item {
    flex-basis: 50%;
    padding: 4px;
}

@media (max-width: 768px) {
    .supernova-blog-item--highlight.supernova-blog-item {
        flex-basis: 100%;
    }
}
@media (max-width: 480px) {
    .supernova-blog-item--highlight.supernova-blog-item {
        flex-basis: 100%;
    }
}

.supernova-blog-item ul.post-categories {
    margin: 0;
    padding: 0;
    list-style: none;
}
.supernova-blog-item ul.post-categories li {
    display: inline;
    margin: 0;
    padding: 0;
    list-style: none;
}
.supernova-blog-item ul.post-categories li a {
    display: inline-block;
    font-size: 12px;
    font-weight: 400;
    padding: 2px 6px;
    margin: 2px;
    text-decoration: none;
    background-color: #eaf5ff;
    border-radius: 3px;
}

.supernova-blog-link {
    color: #000000;
    display: block;
    text-decoration: none;
    font-size: 20px;
    margin: 0;
    padding: 0;
}
.supernova-blog-link:hover {
    text-decoration: underline;
}
.supernova-blog-item--highlight .supernova-blog-link {
    font-weight: 700;
}

.supernova-blog-meta {
    display: block;
    margin: 8px 0;
    font-size: 12px;
    font-weight: 400;
}
.supernova-blog-item--highlight .supernova-blog-meta {
    margin: 0 0 0 0;
    text-transform: uppercase;
    font-weight: 700;
    opacity: 0.5;
}

.post-ratings {
    text-align: right;
    margin: 16px 0;
    position: relative;
}
.post-ratings-text {
    position: absolute;
    top: 0;
    right: 0;
    background-color: #ffffff;
    padding: 2px 6px;
    font-size: 12px;
    border-radius: 2px;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
}
.post-ratings-loading {
    display: none;
    text-align: right;
}

.supernova-cat-pagination {
    padding: 24px;
    text-align: center;
}
.supernova-cat-pagination a {
    display: inline-block;
    padding: 8px 16px;
    text-decoration: none;
    background-color: rgba(0, 0, 0, 0.05);
    border-radius: 3px;
    color: #000000;
    font-size: 14px;
}
.supernova-cat-pagination a:hover {
    background-color: rgba(0, 0, 0, 0.15);
}

/**
 * Search Results UI
 */
.supernova-search-uri,
.supernova-blog-meta--post-type {
    font-family:
        "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
    font-weight: 300;
}
.supernova-search-uri {
    font-size: 13px;
}

.supernova-blog-meta--post-type {
    text-transform: uppercase;
}

h2.supernova-search-header {
    margin: 48px 0 0 0;
}
.supernova-search-result {
    position: relative;
    margin: 0 0 24px 0;
}
.supernova-search-result::after {
    content: "";
    background: #fafafa;
    width: 4px;
    height: 80px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 6px 0 0 6px;
    transition: background-color 0.25s ease-out;
    will-change: background-color;
}
.supernova-search-result:hover::after {
    background-color: var(--primarycolor, #fafafa);
}

.supernova-search-result .wp-block-columns .wp-block-column:last-child {
    padding-right: 24px;
}

.supernova-search-result h3 {
    margin: 0;
}
.supernova-search-result h3 a {
    color: var(--primarycolor);
    font-weight: 500;
}
.supernova-search-result a,
.supernova-search-result h3 a {
    text-decoration: none;
}
.supernova-search-result small a {
    font-size: 14px;
    color: #5f6368;
}

.supernova-search-result img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;

    box-shadow:
        0 1px 2px rgba(0, 0, 0, 0.07),
        0 2px 4px rgba(0, 0, 0, 0.07),
        0 4px 8px rgba(0, 0, 0, 0.07),
        0 8px 16px rgba(0, 0, 0, 0.07),
        0 16px 32px rgba(0, 0, 0, 0.07);
}

.supernova-search-result-excerpt {
    color: #7f8c8d;
    font-size: 14px;
}

.supernova-search-result ul.post-categories {
    display: inline-flex;
    margin: 0;
    padding: 0;
}
.supernova-search-result ul.post-categories li {
    margin: 0;
    padding: 0;
    list-style: none;
}
.supernova-search-result .supernova-search-no-image {
    width: 180px;
    height: 120px;
    border-radius: 6px;

    background-image:
        linear-gradient(45deg, #fafafa 25%, transparent 25%),
        linear-gradient(-45deg, #fafafa 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, #fafafa 75%),
        linear-gradient(-45deg, transparent 75%, #fafafa 75%);
    background-size: 20px 20px;
    background-position:
        0 0,
        0 10px,
        10px -10px,
        -10px 0;
}

/**
 * Search form
 */
form.search-form {
    text-align: center;
}
form.search-form input[type="search"],
form.search-form input[type="submit"] {
    padding: 8px 12px;
}
form.search-form input[type="submit"] {
    font-weight: 500;
    padding: 8px 16px;
    cursor: pointer;
}

/**
 * Non-intrusive cookie policy
 */
.element-privacy {
    position: fixed;
    z-index: 128;
    bottom: -1px;
    right: 84px;
}
.element-privacy a {
    display: inline-block;
    text-decoration: none;
    color: #000;
    padding: 6px 14px;
    background-color: #ccc;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.15);
    border-radius: 2px 2px 0 0;
    border: 1px solid rgba(0, 0, 0, 0.15);
    font-size: 14px;
}

@media (max-width: 768px) {
    .supernova-blog-item {
        flex-basis: 50%;
    }
}
@media (max-width: 480px) {
    .supernova-blog-item {
        flex-basis: 100%;
    }
}

/**
 * Supernova Snackbar
 */
.snackbar {
    background-color: #ffffff;
    padding: 8px;
    position: fixed;
    z-index: 128;
    bottom: 0;
    left: 0;
    right: 0;
    transform: translateY(100vh);
    transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
    box-shadow: 0 0 48px rgba(0, 0, 0, 0.25);
}
.snackbar.snackbar--on {
    transform: translateY(0);
}

.snackbar.snackbar--float {
    display: flex;
    justify-content: center;
    background: none;
    background-color: transparent;
    padding: 0;
    box-shadow: none;
    bottom: 24px;
}
.snackbar.snackbar--float .snackbar--inner {
    background-color: #ffffff;
    display: inline-flex;
    flex-direction: column;
    box-shadow: 0 0 48px rgba(0, 0, 0, 0.25);
    padding: 8px;
    border-radius: 24px;
}

.snackbar.snackbar--light .snackbar--inner {
    background-color: #ffffff;
}
.snackbar.snackbar--dark .snackbar--inner {
    background-color: #000000;
    color: #ffffff;
}
.snackbar.snackbar--dark-transparent .snackbar--inner {
    background-color: rgba(34, 34, 34, 0.92);
    outline: 4px solid rgba(34, 34, 34, 0.8);
    color: #fff;
}

.snackbar .wp-block-buttons .wp-block-button {
    margin-bottom: 0;
}

/**
 * Supernova Testimonial
 */
.supernova-testimonials .flickity-prev-next-button.previous {
    left: -48px;
}
.supernova-testimonials .flickity-prev-next-button.next {
    right: -48px;
}
.testimonial-body {
    width: 100%;
    padding: 32px 32px;
}

.testimonial-quote {
    position: relative;
    z-index: 4;
}
.testimonial-quote p {
    margin: 32px 0;
    font-size: 15px;
}

.wp-block-media-text.is-image-fill.supernova-testimonial-block
    figure.wp-block-media-text__media {
    min-height: 200px;
}

figure {
    margin-inline-start: 0;
    margin-inline-end: 0;
}

@media all and (max-width: 768px) {
    .element-privacy {
        position: fixed;
        z-index: 128;
        bottom: -1px;
        right: 16px;
    }
}

.wp-block-quote {
    font-size: 15px;
    font-style: italic;
    opacity: 0.82;
}

.testimonials-grid.flex-item-updated {
    width: 33.3%;
    margin-bottom: 36px;
    position: relative;
}

.testimonials-grid.flex-item-padding {
    padding: 36px;
}

.testimonials-grid p,
.testimonials-grid h4 {
    margin-top: revert;
    margin-bottom: revert;
}
.testimonials-grid h4 {
    font-size: 24px;
    font-weight: 500;
}
.testimonials-grid cite {
    font-style: normal;
}
.testimonials-grid cite + p {
    font-size: 14px;
}
.testimonials-grid cite + p em {
    font-style: normal;
}

.testimonials-grid:before {
    position: absolute;
    top: 0;
    left: 24px;
    content: "\201C";
    font-size: 86px;
    font-family: Georgia, "Times New Roman", Times, serif;
    color: var(--primarycolor);
}
.testimonials-grid:nth-child(2n + 2) {
    background-color: var(--primarycolor);
    color: #ffffff;
}
.testimonials-grid:nth-child(2n + 2):before {
    color: #ffffff;
}

.testimonials-grid:nth-child(3n + 4) {
    width: 66.66%;
}

@media only screen and (max-width: 768px) {
    .testimonials-grid.flex-item-updated,
    .testimonials-grid:nth-child(3n + 4) {
        width: 100%;
    }

    .testimonials-grid.flex-item-padding {
        padding: 16px;
    }
}

/**
 * Jetpack Contact Form Integration
 */
.wp-block-jetpack-contact-form input,
.wp-block-jetpack-contact-form button,
.wp-block-jetpack-contact-form select,
.wp-block-jetpack-contact-form textarea {
    font-family: inherit;
    font-size: inherit;
    font-weight: 400;
    padding: 8px;
    border: 1px solid #bdc3c7;
    border-radius: 3px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.wp-block-jetpack-contact-form button {
    font-size: 16px;
    padding: 12px 24px;
    border: 0 none;
}
.wp-block-jetpack-contact-form textarea {
    max-height: 92px;
}

/**
 * WooCommerce Form Integration
 */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
    font-family: inherit;
    font-size: inherit;
    font-weight: 400;
    padding: 8px;
    border: 1px solid #bdc3c7;
    border-radius: 3px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/**
 * WooCommerce Table Override for Thin UI
 */
.woocommerce .col2-set .col-1,
.woocommerce-page .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-2 {
    flex-basis: auto !important;
    max-width: none !important;
}

.woocommerce div.product form.cart .variations {
    background-color: #f1f1f1;
    padding: 1em;
}
.woocommerce div.product form.cart .variations select,
.single_variation_wrap input[type="text"] {
    background-color: #ffffff;
    font-family: inherit;
    padding: 1em;
}
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
    vertical-align: middle;
}

/**
 * Block Editor Table Integration
 */
.wp-block-table.is-style-stripes td,
.wp-block-table.is-style-stripes th {
    padding: 8px 16px;
}

/**
 * Block Patterns
 */
.wp-block-columns.supernova-advanced-intro-1,
.wp-block-columns.supernova-advanced-intro-1 .wp-block-column {
    position: relative;
}
.wp-block-columns.supernova-advanced-intro-1 .wp-block-column:first-child {
    font-weight: 400; /* 300 */
    line-height: 1.5;
}
.wp-block-columns.supernova-advanced-intro-1
    .wp-block-column:first-child:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    width: 24px;
    height: 3px;
    background-color: #8e8e8e;
}
.wp-block-columns.supernova-advanced-intro-1
    .wp-block-column:first-child:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 64px;
    background-color: #8e8e8e;
}
.wp-block-columns.supernova-advanced-intro-1 .wp-block-column:last-child {
    line-height: 2;
    font-weight: 300;
    padding: 0 24px;
}
.wp-block-columns.supernova-advanced-intro-1
    .supernova-advanced-intro-1-highlight {
    color: crimson;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 700;
    font-family: var(--heading_font);
}

.wp-block-cover.supernova-intro-cover-1 .wp-block-cover__inner-container {
    opacity: 1;
    margin-right: auto;
    display: block;
    max-width: 1170px;
    color: rgb(0, 0, 0);
    position: absolute;
    bottom: 0;
}
.wp-block-cover.supernova-intro-cover-1 .wp-block-cover__inner-container h1 {
    font-weight: 700;
    font-size: 20px;
    display: inline-block;
    margin: 0;
    padding: 0;
    background-color: rgba(255, 255, 255, 0.85);
    padding: 18px 24px;
}
.wp-block-cover.supernova-intro-cover-1
    .wp-block-cover__inner-container
    h1
    small {
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
}

.supernova-anim-in {
    transform: translateY(4rem) translateZ(0);
    transition:
        transform cubic-bezier(0.19, 1, 0.22, 1) 2s,
        opacity cubic-bezier(0.19, 1, 0.22, 1) 2s;
    opacity: 0.5;
}
.supernova-anim-in.is-changed {
    transform: translateY(0rem) translateZ(0);
    opacity: 1;
}

/**
 * Extra Visual Functionality
 */
#supernova-aside--fixed-container {
    position: fixed;
    z-index: 256;
    bottom: 0;
    right: 5%;

    width: 400px;
}
.supernova-aside--top {
    position: relative;
    display: flex;
}
.supernova-aside--title {
    display: flex;
    align-items: center;
    gap: 16px;

    width: 100%;
    padding: 16px 16px;
    font-size: 1em;
    font-weight: 700;
    border-radius: 3px 3px 0 0;
    background-color: #333333;
    color: #fff;
    box-shadow: 0 0 8px rgb(0 0 0 / 25%);
    cursor: pointer;
}
.supernova-aside--title img {
    height: 24px;
    background-color: #ffffff;
    border-radius: 100%;
    padding: 4px;
}
.supernova-aside--title.collapsed {
    top: 1px;
    position: relative;
}

#supernova-aside--icon {
    font-size: 1em;
    cursor: pointer;
    margin-left: auto;
    color: #fff;
    display: inline-block;
}
#supernova-aside--icon svg {
    transform: rotateX(180deg);
    transition: transform 0.1s cubic-bezier(0.65, 0, 0.35, 1);
    transition-delay: 0.5s;
}
.supernova-aside--title.collapsed #supernova-aside--icon svg {
    transform: rotateX(180deg);
}
.supernova-aside--title.expanded #supernova-aside--icon svg {
    transform: rotateX(0deg);
}
/**/

.supernova-aside--body {
    position: relative;
    z-index: calc(256 + 1);
    background: white;
    padding: 0 24px;
    border: 1px solid #333333;
    border-bottom-width: 0;
    box-shadow: 0 0 8px rgb(0 0 0 / 25%);
    overflow-y: scroll;
    scrollbar-width: thin;
    width: 100%;
    max-height: 80vh;

    transition: all 0.6s cubic-bezier(0.65, 0, 0.35, 1);
}
.supernova-aside--body.minimised {
    max-height: 0;
}

@media only screen and (max-width: 768px) {
    #supernova-aside--fixed-container {
        position: fixed;
        left: 0;
        bottom: 0;
        right: 0;
        width: 100% !important;
        width: -webkit-fill-available !important;
        margin: 0;
        padding: 0;
    }
}

ul.wppd-areas,
ul.wppd-areas ul {
    margin: 0;
    padding: 0;
}
ul.wppd-areas li {
    margin: 0;
    padding: 0;
    list-style: none;
}
ul.wppd-areas a {
    text-decoration: none;
}

.stretch-container {
    position: relative;
    margin: auto;
}
.stretch-card {
    position: absolute;
    display: inline-block;
    overflow: hidden;
    padding: 24px;

    background-color: #ffffff;
    box-shadow:
        0 0 1px hsl(0deg 0% 0% / 0.05),
        0 0 2px hsl(0deg 0% 0% / 0.05),
        0 0 4px hsl(0deg 0% 0% / 0.05),
        0 0 8px hsl(0deg 0% 0% / 0.05),
        0 16px 16px hsl(0deg 0% 0% / 0.05);
}
.stretch-card img {
    width: 100%;
    margin-bottom: 0;
    display: block;
}

/**
 * Colored Line Block
 */
.mdlui-block-line {
    display: flex;
}

/**
 * Striped
 */
.wp-block-mdlui-block-line-colored-line.is-style-striped
    .mdlui-block-line--inner,
.wp-block-mdlui-block-line-colored-line.is-style-striped div div {
    background-image: linear-gradient(
        -45deg,
        transparent 22.5%,
        currentColor 22.5%,
        currentColor 27.5%,
        transparent 27.5%,
        transparent 47.5%,
        currentColor 47.5%,
        currentColor 52.5%,
        transparent 52.5%,
        transparent 72.5%,
        currentColor 72.5%,
        currentColor 77.5%,
        transparent 77.5%,
        transparent
    );
    background-position: 0.3rem 0;
    background-size: 1rem 1rem;
    border: none;
    image-rendering: pixelated;
}

/**
 * Shade
 */
.wp-block-mdlui-block-line-colored-line.is-style-shade .mdlui-block-line--inner,
.wp-block-mdlui-block-line-colored-line.is-style-shade div div {
    position: relative;
    background: radial-gradient(
        ellipse farthest-side at top center,
        rgba(0, 0, 0, 0.08),
        transparent
    );
}
.wp-block-mdlui-block-line-colored-line.is-style-shade
    .mdlui-block-line--inner:before,
.wp-block-mdlui-block-line-colored-line.is-style-shade div div:before {
    content: "";
    display: block;
    position: absolute;
    top: 0px;
    right: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(
        left,
        transparent,
        rgba(0, 0, 0, 0.02),
        rgba(0, 0, 0, 0.02),
        transparent
    );
}

/**
 * Dotted
 */
.wp-block-mdlui-block-line-colored-line.is-style-dotted
    .mdlui-block-line--inner,
.wp-block-mdlui-block-line-colored-line.is-style-dotted div div {
    background: radial-gradient(
        circle at center,
        currentColor 2px,
        transparent 0
    );
    background-size: 12px 12px;
    background-repeat: round;

    image-rendering: auto;
}

@keyframes components-button__busy-animation {
    0% {
        background-position: 200px 0;
    }
}
