/*
 Theme Name:   Brickz Child
 Theme URI:    https://demo.rstheme.com/wordpress/brickz/
 Description:  Brickz Child
 Author:       RSTheme
 Author URI:   http://rstheme.com
 Template:     brickz
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
 */

/* ==========================================================================
   TABLE OF CONTENTS

   1.  CSS Variables
   2.  Global / Base
   3.  Typography
   4.  Slider Revolution Overrides
   5.  Buttons
   6.  Navigation / Menu
   7.  Footer
   8.  Layout Utilities (Equal Height Cards)
   9.  Blog & Posts
   10. Pagination
   11. Team Members
   12. Services
   13. Accordion
   14. Lists & Feature Lists
   15. Forms
   16. Pills
   17. Sidebar & Widgets
   18. Testimonials / Swiper
   19. Dividers
   20. 404 Error Page
   21. Page-Specific Elementor Overrides
   22. Elementor Backend
   23. Related Pages Section
   24. Responsive / Media Queries
   25. Sitemap Shortcode ([wallis_sitemap])
   ========================================================================== */


/* ==========================================================================
   1. CSS Variables
   ========================================================================== */

:root {
    --primaryColor: #0054A4 !important;
}


/* ==========================================================================
   2. Global / Base
   ========================================================================== */

/* Force hand cursor on all hyperlinks */
a,
a *,
button,
[role="button"] {
  cursor: pointer !important;
}


/* ==========================================================================
   3. Typography
   ========================================================================== */

/* Global font: Calibri via Adobe Fonts (Typekit kit ldm0vjd) → Calibri system font → Arial fallback */
html {
    font-family: "calibri", Calibri, Arial, Helvetica, sans-serif;
}

body,
p,
span,
a,
li,
button,
input,
textarea,
select,
.desc-text,
.elementor-widget-text-editor {
    font-family: "calibri", Calibri, Arial, Helvetica, sans-serif !important;
    font-weight: 400;
}

strong {
	font-weight: bold;
}

h1, h2, h3, h4, h5, h6,
.title,
.rs-heading-font,
.prelements-heading .title {
    font-family: "calibri", Calibri, Arial, Helvetica, sans-serif !important;
    font-weight: 700 !important;
}


/* ==========================================================================
   4. Slider Revolution Overrides
   ========================================================================== */

/* Slider Revolution font override — SR inlines Inter Tight / Golos Text; this overrides them */
#slider-revolition,
#slider-revolition *,
#SR7_1_1,
#SR7_1_1 * {
    font-family: "calibri", Calibri, Arial, Helvetica, sans-serif !important;
}

#slider-revolition sr7-txt,
#slider-revolition p,
#SR7_1_1 sr7-txt,
#SR7_1_1 p {
    font-weight: 400 !important;
    font-size: 20px !important;
}

#slider-revolition h1,
#slider-revolition h2,
#slider-revolition h3,
#SR7_1_1 h1,
#SR7_1_1 h2,
#SR7_1_1 h3 {
    font-weight: 700 !important;
}

#slider-revolition sr7-btn,
#slider-revolition .rs-btn,
#SR7_1_1 sr7-btn,
#SR7_1_1 .rs-btn {
    font-weight: 700 !important;
}

#SR7_1_1 sr7-bg {
    position: relative !important;
}

#SR7_1_1 sr7-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.75) 0%,
        rgba(0, 0, 0, 0.45) 40%,
        rgba(0, 0, 0, 0) 100%
    );
}

#SR7_1_1 sr7-bg canvas {
    position: relative;
    z-index: 1;
}


/* ==========================================================================
   5. Buttons
   ========================================================================== */

.rs-blog-posts.style-overly .post-content-hover, .rs-button.btn-marketing-style1 .rs-btn{
	background-color:#0054A4;
	color:#fff;
}

.rs-button.btn-marketing-style1:hover .rs-btn{
	background-color:#406AB1;
	color:#fff;
}

.rs-button.btn-marketing-style1 .rs-btn em svg path, .offcanvas-close svg {
    fill: #fff !important;
}

.btn-marketing-style1 .rs-button .rs-btn span {
	text-transform: capitalize !important;
}


/* ==========================================================================
   6. Navigation / Menu
   ========================================================================== */

/*General */
.rstb-header .rstb-transparent {
	position: relative !important;
}

/*Menu*/
.rstb-nav-menu .primary-menu .sub-menu-icon {
    margin-inline-start: 0 !important;
}

.primary-menu .menu-prefix-icon{
	color:var(--e-global-color-accent) !important;
}

/* Mobile menu */

/* Base button style */
.mobile-menu .req{
    margin-top: 20px !important;
}

.mobile-menu .req > a {
    background: var(--e-global-color-primary);
    color: #fff;
    border-radius: 5px;
    display: inline-flex !important;
    align-items: center;
    gap: 0;
    text-decoration: none;
    font-weight: 500;
    line-height: 1.3;
    transition: var(--transition);
    padding: 5px !important;
}

/* Hover */
.mobile-menu .req > a:hover {
  background: var(--e-global-color-secondary);
  color: #fff !important;
}

.mobile-menu .menu-item-text {
    padding: 10px 20px;
}


/* ==========================================================================
   7. Footer
   ========================================================================== */

.home .rstb-footer .main-footer{
	padding-top: 120px !important;
}

.link-footer .rstb-copyright a:hover{
	color: var(--e-global-color-accent) !important;
}


/* ==========================================================================
   8. Layout Utilities (Equal Height Cards)
   ========================================================================== */

.equal-high .e-con-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.equal-high .e-con-inner > * {
    display: flex;
}

.equal-high .elementor-widget-rs-service-grid {
    display: flex;
}

.equal-high .rs-addon-services {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.equal-high .services-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.equal-high .content_part {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.equal-high .btn-part {
    margin-top: auto;
}

.equal-high .rs-addon-services .services-inner .services-title .title {
    margin:0 !important;
}


/* ==========================================================================
   9. Blog & Posts
   ========================================================================== */

.post-thumbnail::before {
    background-image: linear-gradient(180deg, #53232300 32%, #000000 100%) !important;
}

.news-featured .post-thumbnail {
    height: 350px !important;
}

.news-featured .post-excerpt {
    margin-top: 0 !important;
}

.news-featured .post-read-more{
	margin-top:20px !important;
}

.news-featured .read-more-icon {
	position: absolute !important;
	right: 60px;
}

.rs-blog-posts .post-thumbnail img {
    object-position: center top !important;
}

.rs-ajax-post-load .active .post-category a, .post-wrapper:hover .post-category a{
	color:#fff !important;
}

.rs-ajax-post-load .active .post-title::before, .rs-ajax-post-load .post-wrapper:hover .post-title::before {
	background-color: #fff !important;
}

.rs-ajax-post-load .active .post-img {
	height: 240px;
}

.rs-ajax-post-load .post-img {
	height: 240px;
}

.rs-ajax-post-load .post-wrapper .post-img img {
	height: 240px !important;
    object-fit: contain !important;
}

.rs-ajax-post-load .post-wrapper .post-content {
	position: relative !important;
	margin-top: -20px !important;
}

.rs-ajax-post-load .layout-cls.row {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: stretch !important;
}

.rs-ajax-post-load .grid-item {
	display: flex !important;
}

.rs-ajax-post-load .post-wrapper {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	height: 100% !important;
}

.rs-ajax-post-load .post-wrapper .post-content {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 !important;
}

.rs-ajax-post-load .post-wrapper .post-content .btn-part {
	margin-top: auto !important;
}

/* Hide the "Tags:" label + post tags widget on single post pages */
.elementor-element-9d30d0d {
    display: none !important;
}

.archive .rs-blog .blog-item .blog-img .blog-meta .btm-cate li a {
    color: #fff !important;
}

.elementor-7507 .elementor-element.elementor-element-96f595a .rstb-post-meta .post-meta svg path {
	fill: #EE3224 !important;
}

/* Hide the author and comments count from the post meta row on single news pages */
.rstb-single-page .rstb-post-meta .post-meta-author,
.rstb-single-page .rstb-post-meta .post-meta-comments {
	display: none !important;
}

/* "Back to News" button appended after single post content */
.back-to-news-wrap {
	margin-top: 30px;
}

.back-to-news-wrap a {
	color: #fff !important;
}


/* ==========================================================================
   10. Pagination
   ========================================================================== */

.pagination .nav-links span.current,
.pagination-area .nav-links span.current,
.nav-links .current {
    color: #ffffff !important;
}


/* ==========================================================================
   11. Team Members
   ========================================================================== */

.rs-team-members .team-item .details-btn em i:last-child, .rs-team-members .team-item .details-btn em svg:last-child {
   color: var(--e-global-color-accent) !important;
}


/* ==========================================================================
   12. Services
   ========================================================================== */

.rs-addon-services.style7 .services-inner .media_wrap .icon_style svg path {
    fill: #fff;
}


/* ==========================================================================
   13. Accordion
   ========================================================================== */

.accordion-item {
	margin-top: 7px;
}


/* ==========================================================================
   14. Lists & Feature Lists
   ========================================================================== */

/* Theme base CSS strips list-style from all <ul> (widgets like .rs-features-list
   replace it with custom SVG icons); this WYSIWYG list has no icon, so restore bullets */
.descripti ul {
	list-style: disc;
	list-style-position: outside;
	margin: 0 0 15px 20px;
	padding: 0;
}

.descripti ul li {
	display: list-item !important;
}

.rs-features-list li {
	width: 49%;
}

.rs-features-list li {
    display: flex !important;
    align-items: flex-start !important;
}

.rs-features-list li svg {
    width: 12px !important;
    height: 10px !important;
    min-width: 12px !important;
    min-height: 10px !important;
    flex-shrink: 0 !important;
    margin-top: 6px;
}


/* ==========================================================================
   15. Forms
   ========================================================================== */

.select-full select {
	width: 100%;
	min-height: 60px;
}

.drilling-method-field {
    margin-bottom: 20px;
}


/* ==========================================================================
   16. Pills
   ========================================================================== */

.inner-pills-wrapper {
	flex-wrap: wrap !important;
	display: flex;
	gap: 10px;
}

.inner-pill-item:hover {
	color: #fff !important;
}


/* ==========================================================================
   17. Sidebar & Widgets
   ========================================================================== */

.bs-sidebar .widget_search button::before, .bs-sidebar .recent-post-widget .post-item .post-content ul.post-meta li i {
	color: #EE3224 !important;
}

.bs-sidebar .wp-block-search__label::after, .bs-sidebar .widget_block h2::after, .bs-sidebar .widget-title::after, .rs-divider.dot-enable::before, .rs-divider.dot-enable::after  {
  background-color: #EE3224 !important;
}


/* ==========================================================================
   18. Testimonials / Swiper
   ========================================================================== */

.swiper-wrapper {
    display: flex !important;
    align-items: stretch !important;
}

.swiper-slide {
    display: flex !important;
    height: auto !important;
    align-self: stretch !important;
}

.swiper-slide .testimonial-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100%;
    height: 100% !important;
}

.swiper-slide .descripti {
    flex: 1 1 auto;
}

.swiper-slide .testi-card-bottom {
    margin-top: auto !important;
}


/* ==========================================================================
   19. Dividers
   ========================================================================== */

.rs-divider {
	background-color: transparent !important;
}


/* ==========================================================================
   20. 404 Error Page
   ========================================================================== */

/*404*/
.error404 header, .error404 footer {
	display: none;
}

.page-error::after {
	content: "";
	position: absolute;
	background-color: #000000a8;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.page-error .container {
	z-index: 1;
}


/* ==========================================================================
   21. Page-Specific Elementor Overrides
   ========================================================================== */

.elementor-9404 .elementor-element.elementor-element-c098d8f, .elementor-5747 .elementor-element.elementor-element-363dbaf{
	width: auto  !important;
}

.elementor-9404 .elementor-element.elementor-element-ccf1803, .elementor-5747 .elementor-element.elementor-element-363dbaf {
	width: 20%  !important;
}


/* ==========================================================================
   22. Elementor Backend
   ========================================================================== */

.services-inner {
	background-image: none !important;
}


/* ==========================================================================
   23. Related pages section
   ========================================================================== */

.related-page {
	row-gap: 0 !important;
}

.related-page > .elementor-widget {
	margin: 0 !important;
}

.related-page > .elementor-widget .services-inner {
	margin: 0 !important;
	padding: 20px 0 !important;
}

.related-page .media_wrap {
	position: relative;
	top: 15px !important;
}

.related-page .image_style img {
	width: 70px !important;
	height: 70px !important;
	object-fit: contain;
}

.related-page > .elementor-widget:nth-child(-n + 3) .services-inner {
		border-bottom: 1px solid #C6CDE7 !important;
	}



/* ==========================================================================
   24. Responsive / Media Queries
   ========================================================================== */

@media (min-width: 1200px) and (max-width: 1750px) {
    .elementor-5747 .elementor-element.elementor-element-818f6b3 {
        width: 20% !important;
    }

    .news-featured{
        margin-left: 25px;
        margin-right: 25px;
    }



}


@media (max-width: 991px) {

	.home .rstb-footer .main-footer{
	padding-top: 40px !important;
	}

	  .rstb-nav-menu .menu-toggler {
		color: #0054A4 !important;
	}

    .rs-features-list li {
	width: auto !important;
}


	.mobile-panel-logo {
    display: none;
}

/*
	.rstb-nav-menu .mobile-panel-content {
    background-color: #6D84C0 !important;
} */


	/* Body text inside slider */
	#slider-revolition sr7-txt,
	#slider-revolition p {
		font-size:16px !important;
		line-height: normal !important;
	}

	#slider-revolition, #slider-revolition * {
    font-family: "calibri", Calibri, Arial, Helvetica, sans-serif !important;
    font-size: 16px;
	}



    .accordion-btn .accordion-button {
        position: relative;
        padding-right: 55px;
    }

    .accordion-btn .accordion-button::after {
        content: "";
        position: absolute;
        right: 24px;
        top: 50%;
        width: 10px;
        height: 10px;
        border-right: 2px solid #0054A4; /* Closed */
        border-bottom: 2px solid #0054A4; /* Closed */
        transform: translateY(-65%) rotate(45deg);
        transition: all .3s ease;
    }

    /* Open */
    .accordion-btn .accordion-button[aria-expanded="true"]::after {
        border-right-color: #fff;
        border-bottom-color: #fff;
        transform: translateY(-35%) rotate(-135deg);
    }

}

/* Accordion Tabs - Features list: 2 equal columns on mobile/tablet.
   Scoped to .accordion-btn so it doesn't touch other .rs-features-list widgets.
   Overrides the global "width: 49%" (desktop) and "width: auto !important"
   (max-width: 991px) rules above, which otherwise stack items in one column here. */
@media (max-width: 1024px) {
    .accordion-btn .rs-features-list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        align-items: start !important;
    }

    .accordion-btn .rs-features-list li {
        display: flex !important;
        align-items: flex-start !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .accordion-btn .rs-features-list li svg {
        width: 16px !important;
        height: 16px !important;
        flex: 0 0 auto !important;
        margin-top: 5px !important;
    }

}

@media (min-width: 1150px) and (max-width: 1270px) {
    .rs-ajax-post-load .active .post-img {
        height: 220px;
    }

    .rs-ajax-post-load .post-img {
        height: 220px;
    }

    .rs-ajax-post-load .post-wrapper .post-img img {
        height: 220px !important;
    }
}

@media (min-width: 992px) and (max-width: 1149px) {
    .rs-ajax-post-load .active .post-img {
        height: 190px;
    }

    .rs-ajax-post-load .post-img {
        height: 190px;
    }

    .rs-ajax-post-load .post-wrapper .post-img img {
        height: 190px !important;
    }
}




/* iPad */
@media (min-width: 768px) and (max-width: 991px) {
    .rs-ajax-post-load .active .post-img {
        height: 215px;
    }

    .rs-ajax-post-load .post-img {
        height: 215px;
    }

    .rs-ajax-post-load .post-wrapper .post-img img {
        height: 215px !important;
    }


	.related-page > .elementor-widget .services-inner {
		border-bottom: 0 !important;
	}

	.related-page > .elementor-widget:nth-of-type(-n + 4) .services-inner {
		border-bottom: 1px solid #C6CDE7 !important;
	}

	

}

/* iPhone */
@media (max-width: 767px) {
    .rs-ajax-post-load .active .post-img {
        height: 210px;
    }

    .rs-ajax-post-load .post-img {
        height: 210px;
    }

    .rs-ajax-post-load .post-wrapper .post-img img {
        height: 210px !important;
    }

    .related-page {
		row-gap: 0 !important;
	}

	.related-page > .elementor-widget {
		margin: 0 !important;
	}

	.related-page > .elementor-widget .services-inner {
		margin: 0 !important;
		padding: 20px 0 !important;
		border-bottom: 1px solid #C6CDE7 !important;
	}

	.related-page > .elementor-widget:last-child .services-inner {
		border-bottom: 0 !important;
		padding-bottom: 20px !important;
	}

    .related-page .media_wrap {
		position: relative;
		top: 15px !important;
	}

	.related-page .image_style img {
		height: 70px !important;
		width: auto;
		object-fit: contain;
	}
}


/* ==========================================================================
   25. Sitemap Shortcode ([wallis_sitemap])
   ========================================================================== */

.wallis-sitemap {
	--wallis-sitemap-navy: var(--primaryColor, #0054A4);
	--wallis-sitemap-red: #EE3224;
	--wallis-sitemap-divider: #E1E1E1;
	background-color: #fff;
	width: 100%;
}

.wallis-sitemap-inner {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: 40px;
}

.wallis-sitemap-col {
	min-width: 0;
	padding-left: 40px;
	border-left: 1px solid var(--wallis-sitemap-divider);
}

.wallis-sitemap-col:first-child {
	padding-left: 0;
	border-left: none;
}

.wallis-sitemap-heading {
	position: relative;
	margin: 0 0 20px;
	padding-bottom: 14px;
	color: var(--wallis-sitemap-navy);
	font-size: 20px;
	line-height: 1.2;
}

.wallis-sitemap-heading::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 32px;
	height: 3px;
	background-color: var(--wallis-sitemap-red);
}

.wallis-sitemap-subtitle {
	margin: 0 0 16px;
	color: #6b6b6b;
	font-size: 14px;
	line-height: 1.5;
}

.wallis-sitemap-group + .wallis-sitemap-group {
	margin-top: 24px;
}

.wallis-sitemap-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.wallis-sitemap-news {
	margin-top: 40px;
	padding-top: 32px;
	border-top: 1px solid var(--wallis-sitemap-divider);
}

.wallis-sitemap-news-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: 40px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.wallis-sitemap-link {
	position: relative;
	display: block;
	padding: 10px 28px 10px 0;
	color: #2b2b2b;
	text-decoration: none;
	overflow-wrap: break-word;
	transition: color .2s ease, padding-left .2s ease;
}

.wallis-sitemap-link::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 4px;
	width: 7px;
	height: 7px;
	border-right: 2px solid var(--wallis-sitemap-red);
	border-bottom: 2px solid var(--wallis-sitemap-red);
	transform: translateY(-50%) rotate(-45deg);
	transition: right .2s ease;
}

.wallis-sitemap-link:hover,
.wallis-sitemap-link:focus-visible {
	color: var(--wallis-sitemap-navy);
	padding-left: 6px;
}

.wallis-sitemap-link:hover::after,
.wallis-sitemap-link:focus-visible::after {
	right: 0;
}

.wallis-sitemap-link:focus-visible {
	outline: 2px solid var(--wallis-sitemap-navy);
	outline-offset: 2px;
}

/* Tablet — 4 columns become 2, so dividers move to the 2nd column of each
   row and a horizontal rule separates the two rows. */
@media (min-width: 768px) and (max-width: 991px) {
	.wallis-sitemap-inner {
		grid-template-columns: repeat(2, 1fr);
		row-gap: 32px;
	}

	.wallis-sitemap-col {
		padding-left: 0;
		border-left: none;
	}

	.wallis-sitemap-col:nth-child(2n) {
		padding-left: 40px;
		border-left: 1px solid var(--wallis-sitemap-divider);
	}

	.wallis-sitemap-col:nth-child(n+3) {
		padding-top: 28px;
		border-top: 1px solid var(--wallis-sitemap-divider);
	}

	.wallis-sitemap-news-grid {
		grid-template-columns: repeat(2, 1fr);
		row-gap: 16px;
	}
}

/* Mobile — single column, no vertical dividers, subtle rule between groups. */
@media (max-width: 767px) {
	.wallis-sitemap-inner {
		grid-template-columns: 1fr;
		row-gap: 0;
	}

	.wallis-sitemap-col {
		padding-left: 0;
		border-left: none;
	}

	.wallis-sitemap-col:nth-child(n+2) {
		margin-top: 24px;
		padding-top: 24px;
		border-top: 1px solid var(--wallis-sitemap-divider);
	}

	.wallis-sitemap-news-grid {
		grid-template-columns: 1fr;
		row-gap: 0;
	}

	.wallis-sitemap-link {
		display: flex;
		align-items: center;
		min-height: 44px;
		padding: 12px 32px 12px 0;
	}

	.wallis-sitemap-link::after {
		right: 6px;
	}
}
