@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-30px);
    }
    60% {
        transform: translateY(-15px);
    }
}
body.home .hero_banner >.container {
    @media (max-width: 991px) {
        padding-top: 200px !important;
        padding-bottom: 50px !important;
    }
}

body:not(.home) .hero_banner >.container {
    @media (max-width: 991px) {
        padding-top: 100px !important;
        padding-bottom: 50px !important;
    }
}

.hero_banner {
    display: flex;
    flex-direction: column;
    background-color: var(--secondary);

    &.full {
        height: 100vh;
    }

    &.half {
        height: 60vh;
        @media (max-width: 991px) {
            height: 70vh;
        }
    }


    & > .container {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: row;
        z-index: 2;
        flex-wrap: wrap;

        @media (max-width: 991px) {
            align-items: center !important;
            justify-content: center !important;
            text-align: center !important;
            
            & .hero_banner_inner {
                align-items: center !important;
            }

            & .call_to_action_buttons {
                justify-content: center !important;
            }
        }

        & .down-arrow{
            position: relative;
            top: 20%;
            animation: bounce 2s infinite;
            cursor: pointer;
            @media (max-width: 1510px) {
                top: 10%;
            }
        }
        
        &.left {
            align-items: flex-start;
            text-align: left;

            & .call_to_action_buttons {
                justify-content: flex-start;
            }
        }

        &.center {
            align-items: center;
            justify-content: center;
            text-align: center;

            & .hero_banner_inner {
                align-items: center;
            }

            & .call_to_action_buttons {
                justify-content: center;
            }
        }

        &.right {
            align-items: flex-end;
            text-align: right;

            & .call_to_action_buttons {
                justify-content: flex-end;
            }
        }


        & .hero_banner_inner {
            width: 50%;
            max-width: 100%;
            height: 100%;
            display: flex;
            flex-direction: column;
            align-items: flex-start;

            @media (max-width: 991px) {
                width: 100%;
            }

            p#breadcrumbs {
                font-weight: 400;
                color: var(--primary);
                text-transform: uppercase;
                line-height: 1;
                @media (max-width: 1510px) {
                    margin-top:6rem;
                }
                >span {
                    width: 100%;
                }

                a, span {
                    display: inline-block;
                    text-decoration: none;
                    font-weight: 400;
                    color: var(--white) !important;
                }
            }

            & h1 {
                margin: 0 0 3rem;
                color: var(--white);
                & span {
                    font-size: inherit;
                    font-weight: inherit;
                    color: var(--white);
                }
            }

            & p {
                font-size: 2rem;
                color: var(--white);
                margin: 0 0 3rem;
                @media (max-width: 991px) {
                    font-size: 1.8rem;
                }
            }

            &.top {
                justify-content: flex-start;
    
                & .call_to_action_buttons {
                    justify-content: flex-start;
                }
            }
    
            &.middle {
                justify-content: center;
    
                & .call_to_action_buttons {
                    justify-content: flex-start;
                }
            }
    
            &.bottom {
                justify-content: flex-end;
    
                & .call_to_action_buttons {
                    justify-content: flex-start;
                }
            }

            & .call_to_action_buttons {
                margin: 4rem 0 0;
            }
        }
    }

    & .image_overlay {
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        position: absolute;
        z-index: 0;
        inset: 0;
        background: #002459;
    }
	
	& img.hero_banner_image_desktop {
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        object-fit: cover;
        object-position: center;
        position: absolute;
        z-index: 0;
	}

    & img.hero_banner_image_desktop {
		@media (max-width: 767px) {
			display: none;
		}
    }
	
	& img.hero_banner_image_mobile {
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        object-fit: cover;
        position: absolute;
        z-index: 0;
        @media (min-width: 768px) {
            display: none;
        }
	}
}
.search_area.active {
    display: block;
}

/* Styling the search area */
.search_icon {
    cursor: pointer;
}


#search-results, #search-results-mobile {
    position: absolute;
    z-index: 99;
    max-height: 300px;
    overflow-y: auto;
    background: #ffffff; 
    width: 100%;
}

.search-result, .search-category {
    padding: 10px;
    border-bottom: 1px solid #eee;
}

.search-results a, .search-category a {
    text-decoration: none !important;
    font-weight: bold;
}

.search_area {
    width: 80%;
    position: relative;
    z-index: 21;
    border: 1px solid white;
    border-radius: 3px;

}

.overlay_search {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6); /* Dark transparent overlay */
    display: none;
    z-index: 20; /* Behind the search area */
}
.thumb-and-title {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.thumb-and-title span {
    text-decoration: none;
}
.title-type {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.search_type{
    font-size: 14px;
}
span.search_title {
    display: block;
    font-size: 16px;
}
.overlay_search.active {
    display: block;
}
#search-results-mobile p.no_results{
    color: #002459;
    font-size: 14px;
    padding: 1rem;
}
input#search-input-mobile {
    width: 100%;
    height: 50px;
    padding: 1rem;
    margin: 0;
    font-size: 14px;
    background-color: var(--white);
    border: 1px solid var(--white);
    color: #545454;

}
form#search-form-mobile {
    display: flex;
    width: 100%;
    align-items: center;
    background-color: var(--white);
    border: 1px solid var(--white);
    border-radius: 2%;
    padding: 0 0 0 1rem;
}
form#search-form-mobile .dgwt-wcas-ico-magnifier {
    height: 27px;
    width: auto;
    opacity: .5;
    fill: #444;
}
form#search-form-mobile .dgwt-wcas-ico-magnifier path {
    fill: #545454;
}

input#search-input{
    width: 100%;
    height: 50px;
    padding: 1rem;
    margin: 0;
    font-size: 14px;
    background-color: #545454;
    border:1px solid #545454;
    color: #fff;

}
form#search-form{
    display: flex;
    width: 100%;
    align-items: center;
    background-color: #545454;
    border: 1px solid #545454;
    border-radius: 2%;
    padding: 0 1rem;
}
form#search-form .dgwt-wcas-ico-magnifier {
    height: 27px;
    width: auto;
    opacity: .5;
    fill: #444;
}
form#search-form.dgwt-wcas-ico-magnifier path {
    fill: #fff;
}