/*
Theme Name: Turing
Description: 2025 theme using modern design standards.
Version: 1.0
Visibility: Published
*/

body {
    font-family: "Mulish", sans-serif;
    font-optical-sizing: auto;
    font-size: 1.1rem;
}

.pb-box.shadow-sm {
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.050) !important;
}

/*
//
Light & Dark Theme Specific
//
*/

/* Light Theme */

body[data-bs-theme=light] {

    background-color: rgba(255, 255, 255, 1);

    .pb-admin-controls {
        background-color: rgba(255, 255, 255, 1);
    }

    a:not(.btn) { color: rgba(var(--bs-black-rgb), .7); }
    a:not(.btn):hover { color: rgba(var(--bs-black-rgb), 1); }

    .pb-site-header,
    .pb-site-footer { background-color: rgba(var(--bs-black-rgb), .10); }

    a.nav-link { color: rgba(var(--bs-black-rgb), .7) }
    a.nav-link:hover { color: rgba(var(--bs-black-rgb), 1) }

    nav.pb-breadcrumbs-wrap,
    nav.pb-breadcrumbs-wrap a { color: rgba(var(--bs-dark-rgb), .6); }

    nav.pb-breadcrumbs-wrap a:hover { color: rgba(var(--bs-dark-rgb), .8); }

    /* Shaded boxes */
    .pb-box { background-color: rgba(var(--bs-black-rgb), .05); }

    .btn-primary {
        --bs-btn-color: #fff;
        --bs-btn-bg: #424649;
        --bs-btn-border-color: #373b3e;
        --bs-btn-hover-color: #fff;
        --bs-btn-hover-bg: #212529;
        --bs-btn-hover-border-color: #212529;
        --bs-btn-focus-shadow-rgb: 33, 37, 41;
        --bs-btn-active-color: #fff;
        --bs-btn-active-bg: #212529;
        --bs-btn-active-border-color: #212529;
        --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
        --bs-btn-disabled-color: #fff;
        --bs-btn-disabled-bg: #424649;
        --bs-btn-disabled-border-color: #373b3e;
    }

    .card.pb-for-sale, .card.pb-for-sale .border-bottom, .card.pb-for-sale .card-footer {
        border-color: rgba(128, 128, 128, 0.6);
        border-top-color: rgba(128, 128, 128, 0.4);
        border-bottom-color: rgba(128, 128, 128, 0.4);
    }
    
}

body[data-bs-theme=light].pb-header-image,
body[data-bs-theme=light].pb-footer-image {
    .pb-branding-wrap,
    .pb-footer-content-wrap { background-color: rgba(var(--bs-white-rgb), .4); }
}

/* Dark Theme */

body[data-bs-theme=dark] {

    background-color: rgba(0, 0, 0, 1);

    .pb-admin-controls {
        background-color: rgba(0, 0, 0, 1);
    }

    a:not(.btn) { color: rgba(var(--bs-white-rgb), .7); }
    a:not(.btn):hover { color: rgba(var(--bs-white-rgb), 1); }

    a.nav-link { color: rgba(var(--bs-white-rgb), .7) }
    a.nav-link:hover { color: rgba(var(--bs-white-rgb), 1) }

    nav.pb-breadcrumbs-wrap,
    nav.pb-breadcrumbs-wrap a { color: rgba(var(--bs-light-rgb), .6); }

    nav.pb-breadcrumbs-wrap a:hover { color: rgba(var(--bs-light-rgb), .8); }

    .pb-site-header,
    .pb-site-footer { background-color: rgba(var(--bs-white-rgb), .05); }

    .pb-box { background-color: rgba(var(--bs-white-rgb), .08); }

    .btn-primary {
        --bs-btn-color: #000;
        --bs-btn-bg: #d3d4d5;
        --bs-btn-border-color: #c6c7c8;
        --bs-btn-hover-color: #000;
        --bs-btn-hover-bg: #f8f9fa;
        --bs-btn-hover-border-color: #f8f9fa;
        --bs-btn-focus-shadow-rgb: 248, 249, 250;
        --bs-btn-active-color: #000;
        --bs-btn-active-bg: #f8f9fa;
        --bs-btn-active-border-color: #f8f9fa;
        --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
        --bs-btn-disabled-color: #000;
        --bs-btn-disabled-bg: #d3d4d5;
        --bs-btn-disabled-border-color: #c6c7c8;
    }

    .card.pb-for-sale, .card.pb-for-sale .border-bottom, .card.pb-for-sale .card-footer {
        border-color: rgba(128, 128, 128, 0.2);
        border-top-color: rgba(128, 128, 128, 0.4);
        border-bottom-color: rgba(128, 128, 128, 0.4);
    }

}

body[data-bs-theme=dark].pb-header-image,
body[data-bs-theme=dark].pb-footer-image {
    .pb-branding-wrap,
    .pb-footer-content-wrap { background-color: rgba(var(--bs-black-rgb), .4); }
}

/* Light & Dark Theme - Smooth background color change */
.navbar.pb-main-menu-wrap {
    transition: background-color 1s ease;
}

/* Light Navbars Default Sticky */
.navbar[data-bs-theme=light].pb-main-menu-wrap.sticky {
    /* semi-transparent background when it becomes sticky */
    --bs-bg-opacity: .82;
    background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity));
}
.navbar[data-bs-theme=light].pb-main-menu-wrap.sticky:hover {
    /* solid background by default and on hover */
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity));
}

/* Dark Navbars Default Sticky */
.navbar[data-bs-theme=dark].pb-main-menu-wrap.sticky {
    /* semi-transparent background when it becomes sticky */
    --bs-bg-opacity: .82;
    background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity));
}
.navbar[data-bs-theme=dark].pb-main-menu-wrap.sticky:hover {
    /* solid background by default and on hover */
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity));
}

/* Dark Navbars on Light Theme */
body[data-bs-theme=light] .navbar[data-bs-theme=dark] {

    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity));

    a.nav-link,
    a.dropdown-item {
        color: rgba(var(--bs-white-rgb), .8);
    }

    a.nav-link:hover,
    a.dropdown-item:hover {
        color: rgba(var(--bs-white-rgb), 1);
    }

}
body[data-bs-theme=light] .navbar[data-bs-theme=dark].pb-main-menu-wrap.sticky {
    --bs-bg-opacity: .82;
    background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity));
}
body[data-bs-theme=light] .navbar[data-bs-theme=dark].pb-main-menu-wrap.sticky:hover {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity));
}

/* Light Navbars on Dark Theme */
body[data-bs-theme=dark] .navbar[data-bs-theme=light] {

    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity));

    a.nav-link,
    a.dropdown-item {
        color: rgba(var(--bs-black-rgb), .8);
    }

    a.nav-link:hover,
    a.dropdown-item:hover {
        color: rgba(var(--bs-black-rgb), 1);
    }

    .navbar-toggler, .navbar-toggler:hover {
        background-color: rgba(var(--bs-black-rgb), .10);
    }

    .navbar-toggler-icon {
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%236c757d' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
    }

}
body[data-bs-theme=dark] .navbar[data-bs-theme=light].sticky {
    --bs-bg-opacity: .82;
    background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity));
}

body[data-bs-theme=dark] .navbar[data-bs-theme=light].sticky:hover {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity));
}

.dropdown-item:focus, .dropdown-item:hover {
    background-color: transparent;
}

/* Mobile menu sub-menu - don't overlap backgrounds */
nav[data-bs-theme='light'].navbar.pb-main-menu-wrap .pb-mobile-menu .dropdown-menu,
nav[data-bs-theme='dark'].navbar.pb-main-menu-wrap .pb-mobile-menu .dropdown-menu {
    background-color: transparent !important;
}

/* Animate the dropdown, but not on the mobile menu */
.pb-header-menu .dropdown-menu,
.pb-main-menu .dropdown-menu,
.pb-footer-menu .dropdown-menu {
    display: block;
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    visibility: hidden;
}

.pb-header-menu .dropdown:hover .dropdown-menu,
.pb-main-menu .dropdown:hover .dropdown-menu,
.pb-footer-menu .dropdown:hover .dropdown-menu {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/*
//
Links & Navigation
//
*/

a { text-decoration: none; }

a, a * { transition: color 0.15s ease-in-out; }

a.nav-link,
a.nav-link:hover { font-weight: 600; }

nav.navbar { padding-top: 0; padding-bottom: 0; }

nav .dropdown-menu { font-size: 1.05rem; margin-top: -0.25rem; }

/* Fix for right aligned dropdown menus creating horizontal scroll bars */
.navbar-expand .navbar-nav .dropdown-menu.dropdown-menu-end {
    right: 0;
}

/* Fix for overloaded menus not going wider than the page (and individual nav labels not wrapping) */
.navbar-nav {
    flex-wrap: wrap;
    white-space: nowrap;
}

.nav-item {
    flex: 0 0 auto;
}

nav.navbar-expand-lg .navbar-nav .nav-link {
    padding: 0.8rem;
}

/* Navigation: mobile */

.fade-hidden {
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    transition: opacity 0.4s, visibility 0.4s, height 0.4s;
}
main, footer {
    transition: opacity 0.4s, visibility 0.4s;
}

nav .pb-mobile-menu .dropdown-menu {
    background-color: transparent;
    border: none;
}

.navbar-toggler:focus {
    box-shadow: none;
}

nav.navbar-expand-lg .pb-mobile-menu .navbar-nav .nav-link {
    padding: 0.6rem 0.1rem;
}

nav.navbar-expand-lg .pb-mobile-menu .navbar-nav .admin-edit .nav-link {
    padding: 0.8rem;
}

/* Breadcrumbs */

.pb-breadcrumbs-wrap { line-height: 3; }

ul.pb-breadcrumbs, .pb-breadcrumbs li { padding-bottom: 0; }

/* Other */

main { overflow-x: hidden; }

.pb-full-width {
    display: block;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    box-sizing: border-box;
}

.pb-page-heading .pb-page-title h1 {
    line-height: 1.2;
}

/* Lighten up the default bootstrap border */
.pb-box.border,
.pb-site-footer.border-top {
    border-color: rgba(0, 0, 0, 0.05) !important;
}

/* Remove the top border if there's a background image since it makes a line across the top */
body.pb-footer-image .pb-site-footer.border-top {
    border: none !important;
}

.shortcodebox { max-width: 100% !important; }
.shortcodebox-title { display: none; }
.shortcodebox.form .shortcodebox-title { display: inline-block; }

/* Pedigree Style & Resets */

#pb-pedigree-viewer table {
    margin: 0;
    width: 100%;
}

#pb-pedigree-viewer .chart, #pb-pedigree-viewer .blank, #pb-pedigree-viewer .spacer { background-color: transparent; }

#pb-pedigree-viewer .pedigree-builder-label {
    background-color: rgba(var(--bs-dark-rgb), 1);
    border-color: rgba(var(--bs-dark-rgb), 1);
    outline-color: rgba(var(--bs-dark-rgb), 1);
}

/**
 * Forms
 * ----------------------------------------------------------------------------
 */

/* forms have the title built in now, so hide the shortcode title */
.shortcodebox.form h2.shortcodebox-title { display: none; }

/**
 * Header
 * ----------------------------------------------------------------------------
 */

.pb-site-header {
    background-image: none;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}

.pb-branding {
    padding: 30px 0 40px;
    text-align: center;
}

.pb-site-header a { color: rgba(var(--bs-dark-rgb), .9) }
.pb-site-header a:hover {
    text-decoration: none;
    color: rgba(var(--bs-dark-rgb), 1)
}

.pb-logo-wrap img {
    padding: 10px 20px;
    max-width: 100%;
}

/**
 * Editor Content (content made within the page editor)
 * ----------------------------------------------------------------------------
 */

/* Responsive images */
.pb-editor-content img, .pb-gallery img { max-width: 100%; }

/* Make sure images with cke-added height and width attributes are scaled correctly. */
.pb-editor-content img, img[class*="align"], .pb-gallery img { height: auto; }

/* Other Styles */
.pb-editor-content blockquote { font-size: 24px; }
.pb-editor-content blockquote cite, .pb-editor-content blockquote small { font-size: 16px; }

/* Page content links - add underline */
.pb-editor-content a,
.pb-relationships a { text-decoration: underline;}
.pb-editor-content a:visited,
.pb-relationships a:visited { text-decoration: underline;}

/* Remove the underlines from shortcode box content */
.pb-editor-content .shortcodebox-content a,
.pb-list-animal a { text-decoration: none;}
.pb-editor-content .shortcodebox-content a:visited,
.pb-list-animal a:visited { text-decoration: none;}

/* Add underlines back in for the page content links */
.pb-editor-content .shortcodebox-content .links a { text-decoration: underline;}
.pb-editor-content .shortcodebox-content .links a:visited { text-decoration: underline;}

/**
 * Other Page Styles
 * ----------------------------------------------------------------------------
 */

/* Image Alignment */
.align-left { float: left; }
img.align-left, img.cke-img[style*="left"] { margin: 5px 20px 5px 0 !important; }

.align-right { float: right; }
img.align-right, img.cke-img[style*="right"] { margin: 5px 0 5px 20px !important; }

.align-center { display: block; margin-left: auto; margin-right: auto; }
img.align-center { margin: 5px auto; }

img.align-none { margin: 5px 0; }

/* Shared Styles */

.pb-mb-6 { margin-bottom: 4rem !important; }
.pb-mb-7 { margin-bottom: 5rem !important; }
.pb-mb-8 { margin-bottom: 6rem !important; }
.pb-mb-9 { margin-bottom: 7rem !important; }
.pb-mb-10 { margin-bottom: 8rem !important; }

.pb-no-image {
    width: 100%;
    min-width: 250px;
    line-height: 200px;
    color: rgba(var(--bs-white-rgb), 1);
}

.pb-no-image.pb-img-md { min-height: 300px; line-height: 300px }

/* Links Page */

.pb-links-page .pb-link { background-color: rgba(var(--bs-black-rgb), .03); }

/* For Sale */

/* If not for sale (hold, sold, reserved), lower the detail of the card */
/* Strikethrough price/shipping */
.pb-offspring-single .offspring-status-nfs .pb-price, .pb-offspring-single .offspring-status-nfs .pb-shipping,
.pb-offspring-single .offspring-status-sold .pb-price, .pb-offspring-single .offspring-status-sold .pb-shipping,
.pb-offspring-single .offspring-status-hold .pb-price, .pb-offspring-single .offspring-status-hold .pb-shipping,
.pb-offspring-single .offspring-status-reserved .pb-price, .pb-offspring-single .offspring-status-reserved .pb-shipping,
.pb-animal-forsale-single .forsale-status-sold .pb-price, .pb-animal-forsale-single .forsale-status-sold .pb-shipping { text-decoration: line-through; }
/* Blackout the card image */
.pb-offspring-single .offspring-status-nfs .card-img-overlay,
.pb-offspring-single .offspring-status-sold .card-img-overlay,
.pb-offspring-single .offspring-status-hold .card-img-overlay,
.pb-offspring-single .offspring-status-reserved .card-img-overlay,
.pb-animal-forsale-single .forsale-status-sold .card-img-overlay { background-color: rgba(var(--bs-black-rgb), .5); }
/* overlay the image with the animal status */
.pb-offspring-single .offspring-status-nfs .card-img-overlay .offspring-not-available,
.pb-offspring-single .offspring-status-sold .card-img-overlay .offspring-not-available,
.pb-offspring-single .offspring-status-hold .card-img-overlay .offspring-not-available,
.pb-offspring-single .offspring-status-reserved .card-img-overlay .offspring-not-available,
.pb-animal-forsale-single .forsale-status-sold .card-img-overlay .forsale-not-available {
    color: rgba(var(--bs-white-rgb), .7);
    transform: rotate(-35deg);
    display: inline-block;
}

/* Bootstrap fix for overlay having rounded corners at the bottom (but we're not using them) */
.pb-offspring-single .card-img-overlay,
.pb-animal-forsale-single .card-img-overlay {
    border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;
}

/* Profiles */

ul.pb-preTitleHor li,
ul.pb-postTitleHor li,
ul.pb-registrationHor li {
    display: inline-block;
}

ul.pb-preTitleHor li:after,
ul.pb-postTitleHor li:after,
ul.pb-registrationHor li:after {
    content: "\00a0";
}

ul.pb-preTitleVert,
ul.pb-preTitleHor,
ul.pb-postTitleVert,
ul.pb-postTitleHor,
ul.pb-registrationVert,
ul.pb-registrationHor,
ul.pb-custom-fields,
ul.pb-basic-details,
ul.pb-other-details {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pb-preTitleVert,
.pb-preTitleHor,
.pb-postTitleVert,
.pb-postTitleHor {
    font-weight: bold;
}

.pb-animal-details { font-weight: 600; }
.pb-animal-details span { font-weight: normal; }
.pb-animal-details a { text-decoration: underline; }

/* Social Icons */

ul.pb-social .bi {
    display: inline-block;
    width: 2em;
    max-width: 100%;
    fill: currentColor;
}

ul.pb-social .bi.pb-icon-mewe {
    width: 3em;
}

/* Legacy Image Icon Support */
ul.pb-social li img {
    display: inline-block;
    width: 100%;
    max-width: 50px;
    height: auto;
}
/* End Legacy Icons Support */

/* Carousel */

.carousel-item { overflow: hidden; }
.carousel-item img { object-fit: cover; }
.carousel-caption h5,
.carousel-caption p {
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.9); /* Subtle shadow for contrast on dark/light images */
    color: var(--bs-white);
}
.carousel-indicators {
    opacity: 0;
    transition: opacity 1s ease; /* fade in the indicators, once js detects they are loaded */
}
.carousel-indicators.visible { opacity: 1; }

/* PhotoSwipe Lightbox */

.pswp__lightbox-caption {
    background: rgba(0, 0, 0, 0.75);
    font-size: 16px;
    color: #fff;
    max-width: 70%;
    padding: 2px 8px;
    border-radius: 4px;
    position: absolute;
    left: 50%;
    bottom: 16px;
    transform: translateX(-50%);
}

.pswp__lightbox-caption:empty {
    display: none;
}

.pswp__lightbox-caption a {
    text-decoration: underline;
}

/**
 * Footer
 * ----------------------------------------------------------------------------
 */

#jump-to-top {
    color: var(--bs-heading-color);
    font-size: 2rem;
    opacity: 0;
    transition: opacity 1s ease;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1050;
    cursor: default;
}
#jump-to-top.visible {
    opacity: 1;
    cursor: pointer;
}

.pb-footer-content-wrap {
    min-height: 100%;
}

.pb-site-footer {
    text-align: center;
    background-image: none;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}

.pb-site-info {
    margin: 0 auto;
    padding: 0 4px 12px;
    display: block;
    font-size: 12px;
}

.pb-powered-by a {
    text-decoration: underline;
}

/**
 * Media Queries
 * ----------------------------------------------------------------------------
 */

/* 991px is best for the "lg" (992px) bootstrap breakpoint */
@media (max-width: 991px) {

    .pb-branding { padding: 24px 0; }

    .pb-logo-wrap img {
        padding: 10px 0;
        max-height: 200px;
    }

    /* Shared Styles */

    .pb-no-image {
        min-width: 200px;
        line-height: 175px;
    }

    .pb-no-image.pb-img-md { min-height: 240px; line-height: 200px }

    /* Responsive images */
    img.cke-img { max-width: 50%; }

    /* Footer Powered By */
    .pb-site-info {padding: 6px 2px}
    .pb-powered-by-sep {display: block; visibility: collapse; height: 0;}
    .pb-powered-by-tag { display: none }
}

/**
 * Print
 * ----------------------------------------------------------------------------
 */

@media print {
    body { background: none !important; background-color: transparent !important; color: #000 !important; font-size: 10pt; }

    .pb-site-footer, .edit-link, .pb-editor-content nav, .navbar {
        display: none;
    }

    .entry-header, .pb-editor-content { margin: 0; width: 100%; }
    header h1 { font-size: 21pt; }
    .pb-editor-content img.align-left, .pb-editor-content img[style*="left"] { margin-left: 0 !important; }
    .pb-editor-content img.align-right, .pb-editor-content img[style*="right"] { margin-right: 0 !important; }
}