/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/* GSAP - Animations */
.main-hero__gb-block .wp-block-heading,
.main-hero__gb-block p,
.main-hero__gb-block  .wp-block-buttons .wp-block-button,
.compact-hero__title-wrapper h1{
	opacity:0;
}
.compact-hero__image{
	opacity:0.7;
}




/* Margin between sections */

.brxe-post-content :is(section, div):is([class*="bg--"], [class="has-background"], .our-purpose, .main-hero, .faqs-block, .activity-details, .alternate-hero):is(.content--full, .alignfull),
.prefooter-testimonals{
	margin-bottom: var(--advdays-section-spacing, var(--space-xs));
}








h1,.h--1{
	position: relative;
    width: fit-content !important;
}
h1:after,.h--1:after{
	content: '';
	display: flex;
	width: 100%;
	height: 10px;
	background: var(--secondary);
	margin-top: 10px;
}
button, .wp-block-button__link, .bricks-button,[class*="btn--"]{
    font-family: 'Barlow Condensed';
}


:is([class*="bg--primary-trans-"], .bg--primary, .has-advdays-primary-acss-background-color) :is(.btn--secondary.btn--outline, .btn--base.btn--outline, .is-style-outline .wp-element-button.wp-element-button.wp-element-button.has-advdays-secondary-acss-background-color, .is-style-outline .wp-element-button.wp-element-button.wp-element-button.has-advdays-base-acss-background-color){
	--btn-text-color: white;
}


.wp-block-image:not(.is-style-no-border).wp-block-image:not(.is-style-no-border) img{
	border-radius: 0;
    border: 10px solid var(--accent);
	background: var(--accent);
}
.wp-block-image.is-style-no-border img{
	border-radius: 0;
}
.wp-block-image.is-style-rounded img{
	border-radius: 16px !important;
}


.has-advdays-base-acss-background-color + .wp-block-separator {
	--flow-spacing: var(--space-l);
}
.wp-block-separator {
	height: 8px;
	background: var(--secondary);
	border-top: none !important;
	--flow-spacing: calc(var(--space-xxl) * 1.2);
}

blockquote {
    border-left: solid 4px var(--primary);
    font-family: inherit;
    font-size: inherit;
    padding: var(--space-xs) 0 var(--space-xs) var(--space-m);
    position: relative;
}
.wp-block-image, .wp-block-video, figure[class^=wp-block-]{
	margin-block: var(--figure-spacing, var(--flow-spacing, initial));
}



/* Form Styling **********************************************************************/


.fluentform .ff-el-group.ff-el-group{
	margin-bottom: 30px;
}
.fluentform .ff-el-group .ff-el-input--label label{
	font-size: var(--text-m);
	color: var(--black);
	font-weight: 400;
}
.fluentform .ff-el-group .ff-el-input--label{
	margin-bottom: 8px;
}
.fluentform .ff-el-group .ff-el-input--content input{
    min-height: 50px;
}
.fluentform .ff-el-group .ff-el-input--content input,.fluentform .ff-el-group .ff-el-input--content textarea{
	border: none;
    border-radius: 0px;
    background: var(--white);
}
.fluentform .ff-el-group .ff-btn.ff-btn-submit{
	background: var(--btn-background);
    color: var(--btn-text-color);
    padding-block: var(--btn-padding-block);
    padding-inline: var(--btn-padding-inline);
    min-inline-size: var(--btn-min-width);
    line-height: var(--btn-line-height);
    font-size: var(--btn-font-size, var(--text-m));
    font-weight: var(--btn-font-weight);
    font-style: var(--btn-font-style);
    text-transform: var(--btn-text-transform);
    letter-spacing: var(--btn-letter-spacing);
    text-decoration: var(--btn-text-decoration);
    border-width: var(--btn-border-width);
    border-style: var(--btn-border-style);
    border-radius: var(--btn-radius);
    border-color: var(--btn-border-color);
    transition: var(--btn-transition, var(--transition));
    justify-content: var(--btn-justify-content, center);
    text-align: var(--btn-text-align, center);
    --btn-background: var(--secondary);
    --btn-background-hover: var(--secondary-hover);
    --btn-text-color: var(--base);
    --btn-text-color-hover: var(--base);
    --btn-border-color: var(--secondary);
    --btn-border-color-hover: var(--secondary-hover);
    --focus-color: var(--white);
	    margin-top: var(--space-s) !important;
}
.fluentform .ff-el-group .ff-btn.ff-btn-submit:hover{
	opacity: 1;
	background: var(--btn-background-hover);
	border-color: var(--btn-border-color-hover);
}







/* Mobile Menu - Animate dropdown */

@media only screen and (max-width: 767px) {


  :root{
      --menu-item-height: 48px;
  }
  
  .bricks-mobile-menu > li.menu-item-has-children{
      display: grid;
      grid-template-rows: var(--menu-item-height) 0fr;
      overflow: hidden;
      transition: grid-template-rows 0.3s ease-out;
  }
  
  .bricks-mobile-menu > li.menu-item-has-children.active{
      grid-template-rows: var(--menu-item-height) 1fr !important;
  }
  
  .bricks-mobile-menu > li.menu-item-has-children .brx-submenu-toggle > button{
      outline: none !important;
  }
  
  .bricks-mobile-menu > li.menu-item-has-children > .sub-menu{
  overflow: hidden;
      height: auto !important;
      display: block !important;
  }
}
































/* spacing fixes ******************************************************************************************/
:where(body):not(:where(.woocommerce-checkout, .woocommerce-cart)) .brxe-post-content *:first-child{
	margin-top: 0px !important;
}
:where(body):not(:where(.woocommerce-checkout, .woocommerce-cart)) .brxe-post-content *:not(section):last-child{
	margin-bottom: 0px !important;
}
:where(body):not(:where(.woocommerce-checkout, .woocommerce-cart)) .brxe-post-content p:not([class*="margin-bottom--"]){
	margin-bottom:0px;
}


.brxe-post-content > section:first-child,
.brxe-post-content > section + section,
:where(body):not(:where(.woocommerce-checkout, .woocommerce-cart)) .brxe-post-content p:first-child{
	margin-top: 0px;
}

main > section:has(.brxe-post-content > :is(section, div, figure):is(.content--full, .alignfull, .alignfull.has-background, .alignfull[class*="bg--"], .alignfull[style*="background-color"], .alignfull[class*="background-color"]):first-child){
	padding-top: 0px !important;
}

main > section:has(.brxe-post-content > :is(section, div, figure):is(.content--full, .alignfull, .alignfull.has-background, .alignfull[class*="bg--"], .alignfull[style*="background-color"], .alignfull[class*="background-color"]):last-child){
	padding-bottom: 0px !important;
}




:root{
	--margin-before-section: var(--section-padding-block, var(--section-space-l));
	--margin-after-section: var(--section-padding-block, var(--section-space-l));
	--padding-inside-full-width-sections: var(--section-padding-block);
}



/* Elements directly before full sections should have a gap between them and the section */
/* .brxe-post-content > *:not(:is(section, div):is(.content--full, .alignfull, .content--full.has-background, .content--full[class*="bg--"], .alignfull.has-background, .alignfull[class*="bg--"])):has(+ :is(section, div):is(.content--full, .alignfull, .content--full.has-background, .content--full[class*="bg--"], .alignfull.has-background, .alignfull[class*="bg--"])){
margin-bottom: var(--section-space-l);
} */

.brxe-post-content > *:not(:is(section, div, figure):is(.content--full, .alignfull, .content--full.has-background, .content--full[class*="bg--"], .alignfull.has-background, .alignfull[class*="bg--"])) + *:is(section, div, figure):is(.content--full, .alignfull, .content--full.has-background, .content--full[class*="bg--"], .alignfull.has-background, .alignfull[class*="bg--"]){
	/* 	--flow-spacing: var(--section-space-l); */
	margin-top: var(--r-flow-spacing, var(--margin-before-section));
}
.brxe-post-content > *:not(:is(section, div, figure):is(.content--full, .alignfull, .content--full.has-background, .content--full[class*="bg--"], .alignfull.has-background, .alignfull[class*="bg--"])):has(+ :is(section, div, figure):is(.content--full, .alignfull, .content--full.has-background, .content--full[class*="bg--"], .alignfull.has-background, .alignfull[class*="bg--"])){
	margin-bottom: 0px;
	margin-block-end: 0px;
}


/* Elements directly after full sections should have a gap between them and the section */
.brxe-post-content > :is(section, div, figure):is(.content--full, .alignfull, .content--full.has-background, .content--full[class*="bg--"], .alignfull.has-background, .alignfull[class*="bg--"]) + *:not(:is(section, div, figure):is(.content--full, .alignfull, .content--full.has-background, .content--full[class*="bg--"], .alignfull.has-background, .alignfull[class*="bg--"])){
	margin-top: var(--r-flow-spacing, var(--margin-after-section));
}

.brxe-post-content :is(section, div):is(.content--full, .alignfull):is(.has-background, [class*="bg--"], [style*='background']):not(:is([class*="padding--"], [class*="section--"])){
	padding-block: var(--padding-inside-full-width-sections, var(--section-space-l));
}







/* Group Styles ******************************************************************************************/

.wp-block-group:not([class*="gap--"]){
	gap:0;
}

section.wp-block-group.alignfull{
	padding-inline: var(--gutter);
}

.wp-block-group.alignwide {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    max-width: 100%;
}

.wp-block-group:has(section.brxe-section.content--full),
.wp-block-group.alignfull,
.brxe-post-content .alignfull,
.wp-block-group.alignwide,
.brxe-post-content .alignwide{
	max-width: 100% !important;
	grid-column: full;
	/* 	position: static; */
	position: relative;
	overflow: hidden;
	left: auto;
	right: auto;
	bottom: auto;
	top: auto;
	margin: 0;
}

.wp-block-group.alignwide,
.brxe-post-content .alignwide{
    width: 100%;
    grid-column: feature;
}

.wp-block-group.alignfull .wp-block-group__inner-container:not(:has(section)){
	margin-left: auto;
	margin-right: auto;
	max-width: var(--content-width);
	width: 100%;
}

.brxe-post-content div.wp-block-group:is(.has-background, [class*='bg--'], [style*='background']):not(.alignfull):not([class*="padding--"]) {
	padding: var(--space-l);
}

.brxe-post-content div.wp-block-group:is(.has-background, [class*='bg--'], [style*='background']):not(.alignfull):not([class*="radius--"]) {
	border-radius: var(--radius-m);
}

.wp-block-group[class*="gap--"] > *{
	--flow-spacing: var(--col-gap, var(--grid-gap));
	--flow-spacing: var(--r-flow-spacing, var(--col-gap, var(--grid-gap)));
}

.wp-block-group[class*="gap--"] .wp-block-buttons{
		--paragraph-spacing: var(--r-flow-spacing, var(--col-gap, var(--grid-gap)));
}

.wp-block-group:not(:is(.content--full, .alignfull)) + *:not([class*="margin-top--"]){
	margin-block-start: var(--flow-spacing, initial);
}




/* Column Styles ******************************************************************************************/

.wp-block-columns.is-layout-flex:not([class*="gap--"]){
	gap: var(--space-l);
}
.wp-block-columns{
	margin-bottom: 0px;
}

.wp-block-columns + *:is(p){
	--paragraph-spacing: var(--flow-spacing);
}

.brxe-post-content div.wp-block-column:is(.has-background, [class*='bg--'], [style*='background']):not(.alignfull):not([class*="padding--"]) {
	padding: var(--space-l);
}

.brxe-post-content div.wp-block-column:is(.has-background, [class*='bg--'], [style*='background']):not(.alignfull):not([class*="radius--"]) {
	border-radius: var(--radius-m);
}




/* Button Styles ******************************************************************************************/

:is(h1,h2,h3,h4,h5,h6,p,div,span, figure) + .wp-block-buttons:not([class*="margin-top--"]),
.wp-block-buttons:not([class*="margin-top--"]){
	--flow-spacing: var(--paragraph-spacing);
	margin-block-start: var(--flow-spacing, initial);
	margin-block-end: 0;
}

/* Button with Images */
/* .wp-block-button > .wp-block-button__link.wp-element-button > img:first-child{
	margin-right: var(--r-btn-img-gap, var(--space-s));
}

.wp-block-button > .wp-block-button__link.wp-element-button > img:last-child{
	margin-left: var(--r-btn-img-gap, var(--space-s));
}
.wp-block-button > .wp-block-button__link.wp-element-button > img:not(:first-child):not(:last-child){
	margin-left: var(--r-btn-img-gap, var(--space-s));
	margin-right: var(--r-btn-img-gap, var(--space-s));
} */
/* .wp-block-button > .wp-block-button__link.wp-element-button > img:has(+ img),
.wp-block-button > .wp-block-button__link.wp-element-button > img:first-child:last-child{
	--r-btn-img-gap:0;
} */

.wp-block-button.is-style-r-large-btn > .wp-block-button__link.wp-element-button > img:is(:not([style*="width:"]), [style*="width:NaN"], [style*="width: NaN"]){
	width: 50px !important;
	aspect-ratio: 1;
	height: auto;
	max-height: 56px;
}
.wp-block-button.is-style-r-large-btn .wp-block-button__link.wp-element-button{
	--btn-font-size: var(--text-xl);
	--btn-font-weight: 500;
	--btn-padding-block: var(--space-s);
	--btn-padding-inline: var(--space-m);
	--btn-text-transform: none;
	--btn-letter-spacing: 0px;
	--btn-justify-content: space-between;
}

.wp-block-button.is-style-r-large-btn .wp-block-button__link.wp-element-button *{
	font-size: var(--btn-font-size) !important;
}

.wp-block-button.is-style-r-large-btn .wp-block-button__link.wp-element-button:has(img):has(.btn-text-wrapper){
	display:flex;
	align-items:center;
	flex-direction: row;
	gap: var(--r-btn-img-gap, var(--space-xs));
}







/* Image styling ******************************************************************************************/

.wp-block-image:not(.is-resized) img{
	height:auto;
}

.wp-block-image.is-resized{
	--object-fit:contain;
  width: auto;
}

.wp-block-image.is-resized img[style*="width"]:not([style*="height"]){
	height: auto;
}
.wp-block-image.is-resized img[style*="height"]:not([style*="width"]){
	width: auto;
}

figure.size-full img{
	width:100%;
	object-fit: var(--object-fit, cover);
	object-position: center;
}

.wp-block-image{
	margin-left:0px;
	margin-right:0px;
	display: flex;
	flex-direction: column;
}
/* .wp-block-image:not([class*="margin-bottom--"]){
margin-bottom:0px;
}
.wp-block-image:not([class*="margin-top--"]){
margin-top:0px;
} */

/* .wp-block-image:is([class*="margin-top--"], [class*="margin-bottom--"]) + *{
margin-top:0px;
} */
div.wp-block-image{
	margin-block: var(--figure-spacing, var(--flow-spacing));
}
.wp-block-image figcaption{
	margin-bottom: 0px;
	font-size: 15px;
	font-style: italic;
	padding-left: 12px;
	padding-right: 12px;
	margin-top: 0.75em;
}
.wp-block-image:not(.alignfull) + *:not(:is(section, div, figure):is(.content--full, .alignfull, .content--full.has-background, .content--full[class*="bg--"], .alignfull.has-background, .alignfull[class*="bg--"])){
	margin-top: 0px !important;
}






/* Spacers ******************************************************************************************/

.wp-block-spacer,
.wp-block-spacer + *,
.wp-block-fsb-flexible-spacer,
.wp-block-fsb-flexible-spacer + *{
	margin-top: 0px !important;
}




/* Separators ******************************************************************************************/

.brxe-post-content *:has(+ .wp-block-separator):not([class*="margin-bottom--"]){
	margin-block-end: 0px !important;
}

.wp-block-separator + *:not([class*="margin-top--"]){
	margin-block-start: var(--flow-spacing, initial) !important;
}



/* Gallery ******************************************************************************************/

.wp-block-gallery{
	--gallery-block--gutter-size: var(--grid-gap, var(--space-m));
	display: grid !important;
	grid-template-columns: var(--grid-3);
}
.wp-block-gallery > .wp-block-image{
	width:100% !important;
}
.wp-block-gallery:not(.is-cropped) > .wp-block-image a{
	display: flex;
	align-items: center;
	justify-content: center;
}

.wp-block-gallery:not(.is-cropped) figure.wp-block-image{
	margin:0px !important;
}

.wp-block-gallery.is-cropped .wp-block-image{
	border-radius: var(--radius-l);
	border: 1px solid var(--base-trans-10);
	box-shadow: 0px 0px 14px -3px rgba(0, 0, 0, 0.1);
	overflow: hidden;
	transition: 0.3s ease-in-out;
}
.wp-block-gallery.is-cropped .wp-block-image:hover{
	box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.35);
}

.wp-block-gallery.wp-block-gallery.wp-block-gallery .wp-block-image figcaption{
	background: var(--primary);
	margin: 0;
	padding: var(--space-xxs, var(--space-xs));
	position: static;
	flex-grow: 0;
	flex-basis: auto;
}

@media only screen and (max-width: 767px) {
	.wp-block-gallery{
		grid-template-columns: var(--grid-2);
		--gallery-block--gutter-size: var(--space-s);
	}
}

@media only screen and (max-width: 479px) {
	.wp-block-gallery{
		grid-template-columns: var(--grid-1);
	}
}





/*  Cover ******************************************************************************************/

.wp-block-cover{
	padding: var(--section-space-m) var(--gutter) !important;
}
.wp-block-cover.alignfull .wp-block-cover__inner-container{
	max-width: var(--content-width);
}





/* Details/GB Accordion Block  ****************************************************************************************/

.wp-block-details:not([class*="margin-top--"]){
	margin-top: var(--list-spacing, var(--flow-spacing, initial));
}

