/*
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.1.8
Text Domain: jack
*/


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

@font-face {
    font-family: 'mulish';
    src: url('https://jacquioakley.com/type/Mulish-Light.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'mulish';
    src: url('https://jacquioakley.com/type/Mulish-LightItalic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}


@font-face {
    font-family: 'mulish';
    src: url('https://jacquioakley.com/type/Mulish-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}


@font-face {
    font-family: 'mulish';
    src: url('https://jacquioakley.com/type/Mulish-BoldItalic.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}



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

body:not(.page-id-94) .content {
    padding: 100px 0px !important;
}

.admin-bar:not(.page-id-94) .content {
    padding: 132px 0px 60px 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 --- */

body.sled-fonts p, p, b, .sld-mg-desc, .sld-mg-lb-cap {
	font-family: 'mulish' !important;
    text-transform: none;
}

.sld-mg-title {
    font-family: 'TradeGothic', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
    font-weight: 700 !important;
}

h1, h2, body.sled-fonts h1, body.sled-fonts h2 {
	font-family: 'cleric-wide' !important;
    text-transform: none;
Margin-bottom:16px;
}

h3{
	font-style:normal;
}



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

.full_section_inner {
    padding-top: 16px;
}

.footer-isolation-wrapper .full_section_inner {
    padding-top: 0px;
    padding-bottom: 0;
}

body.home .footer-isolation-wrapper {
    padding-top: 64px;
}

.footer-isolation-wrapper a:hover {
    color: #fff !important;
}

.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;
font-family: 'TradeGothic', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
    font-weight: 700 !important;
Font-size:16px;
}
	


.sld-mg-title {
    margin: .6rem 0 0 !important;
}




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

/* Mobile nav — match desktop typography and colour scheme */
nav.mobile_menu {
    background-color: #fff !important;
}

nav.mobile_menu ul li {
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    margin: 0 !important;
    padding: 0 !important;
}

nav.mobile_menu ul li:last-child {
    border-bottom: none !important;
}

nav.mobile_menu ul li a,
nav.mobile_menu ul li h4 {
    font-family: 'Roboto Condensed', 'TradeGothic', system-ui, sans-serif !important;
    font-weight: 700 !important;
    font-size: 22px !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    text-align: left !important;
    color: #000 !important;
    padding: 16px 24px !important;
    line-height: 1.2 !important;
    transition: background .18s ease, color .18s ease !important;
}

nav.mobile_menu ul li a:hover,
nav.mobile_menu ul li.active > a,
nav.mobile_menu ul li.current-menu-item > a {
    background-color: #000 !important;
    color: #fff !important;
}

nav.mobile_menu ul li ul li a {
    font-size: 15px !important;
    padding: 12px 24px 12px 52px !important;
    font-weight: 700 !important;
    text-align: left !important;
    color: #444 !important;
}

nav.mobile_menu ul li ul li a:hover {
    background-color: #000 !important;
    color: #fff !important;
}

nav.mobile_menu ul > li.has_sub > span.mobile_arrow {
    color: #000 !important;
    height: 56px !important;
    line-height: 56px !important;
    width: 56px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
}

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;
}

header.fixed.scrolled nav.main_menu > ul > li > a,
header.fixed.scrolled nav.main_menu > ul > li:hover > a {
    margin-top: 8px !important;
    line-height: 40px !important;
}

header.fixed.scrolled .q_logo,
header.fixed.scrolled .q_logo a {
    height: 57px !important;
    max-height: 57px !important;
}

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;
}

.page_header {
    background: rgba(255, 255, 255, 0.4) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
}

/* --- 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;
    margin-top: -5px;
}


/* 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;
        }
    }
} /* end @media max-width:1000px */

/* ===== Mailchimp Newsletter Form ===== */

.mc-newsletter-title {
    font-family: 'TradeGothic', system-ui, sans-serif;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #1a1a1a;
    text-align: center;
    margin: 0 0 8px;
}

.mc-newsletter-subtitle {
    font-size: 14px;
    color: #1a1a1a;
    text-align: center;
    margin: 0 0 20px;
}

/* Strip default Mailchimp chrome */
#mc_embed_signup { display: block; width: 100%; background: transparent; }
#mc_embed_signup form { padding: 0 !important; margin: 0; background: transparent; }
#mc_embed_signup .indicates-required,
#mc_embed_signup label,
#mc_embed_signup #mce-responses,
#mc_embed_signup .optionalParent p { display: none !important; }

/* Row: email field + button side by side */
#mc_embed_signup #mc_embed_signup_scroll {
    display: flex !important;
    align-items: stretch;
    gap: 0;
    background: transparent;
}

#mc_embed_signup .mc-field-group {
    flex: 1 1 auto;
    margin: 0;
    min-width: 0;
}

#mc_embed_signup .mc-field-group input[type="email"] {
    display: block !important;
    width: 100% !important;
    height: 56px !important;
    background: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 20px !important;
    font-size: 14px !important;
    color: #888 !important;
    box-sizing: border-box !important;
    font-family: 'TradeGothic', system-ui, sans-serif !important;
    box-shadow: none !important;
    margin: 0 !important;
}

#mc_embed_signup .mc-field-group input[type="email"]:focus {
    outline: 2px solid #1a1a1a !important;
    outline-offset: -2px !important;
    color: #1a1a1a !important;
}

#mc_embed_signup .optionalParent { flex: 0 0 auto; margin: 0; }
#mc_embed_signup .clear.foot { display: flex !important; height: 100%; margin: 0; }

#mc_embed_signup input[type="submit"] {
    display: block ;
    height: 56px ;
    background: #1a1a1a ;
    color: #b7bbc0 ;
    border: none ;
    border-radius: 0 ;
    padding: 0 52px ;
    font-size: 13px ;
    font-weight: 700 ;
    letter-spacing: 0.1em ;
    text-transform: uppercase ;
    cursor: pointer ;
    font-family: 'TradeGothic', system-ui, sans-serif ;
    white-space: nowrap ;
    box-sizing: border-box ;
    transition: background .18s ease, color .18s ease ;
    box-shadow: none ;
    margin: 0px 20px ;
}

#mc_embed_signup input[type="submit"]:hover {
    background: #1a1a1a;
    color: #fff;
}

@media (max-width: 600px) {
    #mc_embed_signup #mc_embed_signup_scroll { flex-direction: column; }
    #mc_embed_signup .mc-field-group input[type="email"] { height: 48px; }
    #mc_embed_signup input[type="submit"] { height: 48px; width: 100%; text-align: center; }
}

@media (max-width: 767px) {

  .hidemobile {
    display: none !important;
  }

.admin-bar:not(.page-id-94) .content {
	padding-top: 0px !important;
}



}