/* base tag settings for all pages */
img {
    display: block;
    margin: 0 auto;
}

body {
    font-family: 'Arial', sans-serif;
}

p, h1, h2, h3, h4, h5 {
    display: flex;
    justify-content: space-evenly;
}

/* Global box-sizing rule */
* {
    box-sizing: border-box;
}

html, body {
    margin: 0; /* Remove margins */
    padding: 0; /* Remove padding */
}

/* Just used to center a div */
.div-center {
    display: flex;           
    justify-content: center;
    align-items: center;
}

/* Header */
/* Base styling for the header and navigation */
.site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
    /* background: #dd3333; */
    background: orangered;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    margin: 0;
}

.site-navigation {
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: space-between;
}

.site-logo {
    /* max-height: 75px; */
    max-width: 65px;
    margin-right: 20px;
}
/* End of header */

/* Text boxes & Containers */
.text_container {
    margin: 0 auto;
    background-color: black;
    color: white;
    display: flex;
    width: 100%;
    height: auto;
    justify-content: space-around;
    
}

/* This is for spanning the entire page, not used right now */
.text_container_span {
    margin: 0 auto;
    background-color: black;
    padding: 20px;
    width: 100%;
    height: auto;
}

.text_container_span img {
    margin: auto;
    /* width: 20%; */
    height: auto;
}

.text_container_span h1,
.text_container_span h2,
.text_container_span h3 {
    text-align: center;
    color: white;
}
/* End of spanning entire page */

.text_container h1,
.text_container h2,
.text_container h3 {
    text-align: center;
    color: white;
}

.text_container ul {
    list-style: none;
    color: white;
    list-style-position: inside;
    padding: 0;
    text-align: center;
}

.text_container li {
    margin-bottom: 10px;
    color: white;
}

.column {
    flex: 0 1 auto; /* Allow the column to shrink and grow based on its content */
    min-width: 300px;
    text-align: center;
    margin: 10px;
    /* border: 1px solid #ccc; */
    padding: 10px;
}

/* Ensure responsive layout for smaller screens. ADD ALL THE ONES YOU CREATE HERE */
@media (max-width: 768px) {
    .text_container,
    .text_container_span,
    .img_column {
        flex-direction: column;
    }
}

/* CONTACT FORM ON FRONT PAGE */
.form-container {
    display: flex;                 
    justify-content: center;
    align-items: center;
    padding-top: 75px;  
    padding-bottom: 150px;
}

.form-container iframe {
    height: 100vh;
  }
/* end of contact form front page */

/* footer.php */
.footer-css {
    text-align: center;
    font-weight: bold;
    /* background: #dd3333; Solid red color */
    background: black;
    /* height: 5%; */
    color: white;
    padding: 10px 0;
}
/* end footer */

/* for the image on the front page in between the services stuff */
.front_img {
    flex: 0 1 auto; /* Allow the column to shrink and grow based on its content */
    display: flex;
    width: 100%;
    height: auto;
    /* min-width: 50%; */
    margin: auto;
}
/* end front_img*/

/* front page images in a column*/
/* Removed this from the system for now */
.front_column {
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    /* color: white;  This is for the text color, have comment this comment out if want this*/
    display: flex;
    justify-content: center; /* Center the images horizontally */
    align-items: center; /* Center the images vertically */
    width: 90%;
    height: auto;
    flex: 0 1 auto; /* Allow the column to shrink and grow based on its content */
    min-width: 300px;
    object-fit: contain;
    margin: 0 auto; /* Center the container itself */
    padding: 0;
    flex-wrap: nowrap; /* Ensure the images stay on one line */
    overflow: hidden; /* Prevent overflow issues */
}

/* Additional CSS for the images inside the container */
.front_column img {
    margin: 0 5px; /* Add 5px space on the left and right of each image */
    max-width: calc(100% - 10px); /* Adjust width to account for the margin */
    height: auto;
    border-radius: 8px;
}

/* end of front page images in a column  */


/* First image on home page */
/* Removed this from the system for now*/
.image-section {
    background-color: black;
    width: 100%;
    height: 15%;
    position: relative;
}
.image-section img {
    width: 100%; /* Fill the width of the section */
    height: 100%; /* Fill the height of the section */
    max-width: 100%; /* Scale the image to fit the width */
    max-height: 100%; /* Scale the image to fit the height */
    object-fit: cover; /* Maintain aspect ratio and cover the section */
}
/* end of first image on homepage */

.text_header {
    margin: 0 auto;
    /* background-color: #dd3333; */
    background-color: orangered;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    color: white;
    width: 100%;
    display: flex;
    justify-content: space-around; /* Equal space around items */
    
}

.black_bar {
    margin: 0 auto;
    background-color: black;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    color: white;
    width: 100%;
    display: flex;
    justify-content: space-around; /* Equal space around items */
}

.text_blog {
    width: 75%;
    margin: 0 auto;
    background-color: whitesmoke;
    color: black;
    box-shadow: 1px 1px 10px 15px rgba(0, 0, 0, 0.1);
    display: block;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 1px;
    margin-top: 50px;
    margin-bottom: 50px;
    padding-bottom: 5px;
    font-family: 'Oswald', sans-serif;
}

.text {
    width: 75%;
    margin: 0 auto;
    background-color: whitesmoke;
    color: black;
    box-shadow: 1px 1px 10px 15px rgba(0, 0, 0, 0.1);
    display: block;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 1px;
    margin-top: 50px;
    margin-bottom: 50px;
    padding-bottom: 5px;
    font-family: 'Oswald', sans-serif;
    text-align: justify;
}

.text_small {
    width: 35%;
    margin: 0 auto;
    background-color: whitesmoke;
    color: black;
    box-shadow: 1px 1px 1px 1px rgba(.05, .05, .05, .05);
    display: block;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 1px;
    margin-top: 50px;
    margin-bottom: 50px;
    padding-bottom: 2px;
    font-family: 'Oswald', sans-serif;
}

.text_background {
    background-color: black;
    color: white;
    width: 100%;
    display: flex;
    margin: auto;
    justify-content: space-around;
}

/*front page image gallery link */
/* Removed this from the system for now. Going to host or something somehwere else */
.button-container {
    display: flex; 
    justify-content: center;
    align-items: center;
}

.image-gallery-button {
    padding: 30px 45px;
    background-color: #4CAF50; /* Green background */
    color: white; /* White text */
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    /* border-radius: 8px; */
    cursor: pointer;
    transition: background-color 0.3s ease;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    text-decoration: none;
    /* display: inline-block; */
}

.image-gallery-button:hover {
    background-color: #45a049; /* Darker green on hover */
}
/* End of front page image gallery link */


/* Start of services styling, newest */
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    padding: 20px;
    text-align: center;
    font-family: Arial, sans-serif;
    width: 100%; /* Ensures the grid spans the full width of the container */
    max-width: 100vw; /* Prevents any overflow beyond the viewport */
    box-sizing: border-box; /* Includes padding in the element's total width */
}

.service-item {
    background-color: #f9f9f9;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.service-item:hover {
    transform: translateY(-10px);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
}

.service-icon {
    width: 75%;
    height: 50%;
    object-fit: contain;
    margin-bottom: 15px;
}

.service-icon-large {
    width: 300px;
    height: 200px;
    object-fit: contain;
    margin-bottom: 15px;
}

.service-item p {
    font-size: 1.2em;
    font-weight: bold;
    color: #333;
}
/* End of services styling, newest */


/* Boxed div for google photos*/
.div-box-google {
    border: 5px solid #000;  /* Adds a solid black border */
    padding: 20px;            /* Adds space inside the box */
    border-radius: 10px;      /* Optional: adds rounded corners */
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* Optional: adds a shadow effect */
    background-color: orangered;
    margin: 0 auto;
    width: 30%;
    margin-bottom: 50px;
    margin-top: 50px;
    
}

/* Boxed div for blog*/
.div-box-blog {
    border: 5px solid #000;  /* Adds a solid black border */
    padding: 20px;            /* Adds space inside the box */
    border-radius: 10px;      /* Optional: adds rounded corners */
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* Optional: adds a shadow effect */
    background-color: darkcyan;
    margin: 0 auto;
    width: 30%;
    margin-bottom: 50px;
    margin-top: 50px;
    
}

.title-text {
    /* width: 100%; */
    /* margin: 0 auto; */
    /* background-color: whitesmoke; */
    color: white;
    box-shadow: 1px 1px 10px 15px rgba(0, 0, 0, 0.1);
    display: block;
    /* padding-right: 15px; */
    /* padding-top: 1px; */
    /* margin-top: 50px;
    margin-bottom: 50px; */
    /* padding-bottom: 1px; */
    font-family: 'Poppins', sans-serif;
}

.black-bar {
    margin: 0 auto;
    background-color: black;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    color: white;
    width: 100%;
    display: flex;
    justify-content: space-around; /* Equal space around items */
}