/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 2.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* ==========================================================================
   Reveal Animation Classes
   ========================================================================== */

/* Initial hidden state */
.el-init-hidden {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* When element becomes visible */
.el-visible {
	opacity: 1;
	transform: translateY(0);
}

/* ==========================================================================
   Lightweight Accordion Base Styles
   ========================================================================== */

.lightweight-accordion {
	margin-bottom: 0.4em;
}

.lightweight-accordion details {
	padding-top: 0.75rem;
	border-top: 1px solid var(--ast-global-color-1);
}

.lightweight-accordion summary.lightweight-accordion-title {
	display: block;
	position: relative;
	padding: 0 3rem 0 0;
	background: transparent !important;
	cursor: pointer;
}

/* Icon + (closed) */
.lightweight-accordion summary.lightweight-accordion-title:after {
	position: absolute;
	content: "";
	background-image: url('data:image/svg+xml,<svg height="30" viewBox="0 0 30 30" width="30" xmlns="http://www.w3.org/2000/svg"><g fill="none" stroke="%2359AED6" stroke-width="2"><path d="m2727 1159.281h30" transform="translate(-2727 -1144.281)"/><path d="m2727 1159.281h30" transform="matrix(0 1 -1 0 1174.281 -2727)"/></g></svg>');
	width: 1.875rem;
	height: 1.875rem;
	right: 0;
	left: auto;
	top: 50%;
	transform: translateY(-50%);
}

/* Icon - (open) */
.lightweight-accordion details[open] > summary.lightweight-accordion-title:after {
	background-image: url('data:image/svg+xml,<svg height="30" viewBox="0 0 30 30" width="30" xmlns="http://www.w3.org/2000/svg"><path d="m2727 1159.281h30" fill="none" stroke="%2359AED6" stroke-width="2" transform="translate(-2727 -1144.281)"/></svg>');
}

.lightweight-accordion .lightweight-accordion-title h1 {
	font-size: clamp(1.5rem, 2.5vw, 1.875rem) !important;
	font-weight: 700 !important;
}
.lightweight-accordion .lightweight-accordion-title h2 {
	font-size: clamp(1.45rem, 2.4vw, 1.75rem) !important;
	font-weight: 700 !important;
}
.lightweight-accordion .lightweight-accordion-title h3 {
	font-size: clamp(1.4rem, 2.3vw, 1.7rem) !important;
	font-weight: 700 !important;
}
.lightweight-accordion .lightweight-accordion-title p {
	font-size: var(--wp--preset--font-size--normal) !important;
	font-weight: 600 !important;
}
.lightweight-accordion .lightweight-accordion-title span {
	font-size: clamp(1.3rem, 2.1vw, 1.6rem) !important;
	font-weight: 600 !important;
}

/* .lightweight-accordion .lightweight-accordion-title h1,
.lightweight-accordion .lightweight-accordion-title h2,
.lightweight-accordion .lightweight-accordion-title h3,
.lightweight-accordion .lightweight-accordion-title p,
.lightweight-accordion .lightweight-accordion-title span {
	font-size: clamp(1.35rem, 2vw, 1.65rem) !important;
	font-weight: 600 !important;
} */

.lightweight-accordion .lightweight-accordion-body {
	padding: 0;
}

/* Open animation */
.lightweight-accordion details[open] summary ~ * {
	animation: lwopen .5s ease-in-out;
}

@keyframes lwopen {
	0%   { opacity: 0; }
	100% { opacity: 1; }
}

/* ==========================================================================
   Med-Page Accordion (Glossary and similar)
   ========================================================================== */

.med-page__accordion + .med-page__accordion {
	margin-top: -1rem !important;
}

.med-page__accordion .med-page__accordion__container.lightweight-accordion > details {
	padding-top: 0;
	border-top: none;
}

.med-page__accordion .lightweight-accordion summary.lightweight-accordion-title {
	background-color: transparent;
}

/* White icon for colored background */
.med-page__accordion .lightweight-accordion summary.lightweight-accordion-title:after {
	background-image: url('data:image/svg+xml,<svg height="30" viewBox="0 0 30 30" width="30" xmlns="http://www.w3.org/2000/svg"><g fill="none" stroke="%23ffffff" stroke-width="2"><path d="m2727 1159.281h30" transform="translate(-2727 -1144.281)"/><path d="m2727 1159.281h30" transform="matrix(0 1 -1 0 1174.281 -2727)"/></g></svg>');
}

.med-page__accordion .lightweight-accordion details[open] > summary.lightweight-accordion-title::after {
	background-image: url('data:image/svg+xml,<svg height="30" viewBox="0 0 30 30" width="30" xmlns="http://www.w3.org/2000/svg"><path d="m2727 1159.281h30" fill="none" stroke="%23ffffff" stroke-width="2" transform="translate(-2727 -1144.281)"/></svg>');
}

.med-page__accordion .med-page__accordion__content .lightweight-accordion details {
	border-color: white;
}

.med-page__accordion .med-page__accordion__content .lightweight-accordion summary.lightweight-accordion-title > span {
	font-size: clamp(1rem, 1.5vw, 1.25rem) !important;
}

/* ==========================================================================
   Search Container (Glossary)
   ========================================================================== */

.med-page__accordion .search-container {
	margin-top: 1rem;
}

.med-page__accordion .search-container label {
	font-weight: bold;
	color: inherit;
}

.med-page__accordion .search-container input {
	width: 100%;
	padding: 0.5rem 0.75rem;
	margin-top: 1rem;
	margin-bottom: 0.5rem;
	color: var(--ast-global-color-5);
	font-size: 0.875rem;
	border: none;
	border-radius: 0.5rem;
}

.med-page__accordion .search-container input:focus-visible {
	outline: 1px solid var(--ast-global-color-1);
}

/* ==========================================================================
   Team Members (optional)
   ========================================================================== */

.team-members .lightweight-accordion details {
	border-color: white;
}

.team-members .lightweight-accordion summary.lightweight-accordion-title::after {
	background-image: url('data:image/svg+xml,<svg height="30" viewBox="0 0 30 30" width="30" xmlns="http://www.w3.org/2000/svg"><g fill="none" stroke="%23ffffff" stroke-width="2"><path d="m2727 1159.281h30" transform="translate(-2727 -1144.281)"/><path d="m2727 1159.281h30" transform="matrix(0 1 -1 0 1174.281 -2727)"/></g></svg>');
}

.team-members .lightweight-accordion details[open] summary.lightweight-accordion-title::after {
	background-image: url('data:image/svg+xml,<svg height="30" viewBox="0 0 30 30" width="30" xmlns="http://www.w3.org/2000/svg"><path d="m2727 1159.281h30" fill="none" stroke="%23ffffff" stroke-width="2" transform="translate(-2727 -1144.281)"/></svg>');
}

/* ==========================================================================
   Team Member Pictures (About Us page)
   ========================================================================== */

/* Overlaid pictures - two pictures with overlap effect */
.team-member-overlaid-pictures {
	position: relative;
	display: grid !important;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 1rem;
}

.team-member-overlaid-pictures figure {
	aspect-ratio: 1/1;
	grid-column: span 1;
	grid-row: span 1;
}

.team-member-overlaid-pictures figure + figure {
	background-color: white;
	border-radius: 0.5rem;
	position: relative;
	display: grid;
	align-content: center;
	justify-content: center;
	padding: 1.5rem;
}

/* Single picture layout */
.team-member-single-picture figure {
	aspect-ratio: 1/1;
	display: grid;
	padding: 1.5rem;
	align-content: center;
	justify-content: center;
}

/* Desktop responsive for overlaid pictures */
@media (min-width: 782px) {
	.team-member-overlaid-pictures {
		grid-template-columns: repeat(3, 1fr);
		grid-gap: 2rem;
	}

	.team-member-overlaid-pictures::after {
		position: absolute;
		content: "";
		aspect-ratio: 1/1;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
		width: 66%;
		height: 66%;
		border: 1px solid var(--ast-global-color-1);
		border-radius: 0.5rem;
		z-index: -2;
	}

	.team-member-overlaid-pictures figure:first-child {
		grid-column: 1/3;
		grid-row: 1/3;
	}

	.team-member-overlaid-pictures figure + figure {
		grid-column: 2/4;
		grid-row: 2/4;
	}
}

/* ==========================================================================
   WordPress Color Classes
   ========================================================================== */

.has-azure-color {
	color: var(--ast-global-color-1);
}

.has-white-color {
	color: #ffffff !important;
}

/* Background colors with transparency */
.has-teal-transparent-background-color {
	background-color: rgba(180, 221, 192, 0.36) !important;
}

.has-azure-transparent-background-color {
	background-color: rgba(89, 174, 214, 0.36) !important;
}

.has-white-transparent-background-color {
	background-color: rgba(255, 255, 255, 0.36) !important;
}

/* ==========================================================================
   WordPress Font Size Classes
   ========================================================================== */

.has-extra-small-font-size {
	font-size: 0.75rem !important;
}

/* ==========================================================================
   Button Outline Style (for med-page accordions)
   ========================================================================== */

.med-page__accordion .wp-block-button.is-style-outline .wp-block-button__link {
	font-weight: 600;
	font-size: 0.75rem;
	text-transform: uppercase;
	padding: 0.5rem 1rem;
	border-width: 1px;
	border-radius: 0.5rem;
	background-color: transparent;
	border-color: currentColor;
}

/* ==========================================================================
   WordPress Block Image Rounded Style Override
   ========================================================================== */

/* Override WordPress core 9999px border-radius for rounded images */
:root :where(.wp-block-image.is-style-rounded img, .wp-block-image .is-style-rounded img) {
	border-radius: 0.5rem;
}
