/* Print styles for clean page output */
@media print {
    /* Improve color fidelity in some browsers (including Edge) */
    * {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    /* Remove extra top spacing and fixed header effects */
    body {
        padding-top: 0 !important;
        background: #fff !important;
        color: #000 !important;
    }

    .site-header {
        position: static !important;
        box-shadow: none !important;
        background: transparent !important;
        color: #000 !important;
    }

    /* Hide tab navigation; show all tab panes stacked */
    .tabbed-section,
    .nav-tabs,
    .navbar {
        display: none !important;
    }

    .tab-content .tab-pane {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* Stack grids to single column for readability */
    .services-grid,
    .value-cards {
        display: block !important;
    }

    .services-grid .service-card,
    .value-cards .value-card,
    .box {
        page-break-inside: avoid;
        break-inside: avoid;
        border: 1px solid #ddd;
        box-shadow: none !important;
        background: #fff !important;
        margin-bottom: 12px;
    }

    /* Remove decorative accents that may not print well */
    .service-card::before,
    .value-card::before {
        display: none !important;
    }

    /* Images: ensure sizing; hide full-bleed hero if present */
    img {
        max-width: 100% !important;
        height: auto !important;
    }
    .img-full {
        display: none !important;
    }

    footer {
        page-break-inside: avoid;
    }

    /* Prevent browsers from appending URLs after links in print */
    a[href^="mailto:"]::after,
    a[href^="tel:"]::after {
        content: none !important;
    }
    /* Broad fallback if UA appends for all links */
    a[href]::after {
        content: none !important;
    }
    
        /* Print section headings for each tab pane */
        #tab-why::before,
        #tab-mission::before,
        #tab-vision::before,
        #tab-services::before,
        #tab-capabilities::before {
            display: block;
            font-size: 18px;
            font-weight: 700;
            margin: 16px 0 8px;
            color: #000;
            page-break-after: avoid;
            break-after: avoid;
        }
        #tab-why::before { content: "Why MyTycho"; }
        #tab-mission::before { content: "Mission Statement"; }
        #tab-vision::before { content: "Vision Statement"; }
        #tab-services::before { content: "Services"; }
        #tab-capabilities::before { content: "Capabilities"; }
}
/*!
 * Start Bootstrap - Business Casual Bootstrap Theme (http://startbootstrap.com)
 * Code licensed under the Apache License v2.0.
 * For details, see http://www.apache.org/licenses/LICENSE-2.0.
 */

body {
    font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
    background: url('../img/bg.jpg') no-repeat center center fixed;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
    -o-background-size: cover;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Josefin Slab","Helvetica Neue",Helvetica,Arial,sans-serif;
    font-weight: 700;
    letter-spacing: 1px;
}

p {
    font-size: 1.25em;
    line-height: 1.6;
    color: #000;
}

hr {
    max-width: 400px;
    border-color: #999999;
}

.brand,
.address-bar {
    display: none;
}

.navbar-brand {
    font-weight: 900;
    letter-spacing: 2px;
}

.navbar-nav {
    font-weight: 400;
    letter-spacing: 3px;
}

.img-full {
    min-width: 100%;
}

.brand-before {
    margin: 15px 0;
}

.brand-name {
    margin: 0;
    font-size: 4em;
}

.tagline-divider {
    margin: 15px auto 3px;
    max-width: 250px;
    border-color: #999999;
}

.box {
    margin-bottom: 20px;
    padding: 30px 15px;
    background: #fff;
    background: rgba(255,255,255,0.9);
}

.intro-text {
    font-size: 1.25em;
    font-weight: 400;
    letter-spacing: 1px;
}

.img-border {
    float: none;
    margin: 0 auto 0;
    border: #999999 solid 1px;
}

.img-left {
    float: none;
    margin: 0 auto 0;
}

footer {
    background: #fff;
    background: rgba(255,255,255,0.9);
}

footer .copyright {
    margin: 0;
    padding: 20px 0;
}

ul.icons {
    padding: 20px 0;
    list-style: none;
}

ul.icons li {
    display: inline-block;
    padding: 0 1.25em 0 0;
    font-size: 1.75em;
}

ul.icons li a {
    text-decoration: none;
}

/* Centered tabs helper for Bootstrap 3 */
.tabbed-section { margin: 10px 0 20px; text-align: center; }
.center-tabs { display: inline-block; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: center; justify-content: center; }
.center-tabs>li { float: none; display: inline-block; }
.center-tabs>li>a { padding: 10px 16px; }
/* Bold active tab label */
.center-tabs>li.active>a,
.center-tabs>li.active>a:focus,
.center-tabs>li.active>a:hover {
    font-weight: 700;
}

@media screen and (min-width:768px) {
    .brand {
        display: inherit;
        margin: 0;
        padding: 30px 0 10px;
        text-align: center;
        text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
        font-family: "Josefin Slab","Helvetica Neue",Helvetica,Arial,sans-serif;
        font-size: 5em;
        font-weight: 700;
        line-height: normal;
        color: #fff;
    }

    .top-divider {
        margin-top: 0;
    }

    .img-left {
        float: left;
        margin-right: 25px;
    }

    .address-bar {
        display: inherit;
        margin: 0;
        padding: 0 0 40px;
        text-align: center;
        text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
        font-size: 1.25em;
        font-weight: 400;
        letter-spacing: 3px;
        color: #fff;
    }

    .navbar {
        border-radius: 0;
    }

    .navbar-header {
        display: none;
    }

    .navbar {
        min-height: 0;
    }

    .navbar-default {
        border: none;
        background: #fff;
        background: rgba(255,255,255,0.9);
    }

    .nav>li>a {
        padding: 35px;
    }

    .navbar-nav>li>a {
        line-height: normal;
    }

    .navbar-nav {
        display: table;
        float: none;
        margin: 0 auto;
        table-layout: fixed;
        font-size: 1.25em;
    }
}

@media screen and (min-width:1200px) {
    .box:after {
        content: '';
        display: table;
        clear: both;
    }
}

/* Ensure brand shows on mobile */
@media screen and (max-width: 767px) {
    .brand { display: block; }
}

/* Sticky header: keep brand and address-bar visible at top */
.brand,
.address-bar {
    display: block; /* override theme default */
    position: fixed;
    left: 0;
    right: 0;
    width: 100%;
    text-align: center;
    z-index: 1000;
    background: #000; /* solid background, no transparency */
    box-shadow: 0 2px 6px rgba(0,0,0,0.25);
}

.brand {
    top: 0;
    padding: 15px 0 10px;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
    font-family: "Josefin Slab","Helvetica Neue",Helvetica,Arial,sans-serif;
    color: #fff;
}

.address-bar {
    z-index: 999;
}

/* Mobile sizes: compact fixed header */
@media screen and (max-width: 767px) {
    .brand {
        font-size: 2em;
        padding: 12px 0 8px;
    }
    .address-bar {
        top: 60px; /* sits below brand */
        padding: 6px 0 10px;
        font-size: 1em;
        letter-spacing: 2px;
    }
    body {
        padding-top: 120px; /* offset content below fixed headers */
    }
}

/* Desktop and larger: slightly reduced fixed header for usability */
@media screen and (min-width: 768px) {
    .brand {
        font-size: 3em; /* reduce from 5em to fit as fixed header */
        padding: 20px 0 10px;
    }
    .address-bar {
        top: 90px; /* sits below brand */
        padding: 8px 0 20px;
        font-size: 1.25em;
        letter-spacing: 3px;
    }
    body {
        padding-top: 160px; /* offset content below fixed headers */
    }
}

/* If a navbar exists, keep it sticky below headers */
@media screen and (min-width: 768px) {
    .navbar {
        position: sticky;
        top: 160px; /* below fixed brand/address-bar */
        z-index: 998;
    }
}
@media screen and (max-width: 767px) {
    .navbar {
        position: sticky;
        top: 120px;
        z-index: 998;
    }
}

/* Consolidated fixed header container */
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
    background: #000; /* solid brand background */
    box-shadow: 0 2px 6px rgba(0,0,0,0.25);
    text-align: center;
}
.site-header .brand,
.site-header .address-bar {
    display: block;
    position: static; /* override earlier fixed rules */
    color: #fff; /* use brand text color */
}
@media screen and (max-width: 767px) {
    .site-header .brand { font-size: 2em; padding: 12px 0 8px; }
    .site-header .address-bar { font-size: 1em; letter-spacing: 2px; padding: 6px 0 10px; }
    body { padding-top: 120px; }
}
@media screen and (min-width: 768px) {
    .site-header .brand { font-size: 3em; padding: 20px 0 10px; }
    .site-header .address-bar { font-size: 1.25em; letter-spacing: 3px; padding: 8px 0 20px; }
    body { padding-top: 160px; }
}

/* Value props section */
/* Value cards (two-column professional layout) */
.value-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 15px;
}
.value-card {
    position: relative;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 18px 20px 16px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.value-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, #337ab7, #5bc0de);
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}
.value-card:hover {
    box-shadow: 0 6px 18px rgba(0,0,0,0.12);
    transform: translateY(-2px);
}
.value-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}
.value-icon {
    width: 40px; height: 40px;
    border-radius: 50%;
    background: #337ab7;
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 18px;
    flex: 0 0 40px;
}
.value-title {
    margin: 0;
    font-weight: 700;
    font-size: 1.2em;
}
.value-card p { margin: 0; font-size: 1.1em; line-height: 1.6; color: #000; }

/* Allow specific cards to span both columns */
.value-card.span-2 { grid-column: 1 / -1; }

@media screen and (min-width: 992px) {
    .value-cards { grid-template-columns: 1fr 1fr; }
}
@media screen and (max-width: 767px) {
    .value-cards { gap: 14px; }
}

/* Services grid and cards (professional two-column layout) */
.services-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 15px;
}
.service-card {
    position: relative;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 18px 20px 16px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
    display: flex;
    flex-direction: column;
}
.service-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, #337ab7, #5bc0de);
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}
.service-card:hover {
    box-shadow: 0 6px 18px rgba(0,0,0,0.12);
    transform: translateY(-2px);
}
.service-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}
.service-icon {
    width: 40px; height: 40px;
    border-radius: 50%;
    background: #337ab7;
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 18px;
    flex: 0 0 40px;
}
.service-title {
    margin: 0;
    font-weight: 700;
    font-size: 1.2em;
}
.service-card ul {
    margin: 0;
    padding-left: 18px;
}
.service-card li { margin-bottom: 6px; }

@media screen and (min-width: 992px) {
    .services-grid { grid-template-columns: 1fr 1fr; }
}
@media screen and (max-width: 767px) {
    .services-grid { gap: 14px; }
}

/* Fallback for browsers without CSS Grid (older Edge, some print engines) */
@supports not (display: grid) {
    .services-grid,
    .value-cards {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 0;
        margin: -10px;
    }
    .services-grid .service-card,
    .value-cards .value-card {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        margin: 10px;
    }
    @media screen and (min-width: 992px) {
        .services-grid .service-card,
        .value-cards .value-card {
            -ms-flex: 0 0 48%;
            flex: 0 0 48%;
        }
    }
}
