/*
Theme Name: Westminster Theme
Theme URI: https://designtlc.com
Version: 1.13
Description: A child theme for Westminster School
Author: Design TLC
Author URI: https://designtlc.com
Template: bb-theme
*/

/* Add your custom styles here */
/* Put @import here for loading fonts */

@import url("https://use.typekit.net/fue6slg.css");
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&display=swap');


/* ============================================================
   ROOT VARIABLES
   ============================================================ */
:root {

  /* Colors */
  --white:          #FFFFFF;
  --link-color:     #297653;
  --link-hover:     #e5e5e5;
  --bg-color-dark:  #1F3F33;
  --bg-color-light: #F0EADF;
	
  --eggplant:		#4B2354;
  --purple:			#5D3085;
  --green:			#297653; 
  --darkgreen:		#1F3F33;
  --ivory:			#F0EADF;
  --offwhite:		#F7F5F2;
  --charcoal:		#2B2B2B;
  --gold:			#FCDD5A;
  --gold2:          #ede3d1;
	  
  /* Typefaces */
  --font-sans:  "futura-pt", sans-serif;
  --font-serif: "EB Garamond", serif;

  /* Type Sizes */
  --size-xs:      0.75rem;
  --size-sm:      0.875rem;
  --size-default: 1rem; /* 16px */
  --size-lg:      1.25rem; /* 20px */
  --size-xl:      1.5rem; /* 24px */
  --size-2xl:     2rem; /* 32px */
  --size-3xl:     3rem; /* 48px */
	
  /* Breakpoints (reference only — use in media queries below) */
  /* --bp-xl:     1160px  */
  /* --bp-lg:     1024px  */
  /* --bp-md:      768px  */
  /* --bp-sm:      468px  */
	
  --swiper-theme-color: #F0EADF !important;
  --swiper-pagination-bullet-inactive-color: #5D3085;
    --swiper-pagination-bullet-size: 10px;	
}


/* ============================================================
   BASE / RESET
   ============================================================ */
html {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-weight: 400;
  font-size: 16px !important;
  hanging-punctuation: first last;
}

/* Firefox can sometimes render some webfonts a little heavier.
   Use a fixed numeric weight for more predictable results. */
@-moz-document url-prefix() {
  body {
    /*font-weight: lighter !important;*/
	font-weight: 400 !important;
  }
}


/* ============================================================
Gentle sitewide scroll reveal - also has js added in footer script
============================================================ */
.fl-builder-content .fl-row.sitewide-scroll-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 600ms ease,
    transform 600ms ease;
}

.fl-builder-content .fl-row.sitewide-scroll-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Keep modules visible while editing */
.fl-builder-edit .sitewide-scroll-reveal {
  opacity: 1 !important;
  transform: none !important;
}

/* Respect reduced-motion accessibility settings */
@media (prefers-reduced-motion: reduce) {
  .fl-builder-content .fl-module.sitewide-scroll-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}



/* ============================================================
   TYPOGRAPHY
   Add global text styles here if needed.
   ============================================================ */
html body {
	font-family: var(--font-sans);
	font-family: "futura-pt", sans-serif !important;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.6;
	color: var(--charcoal);
}

/* Headings
   Beaver Builder may output headings in slightly different ways
   depending on the module and settings.
   These starter selectors cover common cases, but always inspect
   the markup if a heading style is not applying as expected. */

h1,
h2,
h3,
h4,
h5 {
	font-family: "EB Garamond", serif;
	line-height: 1.2;
}

h1.page-title, .fl-heading.page-title, .page-parent .fl-simple-text-content {
	font-size: 20px;
	line-height: 1.2;
	color: var(--eggplant);
	margin-bottom: 0;
	font-family:  var(--font-sans);
	font-weight:400;
}

h2.fl-heading {
	color: var(--eggplant);
	line-height: 1.2;
	margin-bottom: 30px;
}

h2.fl-module.fl-module-heading.fl-heading.fl-heading-text.white-heading {
    color: #fff !important;
}

h2.page-subtitle, h1.subpage-title, .fl-heading.subpage-title {
	color: var(--purple);
	line-height: 1.2;
	font-size: 38px;
	margin-bottom: 30px;
}

.home h2.fl-heading {
	margin-bottom: 0;
}

.bg-dark h2.fl-heading,
.bg-dark h3.fl-heading,
.bg-dark h4.fl-heading {
	color: var(--offwhite);
}

h3.fl-heading,
.fl-builder-content h3 {
	color: var(--purple);
	line-height: 1.1;
}

.fl-builder-content h3.fl-heading.white-head {
  color: #fff !important;
}

h4,
h4.fl-heading,
.fl-builder-content h4 {
  /* font-size: var(--size-default); */
}

.large-text {
	font-size: 22px;
	margin-bottom: 24px;
}

/* Rich Text links
   Good place for default content-link styling */
.fl-rich-text a {
  /* color: var(--link-color); */
}

.fl-rich-text a:hover {
  /* color: var(--link-hover); */
  /* text-decoration: none; */
}

/* List spacing
   Helpful for improving readability in text modules */
.fl-module-content li {
  /* margin-bottom: 10px; */
}

.italic {
	font-family: "EB Garamond", serif;
	font-style: italic;
}

.fl-module-rich-text ul {
	list-style-image: url('/wp-content/uploads/2026/06/small-leaf.svg');
	list-style-type: square; 
}

.light-bg {
    background: var(--offwhite);
    padding: 20px;
    display: inline-block;
    border-radius: 5px;
}

.light-bg-small {
    background: var(--offwhite);
    padding: 10px;
    display: inline-block;
    max-width: 500px;
    border-radius: 5px;
}

.stretch-photo,
.stretch-photo .fl-photo,
.stretch-photo .fl-photo-content {
  height: 100%;
}
.stretch-photo .fl-photo-content img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

/*.fl-module-rich-text ul {
  list-style: none;
  padding-left: 0;
}

.fl-module-rich-text ul li {
  position: relative;
  padding-left: 30px;
}

.fl-module-rich-text ul li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 27px;
  height: 15px;
  background-image: url("https://www.westminsterschool.com/wp-content/uploads/2026/06/small-leaf.svg");
  background-repeat: no-repeat;
  background-size: contain;
}*/

/*h2.laurel,
h2.laurel-light {
  position: relative;
  display: inline;
}*/
.fl-module-heading .fl-module-content {
    text-align: left;
}

.laurel-head,
.laurel-head-light {
    display: flex;
    align-items: center;
    gap: 0;
    justify-content: flex-start;
}

.laurel-head::after,
.laurel-head-light::after {
    content: "";
    width: 60px;
    height: 70px;
    flex: 0 0 70px;
	margin-left: 10px;
}

.laurel-head::after{
    background: url("/wp-content/uploads/2026/06/laurel-leaf.svg") center/contain no-repeat;
}

.laurel-head-light::after{
    background: url("/wp-content/uploads/2026/06/laurel-leaf-white.svg") center/contain no-repeat;
}

.parent-testimonials .name {
    color: var(--purple);
  font-family: "EB Garamond", serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.3;
}

.parent-testimonials .fl-testimonials blockquote {
    padding: 0;
    margin: 0;
    font-size: inherit;
    border-left: none;
}

.sponsors img {
    mix-blend-mode: multiply;
}


/* Max Width Video */
.fl-module-video.max-width-video {
  width: 100%;
  max-width: none;
  margin-inline: auto;
}

.fl-module-video.max-width-video .fl-video {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.fl-module-video.max-width-video iframe {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
}

/* ============================================================
   BUTTONS
   ============================================================ */
.fl-builder-content .fl-button {
  transition: background-color 0.3s ease;
}

/* Standard Beaver Builder button selectors
   These usually catch most BB buttons, including visited state */
.fl-button-wrap a,
a.fl-button,
a.fl-button:visited,
.fl-page a.fl-button {
  font-size: var(--size-default);
	font-size: 16px;
  font-family: var(--font-sans) !important;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--green);
  background: var(--ivory);
  text-transform: uppercase;
  padding: 16px 24px;
  border-radius: 4px;
  border: 2px solid var(--green);
}

.fl-button-wrap a:hover,
a.fl-button:hover {
  color: var(--darkgreen);
  background: var(--gold);	
}

/* Optional arrow style for buttons using Font Awesome
   Confirm the site is loading the Font Awesome version you want
   before using icon unicode values. */

/*.fl-button-text:after,
a.fl-button:after {
  content: '\f061';
  font-family: 'Font Awesome 5 Pro';
  font-weight: 400;
  margin-left: 5px;
}*/

a.secondary-button {
	 color: var(--darkgreen);
	text-decoration: underline;
}

.secondary-button .fl-button, a.secondary-button {	
  position: relative;
padding-right: 38px !important; /* creates room for the arrow */	
}



.secondary-button .fl-button::after, a.secondary-button::after {
  /*content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 14px;*/
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 12px;	
  background-color: #297653;
  -webkit-mask-image: url("https://www.westminsterschool.com/wp-content/uploads/2026/06/arrow-1.svg");
  mask-image: url("https://www.westminsterschool.com/wp-content/uploads/2026/06/arrow-1.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.secondary-button .fl-button:hover::after,
.secondary-button .fl-button:focus::after, a.secondary-button:hover {
  background-color: #F7F5F2;
}

/*.bg-light .secondary-button .fl-button::after {
	background-color: #297653 !important;
}

.bg-light .secondary-button .fl-button:hover::after,
.bg-light .secondary-button .fl-button:focus::after {
  background-color: #F7F5F2 !important;
}*/

.secondary-button.dark .fl-button::after {
  background-color: #F7F5F2;	
}

.secondary-button.dark .fl-button:hover::after,
.secondary-button.dark .fl-button:focus::after {
  background-color: #FCDD5A !important;
}




/* ============================================================
   HEADER
   Add project-specific header styles here.
   ============================================================ */

.header-right {
	gap: 48px;
}

@media only screen and (max-width: 1360px) {
	.header-right {
		gap: 20px;
	}	
}

/* Menu search */
.astm-search-menu.menu-item {
  margin: 5px 0px 0 10px;
  display: inline-block;
  height: auto;
  vertical-align: middle;
}

/* Mega Menu */

.mega-menu-wrap {
	font-weight: 500 !important;
}

#mega-menu-wrap-header #mega-menu-header > li.mega-menu-item > a.mega-menu-link,
#mega-menu-wrap-header #mega-menu-header > li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-header #mega-menu-header > li.mega-menu-item > a.mega-menu-link:focus {
	font-weight: 500;	
}

#mega-menu-wrap-header #mega-menu-header > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link, #mega-menu-wrap-header #mega-menu-header > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link,
#mega-menu-header > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item .current-menu-item a,
#mega-menu-wrap-header #mega-menu-header > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-current-menu-item > a.mega-menu-link,
#mega-menu-wrap-header #mega-menu-header > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-current-menu-item > a.mega-menu-link {
  color: var(--purple);
}

#mega-menu-wrap-header #mega-menu-header > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link, 
#mega-menu-wrap-header #mega-menu-header > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link:hover {
	color: var(--green);
}

.mega-sub-menu .mega-menu-item .custom-html-widget {
	padding-bottom: 24px;
}

.mega-menu-heading,
.mega-menu-section-title {
	/* styling for mega menu heading */
	color: var(--purple) !important;
	font-family: "EB Garamond",serif !important;
	font-size: 32px !important;
	font-weight: 500;
	line-height: 1.3;

}

#mega-menu-wrap-header #mega-menu-header > li.mega-menu-megamenu > ul.mega-sub-menu {
	border-radius: 8px;
	box-shadow: 2px 4px 4px 0px rgba(42, 27, 61, 0.1);
}

.mega-menu-photo {
	padding-right: 24px !important;
}
.mega-menu-photo img {
	border-radius: 4px;
	margin-top: -60px;
	/*padding-right: 24px !important;	*/
}


#mega-menu-wrap-header #mega-menu-header .col-2 img {
	/* hide photo below */
	display: none;
	border-radius: 4px;
}

#mega-menu-wrap-header #mega-menu-header > li.mega-menu-megamenu > ul.mega-sub-menu li.col-2 > ul.mega-sub-menu > li.mega-menu-item {
  /* adjust padding to the column 2 menu item*/
	padding-left: 16px !important;
	padding-right: 0 !important;
}

#mega-menu-wrap-header #mega-menu-header > li.mega-menu-megamenu > ul.mega-sub-menu li.col-2 > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link, 
#mega-menu-wrap-header #mega-menu-header > li.mega-menu-megamenu > ul.mega-sub-menu li.col-2 > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link,
#mega-menu-wrap-header #mega-menu-header > li.mega-menu-megamenu > ul.mega-sub-menu li.col-2 > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link{
	/* remove border from right side of column 2 menu item */
	border-right: 0 !important;
}

#mega-menu-wrap-header #mega-menu-header li.mega-menu-item.mega-menu-megamenu ul.mega-sub-menu li.mega-2-columns > ul.mega-sub-menu > li.mega-menu-item {
	/* adjust third level menu items to full width */
  width: 100%;
}


/* ============================================================
   FOOTER
   Add project-specific footer styles here.
   ============================================================ */
.footer h2 {
	color: var(--purple);
	font-size: 20px;
	line-height: 1.3;
}


/* ============================================================
   INTERIOR / SIDEBAR NAVIGATION
   Use for side menus, section nav, subnav, etc.
   ============================================================ */
.bg-dark {
	background: var(--bg-color-dark);
}

.sidebar-nav li.parent-page a {
	border-bottom: 1px solid var(--eggplant);
	color: var(--purple) !important;
	font-family: var(--font-serif) !important;
	font-size: 32px !important;
	font-weight: 500 !important;
	line-height: 1.3;
	padding: 0 0 24px !important;
	margin: 0 0 24px;
}

.menu-item.current-menu-item > a, 
.menu-item.current_page_item > a,
.sidebar-nav .current-menu-item > .fl-has-submenu-container > * {
	color: var(--purple)!important;
}

.sidebar-nav .menu-item a:hover {
	color: var(--green) !important;
}

.sidebar-menu .fl-menu-mobile-toggle.hamburger-label {
  width: 100%;
}

.sidebar-nav .fl-menu .fl-menu-mobile-toggle {
    font-size: 16px;
    text-transform: none;
    padding-top: 0!important;
    padding-right: 0;
    padding-bottom: 0!important;
    padding-left: 0;
    border-color: rgba( 0,0,0,0.1 );
}

.sidebar-nav li a {
  color: var(--charcoal)!important;
}

/* Used on Arts & Athletics Sidebar Menu */
li.sidebar-menu-subhead a {
    font-size: 18px;
    font-weight: 500;
}

/* Use .indent for nested items if needed */
.sidebar-nav .indent {
  /* styles here */
}


/* ============================================================
   ACCORDION
   Add accordion or toggle styles here.
   ============================================================ */

.fl-accordion-button:focus {
    outline-color: transparent!important;
}

.fl-accordion-button-icon {
	opacity: 1!important;
}

.fl-accordion-button .fl-accordion-button-icon {
  color: var(--green) !important;
	font-size: 20px;
}

.fl-accordion-button {
	border-radius: 8px;
}

.fl-accordion-item {
    overflow: hidden;
}

.home .fl-accordion-button .fl-accordion-button-icon {
    color: var(--ivory) !important;	
}

.fl-accordion-item-active .fl-accordion-button .fl-accordion-button-label,
.fl-accordion-button .fl-accordion-button-label:hover {
	color: var(--purple) !important;
}

.fl-accordion-item.fl-accordion-item-active {
	border-color: var(--eggplant) !important;
}

.fl-accordion-item a, .fl-accordion-item a:hover {
    /*text-decoration: underline;
    color: inherit;*/
}

.fl-accordion-item .fl-accordion-content a {
  color: #297653;
  text-decoration: underline;
}

.fl-accordion-item .fl-accordion-content a:hover {
  color: #2b2b2b;
  text-decoration: none;
}

/* ============================================================
   RESPONSIVE STYLES
   Keep responsive edits grouped here unless a section is large
   enough to justify its own media queries nearby.
   ============================================================ */

/* Large desktop mobile menu active small than 1094px */
@media only screen and (max-width: 1094px) {
	#mega-menu-wrap-header #mega-menu-header > li.mega-menu-megamenu > ul.mega-sub-menu {
		box-shadow: none;
	}
	#mega-menu-wrap-header #mega-menu-header .col-2 img {
		display: block;
	}
	#mega-menu-wrap-header #mega-menu-header .col-2,
	#mega-menu-wrap-header #mega-menu-header #mega-menu-23704-0-2 {
		/* add padding to top of 2nd column arts/athletics */
		padding-top: 0 !important;
	}
	#mega-menu-wrap-header #mega-menu-header > li.mega-menu-megamenu > ul.mega-sub-menu li.col-2 > ul.mega-sub-menu > li.mega-menu-item {
		padding-left: 0 !important;
	}
	#mega-menu-wrap-header #mega-menu-header > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link,
	#mega-menu-header > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link {	
		border: none !important;
	}
	.mega-sub-menu .mega-menu-item .custom-html-widget {
		border-bottom: 1px solid var(--eggplant);
		padding-bottom: 20px;
		margin-bottom: 24px;
	}	
	#mega-menu-wrap-header .mega-menu-toggle ~ button.mega-close::before {
		color: #fff;
	}
}

	.sidebar-sticky {
		position: sticky;
		top: 200px;
	}

/* Large desktop edge case: 1025px to 1160px */
@media only screen and (min-width: 1025px) and (max-width: 1160px) {

}

/* Tablet: 1024px and below */
@media only screen and (max-width: 1024px) {
	.sidebar-nav span.fl-menu-mobile-toggle-label:after {
		content: "\f078";
		/*font-family: 'Font Awesome 5 Pro';*/
		font-family: "Font Awesome 5 Free";
		margin-left: 5px;
		font-weight: 900;
	}
}
/* Tablet: 1024px - 992px */
@media only screen and (max-width: 992px) {
	
}

@media only screen and (min-width: 992px) {
	/*.sidebar-sticky {
		position: sticky;
		top: 200px;
	}*/
}

/* Large mobile: 768px and below */
@media only screen and (max-width: 768px) {

	h1.page-title, .fl-heading.page-title, .page-parent .fl-simple-text-content {
		font-size: 22px;
	}
	
	h2.page-subtitle, h1.subpage-title, .fl-heading.subpage-title {
		color: var(--purple);
		line-height: 1.2;
		font-size: 28px;
		margin-bottom: 20px;
	}
	
	h2.fl-heading {
		font-size: 28px;
    	line-height: 1.2;
		margin-bottom: 10px;
	}

	.page-parent .tagline .fl-simple-text-content {
		font-size: 14px;
		line-height: 1.6;
		color: #2b2b2b;
	}
}

/* Small mobile: 468px and below */
@media only screen and (max-width: 468px) {

	.topbar a.fl-button {
		font-size: 14px !important;
	}
}

/* ============================================================
   LOOP SLIDER
   ============================================================ */

/* Loop Slider Styles */
.loop-slider {
    padding: 0 50px 50px 50px;
    position: relative;
    
    --swiper-theme-color: #F0EADF !important;
    /* Navigation */
    --swiper-navigation-size: 34px;
    --swiper-navigation-top-offset: calc(50% - var(--swiper-navigation-size) /2);
    --swiper-navigation-sides-offset: 0px;
    --swiper-navigation-color: #F0EADF !important;
    /* Pagination */
    --swiper-pagination-bottom: -32px;
    --swiper-pagination-top: auto;
    --swiper-pagination-bullet-size: 10px;
    --swiper-pagination-bullet-horizontal-gap: 4px;
    --swiper-pagination-color: var(--swiper-theme-color);
    --swiper-pagination-bullet-opacity: 1;
    --swiper-pagination-bullet-inactive-color: #5D3085;
    --swiper-pagination-bullet-inactive-opacity: 1;
}
.loop-slider .swiper-nav-button svg {
    display: none;
}
	
.loop-slider .swiper-pagination .swiper-pagination-bullet {
  background: #5D3085 !important;
}
	
.loop-slider .swiper-pagination .swiper-pagination-bullet-active {
  background: #F0EADF !important;
}

.loop-slider .swiper-slide {
	height: auto !important;
	display: flex !important;
}
/* Responsive adjustments */
@media (max-width: 767px) {
    .loop-slider {
        padding: 0 0 50px;
        --swiper-navigation-size: 25px;
        --swiper-navigation-sides-offset: -10px;
    }
    /* Optional: Hide nav buttons on mobile but keep accessible */
    .loop-slider .swiper-nav-button{
        clip: rect(0 0 0 0); 
        clip-path: inset(50%);
        height: 1px;
        overflow: hidden;
        position: absolute;
        white-space: nowrap; 
        width: 1px;
    }
}

/* Hide Loop Grid until SwiperJS turns it into a slider to stop FOUC */

/* Always-carousel version: the grid always gets replaced, so hide immediately */
body:not(.fl-builder-edit) .loop-slider:not(.loop-grid-slider) .fl-loop-grid {
    display: none;
}
/* Responsive version: the grid only converts below the breakpoint, so only hide it there */
@media (max-width: 768px) {
    body:not(.fl-builder-edit) .loop-grid-slider .fl-loop-grid {
        display: none;
    }
}

/* ============================================================
   PHOTO GALLERY
   ============================================================ */

/* Photo gallery grid */
.fl-module-gallery .fl-mosaicflow {
	margin: 0 !important;
	padding: 0 !important;
}

.fl-module-gallery .fl-mosaicflow-content {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

/* Remove MosaicFlow column wrappers from the layout */
.fl-module-gallery .fl-mosaicflow-col {
	display: contents;
}

/* Hide the empty sizing element MosaicFlow adds */
.fl-module-gallery .fl-mosaicflow-content > li:not(.fl-mosaicflow-col) {
	display: none;
}

/* Reset MosaicFlow item spacing */
.fl-module-gallery .fl-mosaicflow-item {
	margin: 0 !important;
	width: 100%;
}

/* Make images fill their grid cell */
.fl-module-gallery .fl-photo,
.fl-module-gallery .fl-photo-content,
.fl-module-gallery .fl-photo-content a,
.fl-module-gallery .fl-photo-img {
	width: 100%;
}

.fl-module-gallery .fl-photo-img {
	display: block;
	/*height: auto;
	aspect-ratio: 1/1;
	object-fit: cover;*/
	border-radius: 8px;
}

/* Mobile */
@media (max-width: 767px) {
	.fl-module-gallery .fl-mosaicflow-content {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}