/*
Theme Name: Helium
Author: DOD
Author URI: https://www.dreamersofday.co/
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 7.2
Version: 1.0.10
License: GNU General Public License v3
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: dod
*/

/* Variables
---------------------------------------- */
:root {}


/* Defaults
---------------------------------------- */

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

html {
	scroll-behavior: smooth;
}

body {
	-webkit-font-smoothing: antialiased;
}

a,
button,
input:focus,
input[type="button"],
input[type="submit"],
textarea:focus,
.wp-element-button {
	transition: all 0.2s ease-in-out;
}

a,
a:focus,
a:hover,
a:not(.wp-element-button) {
	text-decoration-thickness: 1px;
}

b,
strong,
th {
	font-weight: var(--wp--custom--font-weight--medium);
}

mark {
	background: linear-gradient(90deg, var(--wp--preset--color--primary) 0%, var(--wp--preset--color--primary) 100%);
	background-position: 0 85%;
	background-repeat: repeat-x;
	background-size: 100% 15%;
}

/* -- Forms -- */

input,
select,
textarea {
	background-color: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--contrast);
	border-radius: 0;
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: var(--wp--custom--font-weight--light);
	line-height: var(--wp--custom--line-height--body);
	padding: 10px 20px;
	width: 100%;
}

input:focus,
textarea:focus {
	background-color: var(--wp--preset--color--neutral);
	outline: none;
}

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

input[type="button"],
input[type="email"],
input[type="search"],
input[type="submit"],
input[type="text"],
textarea {
	-webkit-appearance: none;
}

::placeholder {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
	opacity: 0.5;
}

/* Global
---------------------------------------- */
.wp-site-blocks {
	/* position: relative; */
}


/* Header
---------------------------------------- */
.site-header {
	width: 100%;
	z-index: 90;

	&.is-sticky {
		position: sticky;
		top: 0;
		transition: all .5s ease-in-out;

		&.l-headroom--not-top {
			background-color: rgba(0, 0, 0, 0.8);
		}

		&.l-headroom--unpinned {
			transform: translateY(-100%);
		}
	}

	/* Must match the height of the header. Since we're not using a CSS variable here, it hardcoded */
	&.is-transparent {
		margin-bottom: -103px;
	}

	/* Only allow transitions when in fixed state */
	&.has-transitions {
		transition: top 0.3s ease, background-color 0.3s ease;
	}

	/* Stage 1: At top of page */
	&.is-absolute {
		position: absolute;
		top: 0;
		background-color: transparent;
	}

	/* Stage 2a: Fixed + hidden scrolling down */
	&.is-fixed-hidden {
		position: fixed;
		top: calc(-1 * var(--header-height, 100px));
	}

	/* Stage 2b: Fixed + hidden scrolling up toward top */
	&.is-fixed-hidden-soft {
		position: fixed;
		top: calc(-1 * var(--header-height, 100px));
	}

	/* Stage 3: Fixed + revealed */
	&.is-fixed-revealed {
		position: fixed;
		top: 0;
		background-color: rgba(0, 0, 0, 0.8);
	}

	/* Header Buttons */
	& .wp-block-buttons>.wp-block-button {
		display: flex;
	}
}









/* Blocks
---------------------------------------- */

/* -- Code -- */

*:not(.wp-block-code)>code {
	background-color: var(--wp--preset--color--neutral);
	font-size: var(--wp--preset--font-size--small);
	padding: 5px 8px;
}

/* -- Navigation -- */

.wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--custom--spacing--gap);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: var(--wp--custom--spacing--gap);
}

.wp-block-navigation__responsive-container-close,
.wp-block-navigation__responsive-container-open {
	border: 1px solid currentColor;
	padding: 2px;
}

.has-background .wp-block-navigation__responsive-container-open:focus,
.has-background .wp-block-navigation__responsive-container-open:hover {
	color: var(--wp--preset--color--base);
}

/* -- Navigation Submenu -- */

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
	background-color: var(--wp--preset--color--contrast);
	border: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	padding: 10px;
}

.wp-block-navigation :where(.wp-block-navigation__submenu-container) a {
	padding: 2px 10px;
}

/* Utility
---------------------------------------- */

.opacity-0 {
	opacity: 0;
}

.opacity-5 {
	opacity: 0.05;
}

.opacity-10 {
	opacity: 0.1;
}

.opacity-15 {
	opacity: 0.15;
}

.opacity-20 {
	opacity: 0.2;
}

.opacity-25 {
	opacity: 0.25;
}

.opacity-30 {
	opacity: 0.3;
}

.opacity-35 {
	opacity: 0.35;
}

.opacity-40 {
	opacity: 0.4;
}

.opacity-45 {
	opacity: 0.45;
}

.opacity-50 {
	opacity: 0.5;
}

.opacity-55 {
	opacity: 0.55;
}

.opacity-60 {
	opacity: 0.6;
}

.opacity-65 {
	opacity: 0.65;
}

.opacity-70 {
	opacity: 0.7;
}

.opacity-75 {
	opacity: 0.75;
}

.opacity-80 {
	opacity: 0.8;
}

.opacity-85 {
	opacity: 0.85;
}

.opacity-90 {
	opacity: 0.9;
}

.opacity-95 {
	opacity: 0.95;
}

.opacity-100 {
	opacity: 1;
}

/* -- Box Shadow -- */

.is-style-shadow-light {
	box-shadow: var(--wp--preset--shadow--light);
}

.is-style-shadow-solid {
	box-shadow: var(--wp--preset--shadow--solid);
}

/* Media Queries
---------------------------------------- */

@media only screen and (max-width: 600px) {

	/* -- Utility -- */

	.is-style-hidden-mobile {
		display: none !important;
	}

}

@media only screen and (max-width: 782px) {

	/* -- Columns -- */

	.is-style-columns-reverse {
		flex-direction: column-reverse;
	}

}

@media only screen and (max-width: 782px) {
	.center-logo {
		display: none!important;
	}
}

/* Patterns
---------------------------------------- */
/* Blurb */
.p-blurb .wp-block-heading {
	padding-bottom: 1rem;

	@media (min-width: 1220px) {
		padding-bottom: 0;
		min-height: 119px;
	}
}

/* Pages
---------------------------------------- */

/* Page - Home */
.home-blurbs {
	@media (max-width: 1220px) {
		padding-left: var(--wp--preset--spacing--40) !important;
		padding-right: var(--wp--preset--spacing--40) !important;
	}
}

.home-image-multi-text {

	& .multi-text {
		@media (min-width: 1220px) {
			padding-left: 5%;
		}
	}


	& .multi-text>*:not(hr) {
		@media (min-width: 1220px) {
			padding-left: 1rem;
		}
	}

	& hr {
		margin-top: 0;
	}

	& .multi-text p {
		margin-top: 1em;
		margin-bottom: 1em;
	}

}

.front-end .home-blurbs {
	position: relative;
	z-index: 10;

	& .wp-block-columns {
		@media (max-width: 1219px) {
			position: relative;
			top: -110px;
		}
	}

	& .p-blurb {
		position: relative;
		z-index: 1;

		@media (min-width: 1220px) {
			top: -110px;
		}
	}
}

/* AOS Extends
---------------------------------------- */
hr[data-aos="expand-hr"] {
	width: 100%;
	height: 1px;
	background-color: currentColor;
	border: none;
	transform: scaleX(0) translate3d(0, 40px, 0);
	transform-origin: left center;
	/* expand from left */
	transition: transform 0.6s ease;
}

hr[data-aos="expand-hr"].aos-animate {
	transform: scaleX(1) translate3d(0, 40px, 0);
}

[data-aos='cards-fade-in-up'] {
	opacity: 0;
	transform: translateY(20px);
	transition-property: transform, opacity;
	&.aos-animate {
		opacity: 1;
		transform: translateY(0);
	}
}


html:not(.no-js) [data-aos=fade-up] {
	-webkit-transform: translate3d(0, 40px, 0) !important;
	transform: translate3d(0, 40px, 0) !important;
}

/* Content area
--------------------------------------- */
p {
	a,
	a:focus,
	a:hover,
	a:not(.wp-element-button) {
		position: relative;
		display: initial !important;
		background-image: linear-gradient(currentColor, currentColor);
		background-position: 0 100%;
		background-repeat: no-repeat;
		background-size: 100% 1px;
		transition: all 0.4s !important;
		text-decoration: none;

		&:hover {
			background-size: 0 1px;
			color: var(--wp--preset--color--primary);
		}
	}
}

/* Blocks
--------------------------------------- */
.wp-block-button__link {
	position: relative;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	overflow: hidden;
	border-color: rgba(79, 134, 189, 0.30);
}

.wp-block-button__link:hover {
	border-color: var(--wp--preset--color--contrast);

	.a-btn__label {
		&::after {
			opacity: 1;
			transform: translateY(0);
			transition-delay: 0.1s;
		}
	}

	.a-btn__label-inner {
		opacity: 0;
		transform: translateY(-1.875rem);
		transition-delay: 0s;
	}

	.a-btn__bg {
		&::before {
			transform: translate3d(0, 0, 2px);
		}
	}
}

.a-btn__label {
	position: relative;
	display: flex;
	align-items: center;
	z-index: 2;
	color: var(--wp--preset--color--contrast);
}

.has-base-color {
	.a-btn__label {
		color: var(--wp--preset--color--base);
	}
}

.a-btn__label::after {
	content: attr(data-text);
	position: absolute;
	inset: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	opacity: 0;
	text-rendering: geometricPrecision;
	transform-origin: left top;
	transform: translateY(1.875rem);
	transition: transform 0.3s
	cubic-bezier(0.35, 0.755, 0.42, 0.95),
	opacity 0.3s cubic-bezier(0.35, 0.755, 0.42, 0.95);
	color: #ffffff;
}

.a-btn__label-inner {
	text-rendering: geometricPrecision;
	transform-origin: left top;
	transition: transform 0.3s cubic-bezier(0.35, 0.755, 0.42, 0.95)
	0.1s,
	opacity 0.3s cubic-bezier(0.35, 0.755, 0.42, 0.95) 0.1s;
}

.a-btn__bg {
	position: absolute;
	inset: 0;
	z-index: 1;
	transform: translateZ(0);
	transition: transform 0.3s cubic-bezier(0.35, 0.755, 0.42, 0.95);
	/*background-color: var(--wp--preset--color--contrast);*/
	background-color: transparent;
}

.a-btn__bg::before {
	content: '';
	position: absolute;
	inset: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	transform-origin: left top;
	transform: translate3d(0, 102%, 2px);
	transition: transform 0.3s
	cubic-bezier(0.35, 0.755, 0.42, 0.95);
	z-index: 1;
	background-color: var(--wp--preset--color--contrast);
}

.js-anim-split-text {
	opacity: 0;
}

/* Page Adjustments */
body.privacy-policy .site-header {
	background-color: var(--wp--preset--color--contrast);
}