/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy-child
 */

/* =========================================================
   Local Font Declarations
========================================================= */

@font-face {
    font-family: 'Sofia Pro';
    src: url('/wp-content/uploads/fonts/Sofia-Pro-Regular-Az.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Sofia Pro';
    src: url('/wp-content/uploads/fonts/Sofia-Pro-Bold-Az.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Co Headline';
    src: url('/wp-content/uploads/fonts/Co-Headline-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* =========================================================
   Main Body Fonts
========================================================= */

body,
p,
div,
span,
li,
a,
time {
    font-family: 'Sofia Pro', sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Co Headline', sans-serif !important;
    font-weight: 700 !important;
}

/* =========================================================
   Heading Menu Fonts
========================================================= */

.mega-menu,
.mega-menu a,
.mega-menu-item,
.mega-sub-menu a {
    font-family: 'Sofia Pro', sans-serif !important;
    font-weight: 700;
}

#mega-menu-wrap-menu_1 .mega-menu-link,
#mega-menu-wrap-menu_1 .mega-menu a,
#mega-menu-wrap-menu_1 li a,
#mega-menu-wrap-menu_1 li span {
    font-family: 'Sofia Pro', sans-serif !important;
}

/* =========================================================
   News Posts Block Background
========================================================= */

.wp-block-stackable-posts.stk-b9ef801 {
    background: #ffffff !important;
}

/* =========================================================
   News Post Card Equal Heights
========================================================= */

.stk-b9ef801 .stk-block-posts__items {
    align-items: stretch !important;
}

.stk-b9ef801 .stk-block-posts__item {
    display: flex !important;
    margin-top: 30px !important;
}

.stk-b9ef801 .stk-block-posts__item > .stk-container {
    display: flex !important;
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
}

.stk-b9ef801 .stk-block-posts__item article {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
}

/* =========================================================
   Post Card Content Spacing
========================================================= */

.stk-b9ef801 .stk-block-posts__meta,
.stk-b9ef801 .stk-block-posts__title,
.stk-b9ef801 .stk-block-posts__excerpt {
    margin-left: 24px !important;
    margin-right: 24px !important;
}

.stk-b9ef801 .stk-block-posts__meta {
    margin-top: 24px !important;
}

.stk-b9ef801 .stk-block-posts__excerpt {
    margin-bottom: 24px !important;
}

.stk-b9ef801 .stk-block-posts__excerpt p {
    margin: 0 !important;
}

/* =========================================================
   Post Read More Button
========================================================= */

.stk-b9ef801 .stk-block-posts__readmore {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 16px;

    width: fit-content !important;
    height: 54px;
    box-sizing: border-box;

    margin: auto 24px 28px 24px !important;
    padding: 14px 24px !important;

    background: var(--stk-global-color-5640, #cc171d) !important;
    color: #ffffff !important;

    border-radius: var(--stk--preset--border-radius--large, 16px) !important;
    overflow: hidden;

    font-family: 'Sofia Pro', sans-serif !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    text-decoration: none !important;
    white-space: nowrap;
}

.stk-b9ef801 a.stk-block-posts__readmore,
.stk-b9ef801 a.stk-block-posts__readmore:visited,
.stk-b9ef801 a.stk-block-posts__readmore:hover,
.stk-b9ef801 a.stk-block-posts__readmore:focus {
    color: #ffffff !important;
    text-decoration: none !important;
}

.stk-b9ef801 .stk-block-posts__readmore::after {
    content: "";
    display: inline-block;

    width: 18px;
    height: 18px;

    background-color: currentColor;

    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;

    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}

.stk-b9ef801 .stk-block-posts__readmore:hover,
.stk-b9ef801 .stk-block-posts__readmore:focus {
    background: #a91217 !important;
}

/* =========================================================
   Final News Block Font Override
========================================================= */

body .wp-block-stackable-posts.stk-b9ef801 .stk-block-posts__title,
body .wp-block-stackable-posts.stk-b9ef801 .stk-block-posts__title *,
body .wp-block-stackable-posts.stk-b9ef801 .stk-block-posts__title a {
    font-family: 'Co Headline', sans-serif !important;
    font-weight: 700 !important;
}

body .wp-block-stackable-posts.stk-b9ef801 .stk-block-posts__meta,
body .wp-block-stackable-posts.stk-b9ef801 .stk-block-posts__meta *,
body .wp-block-stackable-posts.stk-b9ef801 .stk-block-posts__meta time,
body .wp-block-stackable-posts.stk-b9ef801 .stk-subtitle,
body .wp-block-stackable-posts.stk-b9ef801 .stk-subtitle *,
body .wp-block-stackable-posts.stk-b9ef801 .stk-block-posts__excerpt,
body .wp-block-stackable-posts.stk-b9ef801 .stk-block-posts__excerpt *,
body .wp-block-stackable-posts.stk-b9ef801 .stk-block-posts__excerpt p {
    font-family: 'Sofia Pro', sans-serif !important;
}

body .wp-block-stackable-posts.stk-b9ef801 .stk-block-posts__excerpt p {
    margin: 0 !important;
}

/* Footer widget area 6 - force footer nav links white */
[data-column="widget-area-6"] .white-text-links,
[data-column="widget-area-6"] .white-text-links p,
[data-column="widget-area-6"] .white-text-links .stk-block-text__text,
[data-column="widget-area-6"] .white-text-links a,
[data-column="widget-area-6"] .white-text-links a:visited,
[data-column="widget-area-6"] .white-text-links a:hover,
[data-column="widget-area-6"] .white-text-links a:focus {
    color: #ffffff !important;
}

[data-column="widget-area-6"] .white-text-links a:hover {
    opacity: 0.75;
}

/* =========================================================
   Search Results Cards - Fonts + Button Match
========================================================= */

body.search .ct-container .entries[data-archive="default"] .entry-card,
body.search .ct-container .entries[data-archive="default"] .entry-card p,
body.search .ct-container .entries[data-archive="default"] .entry-card div,
body.search .ct-container .entries[data-archive="default"] .entry-card span,
body.search .ct-container .entries[data-archive="default"] .entry-card a {
    font-family: 'Sofia Pro', sans-serif !important;
}

body.search .ct-container .entries[data-archive="default"] .entry-card .entry-title,
body.search .ct-container .entries[data-archive="default"] .entry-card .entry-title *,
body.search .ct-container .entries[data-archive="default"] .entry-card .entry-title a {
    font-family: 'Co Headline', sans-serif !important;
    font-weight: 700 !important;
}

body.search .ct-container .entries[data-archive="default"] .entry-card .entry-excerpt,
body.search .ct-container .entries[data-archive="default"] .entry-card .entry-excerpt *,
body.search .ct-container .entries[data-archive="default"] .entry-card .entry-excerpt p {
    font-family: 'Sofia Pro', sans-serif !important;
}

body.search .ct-container .entries[data-archive="default"] .entry-card .entry-excerpt p {
    margin: 0 !important;
}

/* =========================================================
   Search Results Button - Match News Card Button
========================================================= */

body.search .ct-container .entries[data-archive="default"] .entry-card .entry-button,
body.search .ct-container .entries[data-archive="default"] .entry-card a.entry-button,
body.search .ct-container .entries[data-archive="default"] .entry-card .ct-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;

    width: fit-content !important;
    height: 54px !important;
    box-sizing: border-box !important;

    padding: 14px 24px !important;

    background: var(--stk-global-color-5640, #cc171d) !important;
    color: #ffffff !important;

    border: 0 !important;
    border-radius: var(--stk--preset--border-radius--large, 16px) !important;
    overflow: hidden !important;

    font-family: 'Sofia Pro', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

body.search .ct-container .entries[data-archive="default"] .entry-card .entry-button,
body.search .ct-container .entries[data-archive="default"] .entry-card .entry-button:visited,
body.search .ct-container .entries[data-archive="default"] .entry-card .entry-button:hover,
body.search .ct-container .entries[data-archive="default"] .entry-card .entry-button:focus {
    color: #ffffff !important;
    text-decoration: none !important;
}

body.search .ct-container .entries[data-archive="default"] .entry-card .entry-button:hover,
body.search .ct-container .entries[data-archive="default"] .entry-card .entry-button:focus {
    background: #a91217 !important;
}

body.search .ct-container .entries[data-archive="default"] .entry-card .entry-button svg {
    width: 18px !important;
    height: 18px !important;
    margin-left: 0 !important;
    color: currentColor !important;
    fill: currentColor !important;
}

/* =========================================================
   Search Card Spacing Consistency
========================================================= */

body.search .ct-container .entries[data-archive="default"] .entry-card .entry-title,
body.search .ct-container .entries[data-archive="default"] .entry-card .entry-excerpt,
body.search .ct-container .entries[data-archive="default"] .entry-card .entry-button {
    margin-left: 24px !important;
    margin-right: 24px !important;
}

body.search .ct-container .entries[data-archive="default"] .entry-card .entry-button {
    margin-bottom: 28px !important;
}

/* =========================================================
   Mobile Performance - Disable Above-Fold Hero Animation
========================================================= */

@media (max-width: 768px) {
    .hero-flyin,
    .hero-flyin *,
    .hero-zoom-bg,
    .hero-zoom-bg::before,
    .hero-zoom-bg::after {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }

    .hero-flyin,
    .hero-flyin * {
        opacity: 1 !important;
        visibility: visible !important;
    }
}