/*
Theme Name: Rex Child
Description: Rex Child Theme
Theme URI: http://wordpress.mountainthemes.dev/rex
Author: Mountain-Themes
Author URI: https://themeforest.net/user/mountain-themes
Template: rex
Version: 1.0.0
License: GNU General Public License version 3.0 & Envato Regular/Extended License
License URI: http://www.gnu.org/licenses/gpl-3.0.html & http://themeforest.net/licenses
Tags: one-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, featured-images, full-width-template, theme-options, translation-ready
Text Domain: rex-child
*/


/* Copy any classes from parent theme here. They will override the parent's version. */

#wrapper  {
    padding: 40px 0;
}

.single-portfolio .gallery-item img {
    width: 100%;
    height: auto;
    border-radius: 4px;
}
.portfolio-meta {
    display: none;
}
/* --- Portfolio Layout --- */
.single-portfolio .portfolio-grid {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 40px;
}

/* Left column - Gallery */
.portfolio-gallery-column {
    flex: 1 1 60%;
    max-width: 60%;
}
/* Gallery images stacked */
.portfolio-gallery .gallery-item {
    margin-bottom: 20px;
}

.portfolio-gallery img {
    width: 100%;
    height: auto;
    margin-bottom: 20px;
    border-radius: 6px;
    display: block;
}
/* Remove Bootstrap container padding inside WPBakery content areas */
.wpb-content-wrapper, .wpb_content_wrapper .container,
.wpb_content_wrapper .container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Right column - Content */
.portfolio-content-column {
    flex: 1 1 40%;
    max-width: 40%;
}

.portfolio-content-column h1 {
    font-size: 28px;
    margin-bottom: 15px;
}

.portfolio-content-column .portfolio-content p {
    margin-bottom: 1.2em;
    line-height: 1.6;
}

.portfolio-meta {
    margin-top: 30px;
    font-size: 0.95rem;
}

@media (max-width: 900px) {
    .single-portfolio .portfolio-grid {
        flex-direction: column;
    }

    .portfolio-gallery-column,
    .portfolio-content-column {
        max-width: 100%;
    }
}

/* --- End Portfolio Layout --- */

/* hover effect for portfolio items */
/* Base reset for the overlay */
.vp-portfolio__item-overlay {
    background: transparent !important;
    opacity: 1 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease-in-out;
}

/* Hide text circle by default */
.vp-portfolio__item-meta-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: all 0.4s ease;
}

.vp-portfolio__item-meta {
    text-decoration: none;
}

.vp-portfolio__item-meta-title {
    background: rgba(0, 0, 0, 0.75);
    color: #fff;
    border-radius: 50%;
    padding: 70px 40px;
    text-align: center;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 1px;
    line-height: 1.4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 180px;
    height: 180px;
    transition: all 0.3s ease-in-out;
}

/* Hover effect */
.vp-portfolio__item:hover .vp-portfolio__item-meta-wrap {
    opacity: 1;
}

.vp-portfolio__item:hover img {
    filter: brightness(60%);
    transition: filter 0.3s ease-in-out;
}

/* Optional: slight grow effect on circle */
.vp-portfolio__item:hover .vp-portfolio__item-meta-title {
    transform: scale(1.05);
}


.vp-portfolio__item-meta {
    text-decoration: none;
}

/* --- Portfolio item base setup --- */
.vp-portfolio__item {
    overflow: hidden;
    position: relative;
}

/* Overlay container — keep transparent and flexible */
.vp-portfolio__item-overlay {
    background: transparent !important;
    opacity: 1 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease-in-out;
}

/* The hover circle container (hidden by default) */
.vp-portfolio__item-meta-wrap {
    position: absolute;
    top: 50%;
    left: 33.333%;
    /* <-- Center of the circle sits at 1/3 of the width */
    transform: translate(-50%, -50%) scale(0.9);
    opacity: 0;
    transition: all 0.4s ease;
    pointer-events: none;
}

/* Circle and title */
.vp-portfolio__item-meta-title {
    background: rgba(0, 0, 0, 0.75);
    color: #fff;
    border-radius: 50%;
    width: 160px;
    height: 160px;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.4;
    transition: all 0.3s ease-in-out;
}

/* --- Image zoom on hover --- */
.vp-portfolio__item-img img {
    transition: transform 0.6s ease, filter 0.3s ease;
    transform: scale(1);
}

.vp-portfolio__item:hover .vp-portfolio__item-img img {
    transform: scale(1.08);
    /* zoom effect */
    filter: brightness(65%);
}

/* --- Circle animation --- */
.vp-portfolio__item:hover .vp-portfolio__item-meta-wrap {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

/* Optional subtle grow effect on circle */
.vp-portfolio__item:hover .vp-portfolio__item-meta-title {
    transform: scale(1.05);
}


/* Larger hover circle + refined typography */
.vp-portfolio__item-meta-title {
    background: rgba(0, 0, 0, 0.75);
    color: #fff;
    border-radius: 50%;
    width: 220px;
    /* was 160px — increase circle diameter */
    height: 220px;
    font-size: 17px;
    /* slightly larger text */
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    /* tighter spacing for smoother wrapping */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.3;
    transition: all 0.3s ease-in-out;
    padding: 40px;
    /* gives breathing space for multi-line titles */
}

/* Keep circle centered at 1/3 of image */
.vp-portfolio__item-meta-wrap {
    position: absolute;
    top: 50%;
    left: 33.333%;
    transform: translate(-50%, -50%) scale(0.9);
    opacity: 0;
    transition: all 0.4s ease;
    pointer-events: none;
}

/* Hover states (same as before) */
.vp-portfolio__item:hover .vp-portfolio__item-meta-wrap {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.vp-portfolio__item:hover .vp-portfolio__item-meta-title {
    transform: scale(1.05);
}


/* Ensure overlay doesn’t block clicks */
.vp-portfolio__item-overlay,
.vp-portfolio__item-meta-wrap,
.vp-portfolio__item-meta-title {
    pointer-events: none;
}

/* Reactivate clickability for the links only */
.vp-portfolio__item a {
    pointer-events: auto;
    position: relative;
    z-index: 2;
}

/* Keep hover effects working visually */
.vp-portfolio__item:hover img {
    transform: scale(1.08);
    filter: brightness(65%);
}


.vp-portfolio__filter-wrap {
    text-align: left;
    margin-bottom: 40px;
    width: 100%;
}

/* Hide category labels on portfolio hover cards */
.vp-portfolio__item-meta-category,
.vp-portfolio__item-meta-term,
.vp-portfolio__item-meta-categories {
    display: none !important;
}


/* Force Visual Portfolio filter alignment to left */
.vp-portfolio__filter-wrap {
    width: 100%;

}

.vp-filter {
    display: flex !important;
    justify-content: flex-start !important;
    /* Align items left */
    flex-wrap: wrap;
    gap: 0px;
    /* optional spacing between items */
    text-align: left !important;
}

.vp-filter__style-rex .vp-filter__item a {
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none;
    margin: 0px 0px 0 0px;
    padding: 0 10px 0 10px;
    cursor: pointer;
    display: inline;
    color: var(--vp-filter-style-rex--text__color);
}
.vp-filter__item {
    margin: 0;
}


/* Reduce spacing below the Visual Portfolio filter bar */
.vp-portfolio__filter-wrap {
    margin-bottom: 0px !important;
    /* adjust this value to taste */
}

.vp-portfolio__layout-elements-top {
    margin-bottom: 0 !important;
    /* sometimes this adds extra gap */
    padding-bottom: 0 !important;
}

/* Optional: remove any top padding on the grid below */
.vp-portfolio__items {
    margin-top: 0 !important;
}
footer.footer { background-color: #fff !important; border-top: 1px solid #000; }
footer.footer .centre-content { text-align: center; }

.wpb-content-wrapper { max-width: 1140px !important; margin: 0 auto; padding: 0 15px; }


.post-thumbnail {
    margin-bottom: 15px;
}

.post-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
}

.entry-header h2.entry-title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 8px;
}

.post-details {
    color: #777;
    font-size: 13px;
    margin-bottom: 10px;
}

.post-info {
    font-size: 15px;
    line-height: 1.6;
}

.post-thumbnail {
    float: left;
    width: 40%;
    margin-right: 25px;
}
.post-comment{ display: none;}
h2.entry-title {
    margin-top: 0;
}

.entry-header,
.post-details,
.post-info {
    overflow: hidden;
}
.wp-singular .post-thumbnail {
   display: none;
}

@media (max-width: 768px) {

    /* Turn the header row into a flex container */
    .col-md-12 {
        display: flex;
        align-items: center;
        /* vertical centering */
        justify-content: space-between;
        /* logo left, menu right */
    }

    /* Kill floats on mobile */
    .logo,
    .logo img,
    nav {
        float: none !important;
    }

    /* Make sure nav behaves like a flex item, not a floated block */
    nav {
        display: flex;
        align-items: center;
        /* vertically centers menu / hamburger */
        height: auto;
        margin: 15px 0 0 0 !important;
        padding: 0;
    }
    .slicknav_menutxt {
        display: none !important;
    }
        .slicknav_menu .slicknav_icon-bar {
            display: block;
            width: 25px !important;
            height: 1px !important;
        }

    /* Control logo size */
    .logo img {
        height: 40px !important;
        width: auto;
        display: block;
    }
}

/* === FOOTER FLEX FIX === */
.footer .row-flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

/* Columns should be allowed to grow normally */
.footer .wp-block-columns {
    display: flex !important;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
}

/* Fix each footer column */
.footer .wp-block-column {
    flex: 1 1 33%;
    max-width: 33%;
}

/* Prevent snapping-left issue (Gutenberg tries to force constrained layout) */
.footer .wp-block-column.is-layout-constrained {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* === MOBILE === */
@media (max-width: 768px) {

    /* Stack columns */
    .footer .wp-block-column {
        flex: 1 1 100%;
        max-width: 100%;
        text-align: center;
    }

    .footer .wp-block-columns {
        justify-content: center;
    }

    .footer p,
    .footer ul,
    .footer figure {
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }

    /* Center social icons */
    .footer .wp-block-social-links {
        justify-content: center !important;
    }
}

/* Center social icons on all screen sizes */
.footer .wp-block-social-links {
    justify-content: center !important;
    align-items: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* On vertical layouts, ensure proper centering */
.footer .wp-block-social-links.is-vertical {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

/* ==== PORTFOLIO FILTER MOBILE FIX ==== */
@media (max-width: 768px) {

    /* FORCE the whole filter block to align left */
    .vp-portfolio__filter-wrap,
    .vp-portfolio__filter-wrap * {
        text-align: left !important;
        justify-content: flex-start !important;
    }

    /* Fix spacing between items */
    .vp-filter__item {
        margin: 6px 0 !important;
        display: block !important;
    }

    /* Anchor text absolutely LEFT */
    .vp-filter__item a {
        display: block !important;
        text-align: left !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* In case filter is being centered by flex */
    .vp-filter {
        display: block !important;
        justify-content: flex-start !important;
        align-items: flex-start !important;
    }
}
@media (max-width: 768px) {

    .homepage-header-row.vc_custom_1762189727602,
    .vc_row.homepage-header-row.vc_custom_1762189727602 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

 body .vc_row .vc_custom_1626271921285,
 body .vc_custom_1626271921285 {
     margin-top: 0 !important;
     margin-bottom: 0 !important;
     padding-top: 0 !important  ;
     fon
font-size: 12px !important;}

 h4,
 .h4,
 .wpb_wrapper h4 {
     font-size: 14px !important;
     line-height: 1.4 !important;
     /* optional, but keeps it tidy */
 }
.vc_column_container>.vc_column-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
}

/* --- MOBILE: always show portfolio title circles --- */
@media (max-width: 768px) {

    /* Make sure the overlay itself is visible and not tinted */
    figure.vp-portfolio__item .vp-portfolio__item-overlay {
        opacity: 1 !important;
        background: transparent !important;
        visibility: visible !important;
        display: block !important;
    }

    /* Force the meta wrap (circle container) to show and center */
    figure.vp-portfolio__item .vp-portfolio__item-meta-wrap {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        opacity: 1 !important;
        visibility: visible !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        pointer-events: none !important;
        /* clicks still go through to the link */
    }

    /* Make sure the circle itself is visible */
    figure.vp-portfolio__item .vp-portfolio__item-meta-title {
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    /* Kill all hover effects on mobile (no extra darkening / zoom) */
    figure.vp-portfolio__item .vp-portfolio__item-img img,
    figure.vp-portfolio__item:hover .vp-portfolio__item-img img {
        filter: none !important;
        transform: none !important;
    }
}
@media (max-width: 768px) {

    /* Position the circle on the LEFT side */
    figure.vp-portfolio__item .vp-portfolio__item-meta-wrap {
        top: 50% !important;
        left: 30% !important;
        /* adjust this to move further left/right */
        transform: translate(-50%, -50%) !important;
    }

    /* Reduce the circle size by ~80% */
    figure.vp-portfolio__item .vp-portfolio__item-meta-title {
        width: 180px !important;
        /* originally 220px */
        height: 180px !important;
        font-size: 14px !important;
        /* smaller text for smaller circle */
        padding: 20px !important;
        /* reduce padding */
    }
        .wpb-content-wrapper,
        .wpb_content_wrapper .container,
        .wpb_content_wrapper .container-fluid {
            padding-left: 15px !important;
            padding-right: 15px !important;
        }
}
@media (max-width: 768px) {

    /* Remove floating layout */
    .post-thumbnail {
        float: none !important;
        width: 100% !important;
        margin: 0 0 20px 0 !important;
    }

    /* Ensure the image itself is full-width */
    .post-thumbnail img {
        width: 100% !important;
        height: auto !important;
        display: block;
    }

    /* Make the text appear below the image, full width */
    article .entry-header,
    article .post-info,
    article .post-details {
        float: none !important;
        width: 100% !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important ;
    }
.post-details div {
    float: left;
    color: #000000;
    margin-top: 0px;
    margin-right: 20px;
}
    /* Clear any leftover float behaviour */
    article {
        overflow: visible !important;
    }
        .post-details  {
            color: #777;
            font-size: 13px;
            margin-bottom: 10px;
           
        }

}
.post-details .fa-solid { display: none;}

#block-5 {width: 100% !important    ;}

/* Make footer full-width on desktop */
/* --- Ensure footer container behaves correctly --- */
footer.footer>.container {
    max-width: 1140px !important;
    width: 100% !important;
}

/* --- Make the footer row stretch full width --- */
footer.footer .row-flex {
    display: flex !important;
    flex-wrap: nowrap;
    /* keep 3 columns in one row */
    justify-content: space-between !important;
    width: 100%;
}

/* --- #block-5 should expand to full width --- */
footer.footer #block-5 {
    width: 100% !important;
    
}

/* --- Main Gutenberg columns behave as 3 equal columns --- */
footer.footer .wp-block-columns {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* --- Each column gets equal width --- */
footer.footer .wp-block-column {
    flex: 1 1 33% !important;
    max-width: 33% !important;
    padding: 0 15px;
}

/* Remove alignment constraints Gutenberg adds */
footer.footer .wp-block-column.is-layout-constrained {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* --- Desktop alignment: left / center / right --- */
footer.footer .wp-block-column:nth-child(1) {
    text-align: left;
}

footer.footer .wp-block-column:nth-child(2) {
    text-align: center;
}

footer.footer .wp-block-column:nth-child(3) {
    text-align: right;
}



/* Fix broken footer layout */
footer.footer #block-5 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    display: block !important;
    /* override theme flex column */
}

/* Make the 3 Gutenberg columns behave correctly */
footer.footer .wp-block-columns {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    width: 100% !important;
}

/* Each column takes 1/3 width */
footer.footer .wp-block-column {
    flex: 0 0 33.33% !important;
    max-width: 33.33% !important;
}

/* Ensure no theme alignment breaks it */
footer.footer .wp-block-column.is-layout-constrained {
    margin: 0 !important;
}

/* Desktop: align social icons right in footer */
@media (min-width: 769px) {
    footer.footer .wp-block-column:last-child .wp-block-social-links {
        justify-content: flex-end !important;
        align-items: flex-end !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        text-align: right !important;
    }

          

    /* Also ensure the column text aligns right */
    footer.footer .wp-block-column:last-child {
        text-align: right !important;
    }
}

/* --- Mobile override: columns stack --- */
@media (max-width: 768px) {
    footer.footer .wp-block-columns {
        flex-wrap: wrap !important;
    }

    footer.footer .wp-block-column {
        max-width: 100% !important;
        flex: 1 1 100% !important;
        text-align: center !important;
    }
}

/* DESKTOP — perfect full height bar */
.vp-filter__item.vp-filter__item-active {
    position: relative;
    padding-right: 20px;
    /* spacing between text and bar */
}

.vp-filter__item.vp-filter__item-active::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    /* makes bar match exact container height 
    right: 0;
    width: 1px;
    background: #000;*/
}
/* === TABLET FIX (in-between sizes) === */
@media (max-width: 1200px) {
    .vp-filter__item.vp-filter__item-active a::after {
        height: 100%;
        top: 0;
        bottom: 0;
    }
}

/* === MOBILE — stacked layout, border should be removed === */
@media (max-width: 768px) {
    .vp-filter__item.vp-filter__item-active a::after {
        display: none;
    }

    .vp-filter {
        display: block !important;
    }

    .vp-filter__item {
        margin-bottom: 10px;
    }
}

.vp-pagination__load-more-no-more {
    display: none !important;
}   

/* Restore Visual Portfolio aspect ratio */
.vp-portfolio__item-img-wrap {
    height: auto !important;
    padding-bottom: 0 !important;
}

.vp-portfolio__item-img img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover;
    image-rendering: auto !important;
}


/* ------------------------------------------------------------ */
/* FIX: FORCE CROPPED UNIFORM GRID IN VISUAL PORTFOLIO          */
/* ------------------------------------------------------------ */

/* Force each item to be the same height */
.vp-portfolio__item,
.vp-portfolio__item-wrap {
    height: 380px !important;
    max-height: 380px !important;
    overflow: hidden !important;
}

/* Override Visual Portfolio inline height */
.vp-portfolio__item-img-wrap,
.vp-portfolio__item-img {
    height: 100% !important;
    max-height: 100% !important;
    width: 100% !important;
}

/* Crop and fill image container */
.vp-portfolio__item-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    max-width: 100% !important;
    max-height: 100% !important;
}

/* Prevent VP JS from resizing items 
.vp-portfolio__item-wrap[style] {
    height: 375px !important; 
}*/

.vp-portfolio__item-img-wrap[style],
.vp-portfolio__item-img[style] {
    height: 100% !important;
}

/* Desktop zoom still works */
@media (min-width: 769px) {
    .vp-portfolio__item:hover .vp-portfolio__item-img img {
        transform: scale(1.12) !important;
        filter: brightness(70%) !important;
    }
}

/* Mobile — natural height only when stacked 1-column */
@media (max-width: 768px) {

    .vp-portfolio__item,
    .vp-portfolio__item-wrap {
        height: auto !important;
        max-height: none !important;
    }

    .vp-portfolio__item-img img {
        height: auto !important;
        object-fit: contain !important;
        transform: none !important;
        filter: none !important;
    }

  
}

  #wrapper {
      padding-left:   15px !important;
      padding-right: 15px !important;
  }
/* ------------------------------------------------------------ */
/* SMOOTH, PREMIUM ZOOM EFFECT                                  */
/* ------------------------------------------------------------ */

.vp-portfolio__item-img img {
    transition: transform 0.75s cubic-bezier(0.16, 1, 0.3, 1),
        filter 0.75s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

@media (min-width: 769px) {
    .vp-portfolio__item:hover .vp-portfolio__item-img img {
        transform: scale(1.12) !important;
        filter: brightness(70%) !important;
    }
}@media only screen and (min-width: 992px) {
    .vc_row {
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* ================================================
   MOBILE PORTFOLIO FIX — 1 COLUMN + UNIFORM CROP
   ================================================ */
@media (max-width: 768px) {

    /* Force each item to full width */
    .vp-portfolio__item-wrap {
        width: 100% !important;
        left: 0 !important;
        position: relative !important;
    }

    /* Make the image container a fixed height (4:3 crop) */
    .vp-portfolio__item-img img {
        width: 100% !important;
        height: 260px !important;
        /* mobile crop height */
        object-fit: cover !important;
        object-position: center center !important;
        display: block !important;
        
    }

    /* Remove huge spacing Visual Portfolio injects on mobile */
    .vp-portfolio__items {
        gap: 0 !important;
    }

    /* Fix overlay circle position for tall mobile images */
    .vp-portfolio__item-meta-wrap {
        top: 60% !important;
    }
}
@media (max-width: 768px) {
    .wpb_text_column.wpb_content_element.vc_custom_1763737044712.header { margin: 0 0 0 -18px !important;}


/* Make items flow naturally */
    .vp-portfolio__item-wrap {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        margin: 0 0 5px 0 !important;
        /* <-- 5px gap */
        width: 100% !important;
    }

    /* Remove default masonry spacing */
    .vp-portfolio__items {
        height: auto !important;
        gap: 0 !important;
    }

    /* Remove any theme/plugin margin */
    .vp-portfolio__item {
        margin: 0 0 5px 0 !important;
    }

    /* Ensure image height remains fixed */
    .vp-portfolio__item-img img {
        height: 260px !important;
        /* or your chosen 4:3 height */
        object-fit: cover !important;
        width: 100% !important;
    }

    /* Remove entry fade-in transform spacing */
    .vp-portfolio__layout {
        transform: none !important;
    }
         /* Force image to fill wrapper height (stops big gaps) */
         .vp-portfolio__item-img img {
             width: 100% !important;
             height: 100% !important;
             /* <--- IMPORTANT */
             object-fit: cover !important;
             display: block !important;
         }
    
         /* Remove extra spacing caused by wrapper logic */
         .vp-portfolio__item-wrap {
             position: relative !important;
             top: auto !important;
             left: auto !important;
             margin-bottom: 5px !important;
         }
    
         .vp-portfolio__items {
             height: auto !important;
         }

                 
}

.portfolio-content-column h1.portfolio-title { margin-left: 14px;}


/* RESET VC BUTTON INTERFERENCE */
.project-button .vc_btn3 {
    padding: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    line-height: 1 !important;
    border-radius: 50% !important;
}

/* FIXED ROUND CONNECT BUTTON */
.project-button {
    position: fixed !important;
    bottom: 40px !important;
    right: 40px !important;
    z-index: 9999 !important;
    width: 85px;
    height: 85px;
}

.project-button a {
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: 100% !important;
    height: 100% !important;
    background: #000 !important;
    color: #fff !important;
    border-radius: 50% !important;
    font-size: 14px;
    text-decoration: none;
    transition: transform 0.25s ease, background-color 0.25s ease;
}

/* 20% GROW ON HOVER */
.project-button a:hover {
    transform: scale(1.4);
    background-color: #111 !important;
}