/*
    Spectron Engineering site styles.
    Page-specific rules are scoped with the class on each page's wrapper (.page-about, .page-home, ...);
    header, menu and footer rules are scoped with .site on <body>.
    The owners' notice and the maintenance page are styled in maintenance.css.
*/

/* ===== Base ===== */
html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

h1:focus {
    outline: none;
}

a, .btn-link {
    color: #0071c1;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content {
    padding-top: 1.1rem;
}

code {
    color: #c02d76;
}

/* ===== MainLayout ===== */
.site .main-body {
    width: 100%;
    margin: 0 auto;
}

/* Header */
.site .header {
    width: 100%;
    height: 16vw;
    position: relative;
}

.site .nav-body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: calc(50vw + 30vw/2);
}

.site .nav-links {
    display: flex;
    flex-direction: row;
    max-width: 33vw;
    flex-wrap: wrap;
}

.site .nav-item {
    font-size: 1.1rem;
    position: relative;
    padding: 0 1rem;
    margin-right: auto;
}

.site .nav-link {
    color: black; /* Change the color of the links */
    text-decoration: none; /* Remove underline */
}

    .site .nav-link:hover {
        color: darkgray; /* Change color on hover */
        cursor: pointer;
    }

.site .dropdown-content {
    display: none;
    position: absolute;
    background-color: white;
    z-index: 1;
    width: 175px;
}

    .site .dropdown-content a {
        display: block;
        padding: 8px 16px;
        text-decoration: none;
        color: black;
    }

        .site .dropdown-content a:hover {
            color: gray; /* Add a hover effect for dropdown links */
        }

.site .nav-item:hover .dropdown-content {
    display: block;
}

.site .brand-img {
    width: 30vw;
    max-width: 100%;
    max-height: 16vw;
}

.site .menu-button {
    display: none;
    pointer-events: none;
}

.site .menu-overlay {
    display: none;
}

    .site .menu-overlay.active {
        display: none;
    }


/* Footer */
.site .footer-container {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    margin: 20px;
}

.site .footer-item {
    min-width: 200px;
    margin: 10px;
    text-align: center;
}

    .site .footer-item h3 {
        margin-bottom: 50px;
        font-size: 1.6em;
        font-weight: bold;
    }

    .site .footer-item p {
        margin: 0;
    }

    .site .footer-item a {
        color: inherit;
        text-decoration: underline;
    }

@media (max-width: 750px) {
    .site .footer-container {
        flex-direction: column;
    }

    .site .nav-body {
        width: 100%;
        justify-content: center;
    }

    .site .brand-img {
        width: auto;
        max-width: 100%;
        max-height: 20vh;
    }

    .site .nav-links {
        display: none;
    }

    .site .header {
        margin-bottom: 15vh;
    }

    .site .menu-button {
        display: block;
        pointer-events: all;
        position: absolute;
        top: 10px;
        left: 10px;
        background: none;
        border: none;
        font-size: 2rem;
        cursor: pointer;
    }

    .site .menu-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgb(231, 25, 26);
        z-index: 1000;
        flex-direction: column;
        align-items: start;
        justify-content: center;
        padding: 5vw;
    }

        .site .menu-overlay.active {
            display: flex;
        }

    .site .menu-nav {
        display: flex;
        flex-direction: column;
        align-items: start;
    }


        .site .menu-nav a {
            color: black;
            font-size: 2rem;
            text-decoration: none;
            transition: transform 0.2s ease;
            will-change: transform;
        }

            .site .menu-nav a:hover {
                transform: translateX(2vw);
                left: -50%;
                cursor: pointer;
            }

    .site .menu-close-button {
        background: none;
        border: none;
        color: black;
        font-size: 3rem;
        position: absolute;
        top: 10px;
        right: 10px;
        cursor: pointer;
    }
}
/* ===== About ===== */
.page-about h1 {
    font-size: 4rem;
    font-weight: bold;
}

.page-about h2 {
    font-size: 2.2rem;
    font-weight: bold;
}

.page-about h3 {
    font-size: 1.6rem;
    font-weight: 700;
}

.page-about .about-body {
    display: flex;
    flex-direction: column;
    padding: 0 10vw;
    margin-top: 10vh;
    text-align: center;
}

.page-about .company-body {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.page-about .company-body .machine-img {
    height: 100vh;
    width: 40vw;
    object-fit: cover;
}

.page-about .about-text {
    display: flex;
    flex-direction: column;
    width: 40vw;
    padding: 2vw;
    justify-content: center;
    text-align: center;
}

.page-about .about-text img {
    max-width: 20vw;
    margin: 1vw auto;
}

.page-about .about-text p {
    font-size: 1.3rem;
}

.page-about .award-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4vh;
    margin-top: 15vh;
}

.page-about .award-section {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-content: center;
    margin: auto;
    text-align: center;
}

.page-about .award-section img {
    max-width: 30vw;
    margin: auto;
}

.page-about .award-section p {
    font-size: 1.3rem;
    font-weight: 400;
}


@media(max-width: 800px) {
    .page-about .company-body {
        display: flex;
        flex-direction: row;
        justify-content: center;
    }

    .page-about .company-body .machine-img {
        display: none;
    }

    .page-about .about-text {
        display: flex;
        flex-direction: column;
        width: 70vw;
        padding: 2vw;
        gap: 1vh;
        justify-content: center;
        text-align: center;
    }

    .page-about h1 {
        font-size: 2rem;
        font-weight: bold;
    }

    .page-about .award-section img {
        max-width: 70vw;
        margin: auto;
    }
}
/* ===== Contact ===== */
.page-contact .contact-body {
    width: 95vw;
    height: 70vh;
    margin: auto;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-content: center;
    margin-bottom: 20vh;
}

.page-contact .contact-body img {
    margin: auto 0;
    width: 45vw;
    object-fit: cover;
    height: auto;
}

.page-contact .contact-section {
    display: flex;
    flex-direction: column;
    width: 22vw;
    gap: 10px;
    margin: auto 0;
}

.page-contact .contact-section h1 {
    margin-bottom: 5vh;
    font-size: 3.0rem;
    font-weight: bold;
}

.page-contact .contact-section h2 {
    margin-bottom: 5vh;
    font-size: 1.7rem;
    font-weight: 700;
}

.page-contact .contact-section div {
    font-size: 1.3rem;
}

.page-contact .contact-section p {
    padding-top: 2vh;
    font-size: 1.0rem;
}

@media(max-width: 1400px) {
    .page-contact .contact-body img {
        display: none;
    }

    .page-contact .contact-section {
        display: flex;
        flex-direction: column;
        width: 80vw;
        gap: 10px;
        margin: auto 0;
    }
}
/* ===== CustomSolutions ===== */
.page-custom-solutions .header {
    text-align: center;
    margin: 20px 0;
}



.page-custom-solutions .partners {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    margin: 20px 0;
}

.page-custom-solutions .partners img {
    width: auto;
    height: auto;
    max-width: 30vw;
    max-height: 250px;
    object-fit: contain;
}

.page-custom-solutions .section-title {
    text-align: center;
    margin: 40px 0 20px 0;
    font-size: 24px;
    font-weight: bold;
}

.page-custom-solutions .solutions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    margin: 20px 0;
}

.page-custom-solutions .solution {
    width: 31vw;
    text-align: center;
}

.page-custom-solutions .solution img {
    width: 100%;
    height: 40vh;
    max-width: 100%;
    object-fit: cover;
}

.page-custom-solutions .solution-title {
    font-size: 18px;
    font-weight: bold;
    margin: 10px 0;
}

.page-custom-solutions .solution-description {
    font-size: 14px;
}

.page-custom-solutions .custom-header {
    text-align: center;
    font-size: 4.0rem;
    font-weight: bold;
    margin: 20px 0;
    letter-spacing: -0.64px;
    font-weight: 400;
}

.page-custom-solutions .content {
    max-width: 62vw;
    margin: 0 auto;
    text-align: center;
    font-size: 1.4rem;
}


@media(max-width: 800px) {
    .page-custom-solutions .solutions {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 20px;
        margin: 20px 0;
    }

    .page-custom-solutions .solution {
        width: 60vw;
        text-align: center;
        margin: 0 auto;
    }

    .page-custom-solutions .solution img {
        width: 100%;
        height: 40vh;
        max-width: 100%;
    }
}
/* ===== DashSystem ===== */
.page-dash-system h1 {
    text-align: center;
    font-size: 3.0rem;
    font-weight: bold;
}

.page-dash-system h2 {
    text-align: center;
    font-size: 2.0rem;
    font-weight: bold;
}

.page-dash-system img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto 20px;
}

.page-dash-system .section {
    margin-bottom: 20vh;
    text-align: center;
}



.page-dash-system .image-text {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.page-dash-system .image-text img {
    max-height: 50vh;
}

.page-dash-system .image-text div {
    max-width: 500px;
}

.page-dash-system .side-section {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-content: space-evenly;
}

.page-dash-system .side-section-text {
    display: flex;
    flex-direction: column;
    text-align: center;
    width: 24vw;
    margin: auto 0;
}

.page-dash-system .side-section img {
    width: auto;
    max-height: 42vh;
}

.page-dash-system .side-section-paragraph {
    font-size: 1.4rem;
}

.page-dash-system .section p {
    font-size: 1.4rem;
}

.page-dash-system .image-footer {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-content: center;
}

.page-dash-system .image-footer img {
    max-width: 20vw;
    object-fit: cover;
}

@media(max-width: 1000px) {
    .page-dash-system .image-text {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
    }

    .page-dash-system .side-section {
        display: flex;
        flex-direction: column-reverse;
    }

    .page-dash-system .side-section-text {
        display: flex;
        flex-direction: column;
        text-align: center;
        width: 40vw;
        margin: auto auto;
    }



    .page-dash-system .side-section img {
        width: auto;
        max-height: 100vh;
        max-width: 50vw;
    }
}
/* ===== Home ===== */
.page-home .container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px 20px 20px;
}

.page-home .text-section {
    flex: 1;
    padding-right: 20px;
}

    .page-home .text-section strong {
        font-variant:
    }

.page-home .image-section {
    flex: 1;
    height: 80vh;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url('https://images.squarespace-cdn.com/content/v1/6491f209a0e73807b876bb2a/d1fd47b3-2e4c-4a9a-b082-8990ae01d17a/AdobeStock_487164188.jpeg')
}

@media (max-width: 768px) {
    .page-home .container {
        flex-direction: column;
        text-align: center;
        margin-top: 10vh;
    }

    .page-home .text-section {
        padding-right: 0;
        margin-bottom: 20px;
    }

    .page-home .image-section {
        display: none;
    }
}
/* ===== OPTIX ===== */
.page-optix .optix-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    width: 100vw;
    height: 37vh;
    background: linear-gradient(to bottom, #FF7F00, #FF2400);
}

.page-optix .title {
    font-size: 48px;
    font-weight: bold;
}

.page-optix .subtitle {
    font-size: 24px;
}
