/*
Theme Name: UEONE
Theme URI: 
Author: UE Systems, Inc.
Author URI: 
Description: A custom theme created exclusively for UE Systems.
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 5.7
Version: 1.10
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: frost
Text Domain: ueone
Tags: blocks, modern, ACF
*/

/* ======== DEFAULT VARIABLES ========*/
/* WP global layout defaults (theme.json):
 * --wp--style--global--content-size: 1200px
 * --wp--style--global--wide-size: 1440px
 */

/* WP preset color defaults (theme.json):
 * --wp--preset--color--base: #ffffff (white)
 * --wp--preset--color--contrast: #333333 (black)
 * --wp--preset--color--base-dark: #E3F5FF (light blue)
 * --wp--preset--color--primary: #089DE7 (UE blue) 
 * --wp--preset--color--primary-dark: #127CB5 (dark blue) 
 * --wp--preset--color--secondary: #21274D (navy)
 * --wp--preset--color--accent: #E4740C (UE orange)
 * --wp--preset--color--accent-medium: #d76800 (medium orange)
 * --wp--preset--color--accent-dark: #A95928 (dark orange)
 * --wp--preset--color--light-grey: #F0F4F7
 * --wp--preset--color--med-grey: #d9dde0
 * --wp--preset--color--grey: #707070
 */

/* WP preset spacing defaults (theme.json):
 * --wp--preset--spacing--x-small: 12px
 * --wp--preset--spacing--small:   clamp(18px, calc(1.34vw + 12.74px), 30px)
 * --wp--preset--spacing--medium:  clamp(30px, calc(2.70vw + 19.49px), 54px)
 * --wp--preset--spacing--large:   clamp(48px, calc(4.04vw + 32.22px), 84px)
 * --wp--preset--spacing--x-large: clamp(78px, calc(6.56vw + 50.22px), 138px)
 */

/* WP preset font family defaults (theme.json):
 * --wp--preset--font-family--heading
 * --wp--preset--font-family--heading-bold
 * --wp--preset--font-family--content
 * --wp--preset--font-family--content-bold
 */

/* WP preset font size defaults (theme.json):
 * --wp--preset--font-size--x-small:  clamp(0.825rem, calc(0.39vw + 0.75rem), 1.1rem)
 * --wp--preset--font-size--small:    clamp(0.975rem, calc(0.46vw + 0.88rem), 1.3rem)
 * --wp--preset--font-size--standard: clamp(1.2rem, calc(0.57vw + 1.09rem), 1.6rem)
 * --wp--preset--font-size--medium:   clamp(1.5rem, calc(0.71vw + 1.36rem), 2.0rem)
 * --wp--preset--font-size--banner:   clamp(1.8rem, calc(0.86vw + 1.63rem), 2.4rem)
 * --wp--preset--font-size--large:    clamp(2.25rem, calc(1.07vw + 2.04rem), 3.0rem)
 * --wp--preset--font-size--x-large:  clamp(3.0rem, calc(1.43vw + 2.71rem), 4.0rem)
 * --wp--preset--font-size--max:      clamp(4.875rem, calc(2.32vw + 4.41rem), 6.5rem)
 */

/* UE VARIABLES :
 * --wp--custom--border--radius--small:  4px
 * --wp--custom--border--radius--medium: 12px
 * --wp--custom--border--radius--large:  20px
 */


 
/* =========== GLOBAL STYLES =========== */
html {
    scroll-behavior: smooth;
}

.wp-site-blocks {
	padding-bottom: 0;
}

.footer-stack {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
}

.footer-stack.is-horizontal {
	flex-direction: row;
}

.footer-stack.is-vertical {
	flex-direction: column;
}

.ueone-main-footer .wp-block-group.alignwide {
	justify-content: center;
}

.ueone-main-footer .wp-block-group.alignwide > .wp-block-group {
	flex-basis: 100% !important;
	justify-content: center !important;
	text-align: center;
}

.ueone-main-footer .small-text,
.ueone-main-footer p {
	text-align: center;
}

.ueone-main-footer .wp-block-navigation__container,
.ueone-main-footer .wp-block-social-links {
	justify-content: center !important;
}

@media (min-width: 768px) {
	.ueone-main-footer .wp-block-group.alignwide {
		justify-content: space-between;
	}

	.ueone-main-footer .wp-block-group.alignwide > .wp-block-group {
		flex-basis: 48% !important;
		text-align: initial;
	}

	.ueone-main-footer .wp-block-group.alignwide > .wp-block-group:nth-child(odd) {
		justify-content: left !important;
	}

	.ueone-main-footer .wp-block-group.alignwide > .wp-block-group:nth-child(even) {
		justify-content: right !important;
	}

	.site-footer .wp-block-group.container-logo {
    	align-items: flex-start;
	}

	.ueone-main-footer .small-text,
	.ueone-main-footer p {
		text-align: initial;
	}

	.ueone-main-footer .wp-block-navigation__container,
	.ueone-main-footer .wp-block-social-links {
		justify-content: right !important;
	}
}

@media (min-width: 1025px) {
	.footer-stack .container-links .wp-block-navigation {
		width: 100%;
	}

	.footer-stack .container-links .wp-block-navigation__container {
		justify-content: flex-end;
	}
}


/* ======= GLOBAL UTILITY CLASSES ======= */
.hideme { display: none !important; }

@media (max-width: 600px) {
	.hide-on-mobile { display: none !important; }
}
@media (min-width: 601px) and (max-width: 768px) {
	.hide-on-tablet { display: none !important; }
}
@media (min-width: 768px) {
	.hide-on-desktop { display: none !important; }
}

.small-image {
	max-width: 125px;
}
.small-text {
	font-size: var(--wp--preset--font-size--small);
}

.rounded-corners {
	border-radius: var(--wp--custom--border--radius--large) !important;
}

.fixed-icon-size img {
	height: 60px !important;
	width: auto !important;
}

@media (min-width: 768px) and (max-width: 1026px) {
	.fixed-icon-size {
		flex-wrap: wrap !important;
		justify-content: center !important;
	}

	.fixed-icon-size .wp-block-column {
		flex: 0 0 calc(50% - var(--wp--preset--spacing--small)) !important;
		max-width: calc(50% - var(--wp--preset--spacing--small)) !important;
	}
}


.diamond-border {
	border: 1px solid var(--wp--preset--color--primary);
	clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
	height: fit-content;
	margin-left: auto;
	margin-right: auto;
	padding: var(--wp--preset--spacing--medium);
	width: fit-content;
}

.image-text-overlay {
	border-radius: 0 var(--wp--custom--border--radius--large) 0 var(--wp--custom--border--radius--large);
    margin-right: 2rem !important;
	margin-top: -5rem !important;
}

.icon-boxes.is-layout-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (min-width: 601px) and (max-width: 1024px) {
	.icon-boxes.is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.icon-boxes.is-layout-grid {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}




/* =========== TEXT STYLING =========== */
/* these classes match the default Gutenberg heading block level styling. Use these classes when you
want to alter the appearance of an item without changing the H level in the content structure. */
.h1 {
	color: var(--wp--preset--color--secondary);
	margin-bottom: var(--wp--preset--spacing--x-small);
	font-family: var(--wp--preset--font-family--heading-bold);
	font-size: var(--wp--preset--font-size--max);
	line-height: 1.0;
}

.h2 {
	color: var(--wp--preset--color--secondary);
	margin-bottom: var(--wp--preset--spacing--x-small);
	font-family: var(--wp--preset--font-family--heading-bold);
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.2;
}

.h3 {
	color: var(--wp--preset--color--primary);
	margin-bottom: var(--wp--preset--spacing--x-small);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--banner);
	line-height: 1.3;
	text-transform: uppercase;
}

.h4 {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--content-bold);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.5;
	text-transform: uppercase;
}

.h5 {
	color: var(--wp--preset--color--secondary);
	font-family: var(--wp--preset--font-family--content-bold);
	font-size: var(--wp--preset--font-size--medium);
}

.p {
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--content);
	font-size: var(--wp--preset--font-size--standard);
	line-height: 1.6;
	text-transform: none;
}

a:focus,
a:hover {
	color: var(--wp--preset--color--primary-dark);
}

b, strong {
	font-family: var(--wp--preset--font-family--content-bold);
	font-weight: 700;
}
figcaption,
.wp-element-caption,
.wp-caption-text,
.blocks-gallery-item__caption {
    color: var(--wp--preset--color--grey);
	font-size: var(--wp--preset--font-size--small);
}



/* ======= BUTTON STYLES ======= */
.wp-block-button__link {
	background-color: var(--wp--preset--color--primary-dark);
	color: var(--wp--preset--color--base);
	line-height: 1;
}   

.wp-block-button__link:focus,
.wp-block-button__link:hover {
	background-color: var(--wp--preset--color--secondary);
	border-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--base);
}

.wp-block-button.is-style-outline .wp-block-button__link {
	background-color: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--primary);
	color: var(--wp--preset--color--contrast);
}

.wp-block-button.is-style-outline .wp-block-button__link:focus,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--primary-dark);
	color: var(--wp--preset--color--base);
}

.wp-block-button .wp-block-button__link.has-accent-background-color {
	border: 1px solid var(--wp--preset--color--accent);
}

.wp-block-button .wp-block-button__link.has-accent-background-color:focus,
.wp-block-button .wp-block-button__link.has-accent-background-color:hover {
	--wp--preset--color--accent: var(--wp--preset--color--accent-medium);
	background-color: var(--wp--preset--color--accent-medium);
	border-color: var(--wp--preset--color--accent-medium);
	color: var(--wp--preset--color--base);
}

/* ======= NAVIGATION BLOCKS ======= */
@media (min-width: 600px) and (max-width: 767.98px) {
	header .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open):not(.hidden-by-default),
	.wp-block-template-part[data-area="header"] .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open):not(.hidden-by-default) {
		display: none;
	}

	header .wp-block-navigation .wp-block-navigation__responsive-container-open:not(.always-shown),
	.wp-block-template-part[data-area="header"] .wp-block-navigation .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
}

.legal-menu .wp-block-navigation__container {
	gap: 0;
}

.legal-menu .wp-block-navigation-item > .wp-block-navigation-item__content {
	align-items: center;
	display: inline-flex;
}

.legal-menu .wp-block-navigation-item:not(:last-child) > .wp-block-navigation-item__content::after {
	content: "\2022";
	display: inline-flex;
	font-size: 2.0em;
	line-height: 1;
	margin-left: var(--wp--preset--spacing--x-small);
	margin-right: var(--wp--preset--spacing--x-small);
}

.wp-block-navigation .wp-block-navigation-item.is-style-nav-button > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-item__content.is-style-nav-button {
	background-color: var(--wp--preset--color--primary-dark);
	border: 1px solid var(--wp--preset--color--primary-dark);
	border-radius: var(--wp--custom--border--radius--small);
	color: var(--wp--preset--color--base);
	display: inline-block;
	font-family: var(--wp--preset--font-family--heading);
	line-height: 1;
	padding: var(--wp--preset--spacing--x-small) var(--wp--preset--spacing--small);
	text-decoration: none;
}

.wp-block-navigation .wp-block-navigation-item.is-style-nav-button > .wp-block-navigation-item__content:focus,
.wp-block-navigation .wp-block-navigation-item.is-style-nav-button > .wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation-item__content.is-style-nav-button:focus,
.wp-block-navigation .wp-block-navigation-item__content.is-style-nav-button:hover {
	background-color: var(--wp--preset--color--secondary);
	border-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--base);
	text-decoration: none;
}




/* ======= BLOCK STYLES ======= */
/* NOTE: much of the block default styling is handled in the theme.json file. Additional initial
styling too complex for theme.json is added here. Note some styling is handled in the global editor */
.wp-block-list:not(ol) li::marker {
	color: var(--wp--preset--color--primary);
	font-size: 1.3em;
}

.wp-block-categories-list {
	padding-inline-start: var(--wp--preset--spacing--medium);
}

.wp-block-categories-list li::marker {
	color: var(--wp--preset--color--primary);
	font-size: 1.3em;
}

.wp-block-paragraph a:hover,
.wp-block-paragraph a:focus {
	cursor: pointer;
}

.wp-block-embed {
	margin: 0 auto;
	max-width: min(100%, calc(var(--wp--style--global--content-size) * 0.75));
	width: min(100%, calc(var(--wp--style--global--content-size) * 0.75));
}
.wp-block-embed iframe {
	border-radius: var(--wp--custom--border--radius--large);
}

.wp-block-embed.alignwide {
	max-width: min(100%, calc(var(--wp--style--global--wide-size) * 0.75));
	width: min(100%, calc(var(--wp--style--global--wide-size) * 0.75));
}

.wp-block-gallery .blocks-gallery-item img {
	border-radius: var(--wp--custom--border--radius--large);
}

.wp-block-image img {
	border-radius: var(--wp--custom--border--radius--large);
}

.wp-block-image img[height] {
	height: revert;
}

.wp-block-post-featured-image a img,
.wp-block-post-featured-image img {
	border-radius: var(--wp--custom--border--radius--large);
}

.wp-block-image.is-style-sharp-corners img,
.wp-block-image.is-style-sharp-corners a img {
	border-radius: 0 !important;
}

.wp-block-media-text__media img {
	border-radius: var(--wp--custom--border--radius--large);
}

.wp-block-pullquote {
	margin-left: auto;
	margin-right: auto;
	max-width: min(100%, calc(var(--wp--style--global--content-size) * 0.75));
	width: min(100%, calc(var(--wp--style--global--content-size) * 0.75));
}
.wp-block-pullquote.alignwide {
	max-width: min(100%, calc(var(--wp--style--global--wide-size) * 0.75));
	width: min(100%, calc(var(--wp--style--global--wide-size) * 0.75));
}
.wp-block-pullquote p {
	font-size: var(--wp--preset--font-size--banner);
	letter-spacing: 0.05ch;
}
.wp-block-pullquote cite {
	font-family: var(--wp--preset--font-family--content);
	font-size: var(--wp--preset--font-size--small);
	margin-top: var(--wp--preset--spacing--x-small);
	text-align: right;
}

.wp-block-details > *:not(summary) {
	margin-left: var(--wp--preset--spacing--small);
	margin-top: var(--wp--preset--spacing--x-small);
}

.wp-block-quote p {
	font-size: var(--wp--preset--font-size--medium);
}
.wp-block-quote cite {
	font-size: var(--wp--preset--font-size--small);
	margin-top: var(--wp--preset--spacing--x-small);
}

@media (max-width: 535px) {
	.shift-image-left {
		align-items: center;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: var(--wp--preset--spacing--small);
	}

	.shift-image-left > figure {
		flex-shrink: 0;
		margin: 0;
		max-width: 100px;
		width: 100px;
	}

	.shift-image-left .wp-block-group {
		flex: 1;
		margin: 0;
		min-width: 0;
	}
}

/* Remove hover/focus underlines across accordion heading markup variants. */
.wp-block-accordion [class*="accordion-heading"],
.wp-block-accordion [class*="accordion-heading"] *,
.wp-block-accordion [class*="__toggle"],
.wp-block-accordion [class*="__toggle"] *,
.wp-block-accordion summary,
.wp-block-accordion summary * {
	text-decoration: none !important;
}

.wp-block-accordion [class*="accordion-heading"]:focus,
.wp-block-accordion [class*="accordion-heading"]:hover,
.wp-block-accordion [class*="accordion-heading"] *:focus,
.wp-block-accordion [class*="accordion-heading"] *:hover,
.wp-block-accordion [class*="__toggle"]:focus,
.wp-block-accordion [class*="__toggle"]:hover,
.wp-block-accordion [class*="__toggle"] *:focus,
.wp-block-accordion [class*="__toggle"] *:hover,
.wp-block-accordion summary:focus,
.wp-block-accordion summary:hover,
.wp-block-accordion summary *:focus,
.wp-block-accordion summary *:hover {
	text-decoration: none !important;
}

.wp-block-accordion-heading__toggle:hover,
.wp-block-accordion summary:hover {
	color: var(--wp--preset--color--primary-dark);
}



/* ====== PATTERN-SPECIFIC STYLES ======= */
/* hero video banner style 1 */
.overlay-divider {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: calc(0.95 * var(--wp--style--global--content-size));
	opacity: 0.85;
	position: relative !important;
	transform: skew(-20deg);
	z-index: 5 !important;
}

.bkgd-video-container {
	z-index: 1;
}
.hero-copy-container {
	z-index: 1;
}
.bring-to-front {
	position: relative;
	z-index: 10;
}
.overlay-border {
	z-index: 3;
}

/* hero video banner style 2 */
.overlay-frame {
    background-color: var(--wp-preset-color-light-grey);
	/*border-radius: 0 0 var(--wp--custom--border--radius--large) var(--wp--custom--border--radius--large); */
    line-height: 0;
    overflow: hidden;
	padding: var(--wp--preset--spacing--large);
	position: relative;
	width: fit-content;
}

.overlay-frame video {
    display: block;
	/*border-radius: 0 0 var(--wp--custom--border--radius--large) var(--wp--custom--border--radius--large); */
	line-height: 0;
	width: 100%;
    height: auto;
}

.overlay-frame::after {
    content: "";
    position: absolute;
    inset: 0; 

    border-style: solid;
    border-color: transparent;
	/*border-radius: 0 0 var(--wp--custom--border--radius--large) var(--wp--custom--border--radius--large); */
	border-top: 0;
    background-image: radial-gradient(circle, rgba(240, 244, 247, 0.0) 75%, rgba(240, 244, 247, 0.75) 87%, var(--wp--preset--color--light-grey) 100%);
	background-repeat: no-repeat;
	margin: 0 -10px -10px -10px;
    pointer-events: none;
}

/* standard blue CTA bar */
@media (max-width: 768px) {
	.cta-bar h2 {
		text-align: center;
		min-width: 100%;
	}
	.cta-bar wp-block-buttons {
		justify-content: center;
		min-width: 100%;
	}
}



/* ======= PAGE-SPECIFIC STYLES ======= */

/* === HOME === */
/* Intro content section repsonive layout adjustments */
@media (max-width: 648px) {
	.wp-block-group.intro-content {
		align-items: center;
	}
	.wp-block-group.intro-content .main-text-block {
		grid-column: span 2;
	}
	.wp-block-group.intro-content figure.wp-block-image {
		grid-column: span 2;
		grid-row: 3 / 4;
		justify-self: center;
	}
	.wp-block-group.intro-content figure.wp-block-image img {
		max-width: 175px;
	}
	.wp-block-group.intro-content blockquote.wp-block-quote {
		grid-column: span 2;
	}
}
@media (min-width: 648px) and (max-width: 870px) {
	.wp-block-group.intro-content {
		align-items: center;
	}
	.wp-block-group.intro-content .main-text-block {
		grid-column: span 3;
        grid-row: 2 / 4;
	}
	.wp-block-group.intro-content figure.wp-block-image {
		grid-column: 3 / 3;
    	grid-row: 4 / 4;
		justify-self: center;
	}
	.wp-block-group.intro-content figure.wp-block-image img {
		max-width: 175px;
	}
	.wp-block-group.intro-content blockquote.wp-block-quote {
		grid-column: span 2;
		margin-left: 10%;
	}
}
@media (min-width: 870px) and (max-width: 1097px) {
	.wp-block-group.intro-content {
		align-items: center;
	}
	.wp-block-group.intro-content .main-text-block {
		grid-column: span 3;
        grid-row: 2 / 3;
	}
	.wp-block-group.intro-content figure.wp-block-image {
		grid-column: 4 / 4;
    	grid-row: 2 / 3;
	}
}


/* ======================================================
   EDITOR: Border Radius Preset Control
   Hides the native radius input and styles the preset
   button row. Scoped to .block-editor-page (editor only).
   ====================================================== */

.block-editor-page .components-border-radius-control {
	display: none !important;
}

.block-editor-page .ueone-border-radius-presets {
	margin-bottom: 8px;
}

.block-editor-page .ueone-border-radius-presets__label {
	color: #1e1e1e;
	font-size: 11px;
	font-weight: 500;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.block-editor-page .ueone-border-radius-presets__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.block-editor-page .ueone-border-radius-presets__buttons .ueone-radius-preset-btn {
	flex: 1 1 auto;
	justify-content: center;
}
