/*!
 * demetrelaw.com — theme overrides layered on CDN Bootstrap 5.3.3
 * Base framework loaded via CDN in index.php (matches tyrrel.com).
 * Contains: Grayscale theme :root vars + themed buttons + custom components + contact modal.
 * Derived from Start Bootstrap Grayscale v7.0.6.
 */

/* ===== Theme palette / variables ===== */
:root {
    --bs-blue: #0d6efd;
    --bs-indigo: #6610f2;
    --bs-purple: #7464a1;
    --bs-pink: #d63384;
    --bs-red: #a16468;
    --bs-orange: #fd7e14;
    --bs-yellow: #e4c662;
    --bs-green: #67c29c;
    --bs-teal: #64a19d;
    --bs-cyan: #1cabc4;
    --bs-black: #000;
    --bs-white: #fff;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    --bs-primary: #64a19d;
    --bs-secondary: #7464a1;
    --bs-success: #67c29c;
    --bs-info: #1cabc4;
    --bs-warning: #e4c662;
    --bs-danger: #a16468;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    --bs-black: #000;
    --bs-white: #fff;
    --bs-primary-rgb: 100, 161, 157;
    --bs-secondary-rgb: 116, 100, 161;
    --bs-success-rgb: 103, 194, 156;
    --bs-info-rgb: 28, 171, 196;
    --bs-warning-rgb: 228, 198, 98;
    --bs-danger-rgb: 161, 100, 104;
    --bs-light-rgb: 248, 249, 250;
    --bs-dark-rgb: 33, 37, 41;
    --bs-black-rgb: 0, 0, 0;
    --bs-white-rgb: 255, 255, 255;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;
    --bs-body-color-rgb: 33, 37, 41;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-font-sans-serif:
        system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",
        "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji",
        "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --bs-font-monospace:
        SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
        "Courier New", monospace;
    --bs-gradient: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.15),
        rgba(255, 255, 255, 0)
    );
    --bs-body-font-family:
        Nunito, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,
        Helvetica Neue, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji,
        Segoe UI Symbol, Noto Color Emoji;
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #212529;
    --bs-body-bg: #fff;
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #dee2e6;
    --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
    --bs-border-radius: 0.375rem;
    --bs-border-radius-sm: 0.25rem;
    --bs-border-radius-lg: 0.5rem;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-2xl: 2rem;
    --bs-border-radius-pill: 50rem;
    --bs-link-color: #64a19d;
    --bs-link-hover-color: #50817e;
    --bs-code-color: #d63384;
    --bs-highlight-bg: #faf4e0;
}

/* link theming for Bootstrap 5.3 (rgb-driven) */
:root {
    --bs-link-color-rgb: 100, 161, 157;
    --bs-link-hover-color-rgb: 80, 129, 126;
}

/* ===== Themed buttons used on the site ===== */
.btn-success {
    --bs-btn-color: #000;
    --bs-btn-bg: #67c29c;
    --bs-btn-border-color: #67c29c;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #7ecbab;
    --bs-btn-hover-border-color: #76c8a6;
    --bs-btn-focus-shadow-rgb: 88, 165, 133;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #85ceb0;
    --bs-btn-active-border-color: #76c8a6;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #67c29c;
    --bs-btn-disabled-border-color: #67c29c;
}

/* ===== Grayscale custom components + contact modal ===== */
html {
    scroll-padding-top: calc(4.5rem - 1px);
}

body {
    letter-spacing: 0.0625em;
}

#mainNav {
    min-height: 3rem;
    background-color: #fff;
}
#mainNav .navbar-toggler {
    font-size: 80%;
    padding: 0.75rem;
    color: #64a19d;
    border: 1px solid #64a19d;
}
#mainNav .navbar-toggler:focus {
    outline: none;
}
#mainNav .navbar-brand {
    color: #000;
    font-weight: 700;
    padding: 0.9rem 0;
}
#mainNav .navbar-nav .nav-item:hover {
    color: fade(#fff, 80%);
    outline: none;
    background-color: transparent;
}
#mainNav .navbar-nav .nav-item:active,
#mainNav .navbar-nav .nav-item:focus {
    outline: none;
    background-color: transparent;
}
@media (min-width: 992px) {
    #mainNav {
        padding-top: 0;
        padding-bottom: 0;
        border-bottom: none;
        background-color: transparent;
        transition: background-color 0.3s ease-in-out;
    }
    #mainNav .navbar-brand {
        padding: 0.5rem 0;
        color: rgba(255, 255, 255, 0.5);
    }
    #mainNav .nav-link {
        transition: none;
        padding: 2rem 1.5rem;
        color: rgba(255, 255, 255, 0.5);
    }
    #mainNav .nav-link:hover {
        color: rgba(255, 255, 255, 0.75);
    }
    #mainNav .nav-link:active {
        color: #fff;
    }
    #mainNav.navbar-shrink {
        background-color: #fff;
    }
    #mainNav.navbar-shrink .navbar-brand {
        color: #000;
    }
    #mainNav.navbar-shrink .nav-link {
        color: #000;
        padding: 1.5rem 1.5rem 1.25rem;
        border-bottom: 0.25rem solid transparent;
    }
    #mainNav.navbar-shrink .nav-link:hover {
        color: #64a19d;
    }
    #mainNav.navbar-shrink .nav-link:active {
        color: #467370;
    }
    #mainNav.navbar-shrink .nav-link.active {
        color: #64a19d;
        outline: none;
        border-bottom: 0.25rem solid #64a19d;
    }
}

.btn {
    box-shadow: 0 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.1) !important;
    padding: 1.25rem 2rem;
    font-family:
        "Varela Round",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        "Helvetica Neue",
        Arial,
        sans-serif,
        "Apple Color Emoji",
        "Segoe UI Emoji",
        "Segoe UI Symbol",
        "Noto Color Emoji";
    font-size: 80%;
    text-transform: uppercase;
    letter-spacing: 0.15rem;
    border: 0;
}

.masthead {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 35rem;
    padding: 15rem 0;
    background:
        linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0.3) 0%,
            rgba(0, 0, 0, 0.7) 75%,
            #000 100%
        ),
        url("https://picsum.photos/1920/1080");
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: cover;
}
.masthead h1,
.masthead .h1 {
    font-family:
        "Varela Round",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        "Helvetica Neue",
        Arial,
        sans-serif,
        "Apple Color Emoji",
        "Segoe UI Emoji",
        "Segoe UI Symbol",
        "Noto Color Emoji";
    font-size: 2.5rem;
    line-height: 2.5rem;
    letter-spacing: 0.8rem;
    background: linear-gradient(
        rgba(255, 255, 255, 0.9),
        rgba(255, 255, 255, 0)
    );
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
}
.masthead h2,
.masthead .h2 {
    max-width: 20rem;
    font-size: 1rem;
}
@media (min-width: 768px) {
    .masthead h1,
    .masthead .h1 {
        font-size: 4rem;
        line-height: 4rem;
    }
}
@media (min-width: 992px) {
    .masthead {
        height: 100vh;
        padding: 0;
    }
    .masthead h1,
    .masthead .h1 {
        font-size: 6.5rem;
        line-height: 6.5rem;
        letter-spacing: 0.8rem;
    }
    .masthead h2,
    .masthead .h2 {
        max-width: 30rem;
        font-size: 1.25rem;
    }
}
.about-section {
    padding-top: 10rem;
    background: linear-gradient(
        to bottom,
        #000 0%,
        rgba(0, 0, 0, 0.9) 75%,
        rgba(0, 0, 0, 0.8) 100%
    );
}
.about-section p {
    margin-bottom: 5rem;
}
.projects-section {
    padding: 10rem 0;
}
.projects-section .featured-text {
    padding: 2rem;
}
@media (min-width: 992px) {
    .projects-section .featured-text {
        padding: 0 0 0 4rem;
        border-left: 0.5rem solid #64a19d;
    }
}
.projects-section .project-text {
    padding: 3rem;
    font-size: 90%;
}
@media (min-width: 992px) {
    .projects-section .project-text {
        padding: 5rem;
    }
}
.footer {
    padding: 5rem 0;
}

/* ===== Contact modal (form + modal styles) ===== */
.modal-content {
    background: rgba(20, 20, 40, 0.75);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #e0e0e0;
}
.modal-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.modal-header .modal-title {
    color: #fff;
}
.modal-header .btn-close {
    filter: invert(1);
}
.modal-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.modal-content .form-control,
.modal-content .form-select {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #e0e0e0;
}
.modal-content .form-control::placeholder {
    color: rgba(255, 255, 255, 0.4);
}
.modal-content .form-control:focus {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.3);
    color: #fff;
    box-shadow: none;
}
.modal-content .zc-check-label {
    color: #ccc;
}
.modal-content .zc-disclaimer {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #aaa;
}
#btnShow {
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 3px;
    font-weight: 500;
    background: rgba(20, 20, 40, 0.75);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #e0e0e0;
    padding: 0.75rem 2rem;
}
#btnShow:hover {
    background: rgba(20, 20, 40, 0.9);
    border-color: rgba(255, 255, 255, 0.3);
    color: #fff;
}
#btnSend {
    background: rgba(185, 59, 38, 0.85);
    border: 1px solid rgba(200, 70, 45, 0.5);
    color: #fff;
}
#btnSend:hover {
    background: rgba(200, 65, 42, 0.95);
    border-color: rgba(220, 80, 55, 0.7);
    color: #fff;
}

.zc-terms-content {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #aaa;
}
