﻿html, body {
    font-family: "Roboto", sans-serif;
    color: white;
    margin: 0;
    padding: 0;
    background-color: #1B1E20;
    height: 100%; /* Make the html and body elements take full height */
}

/* to give navbar some space to not make it overlap with other content */
body {
    padding-top: 95px;
    box-sizing: border-box; /* expiremental, remove if broken */
}

/* Main content area will grow to push the footer to the bottom if needed */
.page-parent > *:not(.footer-parent) {
    flex: 1;
}

/* from orig:
    another color: #FA6342
    dirty white: #F2EED7
    navbar bg color: #1B1E20
    footer bg color: #393646
    links hover color: #4D87FF
    main content bg color: #80766C (not ideal)
*/

/* The main container (page-parent) that holds all content */
.page-parent {
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* Ensure the page container is at least the full viewport height */
}

/* HOME TITLE STYLES: */
.home-title-parent {
    background-color: #1B1E20;
    padding-top: 30px;
    padding-bottom: 200px;
    padding-left: 300px;
    padding-right: 300px;
    /*max-height: 730px;*/ /* change based on adjustments to responsiveness */
}

.home-title-row1, 
.home-title-row2, 
.section-title {
    display: flex;
    align-items: center;
    font-size: 3.5em;
    font-weight: 300;
}

.home-title-row1 {
    justify-content: start;
}

.home-title-row2 {
    justify-content: end;
    margin-right: 115px; /* solution for spacing */
}

.home-title-quote {
    margin-top: 100px;
    padding: 20px;
    height: 100%;
    font-size: 1em;
    font-style: italic;
    color: #777;
    gap: 100px;
}

.home-title-desc {
    max-width: 500px;
    text-align: justify;
    /*border: 2px solid yellow;*/
    /*padding-left: 600px;*/
}

/* FILE TABLE */
.file-table-title {
    margin-top: 30px;
    margin-bottom: 5px;
    font-style: italic;
    font-size: 1.85em;
    font-weight: 300;
}

.file-table {
    margin-bottom: 50px;
    width: 100%;
    border-collapse: collapse;
}

    .file-table th,
    .file-table td {
        /*border: 3px solid #8b8b8b;*/
        border: 2px solid #ccc;
        padding: 10px;
        text-align: left;
    }

    .file-table th {
        background-color: #1B1E20;
        font-weight: bold;
        color: white;
    }

    .file-table a {
        text-decoration: none;
        color: black;
        font-weight: bold;
        transition: color 0.5s ease;
    }

        .file-table a:hover {
            color: #4D87FF;
            text-decoration: underline;
        }

/* misc */
.custom-border-color1 {
    width: 50px;
    height: 5px;
    background-color: white;
}

.custom-border-color2 {
    width: 50px;
    height: 5px;
    background-color: black;
}

.custom-border-color2-left{
    width: 5px;
    height: 35px;
    background-color: black;
    align-self: center;
}

.custom-border-color1, .custom-border-color2{
    margin-top: 20px;
}

.socmed-icon {
    text-decoration: none;
    color: #1B1E20;
}

    .socmed-icon i {
        margin-top: 10px;
        font-size: 3em;
    }

/* FLEXERS */
.flexer-column {
    display: flex;
    flex-direction: column;
}

.flexer-row {
    display: flex;
    flex-direction: row;
}


/* SERVICES STYLES */
.services-parent {
    padding-top: 100px;
    padding-bottom: 100px;
    align-items: center;
    height: 100vh;
    background-color: #F2EED7;
    color: black;
}

.services-container {
    justify-content: center;
    gap: 40px;
    margin-top: 50px;
    flex-wrap: wrap;
}

.services-div {
    width: 28%;
    /*height: 75vh;*/
    min-height: 500px; /* Ensure a minimum height */
    height: 75vh; /* Let the content dictate height */
    border: 2px solid gray;
}

.services-desc {
    padding: 20px;
    width: 100%;
    height: 100%;
    background-color: #1B1E20;
    color: white;
    box-sizing: border-box;
    flex-grow: 1; /* Ensures it expands as needed */
}

.services-more-details {
    text-decoration: underline;
    color: white;
    transition: color 0.5s ease;
}

    .services-more-details:hover {
        color: #4D87FF;
    }

/* Slideshow Container */
.slideshow-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

    /* Slideshow Images */
    .slideshow-container img {
        width: 100%;
        height: 100%;
        object-fit: fill;
        /* object-fit: cover;*/
        /*image-rendering: auto;*/
    }

/* Navigation Buttons */
.prev, .next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: white;
    font-size: 15px;
    padding: 10px;
    background-color: #1B1E20;
    border: none;
    cursor: pointer;
    z-index: 1;
    text-decoration: none;
}

.prev {
    left: 10px;
}

.next {
    right: 10px;
}

    .prev:hover, .next:hover {
        color: black;
        background-color: white;
        border: 1px solid black;
    }

/* Fading animation */
.fade {
    animation-name: fade;
    animation-duration: 1.5s;
}

@keyframes fade {
    from {
        opacity: .2
    }

    to {
        opacity: 1
    }
}

/* styles for slideshow dots */

.dots-container {
    position: absolute;
    bottom: 10px; /* Adjust to control vertical position on the image */
    left: 50%;
    transform: translateX(-50%);
    z-index: 1; /* Ensure it stays above the images */
    gap: 10px; /* Space between dots */
}

.dot {
    /*border: 2px solid #032add;*/
    border: 1px solid #a7a7a7;
    height: 12px;
    width: 12px;
    margin: 0 5px;
    background-color: gray;
    border-radius: 50%;
    display: inline-block;
    cursor: pointer;
    transition: background-color 0.3s ease-in-out;
}

    .dot.active {
        background-color: white; /* Active dot color */
        border: 2px solid blue;
    }

    .dot:hover {
        background-color: gray; /* Hover color for dots */
    }

 
/* GLOBAL WEB RESPONSIVENESS ------ 1300px 1100px 800px 600px 500px */
@media all and (max-width: 1300px) {
    .home-title-parent {
        padding-left: 200px;
        padding-right: 200px;
    }
}

@media all and (max-width: 1100px) {
    .home-title-parent {
        padding-left: 100px;
        padding-right: 100px;
        padding-bottom: 100px;
    }

    .home-title-quote {
        margin-top: 30px;
    }

    .home-title-row1 {
        margin-left: 90px;
    }
}

@media all and (max-width: 950px) {
    .home-title-row1 {
        margin-left: 0;
    }

    .home-title-row2 {
        margin-right: 0;
    }
}

@media all and (max-width: 800px) {
    .home-title-row1, .home-title-row2, .section-title {
        font-size: 2.9em;
        font-weight: 250;
    }

    .home-title-quote {
        font-size: 0.7em;
        gap: 50px;
    }
}

@media all and (max-width: 650px) {
    .home-title-parent {
        padding-left: 50px;
        padding-right: 50px;
    }
}

@media all and (max-width: 550px) {
    .home-title-row1, .home-title-row2, .section-title {
        font-size: 2.6em;
    }
}

@media all and (max-width: 500px) {
    .home-title-parent {
        padding-left: 30px;
        padding-right: 30px;
    }

    .home-title-row1, .home-title-row2, .section-title {
        font-size: 2.4em;
    }

    .home-title-quote{
        flex-direction: column;
        align-items: flex-start;
    }
}

@media all and (max-width: 400px){
    .home-title-row1, .home-title-row2, .section-title {
        font-size: 2.1em;
    }
}

@media all and (max-width: 300px) {
    .section-title {
        font-size: 1.8em;
    }
}

