/*
Theme Name: Dynamic Physio
Author: Tylor Reimer
Author URI: http://www.chezkoop.ca/
Description: A custom theme for Dynamic Physiotherapy.
Version: 1.0.0
Text Domain: dynamic-text
Tags: 
*/

section.intro .intro-text a {
	display: inline-block;
	border: 0;
}

section.stagger p {
	padding-left: 20px;
}

@media screen and (max-width: 1199px) {
	.ubermenu-responsive {
		max-height: 100vh;
		height: 100vh;
	}

	.ubermenu.ubermenu-main .ubermenu-item-level-0 > .ubermenu-target {
		padding: 1.25rem 0.5rem;
	}
}

@media (max-width: 768px) {
	.footer-connect {
		padding-right: 15px;
		padding-left: 15px;
	}
}

.site-hero .hero-image {
	width: 100%;
}

.location-modal {
	display: none;
}

.module-more-info {
	cursor: pointer;
}

section.top-modules .module .module-ctas .btn {
	font-family: "Roboto Condensed", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.5;
	text-transform: uppercase;
}

section.top-modules .module {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}

section.top-modules .module .meta,
section.top-modules .module p {
	text-align: center;
	width: 100%;
}

section.top-modules .module h2.heading {
	text-align: center;
}

#modal-box .location-name {
	font-family: "Roboto", Helvetica, Arial, sans-serif;
	font-size: 1.25rem;
	margin-bottom: 12px;
	text-transform: uppercase;
}

#modal-box .location-more-info p:last-child {
	margin-bottom: 0;
}

#modal-box .wpgmza_map,
#modal-box .wpgmza {
	aspect-ratio:2 / 1;
	height: auto !important;
	width: 100%;
}

@media (max-width: 767px) {
	#modal-box {
		padding: 8px;
	}

	#modal-box .container {
		align-items: center;
		display: flex;
		height: auto;
		max-width: 100%;
		min-height: 100%;
		padding-left: 0;
		padding-right: 0;
		width: 100%;
	}

	#modal-box .content {
		margin-top: auto;
		margin-bottom: auto;
		padding: 16px;
		width: 100%;
	}
}

section.services-grid {
	padding: 60px 0;
}

.services-grid__list {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.service-card {
	color: #1c1b1a;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-bottom: 8px;
	text-decoration: none;
	width: calc((100% - 90px) / 4);
}

.service-card:hover,
.service-card:focus {
	color: #1c1b1a;
	text-decoration: none;
}

.service-card__media {
	aspect-ratio: 350 / 280;
	overflow: hidden;
	width: 100%;
}

.service-card__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.service-card__title {
	font-family: "Roboto", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	margin: 0;
}

@media (max-width: 991px) {
	.service-card {
		width: calc((100% - 60px) / 3);
	}
}

@media (max-width: 767px) {
	.service-card {
		width: calc((100% - 30px) / 2);
	}
}

@media (max-width: 575px) {
	.service-card {
		width: 100%;
	}
}

section.banner-cta {
	overflow: visible;
	padding: 80px 0 60px;
}

.banner-cta__container {
	overflow: visible;
	padding-right: 0;
}

.banner-cta__frame {
	overflow: visible;
	position: relative;
}

.banner-cta__wrapper {
	align-items: center;
	background-color: #1c1b1a;
	display: flex;
	gap: 30px;
	min-height: 224px;
	overflow: visible;
	padding: 30px 0 30px 30px;
	position: relative;
}

.banner-cta__swoosh {
	height: auto;
	left: 0;
	max-width: 760px;
	pointer-events: none;
	position: absolute;
	top: -20px;
	width: 70%;
	z-index: 2;
}

.banner-cta__content {
	align-items: center;
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 30px;
	position: relative;
	text-align: center;
	z-index: 1;
}

.banner-cta__meta {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 11px;
}

.banner-cta__meta .heading {
	color: #fff;
	font-family: "Roboto", Helvetica, Arial, sans-serif;
	font-size: 2.5rem;
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.1;
	margin: 0;
	text-transform: uppercase;
}

.banner-cta__content p,
.banner-cta__meta p {
	color: #fff;
	font-family: "Roboto Condensed", Helvetica, Arial, sans-serif;
	font-size: 1.25rem;
	line-height: 1.2;
	margin: 0;
	max-width: 28rem;
}

.banner-cta .btn {
	background-color: #e50b14;
	color: #fff;
	margin-top: 0;
}

.banner-cta .btn:hover {
	background-color: #fff;
	color: #1c1b1a;
}

.banner-cta__media {
	align-items: center;
	display: flex;
	flex: 1;
	justify-content: flex-end;
	overflow: visible;
}

.banner-cta__media img {
	display: block;
	height: auto;
	object-fit: contain;
	object-position: right center;
	width: auto;
}

@media (max-width: 991px) {
	.banner-cta__container {
		padding-right: 15px;
	}

	.banner-cta__wrapper {
		flex-direction: column;
		padding: 30px;
	}

	.banner-cta__media {
		justify-content: center;
		width: 100%;
	}

	.banner-cta__media img {
		max-width: 100%;
		object-position: center center;
	}

	.banner-cta__swoosh {
		width: 90%;
	}
}