/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.2
*/

b, strong { font-weight: 600; }
a[href^="tel:"], a[href^="mailto:"] { display: inline-block !important; }
.text-balance { text-wrap: balance; }
.wp-block-list { margin-left: 1em; margin-bottom: .5em; 
	li { line-height: 1.5; 
		strong { font-weight: 700; }
		&:not(:last-child) { margin-bottom: .5em; }
	}
}
/* remove margin-bottom from last block list and p tags */
.wp-block-list:last-child, p:last-child { margin-bottom: 0; }
/* add space between lists and inline-sidebars */
ul, ol, .sidebar-gray {
	+p, +h2, +h3 { margin-top: 1rem; }
}
ol.wp-block-list + ol.wp-block-list { margin-left: 2em; }
@media (min-width: 1024px) {
	.list-two-col { column-count: 2; column-gap: 4em; }
	.column-narrow .list-two-col { column-gap: 2em; }
}
/* Lists within lists globally */
.wp-block-list li .wp-block-list { margin-left: 16px; margin-top: 4px; column-count: 1!important; column-gap: normal; 
	li { list-style-type:circle; }
} 
/* Buttons Spacing in Text */
[class*="buttons-"] + p {  margin-top: 1em; }
/* Buttons on BG Blue */
.fw-section {
	.buttons-gold:is(:hover,:focus) { background-color: var(--base-3); color: var(--contrast); }
}
/* Marriage lists */
#marriage-preparation {
	ol li { font-size: 1.125em; font-weight: 600; }
	.sublist-content .wp-block-list { margin-left: 1em; }
}
/* Bio Pages */
.biography .alignright { margin-bottom: 1.5em; max-width: 430px; max-height: 520px; object-fit: contain;
	@media (min-width: 767px) {
		max-width: 50%; }
}
/* Small Gold Buttons in Header and Archbiship Bios */
.buttons-gold.buttons-small { padding: 0; min-height: auto; min-width: auto; line-height: 1!important; border-radius: 10px!important; 
	&.menu-item { margin-left: 10px; margin-right: 10px; padding: 0!important; }
	&:hover a, &:focus a { background-color: var(--dark-blue)!important; color: var(--base-3)!important; }
	a, button { padding: 0.5em 1em 0.4em!important; border-radius: 10px!important; text-transform: uppercase; font-size: 1rem; line-height: 1!important; letter-spacing: 1px;
		&:hover, &:focus { background-color: var(--dark-blue)!important; color: var(--base-3)!important; }
	}
	.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title,
	.wp-block-accordion-heading__toggle:focus .wp-block-accordion-heading__toggle-title { text-decoration: none; }
	+ .wp-block-accordion-panel { padding-top: 1em; }
}

/* Header */
header.site-header {
	.inside-navigation.grid-container { max-width: 1210px; }
	.menu-item-has-children .dropdown-menu-toggle { padding-left: 2px; }
	.buttons-gold.buttons-small.current_page_item a { color: var(--contrast); }
	.gp-icon.icon-arrow svg { top: .125em!important; }
	.gt-current-wrapper.glink .lazyloaded { width: 18px; }
	li.menu-item-gtranslate-child img { width: 18px; margin-right: 5px; }
	.gp-icon.icon-search svg { fill: var(--aoa-dark-blue-solid); height: 1.35em; width: 1.35em; }
}
/* Sticky Header */
nav#mobile-header:not(.is_stuck) { padding: 0 1em; }
/* Tab Overrides */
.tab-item .content-column h2 { margin-bottom: 0; }
/* Home Hero Slider */
.n2-ss-layer { max-width: 1440px; }
/* Home Search Block */
:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) { padding: 0!important; }
.wp-block-search__button { background-color: var(--mock-light-blue)!important; border: 0 none; }
.wp-block-search__button svg { transform: rotate(-90deg); fill: var(--base-3); }
/* Home Newsletter Form and VOC Form */
#home-form, #voc-form {
	input.gform-button { text-transform: uppercase !important; }
	.ginput_container { width: 100%!important; }
	.gform-footer.gform_footer.left_label { margin: 0!important; }
	.ginput_container_email input { color: var(--contrast) !important; }
	.gform_validation_errors { margin-bottom: 1em!important;  background-color: var(--mock-light-blue)!important;  border: 0!important; }
	.gform_submission_error.hide_summary { color: var(--contrast)!important; }
	.gform-icon.gform-icon--circle-error { border-color: var(--contrast)!important; color: var(--contrast)!important; }
	.gfield_validation_message { margin: 0!important; color: var(--base-3)!important; }
	.gform_validation_errors:focus { outline-color: var(--base-3)!important; }
	.gform_anchor:focus { border: 0 none!important; outline-width: 0!important; }
	.gfield:has(.gfield_validation_message) input { border-color: var(--base-3)!important; }
	.gform_confirmation_message { color: var(--base-3) !important; font-size: 1.5rem; font-weight: 600; }
}
#home-form * { width: 100%; 
	.gform_fields { row-gap: 1em; }
}

/* Vocation Page Overrides */
#voc-form { width: 100%;
	.gform-theme--foundation {
		.gform_fields { row-gap: 1em; }
		.gfield textarea.small { min-block-size: 5rem!important; height: 5rem!important; }
		.gform-footer.gform-footer { margin: 1em 0 0!important; padding: 0; justify-content: center; 
			input.gform_button.button { padding: .75em 2em; min-height: 5ch; min-width: 30%; text-transform: uppercase; font-weight: 600; font-size: 1.125rem; transition: all .5s ease-in-out 0s; }
		}
	}
}
/* Home Top GB News */
.top-stories {
	.nextend-thumbnail-scroller.n2-align-content-start { align-content: space-between !important; background: var(--base-2)!important; } 
	.n2-ss-caption { padding: 0!important; }
	.n2-thumbnail-dot { margin: 0!important; padding: 20px!important; opacity: 1 !important; 
		&:hover,&:focus { opacity: .7!important; }
		&:nth-of-type(2) { border-top: 2px solid var(--base) !important; border-bottom: 2px solid var(--base) !important; }
	}
	.n2-ss-caption p { color: var(--aoa-dark-blue-solid); }
	.n2-ss-caption h3 { font-size: 1.5rem!important; padding-top: .5em; }
	.n2-ss-caption h3 a { color: var(--contrast); }
	@media (min-width: 700px) and (max-width: 1024px) {
		.n2-ss-slider-controls-side { flex-direction: column; }
		.n2-ss-widget.nextend-thumbnail.nextend-thumbnail-default.nextend-thumbnail-vertical.n2-ow-all { width: 100%; }
		.nextend-thumbnail-inner { min-height: fit-content; }
		.n2-ss-caption.n2-ow.n2-caption-before { width: 100%!important; }
	}
	@media (min-width: 1024px) {
		.n2-ss-slider-controls-side { gap: 40px; }
		.n2-thumbnail-dot { padding: 40px!important; }
	}
	.n2-ss-slide-background {
		&:hover, &:focus { opacity: .7!important; }
	}
}

/* Events Calendar Global Overrides */
/* .entry-content:has(.training-deadlines),  */
.site-content {
	&:has(.tribe-events-pg-template),
	&:has(.tribe_event_series) { background: var(--base-2); }
}
[class*="-event"][class*="style-"] { padding: 1em 0;
	.ect-grid-description { min-height: 8em; }
	[class*="-event-area"] { box-shadow: 0 0 1em #00000020!important;
		&:hover, &:focus { background: var(--base-3)!important; box-shadow: 0 0 0 var(--base)!important; }
	}
    [class*="-image"], 
    [class*="-event-area"] { border: 0 none!important; border-radius: 0!important; }
	img { border-radius: 0 !important; }
	.ect-date-highlight .ev-mo { text-transform: uppercase;line-height: 1; }
	.ect-date-area { border-radius: 0!important; flex-direction: column-reverse!important; gap: 0!important; }
	.ect-readmore { align-items: flex-start; display: inline-flex; font-weight: 600; justify-content: center; letter-spacing: 1px; margin-bottom: 0; text-align: center; text-decoration: none; padding: .75rem; min-width: 100%; border-radius: 0!important;
		&:hover, &:focus { background: var(--aoa-gold)!important; 
			a { color: var(--aoa-blue)!important; }
		}
	}
}
/* Carousel Overrides */
#ect-carousel-wrapper .ect-events-carousel .slick-arrow { height: 30px; font-size: 30px; padding: 0; border-radius: 100%!important; 
	.ect-icon-left, .ect-icon-right { background: var(--base)!important; box-shadow: 0 0 0!important; border: 0 none!important; border-radius: 100%!important; }
	&.ctl-slick-prev { left: -34px; }
	.ect-icon-right:before, .ect-icon-left:before { content: ''!important; height: 24px!important;
        width: 40px !important; margin: 0 !important; background-position: center center; background-repeat: no-repeat; }
	.ect-icon-right:before { background-image: url('/wp-content/uploads/2026/01/arrow-right.webp'); }
	.ect-icon-left:before { background-image: url('/wp-content/uploads/2026/01/arrow-left.webp'); }
}
/* Events Calendar Grid View */
li.ect-cat-items { padding: .5em 1.5em!important; background: var(--aoa-gold)!important; border: 0 none!important; border-radius: 30px!important; color: var(--contrast)!important; font-size: 1.1rem!important; font-weight: 500; text-transform: uppercase; }
li.ect-cat-items:hover, li.ect-cat-items:focus { background-color: var(--aoa-blue)!important; color: var(--base-3)!important; }

@media (min-width: 601px) {
	/* Flex container */
	#ect-grid-wrapper { height: auto!important; display: flex!important; flex-wrap: wrap!important; }

	/* Fix individual event styling */
	.ect-grid-event[id*="event-"] { height: auto; display: flex!important; flex-direction: column !important; float: none!important; position: relative!important; left: auto!important;
	top: auto!important; }

	/* Ensure the wrapper stretches to the bottom */
	.ect-grid-event-area { height: 100%!important; display: flex!important; flex-direction: column!important; flex-grow: 1!important; gap: 10px!important; }
	
}
@media (min-width: 601px) and (max-width: 767px) {
	.ect-grid-title, .ect-carousel-title { min-height: 5em; }
}
@media (min-width: 768px) {
	.ect-grid-title, .ect-carousel-title { margin-bottom: 1em; min-height: 3.5em; }
}
/* No events found */
.slick-track:has(.ect-no-events) { width: 100%!important; text-align: center;
	.slick-slide { width: 100%!important; }
}
.bg-blue .ect-no-events { color: var(--base-3); }
/* Single Events */
.tribe-events-single .section-grid { min-width: 100%; }
.tribe-events-schedule__all-day, .tribe-events-schedule__separator, .tribe-events-schedule__timezone { color: var(--contrast); font-size: inherit !important; font-weight: inherit !important; }
.tribe-block__organizer__details { padding: 1em 0 0!important; }
.tribe-events-c-subscribe-dropdown { margin: 0!important; }
.tribe-block.tribe-block__venue.tribe-clearfix { background: var(--base-3); }
/* Series */
.tribe_event_series .inside-article { padding-top: 2em!important;
	@media (min-width: 767px) { padding-top: 4em !important; }
}
/* Alerts */
.alert.type-alert { max-width: 1220px; margin: 0 auto; }
/* Change Gravity Forms Submit Button Color */
.gform_wrapper input[type="submit"],
.gform_wrapper input[type="button"] {
	border-radius: 15px!important;
}
/* Hover Effect */
.gform_wrapper input[type="submit"]:hover,
.gform_wrapper input[type="button"]:hover,
.gform_wrapper input[type="submit"]:focus,
.gform_wrapper input[type="button"]:focus {
	background-color: var(--base-3)!important;
}
.gf_progressbar_wrapper { margin-top: 1.25em; }

/* Custom link styles */
body:not([class*="tribe_"]) .entry-content {
	p a, li a {
		&:active, &:link, &:visited {
			text-decoration: underline!important;
			text-decoration-color: var(--accent)!important;
			text-decoration-thickness: 2px!important;
			text-underline-offset: 2px;
			text-decoration-skip-ink: none;
		}
	}
}

@media (max-width: 1250px) and (min-width: 1024px) {
    .gb-grid-wrapper.custom-break > .gb-grid-column {
        width: 33%;
    }
}
/* Alternating Accordion Toggles */
.gb-accordion .accordion-item:nth-of-type(even) .accordion-toggle { background-color: var(--base-3)!important; }
.gb-accordion .accordion-item:nth-of-type(even) .accordion-toggle:hover,
.gb-accordion .accordion-item:nth-of-type(even) .accordion-toggle:focus { background-color: var(--base)!important; }
/* Financial Reports Table Headers */
.mtr-cell-content { text-align: left; }

/* Archive single pages */
body.single .inside-article { max-width: 1220px; margin: 0 auto; 
	@media (max-width: 1270px) { padding: 0 1.5em; margin: 0 }
	@media (max-width: 768px) { padding: 0 1em; }
}
/* Search Results - Nothing Found */
.no-results.not-found, .error404 {
	.inside-article { padding: 2rem 1em !important; gap: 2em !important; display: flex; flex-direction: column; align-items: center; }
}
form.search-form { padding: 2em; width: 100%; background: var(--base); display: flex; justify-content: center; }
/* Tag archive pages */
body.archive[class*="tax-"], body.tag, body.search.search-results { background: var(--base-2);
	#page.grid-container { background: var(--base-2); }
	#content { max-width: 100%!important; }
	.site-main { display: flex; flex-direction: column; gap: 2em!important; }
	.entry-summary { padding-top: .5em; }
}
body.archive[class*="tax"], body.tag, body.search.search-results {
	.page-header { background: var(--accent); padding: 2em 1em; border-bottom: 10px solid var(--base);
		.page-title { width: 100%; max-width: 1190px; margin: 0 auto; color: var(--base-3); }
	}
	article, .paging-navigation { width: 100%; max-width: 1190px; margin: 0 auto!important; 
		@media (width <= 1280px) { padding: 0 1em; }
	}
	.paging-navigation { padding-bottom: 2em; }
}

*[id] { scroll-margin-top: 100px; }

/* Download Package Manager Template Styles */
.ml-3 { margin: .35em 0; }
	h3.package-title { line-height: 1.1em!important; 
	a { display: block; font-size: 1.1rem; line-height: 1.2; font-weight: 600; color: var(--aoa-dark-blue-solid); 
		&:hover, &:focus { color: var(--contrast); }
	}
}
.text-xsmall { font-size: .875rem!important; line-height: 1.3; padding: .5em 0 .75em; 
	&:hover, &:focus { color: var(--contrast); }
}
.wpdm-download-link.btn.btn-primary, 
.inddl.btn.btn-primary.btn-xs { width: auto!important; padding: .625rem 1.5rem .5rem 1.5rem; background-color: var(--aoa-gold); background-image: none; box-shadow: 0 0; color: var(--contrast); align-items: center; font-size: 1rem; font-weight: 600; letter-spacing: .5px; line-height: 1; text-align: center; text-transform: uppercase; transition: all 0.5s ease 0s; border: 0 none; border-radius: 30px!important; 
	&:hover, &:focus { color: var(--base-3); background-color: var(--dark-blue); box-shadow: 0 0 0; }
}
.w3eden {
	.btn-primary {
		&:hover, &:focus { box-shadow: 0 0 0; }
	}
	[class*="buttons"] { width: 100%; margin: .5em 0; text-wrap: pretty; color: var(--contrast);
		.wpdm_icon { padding-right: .5em; }
	}
	.wpdm_package_shortcode, .wpdm_packages_shortcode {
		[class*="buttons"] { /* Override for package shortcode with button template */
			&:hover, &:focus { color: var(--contrast)!important; }
		}
	}
	.wpdm-filelist-grid.wpdm-filelist-grid--list .wpdm-filelist-item__meta,
	.wpdm-filelist-grid.wpdm-filelist-grid--list .wpdm-filelist-item__title { font-size: .875rem; }
}

@media (max-width: 768px) {
	.w3eden {
		.wpdm-filelist-grid { grid-template-columns: 1fr!important; }
		.wpdm-filelist-item { flex-wrap: wrap!important; }
		.wpdm-filelist-item__actions { width: 100%!important; }
	}
}
/* WP Database Tables Overrides */
.wpdt-c a, .filter-option-inner-inner { color: var(--aoa-dark-blue-solid)!important; }
h2.wpdt-c { font-size: revert!important; }
.wpdt-c .wpDataTables {
	a, button, input, select, dropdown {
		&:hover, &:focus { color: var(--text)!important; text-decoration: revert!important; outline: 2px solid var(--accent)!important; -webkit-tap-highlight-color: var(--accent)!important; }
	}
	.sort:focus, .form-control:not(.fc-alt):focus { box-shadow: 0 0 0 1px var(--accent)!important; border-radius: 4px; outline: 2px solid var(--accent)!important; -webkit-tap-highlight-color: var(--accent)!important; }
}
/* Job Openings */
.job-loop-terms span:not(:first-of-type) { padding-right: 5px; }
/* Password-Protected pages */
.post-password-required .entry-content { padding: 2em 0; margin: 0 auto; max-width: var(--gb-container-width); width: calc(100% - 3em); 
	@media (min-width: 1024px) {
		padding: 4em 0; }
}
/* Priesthood Vocations Meet Our Seminarians Carousel and Seminarian Page Grid */
#voc-carousel .n2-ss-layer .n2-ss-layer--block, .voc-title { opacity: 0; transition: all ease-in .5s; }
#voc-carousel .n2-ss-layer:hover .n2-ss-layer--block { opacity: 1; }
/* PV Carousel Filter */
#voc-carousel .n2-ss-slide.n2-ow { filter: grayscale(1); transition: all ease .5s;
	&:hover, &:focus { filter: grayscale(0); }
}
/* Seminarian Grid */
.voc-loop-item:hover, .voc-loop-item:focus {
	.voc-title { opacity: 1; }
}