/*
Theme Name: Jack
Theme URI: https://versands.ca/
Description: Child theme for Stockholm by SLED.
Author: Sergio Luna
Author URI: https://sled.mx/
Template: stockholm
Version: 1.0.0
Text Domain: jack
*/


@font-face {
    font-family: 'Cleric Wide';
    src: url('https://versands.ca/type/Cleric-WideBold.woff2') format('woff2'),
        url('https://versands.ca/type/Cleric-WideBold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}





/* --- 1. Layout & Header Offsets --- */

body:not(.home) .content {
    padding: 100px 0px !important;
}

.admin-bar:not(.home) .content {
    padding: 132px 0px 100px 0px !important;
}

body.no-header-padding .content {
    padding-top: 0 !important;
}



/**
 * Remove ghost margins in middle-aligned rows
 */
.vc_row-o-content-middle .wpb_text_column .wpb_wrapper > p:empty {
    display: none !important;
}

.vc_row-o-content-middle .vc_column-inner {
    padding-top: 0 !important;
}

/* Force our established margin to be the ONLY margin */
body:not(.home):not(.no-header-padding) .vc_row-o-content-middle .wpb_text_column:first-of-type .wpb_wrapper {
    margin-top: 40px !important;
}

/* --- 2. Vertical Alignment & Core Containers --- */

.content, 
.content_inner {
    display: block !important;
    vertical-align: top !important;
    float: left;
    width: 100%;
    min-height: 100vh;
}

.vc_row-o-content-middle {
    align-items: flex-start !important;
}

.container_inner {
    max-width: 1800px;
    width: 100%;
}

.column1 {
    width: 100%;
    max-width: 1080px;
}

/* --- 3. Typography & Elements --- */

h1, h2, body.sled-fonts h1, body.sled-fonts h2 {
	font-family: 'Cleric Wide' !important;
    text-transform: none;
	line-height: 2em;
}

h3{
	font-style:normal;
}

body:not(.home):not(.no-header-padding) .vc_row:first-of-type .wpb_text_column:first-of-type .wpb_wrapper {
    margin: 40px 0px !important;
}

.top8 {
    padding-top: 6px;
    display: inline-block;
}

.full_section_inner {
    padding-top: 16px;
}

.wp-caption, img {
    width: 1080px; 
}

.grayscale img {
    filter: grayscale(100%);
}

.full-height {
    height: 95vh;
}


/*SLED gallery plug styles*/
.sld-mg-title, .sld-mg-desc, .sld-mg-lb-cap {

	text-align:center;
	
}

.sld-mg-lb-cap strong{
	display:block;
}
	

/* --- 4. Navigation & Menus --- */

nav.main_menu > ul > li > a, 
nav.main_menu > ul > li:hover > a {
    line-height: 40px !important;
    margin-top: 30px;
    padding: 0px 15px;
    letter-spacing: 0px;
    font-size: 15px;
}

li.narrow .second .inner ul {
    padding: 6px 0px 8px;
}

li.narrow .second .inner ul li a {
    font-size: 15px;
}

.drop_down .second .inner > ul, 
li.narrow .second .inner ul {
    background-color: var(--wp--preset--color--black) !important;
}

.drop_down .second {
    border-color: var(--wp--preset--color--black) !important;
}

.sld-ps-wrap::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 120px;
    background: linear-gradient(to bottom, rgba(255,255,255,0.85), rgba(255,255,255,0));
    pointer-events: none;
    z-index: 2;
}

/* --- 5. Portfolio & Footer --- */

.portfolio_single_tags {
    display: none;
}

.portfolio_detail h3 {
    padding-bottom: 12px;
}

.portfolio_detail .info .info_section_title {
    margin-bottom: 0px;
}

.info_section_title {
    color: #000;
}

.portfolio_navigation {
    background: white;
    z-index: 500;
    display: block;
    position: relative;
}

.sl-jo-addendum {
    background: white;
    z-index: 500;
    display: block;
    position: relative;
    padding-bottom: 40px;
}

.footer_top {
    padding: 48px;
}

footer.footer_border_columns .qode_column {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Use flexbox to force the line and the gap */
.sled-contact-line {
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 20px; /* Precise gap control */
    text-align: center;
    flex-wrap: wrap; /* Allows stacking on mobile */
}

.sled-contact-line a {
    text-decoration: none;
    display: flex;
    align-items: center;
	text-transform:uppercase;
}

.sled-contact-line i {
    margin-right: 10px;
}

/* Mobile override: reduce gap when screen is small */
@media only screen and (max-width: 600px) {
    .sled-contact-line {
        gap: 10px;
        flex-direction: column;
    }
}





/* Prevent footer rows from taking over the page height */
.footer-isolation-wrapper .vc_row,
.footer-isolation-wrapper .vc_section {
    min-height: auto !important;
    height: auto !important;
    position: relative !important;
    top: auto !important;
}

/* Ensure the background color stays within the footer bounds */
.sl-custom-footer {
    position: relative;
    z-index: 99;
    width: 100%;
    clear: both;
    display: block;
}

/* If you set the background on the row, ensure it doesn't use fixed positioning */
.footer-isolation-wrapper .upb_row_bg, 
.footer-isolation-wrapper .vc_row-full-width {
    display: none !important; /* Prevents WPBakery JS from stretching the background to the body */
}

/* --- 6. Global Column Logic --- */

.two_columns_66_33 {
    width: 98%;
    margin-right: 2%;
}

/* --- 7. Responsive Overrides --- */

@media only screen and (max-width: 1000px) {
    .content .content_inner > .container > .container_inner.default_template_holder {
        padding-top: 0px !important;
    }

    .q_logo a {
        height: 80px !important;
    }

    .filter_holder ul li {
        cursor: pointer;
        display: inline-block;
        margin: 0;
        float: none;
        text-align: center;
    }

    nav.mobile_menu ul li a {
        text-align: center;
    }
    
    /* Mobile-specific adjustments for columns */
    @media (max-width: 600px) {
        .two_columns_66_33 {
            width: 92%;
            margin: 0 4%;
        }

        .vc_custom_1586567425976 {
            padding-left: 0px !important;
        }

        .vc_col-has-fill > .vc_column-inner {
            border-color: #fff !important;
        }

        .sl-jo-addendum {
            display: none;
        }
    }
}