/* Header */
.main-nav li.header-btn,
.main-nav-mobile li.header-btn {
    color: var(--py-white)!important;
    background-color: var(--py-button-color);
    padding: calc(var(--py-button-padding) / 2)!important;
    border: 1px solid var(--py-button-color);
    border-radius: var(--py-button-border-radius);
    cursor: pointer;
    width: fit-content;
    text-decoration: none;
}

.main-nav li.header-btn {
    margin-left: 2.5rem;
}

.main-nav-mobile li.header-btn a {
    padding-inline: 1.6rem;
}

.main-nav li.header-btn a,
.main-nav-mobile li.header-btn a {
    color: var(--py-white)!important;
}

.main-nav li.header-btn:hover,
.main-nav-mobile li.header-btn:hover {
    background-color: var(--py-black);
    color: var(--py-white);
}

/* Footer */
.footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
    gap: var(--py-grid-gap);
    width: 100%;
}

.footer-column a {
    color: var(--py-white);
    text-decoration: none;
}

.footer-column a:hover {
    color: var(--py-bc-1);
    text-decoration: none;
}

.footer-logo {
    max-width: 200px;
}

.footer-menu {
    margin-block: 0;
    list-style: none;
    padding: 0;
}

.footer-social {
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
}

.social-links {
    display: flex;
    flex-direction: row;
    gap: var(--py-sec-pad-inline);
}

.social-links a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.social-links a:hover svg path {
    fill: var(--py-bc-1);
}

.footer-disclaimer {
    font-size: 1.4rem;
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
}

/* Home Hero */
.hero {
    position: relative;
}

.hero-bg-img {
    width: 100%;
    height: 100%!important;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
}

.hero__overlay {
    background: linear-gradient(65deg, rgba(0,0,0,.52) 60%, rgba(20, 21, 21, 0.263) 30%);
    height: 100%;
    position: relative;
    z-index: 1;
}

.hero__body {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-top: var(--py-sec-pad-block);
    padding-bottom: calc(var(--py-sec-pad-block) / 4);
    padding-inline: var(--py-sec-pad-inline);
}

.hero_subline {
    color: var(--py-bc-1);
    order: -1;
    font-size: var(--subline);
}

.hero__title {
    margin: 0;
    color: var(--py-white);
}

.hero__metric {
    color: var(--py-white);
    width: 100%;
    max-width: 445px;
    margin-left: auto;
    font-size: var(--py-body-s);
}

/* Full Width Image + Content Section */
.fw-img-content-section {
    padding: 0;
    width: 100%;
    display: flex;
    flex-direction: row;
}

.fw-img-content-section-img-wrapper {
    width: 50%;
    min-width: 50%;
    position: relative;
}

.fw-img-content-section-img {
    width: 100%;
    height: 100%!important;
    position: absolute;
    object-fit: cover;
    left: 0;
    top: 0;
}

.fw-img-content-section-content {
    width: 100%;
    padding-block: var(--py-sec-pad-block);
    padding-inline: var(--py-sec-pad-inline);
}

/* Disciplined Strategy Section */
.ds-section {
    background-color: var(--py-black);
}

.ds-section .py-container {
    display: flex;
    flex-direction: column;
    gap: var(--py-container-gap);
}

.ds-section-titles {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
    text-align: center;
}

.ds-section h2 {
    color: var(--py-bc-1);
}

.ds-section-subline {
    color: var(--py-white);
}

.ds-section-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr));
    gap: var(--py-grid-gap);
    width: 100%;
}

.ds-section-card {
    display: flex;
    flex-direction: column;
    gap: var(--py-container-gap);
}

.ds-section-card:hover .ds-section-card-content {
    scale: 1.1;
    transition-duration: 500ms;
}

.ds-section-card:hover .ds-section-card-img {
    transform: translateY(-10px);
}

.ds-section-card-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--py-content-gap);
    color: var(--py-white);
    transition-duration: 500ms;
}

.ds-section-card-content h3 {
    font-size: 2.4rem;
}

.ds-section-card-content p {
    font-size: 1.8rem;
}

.ds-section-card-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition-duration: 500ms;
}

.ds-section-card-img-wrapper {
    max-height: 150px;
    width: 100%;
    object-fit: contain;
    position: relative;
}

.ds-section-grid .ds-section-card:not(:first-child) .ds-section-card-img-wrapper::before {
    content: '';
    position: absolute;
    top: 50%;
    height: 2px;
    background-color: var(--py-bc-1);
    width: var(--py-grid-gap);
    right: 100%;
    transform: translate(0%, -50%);
}

.ds-section-bottom-p {
    color: var(--py-white);
    text-align: center;
}

.points-bright-mode.ds-section {
    background-color: var(--py-white);
}

.points-bright-mode .ds-section-subline,
.points-bright-mode .ds-section-card-content,
.points-bright-mode .ds-section-bottom-p {
    color: var(--py-black);
}

/* Home Reit Section */
.reit-section {
    position: relative;
    overflow: hidden;
    padding: 0;
}

.reit-top img {
    width: 100%;
    height: 600px;
    object-fit: cover;
    display: block;
    position: relative;
    overflow: hidden;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 100px));
    z-index: 1;
}

.reit-bottom {
    display: flex;
    flex-direction: row;
    width: 100%;
    margin-top: -100px;
}

.reit-bottom img {
    width: 40%;
    transform: scale(2);
    transform-origin: left;
    object-fit: cover;
}

.reit-content {
    display: flex;
    flex-direction: column;
    gap: var(--py-container-gap);
    position: relative;
    background: #fff;
    padding-inline: var(--py-sec-pad-inline);
    padding-top: calc(var(--py-sec-pad-block) + 100px);
    padding-bottom: var(--py-sec-pad-block);
    width: 100%;
}

/* Meet the President Section */
.meet-president-section .py-container {
    display: flex;
    flex-direction: row;
    gap: var(--py-container-gap);
    width: 100%;
    max-width: 1000px;
}

.meet-president-section-img {
    max-width: 350px;
    max-height: 350px;
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
}

.meet-president-section .py-container div {
    width: 100%;
}

.meet-president-section-content {
    width: 100%;
}

/* Competitive Differentiators */
.cd-section {
    background-color: var(--py-bc-3);
}

.cd-section .py-container {
    display: flex;
    flex-direction: column;
    gap: var(--py-container-gap);
    align-items: center;
    padidng: 0;
    max-width: 1200px;
}

.cd-section h2 {
    color: var(--py-bc-1);
}

.cd-section-grid {
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
    width: 100%;
}

.cd-section-card {
    display: flex;
    flex-direction: row;
    gap: var(--py-container-gap);
    width: 100%;
}

.cd-section-card-title-column {
    width: 20%;
}

.cd-section-card-title-column h3 {
    font-size: 2.3rem;
    font-weight: 600;
    font-family: var(--py-font-family-body);
}

.cd-section-card-p-column {
    width: 35%;
}

.cd-section-card-p-column-wide {
    width: 80%;
}

.cd-section-card-p-column p {
    font-size: 1.8rem;
}

.cd-section-card-list-column {
    width: 45%;
}

.cd-section-card-border-bottom {
    border-bottom: 1px solid var(--py-black);
}

.cd-section-card-border-bottom {
    padding-bottom: var(--py-sec-pad-block);
}

/* Investor Portal Buttons */
.ip-btn-1 {
    background-color: var(--py-bc-1);
    font-family: var(--py-font-family-heading);
    font-weight: 800;
    color: var(--py-white);
    text-transform: uppercase;
    font-size: 2.5rem;
    padding: 2.5rem;
    text-decoration: none;
    width: 100%;
    max-width: 375px;
    text-align: center;
}

.ip-btn-1:hover {
    background-color: var(--py-black);
    color: var(--py-white);
}

.ip-btn-2 {
    background-color: #006c22;
    color: var(--py-white);
    padding: 2.5rem;
    width: fit-content;
    text-decoration: none;
    text-align: center;
    width: 100%;
    max-width: 375px;
}

.ip-btn-top-text {
    margin-top: 0;
    text-decoration: underline;
    font-size: 1.6rem;
    text-align: center;
}

.ip-btn-bot-text {
    font-size: 2rem;
}

.ip-btn-2:hover {
    background-color: var(--py-black);
    color: var(--py-white);
}

/* Triangular overlay section */
.to-section {
    position: relative;
    height: 100vh;
    max-height: 700px;
    padding: 0;
}

.to-section-overlay {
    clip-path: polygon(0 100%, 100% 0, 100% 100%, 0 100%);
    background-color: rgba(20, 21, 21, 0.65);
    width: 50%;
    margin-left: auto;
    position: relative;
    z-index: 1;
    height: 100%;
}

.to-section-overlay-wrapper {
    height: 100%;
    padding: 50px;
    margin-top: auto;
    display: flex;
    flex-direction: column;
    align-items: end;
    justify-content: end;
}

.to-section-img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%!important;
    width: 100%;
    object-fit: cover;
}

/* Downloadable Docs */
.docs-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--py-grid-gap);
    width: 100%;
}

.docs-card {
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
    width: 100%;
    max-width: 400px;
}

.docs-card {
    color: var(--py-black);
    text-decoration: none;
}

/* Hide Header and Footer */
.page-id-5063 .py-header,
.page-id-5063 .py-footer {
    display: none;
}

/* Inner Shadow Section */
.inner-shadow-section {
    box-shadow: inset var(--py-box-shadow-soft);
}

/* Check List */
ul.check-list {
    list-style: none;
    padding-left: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

ul.check-list li {
    position: relative;
    padding-left: 3.5rem;
}

ul.check-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 5px;
    width: 2.5rem;
    height: 2.5rem;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="%2330b245" stroke-width="2"><polyline points="21 5 12 14 8 10" fill="none" stroke-linecap="round" stroke-linejoin="round"/><path d="M20.94 11A8.26 8.26 0 0 1 21 12a9 9 0 1 1-9-9 8.83 8.83 0 0 1 4 1" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
}

ul.check-list-2 {
    list-style: none;
    padding-left: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-block: 0;
}

ul.check-list-2 li {
    position: relative;
    padding-left: 2.8rem;
    font-size: 1.8rem;
}

ul.check-list-2 li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 5px;
    width: 1.8rem;
    height: 1.8rem;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><circle cx="16" cy="16" r="16" fill="%23009de5" opacity="0.14"/><path d="M5.313,11.806c.426.353,1.376.236,1.478-.319.636-3.448,3.818-6.357,6.226-9.1.668-.76-.868-1.481-1.527-.731-2.2,2.5-4.974,5.14-6.059,8.18A41.577,41.577,0,0,0,1.556,6.861C.675,6.283-.585,7.3.305,7.884A56.723,56.723,0,0,1,5.313,11.806Z" transform="translate(8.999 9.461)" fill="%23009de5"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
}

/* BG Image Section */
.bg-img-section {
    padding-inline: var(--py-sec-pad-inline);
    padding-block: var(--py-sec-pad-block);
    position: relative;
}

.bg-img-section-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    max-width: 350px;
    margin-left: auto;
}

.bg-img-section-img {
    position: absolute;
    object-fit: cover;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%!important;
}

.bg-img-section-overlay {
    background-color: hsl(180, 2%, 8%);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

/* Sitemap */
.sp-list-posts {
    list-style: none;
    padding: 0;
}

.sp-list-posts li a {
    text-decoration: none;
}

.sp-list-posts li a:hover {
    color: var(--py-black);
}

.wp-block-wpseopress-sitemap {
    text-align: center;
}

/* General */
.py-section ol {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.gform_required_legend {
    display: none;
}

.gform_description {
    font-size: 1.8rem;
}

.gform_heading,
.gform_wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--py-content-gap);
}

.youtube__btn {
    background-color: var(--py-bc-1);
    box-shadow: var(--py-box-shadow);
}

.fw-line {
    width: 100%;
    height: 2px;
    background-color: var(--py-grey);
}

.policy-content p {
    font-size: 1.8rem;
}

/* Mobile */
@media (max-width:991px) {
    .hero__overlay {
        background: linear-gradient(65deg, rgba(0,0,0,.52) 60%, rgba(0,0,0,.52) 60%);
    }

    .hero__metric {
        margin-left: 0;
        margin-right: auto;
    }

    .fw-img-content-section {
        flex-direction: column;
    }

    .fw-img-content-section-img-wrapper,
    .fw-img-content-section-content {
        width: 100%;
    }

    .fw-img-content-section-img-wrapper,
    .meet-president-section-img {
        order: -1!important;
    }

    .fw-img-content-section-img {
        width: 100%;
        height: 300px;
        position: static;
    }

    ul.check-list,
    ul.check-list-2 {
        margin-block: 0;
    }

    ul.check-list li::before,
    ul.check-list-2 li::before {
        top: 0px;
    }

    .ds-section-grid .ds-section-card:not(:first-child) .ds-section-card-img-wrapper::before {
        display: none;
    }

    .reit-bottom img {
        display: none;
    }

    .reit-bottom {
        margin-top: -50px;
    }

    .reit-top img {
        height: 300px;
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 50px));
    }

    .reit-content {
        padding-top: calc(var(--py-sec-pad-block) + 50px);
    }

    .docs-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .meet-president-section .py-container {
        flex-direction: column;
    }

    .cd-section-card {
        flex-direction: column;
        align-items: center;
    }

    .cd-section-card-title-column,
    .cd-section-card-p-column,
    .cd-section-card-list-column {
        width: 100%;
    }

    .fw-img-content-section-content {
        padding-inline: var(--py-sec-pad-inline)!important;
    }

    .to-section {
        height: 400px;
    }

    .to-section-overlay {
        clip-path: none;
        width: 100%;
    }
}

/* Mobile */
@media (max-width:469px) {
    .docs-grid {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}