/* Breakpoints: 478, 767, 991, 1024 padding, 1100 container */

@media (max-width: 1100px) {
	.cwf-container {
		max-width: 100%;
	}
}

@media (max-width: 1024px) {
	.cw-section-padding { padding: var(--rf-space-5) 0; }
	.cw-section-padding-sm { padding: var(--rf-space-2) 0; }
	.cw-section-padding-top { padding-top: var(--rf-space-5); }
	.cw-section-padding-bottom { padding-bottom: var(--rf-space-5); }

	.cwf-card-grid,
	.cwf-post-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 991px) {
	.cwf-container {
		width: 90%;
		padding-inline: 0;
	}

	.cwf-header-main__inner {
		grid-template-columns: 1fr auto;
		padding-right: 8px;
		padding-left: 8px;
	}

	.cwf-logo {
		width: 100%;
		max-width: 220px;
	}

	.cwf-brand-northland .cwf-header-main__inner {
		column-gap: 16px;
	}

	.cwf-brand-northland .cwf-logo {
		max-width: 220px;
	}

	.cwf-nav-toggle {
		display: inline-flex;
		justify-self: end;
	}

	.cwf-primary-nav {
		display: none;
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		justify-self: stretch;
		grid-column: 1 / -1;
		background: #054060;
		padding: 0;
		z-index: var(--rf-z-nav);
	}

	.cwf-primary-nav.is-open { display: block; }

	.cwf-primary-nav > .cwf-menu {
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 0;
	}

	.cwf-primary-nav > .cwf-menu > li > a {
		display: flex;
		width: 100%;
		padding: 0.85em 1em;
		background-color: #054060;
		border-bottom: 2px solid #e9f0f4;
		box-sizing: border-box;
	}

	.cwf-primary-nav > .cwf-menu > .current-menu-item > a,
	.cwf-primary-nav > .cwf-menu > .current-menu-ancestor > a {
		background-color: #1c75bc;
		opacity: 1;
	}

	.cwf-primary-nav .menu-item-has-children > a::after {
		margin-left: auto;
	}

	.cwf-primary-nav .sub-menu {
		position: static;
		transform: none;
		display: none;
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
		min-width: 0;
		width: 100%;
		box-shadow: none;
		background: transparent;
		padding: 0;
	}

	.cwf-primary-nav .sub-menu::before {
		display: none;
	}

	.cwf-primary-nav .menu-item-has-children:hover > .sub-menu,
	.cwf-primary-nav .menu-item-has-children:focus-within > .sub-menu {
		display: none;
	}

	.cwf-primary-nav .menu-item-has-children.is-open > .sub-menu {
		display: block;
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
	}

	.cwf-primary-nav .sub-menu > li > a {
		color: #fff;
		background-color: #054060;
		border-bottom: 1px solid rgba(233, 240, 244, 0.35);
		padding-left: 1.75em;
	}

	.cwf-primary-nav .sub-menu > li > a:hover,
	.cwf-primary-nav .sub-menu > .current-menu-item > a {
		background-color: #1c75bc;
		color: #fff;
	}

	.cwf-testimonials__grid {
		grid-template-columns: 1fr;
	}

	.cwf-quote-card--overlap {
		margin-top: -80px;
		margin-bottom: var(--rf-space-5);
	}

	.cwf-quote-card__inner {
		max-width: none;
	}

	.cwf-stats__grid {
		grid-template-columns: 1fr;
		gap: var(--rf-space-3);
	}

	.cwf-media-text__grid {
		grid-template-columns: 1fr;
		gap: var(--rf-space-3);
	}

	.cwf-service-fab__inner {
		row-gap: 32px;
	}

	.cwf-service-fab__media-content {
		padding: 60px 20px;
	}

	.cwf-service-fab__stats {
		flex-wrap: wrap;
		gap: var(--rf-space-3);
	}

	.cwf-service-fab__stat {
		flex: 1 1 10rem;
	}

	.cwf-features__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.cwf-card-grid,
	.cwf-post-grid,
	.cwf-gallery-teaser__grid {
		grid-template-columns: 1fr;
	}

	.cw-section-padding-top { padding-top: var(--rf-space-2); }
	.cw-section-padding-bottom { padding-bottom: var(--rf-space-2); }

	.cwf-header-utility__inner {
		flex-wrap: nowrap;
	}

	.cwf-header-utility__logo {
		width: 3.8rem;
		height: 3.8rem;
	}

	.cwf-quote-card--overlap {
		margin-top: 0;
	}

	.cwf-hero--home {
		min-height: 420px;
	}
}

@media (max-width: 478px) {
	.cwf-container {
		width: 100%;
		padding-inline: 20px;
	}

	.cwf-footer__grid {
		grid-template-columns: 1fr;
	}

	.cwf-header-utility__inner {
		justify-content: flex-end;
		flex-wrap: nowrap;
	}

	.cwf-header-utility__cta {
		display: none;
	}

	.cwf-header-utility__left {
		justify-content: center;
		width: 100%;
		column-gap: 0;
	}

	.cwf-header-utility__hours {
		width: auto;
		text-align: center;
	}

	.cwf-header-utility__note {
		text-align: center;
	}

	.cwf-header-utility__logo {
		width: 3.8rem;
		height: 3.8rem;
	}

	.cwf-hero { min-height: 280px; }

	.cwf-stats__grid {
		grid-template-columns: 1fr;
	}

	.cwf-form__row {
		grid-template-columns: 1fr;
	}
}
