/**
 * Theme Name:       Airco Service
 * Theme URI:        https://www.aircoservice.com/
 * Description:      Airco Service theme, based on the Mai Prosper child theme for the Genesis Framework.
 * Author:           Airco Service
 * Author URI:       https://www.aircoservice.com/
 * Version:          2.1.5
 * Text Domain:      airco
 * Template:         genesis
 * Template Version: 3.3.2
 * License:          GPL-2.0-or-later
 * License URI:      http://www.gnu.org/licenses/gpl-2.0.html
 */

@font-face {
	font-family: house-script;
	src: url(assets/fonts/house-script/house-script.woff2);
	font-weight: normal;
}

.house-script {
	font-family: house-script;
	--h3-font-size: var(--font-size-xxxl);
	--h2-font-size: var(--font-size-xxxxl);
}

:root {
	/* Colors */
	--color-primary: #c8102e;
	--color-secondary: #ffd700;
	--color-custom-1: #005eb8;
	--site-header-background: var(--color-secondary);
	--sub-menu-background: var(--color-secondary);
	/* Fonts */
	--body-font-weight-bold: 700;
	--body-line-height: 1.5;
	--menu-item-link-padding: var(--spacing-xs);
	--menu-font-weight: var(--body-font-weight-bold);
	--menu-font-size: var(--font-size-md);
	--sub-menu-font-size: var(--font-size-md);
	/* Buttons */
	--button-border-radius: 25px;
	--button-font-size: var(--font-size-md);
	--button-font-weight: var(--body-font-weight-bold);
	--button-line-height: 1.1;
	--button-padding: var(--spacing-md) var(--spacing-lg);
	/* Spacing */
	--entry-content-margin-bottom: var(--spacing-xl);
	/* Borders */
	--site-header-border-bottom: 0;
}

/* Reduce gap in site header to make more room for menu */
.site-header-wrap {
	gap: var(--spacing-sm);
}

/* Menu Colors */
header :is(.menu, .sub-menu, .wp-block-navigation, .wp-block-navigation-submenu) {
	--menu-item-link-color: #000;
	--menu-item-link-color-hover: var(--color-primary);
	--sub-menu-link-color: var(--color-heading);
	--sub-menu-item-link-color-hover: var(--color-primary);
}

/* Keep the header sticky even on mobile. */
.has-sticky-header {
	--site-header-position: sticky;
	--site-header-top: var(--body-top);
}

/* Disable the transition bounce effect for the sticky header. */
.header-spacer {
	height: 0px;
	transition: none;
}

/* Force the title area padding and logo width even for the sticky header */
.header-stuck,
:root {
	--custom-logo-width: 120px !important;
	--title-area-padding: var(--spacing-xxs);
	--title-area-padding-mobile: var(--spacing-xxs);
}

.title-area .custom-logo {
	width: var(--custom-logo-width);
}

/* Match block navigation submenu background to classic navigation submenu. */
.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
	background-color: var(--sub-menu-background);
}

/* No underlined links in the header menu. */
header {
	--link-text-decoration-hover: none;
}

/* Reduce the button font size in the header menu. */
.before-header,
header {
	--button-font-size: var(--font-size-sm);
	--button-line-height: 0.9;
}

/* Get rid of the extra top padding for mobile. */
header .wp-block-buttons {
	padding-top: 0px;
}

/* Reduce the gap and padding for the header buttons. */
header .wp-block-group.is-layout-flex.header-buttons {
	gap: var(--spacing-xxxs) var(--spacing-xxxs);
}

/* Set very small padding for when the buttons are stacked in the header. */
header .header-buttons {
	padding: var(--spacing-xxxs);
}

/* Set gap between menu items */
header ul.menu {
	gap: var(--spacing-xxxs);
	padding-right: var(--spacing-xxxs);
}

header .header-right ul.menu>li.menu-item>a.menu-item-link {
	padding-left: var(--spacing-xxxs);
}

/* The "Call Now" button is not a link, simulate a link with cursor. */
header .wp-block-navigation-item.top-menu.phone-button>.wp-block-navigation-item__content {
	text-align: center;
	cursor: pointer;
}

/* Recreating the button styles for the header phone buttons in the nav menu. */
header .wp-block-navigation-item.phone-button>.wp-block-navigation-item__content {
	background-color: var(--color-primary);
	color: #fff;
	border-radius: var(--button-border-radius);
	padding: var(--button-padding);
	justify-content: center;
	font-size: var(--button-font-size);
	font-weight: var(--body-font-weight-bold);
	line-height: var(--button-line-height);
	width: 100%;
}

header .wp-block-navigation-item.phone-button>.wp-block-navigation-item__content:hover {
	color: #fff;
	background: var(--button-background-hover, var(--color-primary-dark, var(--button-background, var(--color-primary))));
	transform: var(--button-transform-hover, var(--button-transform, none));
	filter: var(--button-filter-hover, var(--button-filter, none));
}

header .phone-location {
	padding: var(--spacing-sm);
	font-size: var(--button-font-size);
	line-height: var(--button-line-height);
}

header .wp-block-navigation-item.phone-location>.wp-block-navigation-item__content {
	color: var(--menu-item-link-color);
}

header .wp-block-navigation-item.phone-location>.wp-block-navigation-item__content:hover {
	color: var(--menu-item-link-color-hover);
}

/* Try to get the phone submenu to show up more underneath the call button. */
header .wp-block-navigation-item.top-menu .wp-block-navigation__submenu-container {
	transform: translateX(calc(-50% + var(--spacing-xl)));
}

header .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item.phone-location {
	line-height: var(--button-line-height);
}

header .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item.phone-button {
	padding: 0px var(--spacing-xs);
}

header .wp-block-navigation .has-child .wp-block-navigation__submenu-container li:last-child {
	margin-bottom: var(--spacing-xs);
}

.menu-item-link-current {
	color: var(--menu-item-link-color);
}

/* Offer Countdown */

.offer-container * {
	visibility: hidden;
	opacity: 0;
}

.offer-container.show * {
	visibility: visible;
	opacity: 1;
	transition: visibility 0s, opacity 0.3s linear;
}

.offer-container {
	display: flex;
	gap: var(--spacing-sm);
	justify-content: center;
	align-content: center;
	justify-items: center;
	align-items: center;
}

.offer-title {
	color: var(--color-black);
	font-size: var(--font-size-md);
	font-weight: bold;
}

.countdown-timer {
	display: grid;
	grid-template-columns: min-content min-content min-content min-content;
	grid-template-rows: min-content min-content;
	gap: 0px var(--spacing-xxxs);
	justify-content: center;
	align-content: center;
}

.countdown-time {
	background: var(--color-primary);
	border: 2px var(--color-white) solid;
	border-radius: 5px;
	color: var(--color-white);
	font-size: var(--font-size-md);
	font-weight: bold;
	padding: var(--spacing-xxxs);
	position: relative;
}

.countdown-text {
	align-content: center;
	color: var(--color-black);
	font-size: calc(var(--font-size-xs)/1.3);
	text-align: center;
}

.after-header:has(.offer-banner) {
	position: sticky;
	top: calc(var(--body-top) + var(--header-height-shrunk, var(--header-height, 0px)) - 1px);
}

.offer-banner .wp-block-buttons {
	--button-font-size: var(--font-size-sm);
	--button-line-height: 0.9;
	padding-top: 0px;
}

.offer-banner .ditty-item__content {
	text-align: center;
	font-size: 0.9em;
}

.offer-banner :is(.ditty-slider__slides, .ditty-item__elements) {
	overflow: visible;
}

.ditty-slider__prev {
	margin-left: 10px;
}

.ditty-slider__next {
	margin-right: 10px;
}

.ditty-slider__arrows :is(a, a:hover, a:active) {
	text-decoration: none;
}

@media only screen and (max-width: 799px) {
	.offer-container {
		margin-top: var(--spacing-sm);
	}

	.offer-banner .wp-block-buttons {
		--button-font-size: var(--font-size-xs);
		--button-line-height: 0.8;
	}

	.offer-content span {
		font-size: var(--font-size-xs);
	}
}

/* Hero Header */
.hero-header {
	border-bottom: 7px solid var(--color-secondary);
}

:is(.hero-header) :is(h1, h2, h3, p) {
	text-shadow: 1px 2px black;
}

.header-caption {
	padding: var(--spacing-lg);
	width: 100%;
}

/* Pattern Blocks */
main :is(.choose-your-location, .most-popular-services) h2 {
	--heading-text-transform: uppercase;
}

main .about-this-location h3,
main .testimonials h2 {
	--color-heading: var(--color-primary);
}

body.page.why-choose-us main .why-choose-us .wp-block-buttons {
	display: none;
}

main .has-overlap {
	z-index: 0;
}

main .above-overlap {
	z-index: 1;
}

main .is-column:first-child .has-overlap.has--xxxxl-margin-right {
	padding-right: calc(var(--spacing-xxxxl) + var(--spacing-xl));
}

main .is-column:last-child .has-overlap.has--xxxl-margin-left {
	padding-left: calc(var(--spacing-xxxl));
}

main .header-buttons.wp-block-group.is-layout-flex {
	gap: var(--spacing-xxs);
}

main .home-cta-columns h2 {
	--h2-font-size: 1.5em;
	color: var(--color-primary);
}

main .home-cta-columns h2 :is(a, a:hover, a:active) {
	text-decoration: none;
}

main .home-cta-columns h3 {
	--h3-font-size: 1em;
	text-transform: uppercase;
}

main .card {
	border-radius: var(--button-border-radius);
	box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 14px 0px;
	margin-bottom: var(--spacing-lg);
}

main .card .card-header {
	border-top-left-radius: var(--button-border-radius);
	border-top-right-radius: var(--button-border-radius);
	padding: var(--spacing-xl);
}

main h2.card-header {
	text-align: center;
}

main :is(.contact-info, .service-info, .area-info) h4 {
	margin-bottom: 0px;
	border-bottom: 1px solid var(--color-primary);
}

main .card .fine-print {
	font-size: var(--font-size-xs);
	text-align: center;
}

main .card .price {
	--heading-color: var(--color-custom-1);
	font-size: var(--font-size-xxxl);
}

main .card .price-group h2 {
	padding-top: var(--spacing-md);
}

main .card .is-column:not(:last-child) .price-group {
	border-right: 1px var(--color-primary) solid;
}

main :is(.contact-info .service-info) {
	padding-left: var(--spacing-xl);
	align-items: start;
}

.landing-page .cta-container {
	display: flex;
	justify-content: center;
	align-items: center !important;
	align-content: center;
}

main .gform_confirmation_message {
	font-weight: var(--body-font-weight-bold);
}

main :is(h2.gform_title, h3.gsection_title) {
	padding-top: var(--spacing-md);
}

main p.gform_required_legend {
	padding-bottom: var(--spacing-md);
}

:is(.portal-button, .schedule-button, .phone-button) span {
	font-weight: var(--body-font-weight-bold);
}

.single-post .entry-image-single {
	max-width: 70%;
	margin: 0 auto;
	margin-bottom: var(--spacing-xl) !important;
}

.site-footer .footer-credits {
	--row-gap: 0px;
	gap: 0px var(--column-gap);
	background-color: var(--color-custom-1);
}

.wprevpro_star_imgs_T1 {
	display: block;
}

.wprs_unslider {
	max-width: 80%;
}

.wp-block-group.okc-thunder {
	border-top: 7px solid var(--color-secondary);
}

.wp-block-group.footer-links {
	border-top: 7px solid var(--color-primary);
	white-space: nowrap;
}

/* Reduce the gap in the footer links. */
footer .wp-block-navigation__container {
	gap: var(--spacing-xxxs) var(--spacing-sm);
}

footer .wp-block-navigation__container.location-links {
	padding-bottom: var(--spacing-xxxs);
}

/* Fix white links in footer. */
footer .has-white-color :is(a, a:active, a:focus, a:hover) {
	--link-color: var(--color-white);
	--link-color-hover: var(--color-white);
}

/** Small Screens **/
@media only screen and (max-width:599px) {
	.before-header .wp-block-group.before-header-buttons {
		justify-content: center;
	}

	.header-buttons :is(.wp-block-buttons, nav, .wp-block-navigation),
	:is(header, main) :is(.wp-block-buttons, .wp-block-button, .button, .phone-button, .phone-button, .schedule-button, .portal-button) {
		--button-width: 100%;
		width: 100%;
	}

	header .wp-block-navigation-item.top-menu .wp-block-navigation__submenu-container {
		transform: translateX(calc(-25% + var(--spacing-xl)));
	}

	main .most-popular-services h3 {
		text-align: center;
	}

	.why-choose-us .has-overlap {
		padding-left: var(--spacing-xl);
		padding-right: var(--spacing-xl);
	}

	.do-business-with-airco h3.house-script {
		--h3-font-size: 2em;
		text-align: center;
	}

	footer :is(nav.wp-block-navigation.location-links) {
		margin-left: calc(30vw - (var(--side-spacing) * 2));
	}
}

/* Medium Screens */
@media only screen and (min-width: 600px) {

	.header-stuck,
	:root {
		--custom-logo-width: 120px !important;
	}
}

@media only screen and (min-width: 600px) and (max-width: 799px) {
	.has--xxxxl-margin-right {
		margin-right: calc(var(--spacing-xxxxl) * -1) !important;
	}
}

@media only screen and (max-width:799px) {
	.flex-break {
		width: 100%;
		height: var(--spacing-xxs);
	}

	.before-header,
	header {
		--button-font-size: var(--font-size-xs);
		--button-line-height: 0.8;
	}

	.card .is-column:not(:last-child) .price-group {
		border-right: none;
		border-bottom: 1px var(--color-primary) solid;
		padding-bottom: var(--spacing-md);
	}

	footer :is(nav.wp-block-navigation.location-links) {
		margin-left: calc(35vw - (var(--side-spacing) * 2));
	}

	footer :is(.wp-block-group, .wp-block-navigation.is-vertical, .wp-block-social-links) {
		text-align: center;
		align-items: center;
		justify-content: center;
		--justify-content: center;
		--navigation-layout-justify: center;
		--navigation-layout-align: center;
	}
}

@media only screen and (max-width:1099px) {
	footer .wp-block-navigation .wp-block-navigation-item {
		font-size: var(--font-size-sm);
	}
}

@media only screen and (max-width: 1199px) {
	header .header-right ul.menu>li.menu-item>a.menu-item-link {
		padding-right: var(--spacing-xxxs);
	}

	.before-header,
	header {
		--button-padding: var(--spacing-sm) var(--spacing-md);
	}
}

/* Large Screens */
@media only screen and (min-width: 1300px) {

	.header-stuck,
	:root {
		--custom-logo-width: 150px !important;
	}

	.page-header-wrap {
		--page-header-padding-top: 8vw;
		--page-header-padding-bottom: 8vw;
	}

	.why-choose-us .mai-column .wp-block-group.has-content-left {
		padding-left: calc(((100vw - 1300px) / 2) + var(--spacing-md)) !important;
	}

	.why-choose-us .mai-column .wp-block-group.has-content-right {
		padding-right: calc(((100vw - 1300px) / 2) + var(--spacing-md)) !important;
	}
}

/* Extra Large Screens */
@media only screen and (min-width: 1500px) {
	:root,
	.has-xl-content-width {
		--wrap-max-width: 1400px;
		--content-max-width: 1400px;
	}
	/* Fix before header width */
	.before-header :is(.wp-block-group__inner-container, .wp-block-buttons) {
		width: 1400px !important;
	}
	.page-header-wrap {
		--page-header-padding-top: 5vw;
		--page-header-padding-bottom: 5vw;
	}

	.why-choose-us .mai-column .wp-block-group.has-content-left {
		padding-left: calc(((100vw - 1500px) / 2)) !important;
	}

	.why-choose-us .mai-column .wp-block-group.has-content-right {
		padding-right: calc(((100vw - 1500px) / 2)) !important;
	}
}