/* Basic Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Base Styles */
body, h1, h2, h3, p {
    font-family: Arial, Helvetica, sans-serif;
    color: black;
}


.container { /*Header secion */
    width: 80%;
    margin: auto;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Header Styles */
header {
    background-color: #f8f8f8;
    padding: 10px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header-text {
    display: flex;
    align-items: center;
}

.header-link, .top-navigation a, .video-card a {
    text-decoration: none;
    color: inherit;
}

.header-link {
    display: flex;
    align-items: center;
}

/* Initially hide the hamburger menu icon on all screens */
.hamburger-menu {
    display: none;
}

#logo {
    width: 100px;
    height: auto;
    margin-right: 5px;
}

.top-navigation {
    display: flex;
    align-items: center;
    justify-content: space-between; /* This will space out the links evenly */
}

.top-navigation a {
    color: black; /* Or any color you prefer */
    text-decoration: none;
    padding: 10px; /* Increase padding for more space between links */
    white-space: nowrap; /* Prevents the text from wrapping */
}

/* Hero Images */
.hero-image {
    background: url('Images/hero-halloween.jpg') center no-repeat;
    background-size: cover;
    height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-image h1, .hero-image p {
    color: #f8f8f8;
    text-shadow: 2px 2px 4px #000000;
}

.hero-image-about-us {
    background: url('Images/about-us-halloween.jpg') center no-repeat;
    background-size: cover;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 5%;
    margin-right: 5%;
}
/* Contact page and form alignment */

.hero-image-contact {
    background: url('Images/about-us-halloween.jpg') center no-repeat;
    background-size: cover;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 5%;
    margin-right: 5%;
}

.hero-image-contact h1, .hero-image-contact p {
    color: #f8f8f8;
    text-shadow: 2px 2px 4px #000000;
}


/* Video Section Title Header */

.video-section-header {
    margin-top: 10px; /* Adds space above the button */
}

/* Video Cards */
.video-card {
    border: 1px solid #ddd;
    border-radius: 5px;
    overflow: hidden;
    margin-bottom: 20px;
}

.video-thumbnail {
    width: 100%;
    height: auto;
    max-height: 250px;
}

.video-info {
    padding: 10px;
    background-color: #f9f9f9;
}

.video-title, .video-price, .video-rating, .video-description {
    margin-bottom: 5px;
}

.video-button {
    background-color: #0056b3;
    color: white;
    padding: 8px 15px;
    border-radius: 3px;
    transition: background-color 0.3s;
}

.video-button:hover {
    background-color: #003d82;
}

/* Footer Styles */
footer {
    background-color: #333;
    color: white;
    text-align: center;
    padding: 20px 0;
}

/* Footer Styles */
.site-footer {
    background-color: #222; /* Dark background for the footer */
    color: white;
    padding: 30px 0;
    font-size: 14px;
}

.footer-about p {
    color: white;
}

.footer-container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.footer-about,
.footer-quick-links,
.footer-follow-us {
    flex: 1;
    min-width: 200px;
    padding: 0 15px;
}

.footer-about h4,
.footer-quick-links h4,
.footer-follow-us h4 {
    font-size: 16px;
    color: #F8C210; /* Gold color for headings */
    margin-bottom: 15px;
}

.footer-bottom {
    text-align: center;
    padding: 15px 0;
    border-top: 1px solid #444; /* Separator line */
    display: flex;
    justify-content: center; /* Center the content horizontally */
    align-items: center; /* Center the content vertically */
    flex-direction: column;
    width: 100%; /* Span the entire width */
}

.footer-bottom p {
    margin: 0;
    color: #aaa;
    padding: 5px 0;
}

.footer-quick-links ul {
    list-style-type: none; /* This removes the bullet points */
    padding-left: 0; /* This removes any default padding on the left side */
    margin: 0; /* Resets default margin */
}

.footer-quick-links ul li {
    padding: 5px 0; /* Adds some vertical spacing between the links */
}

.footer-quick-links ul li a {
    color: white; /* Adjust the color as needed */
    text-decoration: none; /* This removes the underline from links */
}

.footer-quick-links ul li a:hover {
    text-decoration: underline; /* Adds an underline on hover for better UX */
}


/* Video Container Grid */
.video-container, .free-video-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    grid-auto-flow: row;
    gap: 10px;
    margin-bottom: 20px;
}

/* For Product pages */
.product-container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;  /* Example column sizes, adjust as needed */
    grid-template-rows: auto 1fr auto;  /* Example row sizes, adjust as needed */
    grid-template-areas:
        "header header header"
        "box1 box2 box3"
        "footer footer footer";
    gap: 10px;  /* Adjust the gap size as needed */
}

.product-header {
    grid-area: header;
}

.product-footer {
    grid-area: footer;
}

.product-square-left {
    grid-area: box1;
}

.product-video-1 {
    grid-area: box2;
}

.product-info {
    grid-area: box3;
}

.product-square-right {
    grid-area: box4;
}

.product-video-1 iframe {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* About Page */

.about-section .about-container {
    display: flex;
    flex-wrap: wrap; /* This will allow for wrapping on smaller screens */
    gap: 20px; /* Adjust gap between image and text */
    justify-content: center;
    align-items: flex-start; /* Align items to the start of the flex container */
    padding: 20px 20px;
}

.about-section .about-image {
    flex: 0 0 auto; /* Do not grow, do not shrink, and is automatically sized */
    max-width: 300px; /* Adjust as needed */
}

.about-section .about-text {
    flex: 1; /* Take up the remaining space */
    max-width: 800px; /* Maximum width of the text */
    text-align: left;
    padding: 20px 20px; /* Adjust padding as needed */
}

/* Blog styles main page and post styles*/

#blog-container {
    display: flex;
    flex-direction: column;
    align-items: center; /* This will center the child articles */
    justify-content: flex-start;
    margin-top: 5%;
}

#blog-container img {
    max-width: 100%; /* This ensures images are never wider than their container */
    max-height: 300px; /* Adjust the pixel value to suit your design */
    display: block; /* This prevents inline spacing issues */
    margin: 0 auto; /* This centers the image in the container if it is smaller than the full width */
  }

  .blog-post-summary {
    display: flex;
    align-items: flex-start;
    gap: 20px; /* Adjust the space between the image and the text as needed */
    margin-bottom: 40px; /* Space between posts */
}

.blog-image-summary {
    flex: 0 0 auto; /* Don't grow, don't shrink, and be based on the width of the image */
    width: 200px; /* Adjust the width as necessary */
}

.blog-image-summary img {
    width: 100%;
    height: auto; /* Keep the aspect ratio of the image */
}

.blog-content-summary {
    flex: 1; /* Take up the remaining space */
    padding: 10px;
}




/* Responsive Design */
@media (max-width: 900px) {
    .hero-image {
        height: 200px;
    }

    .hide-on-mobile {
        display: none;
    }

    /* Align items in the container */
    .container {
        flex-direction: column;
        align-items: center;
    }

    /* Show the hamburger menu */
    .hamburger-menu {
        display: block;
        position: absolute; /* Position the button absolutely */
        top: 10px; /* Adjust as necessary for top spacing */
        right: 10px; /* Adjust as necessary for right spacing */
        background: none;
        border: none;
        font-size: 48px;
        cursor: pointer;
    }

    /* Initially hide the navigation links */
    .top-navigation {
        display: none;
        flex-direction: column;
        width: 100%;
    }

    /* Style for the navigation links when shown */
    .top-navigation a {
        padding: 10px 0;
        text-align: center;
        width: 100%;
    }


    /* Styles for collapsible buttons on product page */
    .collapsible {
        cursor: pointer; /* This makes the cursor a pointer hand icon */
        user-select: none; /* Optional: Prevents text selection */
        padding: 10px; /* Adds some space around the text and icon */
        border: none; /* Removes border */
        background-color: transparent; /* Transparent background */
        /*display: flex; /* Can add this back if you want left alignment of collapsible
        align-items: center; /* 
    }
    
    .collapsible-icon {
        margin-right: 5px; /* Adds a small space between the icon and the text */
        transition: transform 0.2s; /* Smooth transition for the icon when it rotates */
        cursor: pointer;
    }

    div.collapsible {
        cursor: pointer; /* Explicitly stating the element type for increased specificity */
    }
    
    /* If the collapsible elements contain other elements, you may need to set the cursor for these child elements as well */
    div.collapsible * {
        cursor: pointer;
    }
    
    
    /* Style the collapsible element when it's active */
    .collapsible.active .collapsible-icon {
        transform: rotate(45deg); /* Rotates the '+' icon to an 'x' */
    }
    
    /* Hide the content by default */
    .content {
        display: none;
        padding: 10px; /* Adds padding around the content for better layout */
        text-align: left;
    }
    
    /* Optional: Style for the list within the content */
    .content ul {
        list-style-type: none; /* Removes default list styling */
        padding: 0; /* Removes default padding */
    }
    
    .content ul li {
        padding: 5px 0; /* Adds some space between list items */
    }

    .social-links {
        justify-content: center;
        margin-bottom: 20px;
    }

    .footer-container {
        flex-direction: column;
        align-items: center;
    }

    .footer-about,
    .footer-quick-links,
    .footer-follow-us {
        text-align: center;
        margin-bottom: 20px;
    }

    .footer-bottom {
        flex-direction: column;
    }


    /* For Product pages - adapts the video and text boxes*/



}

/* Responsive Design */
@media (max-width: 803px) {
 
    .product-container {
        display: grid;
        grid-template-columns: 1fr;  /* Single column layout */
        grid-template-rows: auto auto auto auto auto;  /* Adjust the number of rows based on content */
        grid-template-areas:
            "header"
            "box2"
            "box3"
            "footer";
        gap: 10px;  /* Adjust the gap size as needed */
    }

    .product-header {
        grid-area: header;
    }

    .product-footer {
        grid-area: footer;
    }

    .product-video-1 {
        grid-area: box2;
    }

    .product-info {
        grid-area: box3;
        text-align: center;
    }

    /* Assuming you want to hide box1 and box4 in the single column layout */
    .product-square-left,
    .product-square-right {
        display: none;
    }
}

@media (max-width: 600px) {
   
    .product-video-1 {
        justify-content: stretch;
    }

    .product-container {
        grid-template-columns: 1fr;
    }

    .video-section-header {
        flex-direction: column;
        align-items: flex-start;
        margin-top: 5%;
    }

    .video-section-header h2 {
        margin-bottom: 10px;
    }

    .video-card {
        width: 100%;
    }

    .header-link {
        align-items: left;
    }
}

@media (max-width: 420px) {
    .hero-image {
        padding: 3%;
    }

    .video-section-header h2 {
        font-size: larger;
    }

    .video-container, .free-video-container {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
        gap: 10px;
        margin-bottom: 20px;
        margin-left: 0%;
    }
}

/* Main Content Styling */
main {
    width: 80%;
    margin: auto;
    padding: 20px 0;
}

main h1, main h2 {
    margin: 20px 0;
    color: black;
}

main p {
    line-height: 1.6;
    margin-bottom: 15px;
}

main ul {
    margin: 15px 0;
    padding-left: 20px;
}

main ul li {
    margin-bottom: 10px;
    line-height: 1.5;
} 