/*
Theme Name: Beaver Builder Child Theme
Theme URI: http://www.wpbeaverbuilder.com
Version: 1.0
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: http://www.fastlinemedia.com
template: bb-theme
*/

/* Add your custom styles here... */ 

.fl-button.fl-button-icon-animation:hover i.fl-button-icon-after {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.image-shadow {
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
}

.inline-content-wrap {
    /* Enables Flexbox layout for inline flow */
    display: flex;
    /* Allows items to wrap onto the next line if container is too narrow */
    flex-wrap: wrap;
        /* Aligns items to the right side of the container */
    justify-content: flex-end;
    
    /* Add some spacing between the items */
    gap: 15px; /* Adjust as needed for spacing */
    /* Optional: Sets the text direction, useful for right alignment in some contexts */
    /* direction: rtl; */ 
	width:100%
}

/* Retained styles for individual items (optional but recommended) */
.inline-item {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
}

/* Gallery */

.gallery-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px; /* The space between the items */
    justify-content: space-between;
}

.gallery-item-wrapper {
    width: 250px; /* Overall width of the item including text */
}

.gallery-item {
    position: relative;
    height: 250px; /* Height for the image area */
    border-radius: 0px;
    box-shadow: 0px 10px 16px -6px rgba(0,0,0,0.3);
    overflow: hidden; /* This keeps the image within the rounded corners */
}

.gallery-item a {
    display: block;
    height: 100%; /* This ensures the link fills the container */
}

.gallery-item img {
    width: 100%;
    height: 100%;
    /* This is the key property to fill the square without distortion */
    object-fit: cover; 
    transition: transform 0.3s ease;
}

.gallery-item:hover img {
    transform: scale(1.1); /* Slight zoom effect on hover */
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.7); /* Transparent white */
    opacity: 0;
    transition: opacity 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.gallery-item:hover .overlay {
    opacity: 1;
}

.plus {
    width: 50px;
    height: 50px;
    background-color: #8072b1;
    border-radius: 50%;
    position: relative;
}

.plus::before,
.plus::after {
    content: '';
    position: absolute;
    background-color: #ffffff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.plus::before {
    width: 20px;
    height: 4px;
}

.plus::after {
    width: 4px;
    height: 20px;
}

.text-content {
    padding: 15px 5px; /* Added slight horizontal padding */
    text-align: left;
}

.text-content h3 {
    margin: 0 0 4px;
    font-size: 1.1em;
	line-height: 1.3em;
}
.text-content p {
    margin: 0;
    font-size: 14px;
    color: #333;
	line-height: 1.7em;
}

/* Responsive Design */
@media (max-width: 768px) {
    .gallery-item-wrapper {
        width: 200px;
    }
    .gallery-item {
        height: 200px;
    }
}

@media (max-width: 480px) {
    .gallery-item-wrapper {
        width: 100%; /* Full width on small screens */
    }
    .gallery-item {
        height: 250px; /* Or a suitable height for mobile */
    }
}
