/*
Theme Name: Astra Child
Theme URI: https://example.com/astra-child
Description: Child theme for Astra
Author: Your Name
Author URI: https://example.com
Template: astra
Version: 1.0.0
*/
/* Import Fonts */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&family=Poppins:wght@400;600&family=Roboto:wght@400;700&display=swap');

/* Body styling */
body {
    font-family: "Roboto", sans-serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #2C2C2C !important;
    background-color: #F5F4F8 !important;
}

/* Headings styling */
h1, h2, h3, h4, h5, h6 {
    font-family: "Poppins", sans-serif !important;
    font-weight: 600 !important;
    color: #1A1A1A !important;
}

h1 {
    text-align: center !important;
}

.home .wp-block-font-awesome-icon svg {
    width: 100%;
    height: 100px;
}

.services-wrapper p {
    margin-bottom: 50px;
}

.services-wrapper .wp-block-columns {
    display: flex;
    gap: 40px;
    justify-content: center;
}

.services-wrapper .wp-block-columns .wp-block-column {
    align-items: center;
    justify-content: center;
    display: flex;
    flex-direction: column;
    text-align: center;
}

a {
    color: #1A1A1A;
}

a:hover {
    color: #5c3d91;
}

a.wp-block-button__link.wp-element-button {
    color: white;
    background: #1A1A1A;
    padding: 18px 40px;
}

a.wp-block-button__link.wp-element-button:hover {
    background-color: #5c3d91 !important;
    padding: 18px 40px !important;
	color: white !important;
}

div#hero-wrapper a.wp-block-button__link.wp-element-button {
    background-color: #5c3d91;
}

div#hero-wrapper a.wp-block-button__link.wp-element-button:hover {
    background-color: #1A1A1A !important;
    background-color: white !important;
    color: #5c3d91 !important;
}

div#hero-wrapper .wp-block-group h2, div#hero-wrapper .wp-block-group p {
    color: white !important;
}

div#hero-wrapper .wp-block-group {
    background-color: #1A1A1A;
    display: inline-block;
    padding: 40px;
    opacity: 0.95;
    border-radius: 0.5rem;
}
  

div#hero-wrapper .wp-block-group p {
    margin: 20px 0 40px 0 !important;
}

div#hero-wrapper {
    position: relative; /* needed for absolute positioning of :after */
    background-size: cover;
    min-height: 500px;
    background-position: center;
    z-index: 1; /* ensure stacking order */
    display: flex;
    align-items: center;
}

div#hero-wrapper:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #1A1A1A;
    opacity: 0.2;
    z-index: 0; /* overlay behind text */
}

div#hero-wrapper * {
    position: relative;
    z-index: 1; /* text above overlay */
}

.footer-nav-wrap ul {
	display: flex;
	flex-direction: row;
	gap: 20px;
}
.footer-nav-wrap li {
	font-size: 1.4rem;
}

.footer-nav-wrap li a {
	padding: 0 !important;
}

.footer-bar-navigation .footer-navigation li {
    flex-direction: row !important;
}
.footer-bar-navigation .footer-navigation li + li:before {
    content: " | ";
    color: #1A1A1A;
    padding: 0 20px 0 0;
}

.site-footer-above-section-2 .contact-footer {
    margin-bottom: 20px;
}

.site-footer-above-section-2 strong {
    font-size: 1.4rem;
}

.site-above-footer-wrap[data-section="section-above-footer-builder"] .ast-builder-grid-row {
    align-items: center !important;
}

.site-above-footer-wrap {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
}

.gallery-wrapper .wp-block-heading {
    text-align: center !important;
}
.gallery-wrapper .wp-block-button {
    margin: 0 auto;
}

.gallery-wrapper .slick-slider {
    max-width: 100% !important;
    height: auto;
    width: 100% !important;
}

.gallery-wrapper img {
    max-width: 100% !important;
    width: 100% !important;
    overflow: clip !important;
    object-fit: cover;
}

.ngg-slideshow .slick-prev:hover:before {
    color: #5c3d91 !important;
}

.ngg-slideshow .slick-next:hover:before {
    color: #5c3d91 !important;
}

.reviews-wrapper h2 {
    /* margin-bottom: 60px; */
    text-align: center !important;
}
.reviews-wrapper .wp-block-group {
    margin: 0 auto !important;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}
.reviews-wrapper .wp-block-group .swiper {
    margin: 0;
}
.reviews-wrapper .wp-block-group .swiper p {
    margin: 0 !important;
    padding: 40px;
}

.swiper-button-next:hover, .swiper-button-prev:hover {
    color: #5c3d91 !important;
}

.ngg-galleryoverview.default-view {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    grid-column-gap: 10px;
    grid-row-gap: 40px;
}

.ngg-gallery-thumbnail-box {
    width: 100% !important;
}

.ast-mobile-header-wrap .ast-button-wrap .menu-toggle.main-header-menu-toggle {
    background: #1A1A1A;
    color: white;
}

.site-below-footer-wrap {
    border-top: 1px solid #5c3d91;
}

.wp-block-cb-carousel-v2.cb-carousel-block.cb-single-slide {
    max-width: 100%;
}
.wp-block-cb-slide-v2.cb-slide.swiper-slide.swiper-slide-active {
    max-width: 100%;
    width: 100%;
}

.ast-scroll-top-icon {
    background: #1A1A1A;
    width: 3rem !important;
    height: 3rem !important;
}

.ast-scroll-top-icon .icon-arrow {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

@media (max-width: 921px) {
    .ast-builder-menu-mobile .main-navigation .menu-item.current-menu-item > .menu-link {
        color: white;
        background: #5c3d91;
    }

    .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item:hover > .menu-link {
        color: white;
        background: #C9C0D3;
    }

    .footer-nav-wrap li:not(:last-child) a:after {
        content: unset;
    }

    .site-footer-above-section-2 .footer-widget-area .widget_block {
        text-align: center;
    }

        
    .footer-bar-navigation .footer-navigation li + li:before {
        content: unset;
    }
    
    .ngg-galleryoverview.default-view {
        grid-template-columns: repeat(2, 1fr);
        grid-column-gap: 10px;
        grid-row-gap: 10px;
    }    

    .ast-container {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .swiper-button-next {
        margin-right: 10px;
    }
    .swiper-button-prev {
        margin-left: 10px;
    }
}

@media (max-width: 544px) {
    .site-above-footer-wrap[data-section="section-above-footer-builder"].ast-footer-row-mobile-stack .site-footer-section {
        margin-bottom: 30px;
    }
}