/*
Theme Name: Ascend
Theme URI: 
Author: Shane Tremel
Author URI: 
Description: Custom block theme
Requires at least: 6.6
Tested up to: 6.6
Requires PHP: 7.0
Version: 1.0
License: GNU General Public License v3
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: ascend
Tags: block-patterns, block-styles, custom-colors, custom-logo, custom-menu, e-commerce, editor-style, full-site-editing, one-column, style-variations, translation-ready, wide-blocks

/* Legacy Styles (Do not remove)
---------------------------------------- */

/* Legacy Styles (Do not remove)
---------------------------------------- */

/* -- Spacing -- */

:root {
	--wp--preset--spacing--x-small: clamp(10px, 2vw, 20px);
	--wp--preset--spacing--small: clamp(30px, 4vw, 40px);
	--wp--preset--spacing--medium: clamp(40px, 6vw, 60px);
	--wp--preset--spacing--large: clamp(50px, 8vw, 80px);
	--wp--preset--spacing--x-large: clamp(60px, 10vw, 100px);
}

/* -- Font Size -- */

.has-max-36-font-size {
	font-size: clamp(24px, 3vw, 36px);
}

.has-max-48-font-size {
	font-size: clamp(30px, 4vw, 48px);
}

.has-max-60-font-size {
	font-size: clamp(36px, 5vw, 60px);
}

.has-max-72-font-size {
	font-size: clamp(48px, 6vw, 72px);
}

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

a,
button,
input,
textarea,
.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);
}

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

/* -- 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: inherit;
	font-size: var(--wp--preset--font-size--medium);
	font-weight: var(--wp--custom--font-weight--light);
	line-height: var(--wp--custom--line-height--medium);
	padding: 10px 15px;
	width: 100%;
}

input:focus,
textarea:focus {
	filter: brightness(95%);
	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;
}

select {
	background-image: url("assets/icons/icon-arrow-dark.svg");
	background-position: right 12px center;
	background-repeat: no-repeat;
	background-size: 12px;
	cursor: pointer;
	-webkit-appearance: none;
}

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

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

/* -- Cover -- */

.wp-block-cover.is-style-gradient .has-background-dim:not([class*=-background-color]) {
	background-color: transparent;
	background-image: linear-gradient(to top, rgba(10, 10, 10, 0.8), rgba(10, 10, 10, 1));
	opacity: 1;
}

/* -- Navigation -- */

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

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

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

/* -- Navigation Submenu -- */

.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open,
.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
}

.has-contrast-background-color .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open,
.has-contrast-background-color .wp-block-navigation__submenu-container {
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

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

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

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

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	padding-left: 10px !important;
	padding-right: 10px !important;
	padding-top: 5px !important;
}

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

/* -- Box Shadow -- */

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

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

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

/* -- Position -- */

.is-style-position-fixed {
	position: fixed;
}

.is-style-position-relative {
	position: relative;
}

/* -- Z-Index -- */

.is-style-negative-zindex {
	z-index: -99;
}

.is-style-positive-zindex {
	z-index: 99;
}

/* 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 -- */

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

}

a>img {
	transition: opacity .3s;
}

a>img:hover {
	opacity: .7;
}

.wp-element-button {
	border-radius: 5px;
	transition: color .3s, background-color .3s, border-color .3s;
	border-width: 1px;
	border-style: solid;
}

/* Base Styles */
h1,
.h1 {
	font-size: 3.125rem !important;
	line-height: 1.5em !important;
}

h2,
.h2 {
	font-size: 2.5rem !important;
	line-height: 1.5em !important;
}

h3,
.h3 {
	font-size: 2.25rem !important;
	line-height: 1.5em !important;
}

h4,
.h4 {
	font-size: 2rem !important;
	line-height: 1.5em !important;
}

h5,
.h5 {
	font-size: 1.75rem !important;
	line-height: 1.5em !important;
}

h6,
.h6 {
	font-size: 1.5rem !important;
	line-height: 1.5em !important;
}

p {
	font-size: 1.125rem !important;
	line-height: 1.5em !important;
}

a {
	font-size: 1.125rem !important;
	line-height: 1.5em !important;
	font-weight: bold;
}

/* Tablet (max-width: 1024px) */
@media (max-width: 1024px) {

	h1,
	.h1 {
		font-size: 2.5rem !important;
	}

	h2,
	.h2 {
		font-size: 2.25rem !important;
	}

	h3,
	.h3 {
		font-size: 2rem !important;
	}

	h4,
	.h4 {
		font-size: 1.75rem !important;
	}

	h5,
	.h5 {
		font-size: 1.5rem !important;
	}

	h6,
	.h6 {
		font-size: 1.25rem !important;
	}
}

/* Mobile (max-width: 767px) */
@media (max-width: 767px) {

	h1,
	.h1 {
		font-size: 2rem !important;
	}

	h2,
	.h2 {
		font-size: 1.75rem !important;
	}

	h3,
	.h3 {
		font-size: 1.5rem !important;
	}

	h4,
	.h4 {
		font-size: 1.375rem !important;
	}

	h5,
	.h5 {
		font-size: 1.25rem !important;
	}

	h6,
	.h6 {
		font-size: 1.125rem !important;
	}
}

*:focus {
	outline: 1px solid #50b8e7;
}

::selection {
	background-color: rgb(0 0 0 / 50%);
	color: white;
}

/* UTILITY STYLES */
.blue-btn a {
	color: white;
	background-color: #50b8e7;
}

.blue-btn a:hover {
	background-color: #a26494;
}

.white-btn a {
	color: #0a0a0a;
	background-color: white;
	border-color: white;
}

.white-btn a:hover {
	color: white;
	background-color: transparent;
}

.white-t-btn a {
	color: white;
	background-color: transparent;
	border-color: white;
}

.white-t-btn a:hover {
	color: #0a0a0a;
	background-color: white;
}

.white-svg {
	filter: invert(100%) brightness(100%);
}

.group-hover {
	transition: background-color .3s;
}

.group-hover.blue:hover {
	background-color: #50b8e7 !important;
}

.group-hover.pink:hover {
	background-color: #a26494 !important;
}

.group-hover.dark-blue:hover {
	background-color: #364954 !important;
}

.scale-hover a>img {
	transition: scale .3s;
	scale: 1;
}

.scale-hover a>img:hover {
	scale: 1.02;
	opacity: 1;
}

.contact-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

.contact-wrap input,
.contact-wrap select,
.contact-wrap textarea {
	width: calc(100% - 30px);
	border-radius: 5px;
	background-color: #50b8e70f;
	font-size: 18px;
}

@media screen and (max-width: 1080px) {
	.contact-wrap .form-input {
		width: 100%;
	}
}

input:focus,
textarea:focus {
	background-color: #50b8e738;
}

.contact-wrap input[type="submit"] {
	background-color: #50b8e7;
	border-radius: 5px;
	color: white;
	transition: background-color .3s;
	font-weight: 600;
	letter-spacing: 2px;
	font-family: 'Montserrat', sans-serif;
	border-width: 0;
	text-transform: uppercase;
	padding: 15px 30px;
	font-size: 18px;
}

.contact-wrap input[type="submit"]:hover {
	background-color: #a26494;
	cursor: pointer;
}

.d-none {
	display: none;
}

.contact-wrap p {
	margin-block: 0 !important;
}

@media screen and (min-width: 1081px) {
	.contact-wrap .half-width {
		width: calc(50% - 8px)
	}

	.contact-wrap .full-width {
		width: 100%
	}
}

@media screen and (min-width: 782px) {
	.full-width-right>.wp-block-columns {
		max-width: 1280px;
		margin-top: 40px;
	}

	.full-width-right>.wp-block-columns .wp-block-column:first-of-type {
		max-width: 50%;
		padding-block: 7vw !important;
	}

	.full-width-right>.wp-block-columns .wp-block-column:last-of-type {
		position: absolute;
		width: 50vw;
		right: 0;
	}

	.full-width-right {
		padding-block: 10vw !important;
	}
}

@media screen and (max-width: 781px) {
	.full-width-right>.wp-block-columns {
		flex-direction: column-reverse;
		overflow: hidden;
	}

	.full-width-right {
		padding-inline: 0 !important;
		width: 100vw;
	}

	.full-width-right>.wp-block-columns .wp-block-column:first-of-type {
		padding-inline: 30px !important;
		width: calc(100vw - 60px);
	}

	.full-width-right>.wp-block-columns .wp-block-column:last-of-type {
		padding-left: 30px !important;
		width: calc(100vw - 30px);
	}
}

/* HEADER STYLES */
.header-menu a {
	font-family: 'Montserrat', sans-serif !important;
	transition: color .3s, background-color .3s !important;
}

.header-menu a:hover {
	color: #50b8e7 !important;
}

.header-menu>li>ul a:hover {
	background-color: #f8f8f8 !important;
}

.header-menu>li>ul {
	padding: 0 !important;
	transition: background-color .3s, color .3s;
}

.header-menu>li li a {
	padding: 5px 10px !important;
}

.header-menu>li li:last-of-type,
.header-menu>li>ul a {
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
}

@media screen and (max-width: 1050px) and (min-width: 600px) {
	.header-row .header-menu>button {
		display: block;
	}

	.header-row .header-menu>div {
		display: none !important;
	}
}

.header-menu>li>ul.wp-block-navigation-submenu {
	left: 0 !important;
	border-radius: 5px;
	border-width: 0px !important;
	border-top: 3px solid #50b8e7 !important;
	opacity: 0 !important;
	transform: translateY(10px) !important;
	transition: opacity .3s, transform .3s !important;
	height: unset !important;
	visibility: unset !important;
	pointer-events: none;
}

.header-menu>li>a {
	padding-block: 20px !important;
}

.header-menu>li:hover>ul.wp-block-navigation-submenu {
	opacity: 1 !important;
	transform: translateY(0) !important;
	transition: opacity .3s, transform .3s !important;
	pointer-events: all;
}

.header-menu>li>ul.wp-block-navigation-submenu a {
	transition: unset;
}

@media screen and (max-width: 500px) {
	header .wp-block-buttons {
		display: none;
	}
}

@media screen and (min-width: 501px) and (max-width: 600px) {
	header .wp-block-buttons {
		display: block !important;
	}
}

.show-header {
	transform: translateY(0);
}

.hide-header {
	transform: translateY(-100%);
}

@media screen and (max-width: 600px) {
	.grecaptcha-badge,
	.cky-btn-revisit-wrapper {
		transition: opacity .3s !important;
		opacity: 1;
	}
	
	.grecaptcha-badge.hide-scroll,
	.cky-btn-revisit-wrapper.hide-scroll {
		opacity: 0;
	}
}

.global-header-section {
	position: fixed;
	width: 100%;
	transition: transform 0.3s ease;
	background-color: white;
	box-shadow: 0px 4px 10px -6px rgba(0, 0, 0, .3);
	z-index: 1;
}

main {
	min-height: calc(100vh - 95px);
}

/* HOMEPAGE STYLES */
@media screen and (max-width: 1500px) {
	.blue-background {
		background-image: unset !important;
	}
}

@media screen and (max-width: 782px) {
	.home-hero {
		min-height: 85vh;
		padding-block: 20px !important;
		gap: 20px;
		display: flex;
		flex-wrap: wrap;
		align-content: center;
		align-items: center;
	}

	.home-hero > div {
		margin-top: 0 !important;
	}
}