/*
Theme Name: Vaxart
Theme URI: sitecare.com
Author: SiteCare, LLC
Author URI: sitecare.com
Description: VaxArt site theme.
Tags: blog, portfolio, entertainment, grid-layout, one-column, two-columns, three-columns, four-columns, block-patterns, block-styles, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, full-width-template, rtl-language-support, style-variations, template-editing, theme-options, translation-ready, wide-blocks
Tested up to: 6.6
Requires PHP: 8.1
Version: 2.0.0
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vaxart
*/

/* CSS Reset
---------------------------------------------------------------------------- */

*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	--navbar-size: 5.625rem;
	box-sizing: border-box;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	scroll-behavior: smooth;
	scroll-padding-top: calc( var(--navbar-size) + var(--wp-admin--admin-bar--height, 0px)) !important;
}

*::selection {
	color: var(--wp--preset--color--base);
	background: var(--wp--preset--color--primary);
}

img,
figure:where(.wp-block-image, .wp-block-post-featured-image):not(.alignfull) {
	max-width: 100%;
	height: auto;
}

/** Global styles for popovers */
html {
	--popover--color--background: var(--wp--preset--color--grey-light);
	&::after {
		content: "";
		position: fixed;
		inset: 0;
		display: none;
		z-index: 10;
		transition: var(--wp--custom--transition--default);
		opacity: 0;
		background-color: var(--popover--color--background);
	}
	&:has([popover]:popover-open) {
		overflow: hidden;
	
		&::after {
			display: block;
			opacity: 1;
		}
	}

	@starting-style {
		&:has([popover]:popover-open)::after {
			opacity: 0;
		}
	}
}


/* Standardize form styling
--------------------------------------------- */
input:where([type="button"],
	[type="email"],
	[type="search"],
	[type="submit"],
	[type="text"]),
textarea {
	-webkit-appearance: none;
}

:where(input,
	textarea,
	button):focus-visible {
	outline-color: var(--wp--preset--color--primary);
}

input:where([type="checkbox"],
	[type="image"],
	[type="radio"]) {
	width: auto;
}

/* Single header */
.single-header:not(:has(figure.wp-block-post-featured-image)) {
	background-color: transparent !important;
	background-image: none !important;
	text-align: center;

	.wp-block-column:first-child {
		display: none;
	}
	:where(h1, h2, h3, p) {
		color: var(--wp--preset--color--contrast) !important;
	}
}

@media (prefers-reduced-motion) {
	:root {
		--wp--custom--transition--default: none;
		--wp--custom--transition--bounce: none;
	}
	html {
		scroll-behavior: auto;
	}
}

.wp-element-button {
	filter: var(--wp--custom--button--color--filter);
	transform: var(--wp--custom--button--transform);

	&:hover,
	&:focus {
		filter: var(--wp--custom--button--hover--color--filter);
		transform: var(--wp--custom--button--hover--transform);
	}

	&:active {
		transform: var(--wp--custom--button--active--transform);
	}
}

/**
 * Utilities
 */
.overflow-hidden {
	overflow: hidden;
}

.text-center {
	text-align: center;
}

.text-end {
	text-align: end;
}

.w-fit-content {
	width: fit-content;
}

.h-100 {
	height: 100%;
}

.w-100 {
	width: 100%;
}

.order-last {
	order: 9999;
}

.justify-content-center {
	justify-content: center;
}

.d-flex {
	display: flex !important;
}

.d-grid {
	display: grid !important;
}

.flex-wrap {
	flex-wrap: wrap !important;
}

.z-index-3 {
	z-index: 3;
}

.z-index-5 {
	z-index: 5;
}

.flex-shrink-0 {
	flex-shrink: 0;
}

.flex-grow-1 {
	flex-grow: 1;
}

.position-relative {
	position: relative !important;
}

.position-absolute {
	position: absolute !important;
}

.top-0 {
	top: 0 !important;
}

.right-0 {
	right: 0 !important;
}

.text-nowrap {
	white-space: nowrap;
}

.rounded-circle {
	border-radius: 100%;
}

@media screen and (max-width: 781px) {
	.flex-md-column {
		flex-direction: column;
	}

	.flex-md-row {
		flex-direction: row;
	}

	.justify-content-md-center {
		justify-content: center;
	}

	.align-items-md-center {
		align-items: center;
	}

	.align-items-md-start {
		align-items: flex-start;
	}

	.text-md-center {
		text-align: center;
	}

	.w-md-100 {
		width: 100%;
	}

	.order-md-1 {
		order: 1;
	}

	.order-md-2 {
		order: 2;
	}

	.pt-md-0 {
		padding-top: 0 !important;
	}

	.pb-md-0 {
		padding-bottom: 0 !important;
	}

	.px-md-0 {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.d-md-none {
		display: none;
	}

	.rounded-md-0 {
		&, img {
			border-radius: 0 !important;
		}
	}
}

@media screen and (min-width: 782px) {
	.d\+md-none {
		display: none;
	}
}