/**
 * Theme Name: Hello Elementor Child (Mm Custom)
 * Theme URI: https://github.com/MIGHTYminnow/hello-elementor-child
 * Description: MIGHTYminnow starter theme for Elementor sites based on Hello Elementor Child v2.0.0.
 * Author: MIGHTYminnow
 * Author URI: https://mightyminnow.com/
 * Template: hello-elementor
 * Version: 2.0.2
 * Text Domain: hello-mm
 */

/**
 * ############################################################################
 * #                                WARNING                                   #
 * ############################################################################
 *
 * DO NOT ADD SITE-SPECIFIC "ONE-OFF" STYLES TO THIS FILE.
 * 
 * This stylesheet is reserved for MIGHTYminnow "Starter Styles" only. 
 * Any CSS specific to this individual site should be added via:
 * Appearance > Customize > Additional CSS
 * #############################################################################
 */

/**
 * Spacing for headings, paragraphs, lists, and more
 * Elementor, theme post content, and classic/editor output
 */

/* --- Elementor text widgets and theme post content --- */
/* Add spacing before headings following paragraphs or lists */
.elementor-widget-text-editor p+h2,
.elementor-widget-text-editor p+h3,
.elementor-widget-text-editor p+h4,
.elementor-widget-text-editor p+h5,
.elementor-widget-text-editor p+h6,
.elementor-widget-text-editor ul+h2,
.elementor-widget-text-editor ul+h3,
.elementor-widget-text-editor ul+h4,
.elementor-widget-text-editor ul+h5,
.elementor-widget-text-editor ul+h6,
.elementor-widget-text-editor ol+h2,
.elementor-widget-text-editor ol+h3,
.elementor-widget-text-editor ol+h4,
.elementor-widget-text-editor ol+h5,
.elementor-widget-text-editor ol+h6,
.elementor-widget-theme-post-content p+h2,
.elementor-widget-theme-post-content p+h3,
.elementor-widget-theme-post-content p+h4,
.elementor-widget-theme-post-content p+h5,
.elementor-widget-theme-post-content p+h6,
.elementor-widget-theme-post-content ul+h2,
.elementor-widget-theme-post-content ul+h3,
.elementor-widget-theme-post-content ul+h4,
.elementor-widget-theme-post-content ul+h5,
.elementor-widget-theme-post-content ul+h6,
.elementor-widget-theme-post-content ol+h2,
.elementor-widget-theme-post-content ol+h3,
.elementor-widget-theme-post-content ol+h4,
.elementor-widget-theme-post-content ol+h5,
.elementor-widget-theme-post-content ol+h6,
/* Add spacing before paragraphs following lists */
.elementor-widget-text-editor ul+p,
.elementor-widget-text-editor ol+p,
.elementor-widget-theme-post-content ul+p,
.elementor-widget-theme-post-content ol+p,
/* Add spacing before any non-initial headings */
.elementor-widget-text-editor h2:not(:first-of-type),
.elementor-widget-text-editor h3:not(:first-of-type),
.elementor-widget-text-editor h4:not(:first-of-type),
.elementor-widget-text-editor h5:not(:first-of-type),
.elementor-widget-text-editor h6:not(:first-of-type), 
#content .page-content > h2, 
#content .page-content > h3, 
#content .page-content > h4, 
#content .page-content > h5,
#content .page-content > h6, 
#content .page-content ul+p{
  margin-top: 1.15em;
}

/* Spacing after headings before lists */
.elementor-widget-text-editor h2+ul,
.elementor-widget-text-editor h2+ol,
.elementor-widget-text-editor h3+ul,
.elementor-widget-text-editor h3+ol,
.elementor-widget-theme-post-content h2+ul,
.elementor-widget-theme-post-content h2+ol,
.elementor-widget-theme-post-content h3+ul,
.elementor-widget-theme-post-content h3+ol {
  margin-top: 1.15em;
}

/* Spacing between consecutive paragraphs */
.elementor-widget-text-editor p+p,
.elementor-widget-theme-post-content p+p {
  margin-top: 1.15em;
}

/* move down the default elementor page titles*/
.page-header h1.entry-title{
	padding-top: 50px;
}
/* underline links in page content elementor sections and single post content */
.elementor-widget-text-editor a, .wp-singular.post-template-default.single.single-post .elementor-widget-theme-post-content a{
	text-decoration: underline;
}

/* Blockquote and preformatted blocks in Elementor and theme post */
.elementor-widget-text-editor p+blockquote,
.elementor-widget-text-editor ul+blockquote,
.elementor-widget-text-editor ol+blockquote,
.elementor-widget-theme-post-content p+blockquote,
.elementor-widget-theme-post-content ul+blockquote,
.elementor-widget-theme-post-content ol+blockquote,
.elementor-widget-text-editor p+pre,
.elementor-widget-theme-post-content p+pre {
  margin-top: 1.15em;
}

/* Images or figures after paragraphs in Elementor/theme post */
.elementor-widget-text-editor p+img,
.elementor-widget-text-editor p+figure,
.elementor-widget-theme-post-content p+img,
.elementor-widget-theme-post-content p+figure {
  margin-top: 1.15em;
}
/* remove space at below the last paragraph in a text section */
.elementor-widget-text-editor p:last-of-type{
	margin-bottom: 0;
}

/* --- Classic WordPress editor output (.entry-content, .post-content) --- */
/* Headings after paragraphs/lists */
.entry-content p+h2,
.entry-content p+h3,
.entry-content p+h4,
.entry-content p+h5,
.entry-content p+h6,
.entry-content ul+h2,
.entry-content ul+h3,
.entry-content ul+h4,
.entry-content ul+h5,
.entry-content ul+h6,
.entry-content ol+h2,
.entry-content ol+h3,
.entry-content ol+h4,
.entry-content ol+h5,
.entry-content ol+h6,
.post-content p+h2,
.post-content p+h3,
.post-content p+h4,
.post-content p+h5,
.post-content p+h6,
.post-content ul+h2,
.post-content ul+h3,
.post-content ul+h4,
.post-content ul+h5,
.post-content ul+h6,
.post-content ol+h2,
.post-content ol+h3,
.post-content ol+h4,
.post-content ol+h5,
.post-content ol+h6,
/* Paragraphs following lists */
.entry-content ul+p,
.entry-content ol+p,
.post-content ul+p,
.post-content ol+p,
/* Non-initial headings */
.entry-content h2:not(:first-of-type),
.entry-content h3:not(:first-of-type),
.entry-content h4:not(:first-of-type),
.entry-content h5:not(:first-of-type),
.entry-content h6:not(:first-of-type),
.post-content h2:not(:first-of-type),
.post-content h3:not(:first-of-type),
.post-content h4:not(:first-of-type),
.post-content h5:not(:first-of-type),
.post-content h6:not(:first-of-type) {
  margin-top: 1.15em;
}

/* Spacing after headings before lists */
.entry-content h2+ul,
.entry-content h2+ol,
.entry-content h3+ul,
.entry-content h3+ol,
.post-content h2+ul,
.post-content h2+ol,
.post-content h3+ul,
.post-content h3+ol {
  margin-top: 0.75em;
}

/* Spacing between consecutive paragraphs */
.entry-content p+p,
.post-content p+p {
  margin-top: 1.15em;
}

/* Not sure what was originally intended to target here to remove the bottom margin,
 * but don't target elements in the header or footer.
 *
 * This fixes the vertical alignment issue of the arrows on the menus. */
.elementor-element:not(
	#site-header *,
	#site-footer *,
	.elementor-location-header *,
	.elementor-location-footer *
) :last-child {
	margin-bottom: 0;
}

/* Blockquote and preformatted blocks in classic output */
.entry-content p+blockquote,
.entry-content ul+blockquote,
.entry-content ol+blockquote,
.entry-content p+pre,
.post-content p+blockquote,
.post-content ul+blockquote,
.post-content ol+blockquote,
.post-content p+pre {
  margin-top: 1.15em;
}

/* Images or figures after paragraphs in classic output */
.entry-content p+img,
.entry-content p+figure,
.post-content p+img,
.post-content p+figure {
  margin-top: 1.15em;
}

/**
 * Main Menu
 */

/* Make the top-level active when you are on a subpage in that menu. */
.elementor-location-header .current-menu-ancestor > .elementor-item::after{
	opacity: 1 !important;
}

/**
 * Alert Bar
 */
.elementor-alert-bar.elementor-popup-modal.dialog-widget{
	position: relative;
	height: auto !important;
}
.elementor-alert-bar .dialog-widget-content{
	position: relative;
	display: none;
}

/* ---------------------------------
 * Fix Loop Grid Equal Height
 * ---------------------------------

 Adjusts Elementor's "Equal Height"
 logic to calculate heights on a
 per-row basis instead of across the
 entire grid.

 This addresses two specific layout
 issues:

 1. Desktop/Tablet: Matches items to
 the tallest element within each row,
 rather than stretching every item in 
 the grid to match the tallest element
 in the entire grid.

 2. Mobile: Prevents large vertical 
 gaps between stacked widgets by 
 allowing heights to collapse
 naturally instead of inheriting a
 fixed grid-wide height.

 Preserves Equal Height when mobile is
 set to more than 1 column.

 * -------------------------------- */
.elementor-loop-container{
  grid-auto-rows: auto !important;
}
