/*
 * Fortis theme - layout and decoration that theme.json cannot express.
 * Matches the 2021 Gatsby design (fortisgroupwa.com.au) block for block.
 * Breakpoints from the original: 768px and 1200px.
 * Shapes are inline SVG data URIs (generated from the original site's SVGs).
 */

/* ---------- Page frame ---------- */

/* The original design sized every box this way. */
*,
*::before,
*::after {
	box-sizing: border-box;
}

.wp-site-blocks > * {
	margin-block-start: 0;
}

/* Full-width sections sit flush against each other. */
.wp-block-post-content > .alignfull,
:where(.wp-block-post-content) .alignfull + .alignfull {
	margin-block-start: 0;
}

/* Space under headings (38px); WordPress's layout rules would otherwise reset it. */
:is(h1, h2, h3, h4, h5, h6).wp-block-heading {
	margin-bottom: 38px;
}

/*
 * Rules that override a theme.json value need more specificity than it has, not just a later
 * position: from WordPress 7.0 the block editor loads theme.json styles AFTER this file.
 * Hence ":root h1" and the doubled classes below.
 */
@media (min-width: 768px) {
	:root h1 {
		font-size: 50px;
	}
}

/* Columns stack below 1200px, as on the original site. */
@media (max-width: 1199.98px) {
	.wp-block-columns:not(.is-not-stacked-on-mobile):not(.fortis-footer__cols) {
		flex-wrap: wrap !important;
	}
	.wp-block-columns:not(.is-not-stacked-on-mobile):not(.fortis-footer__cols) > .wp-block-column {
		flex-basis: 100% !important;
	}
	.wp-block-columns.is-style-fortis-reverse-mobile {
		flex-direction: column-reverse;
	}
}

/* ---------- Buttons ---------- */

.wp-block-buttons > .wp-block-button {
	margin-block: 20px;
}

.wp-block-button:not(.has-custom-width) > .wp-block-button__link {
	min-width: 240px;
	text-align: center;
}

.wp-block-button.is-style-secondary > .wp-block-button__link {
	background-color: var(--wp--preset--color--grey);
	border-color: var(--wp--preset--color--grey);
	color: var(--wp--preset--color--white);
}

.wp-block-button.is-style-secondary > .wp-block-button__link:hover,
.wp-block-button.is-style-secondary > .wp-block-button__link:focus {
	background-color: transparent;
	color: var(--wp--preset--color--grey);
}

/* Buttons given a palette colour: border matches, hover turns outline in that colour. */
.wp-block-button__link.has-yellow-background-color {
	border-color: var(--wp--preset--color--yellow);
}

.wp-block-button__link.has-yellow-background-color:hover,
.wp-block-button__link.has-yellow-background-color:focus {
	background-color: transparent !important;
	color: var(--wp--preset--color--yellow) !important;
}

.wp-block-button__link.has-dark-background-color {
	border-color: var(--wp--preset--color--dark);
}

.wp-block-button__link.has-dark-background-color:hover,
.wp-block-button__link.has-dark-background-color:focus {
	background-color: transparent !important;
	color: var(--wp--preset--color--dark) !important;
}

.wp-block-button__link.has-black-background-color {
	border-color: var(--wp--preset--color--black);
}

.wp-block-button__link.has-black-background-color:hover,
.wp-block-button__link.has-black-background-color:focus {
	background-color: transparent !important;
	color: var(--wp--preset--color--black) !important;
}

.wp-block-button__link.has-plumbing-background-color {
	border-color: var(--wp--preset--color--plumbing);
}

.wp-block-button__link.has-plumbing-background-color:hover,
.wp-block-button__link.has-plumbing-background-color:focus {
	background-color: transparent !important;
	color: var(--wp--preset--color--plumbing) !important;
}

.wp-block-button__link.has-real-estate-background-color {
	border-color: var(--wp--preset--color--real-estate);
}

.wp-block-button__link.has-real-estate-background-color:hover,
.wp-block-button__link.has-real-estate-background-color:focus {
	background-color: transparent !important;
	color: var(--wp--preset--color--real-estate) !important;
}

.wp-block-button__link.has-muted-background-color {
	border-color: var(--wp--preset--color--muted);
}

.wp-block-button__link.has-muted-background-color:hover,
.wp-block-button__link.has-muted-background-color:focus {
	background-color: transparent !important;
	color: var(--wp--preset--color--muted) !important;
}

/* ---------- Header ---------- */

.fortis-site-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 1000;
	background-color: var(--wp--preset--color--white);
}

@media (max-width: 600px) {
	.admin-bar .fortis-site-header {
		top: 0;
	}
}

.fortis-header {
	position: relative;
	row-gap: 0;
}

.fortis-header .fortis-header__logo {
	flex-grow: 1;
	margin: 0;
}

.fortis-header .fortis-header__logo img {
	display: block;
	width: 283px;
	max-width: 100%;
	height: auto;
}

.fortis-header > nav.fortis-nav {
	margin-right: 25px;
}

.fortis-header .wp-block-navigation__container {
	column-gap: 50px;
}

.fortis-header .wp-block-navigation .wp-block-navigation-item__content {
	color: var(--wp--preset--color--dark);
}

/* Dropdown (desktop) */
.fortis-header .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
	background-color: #f9f9f9;
	border: 0;
	border-left: 5px solid var(--wp--preset--color--yellow);
	box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
	min-width: 160px;
	padding: 0;
}

.fortis-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 15px 20px;
}

.fortis-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover {
	background-color: #ececec;
}

/* Hamburger below 1200px (core switches at 600px). */
.fortis-header .wp-block-navigation__responsive-container-open,
.fortis-header .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--yellow);
}

@media (min-width: 600px) and (max-width: 1199.98px) {
	.fortis-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
	.fortis-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
}

@media (max-width: 1199.98px) {
	.fortis-header > nav.fortis-nav {
		position: absolute;
		top: 24px;
		right: 2rem;
		margin-right: 0;
	}
	.fortis-header .fortis-header__phone {
		margin-right: 44px;
	}
}

/* Open mobile menu */
.fortis-header .wp-block-navigation__responsive-container.is-menu-open {
	--navigation-layout-justification-setting: flex-start;
	--navigation-layout-justify: flex-start;
	--navigation-layout-align: flex-start;
	background-color: rgba(120, 120, 120, 0.9) !important;
	color: var(--wp--preset--color--white) !important;
	padding: 69px 25px;
	text-align: left;
}

.fortis-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.fortis-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	align-items: flex-start;
}

.fortis-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: flex-start;
	padding-top: 0;
}

.fortis-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: flex-start;
	gap: 30px;
}

.fortis-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	color: var(--wp--preset--color--white);
	font-size: 35px;
	line-height: 1.2;
}

.fortis-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important;
	border-left: 5px solid var(--wp--preset--color--yellow) !important;
	box-shadow: none;
	margin-top: 20px;
	padding: 0 0 0 20px !important;
	gap: 20px;
}

.fortis-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-size: 24px;
	padding: 0;
}

.fortis-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item:hover {
	background: transparent;
}

/* ---------- Phone / email button (plugin block) ---------- */

.fortis-contact-link a {
	align-items: center;
	border: 1px solid var(--wp--preset--color--yellow);
	border-radius: 5px;
	color: #000;
	display: inline-flex;
	line-height: 1.5;
	padding-right: 10px;
	text-decoration: none;
}

.fortis-contact-link a:hover {
	text-decoration: none;
}

.fortis-contact-link__icon {
	background-color: var(--wp--preset--color--yellow);
	display: flex;
	flex: 0 0 auto;
	height: 32px;
	margin-right: 10px;
	padding: 6px 5px;
	width: 32px;
}

.fortis-contact-link__icon svg {
	fill: #fff;
	height: 100%;
	width: 100%;
}

.fortis-editor-note {
	font-size: 13px;
	opacity: 0.8;
}

/* ---------- Home hero (Cover) ---------- */

.wp-block-cover:not(.is-light) :where(h1, h2, h3, h4, p, a) {
	color: var(--wp--preset--color--white);
}

.fortis-kicker.fortis-kicker {
	line-height: 1.5;
	text-transform: uppercase;
}

.fortis-logos {
	gap: 0 !important;
	padding: 40px 0;
}

.fortis-logos > .wp-block-group {
	flex: 0 0 33.33%;
	max-width: 33.33%;
	padding: 0 2rem;
	text-align: center;
}

.fortis-logos .wp-block-image {
	margin: 0;
}

.fortis-logos .wp-block-image a {
	display: block;
}

.fortis-logos .wp-block-image img {
	width: 60%;
}

.fortis-logos p {
	margin-block-start: 0;
}

@media (min-width: 768px) {
	.fortis-logos > .wp-block-group {
		flex-basis: 20%;
		max-width: 20%;
	}
}

@media (min-width: 1200px) {
	.fortis-logos .wp-block-image img {
		width: 50%;
	}
}

/* ---------- Section headings ---------- */

.wp-block-heading.fortis-section-title {
	margin-bottom: 64px;
}

/* ---------- Testimonials slider (plugin block) ---------- */

.fortis-testimonials {
	--fortis-per-view: 1;
	--fortis-gap: 48px;
}

@media (min-width: 768px) {
	.fortis-testimonials {
		--fortis-per-view: 2;
	}
}

@media (min-width: 992px) {
	.fortis-testimonials {
		--fortis-per-view: 3;
	}
}

.fortis-testimonials__track {
	display: flex;
	gap: var(--fortis-gap);
	overflow-x: auto;
	padding: 4px 24px 24px;
	scroll-padding-inline: 24px;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.fortis-testimonials__track::-webkit-scrollbar {
	display: none;
}

.fortis-testimonial {
	background-color: #fff;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.08), 0 4px 4px rgba(0, 0, 0, 0.08), 0 6px 6px rgba(0, 0, 0, 0.08);
	flex: 0 0 calc((100% - (var(--fortis-per-view) - 1) * var(--fortis-gap)) / var(--fortis-per-view));
	padding: 32px;
	scroll-snap-align: start;
}

.fortis-testimonial__name {
	font-size: 24px;
	font-weight: 600;
	margin: 0 0 24px;
}

.fortis-testimonial__date {
	color: var(--wp--preset--color--muted);
	display: block;
	margin-bottom: 24px;
}

.fortis-testimonial__stars {
	color: var(--wp--preset--color--yellow);
	display: flex;
	gap: 5px;
	margin-bottom: 24px;
}

.fortis-testimonial__stars svg {
	fill: currentColor;
	height: 16px;
	width: 16px;
}

.fortis-testimonial__text {
	line-height: 2;
	margin: 0 0 24px;
}

.fortis-testimonials.is-ready .fortis-testimonial:not(.is-expanded) .fortis-testimonial__more,
.fortis-testimonials.is-ready .fortis-testimonial.is-expanded .fortis-testimonial__dots,
.fortis-testimonials:not(.is-ready) .fortis-testimonial__dots,
.fortis-testimonials:not(.is-ready) .fortis-testimonial__toggle {
	display: none;
}

.fortis-testimonial__toggle {
	background: none;
	border: 0;
	color: inherit;
	cursor: pointer;
	font: inherit;
	line-height: 2;
	margin: 0 0 24px;
	padding: 0;
}

.fortis-testimonials__range {
	margin-top: 24px;
	text-align: center;
}

.fortis-testimonials__range input {
	accent-color: var(--wp--preset--color--yellow);
	cursor: pointer;
}

/* ---------- Image shapes ---------- */

.wp-block-image.is-style-fortis-blob {
	isolation: isolate;
	position: relative;
	text-align: center;
}

.wp-block-image.is-style-fortis-blob::before {
	aspect-ratio: 53.57 / 59.24;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='23.25 11.3 53.57 59.24' preserveAspectRatio='none'%3E%3Cpath transform=%22translate(50 50)%22 fill='%23F2BB2F' fill-opacity=%220.8%22 d='M17.2,-20.3C22.4,-12.1,26.6,-6.1,26.8,0.3C27.1,6.6,23.4,13.2,18.3,16C13.2,18.7,6.6,17.7,-0.8,18.6C-8.2,19.4,-16.5,22.1,-21.3,19.3C-26.1,16.5,-27.5,8.2,-26.4,1.2C-25.2,-5.9,-21.4,-11.8,-16.6,-20C-11.8,-28.1,-5.9,-38.6,0.1,-38.7C6.1,-38.8,12.1,-28.5,17.2,-20.3Z'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
	content: "";
	left: 0;
	pointer-events: none;
	position: absolute;
	top: -33px;
	width: 100%;
	z-index: -1;
}

.wp-block-image.is-style-fortis-blob img {
	margin-top: 40px;
	max-width: 85%;
}

.wp-block-image.is-style-fortis-blob-large {
	isolation: isolate;
	position: relative;
}

.wp-block-image.is-style-fortis-blob-large::before {
	aspect-ratio: 746.22 / 714.55;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='147.43 100.56 746.22 714.55' preserveAspectRatio='none'%3E%3Cpath fill='%23F2BB2F' fill-opacity=%220.8%22 d='M737.635 255.79C785.984 305.452 841.621 347.741 865.994 412.999C892.522 484.025 905.452 563.453 879.579 635.831C853.191 709.648 797.731 776.831 725.348 806.441C657.545 834.177 586.791 786.552 514.156 785.317C437.496 784.013 358.075 832.744 289.819 799.036C216.883 763.016 165.828 686.354 150.66 605.802C135.85 527.151 174.814 449.887 210.376 377.146C243.423 309.551 287.719 250.468 347.025 204.146C411.571 153.729 482.946 91.1602 562.968 101.74C642.329 112.233 682.111 198.758 737.635 255.79Z'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
	content: "";
	left: 0;
	pointer-events: none;
	position: absolute;
	top: -100px;
	width: 100%;
	z-index: -1;
}

/* ---------- Group shapes ---------- */

/* Large pale shape behind the lower part of a page (About). Sits behind everything. */
.wp-block-group.is-style-fortis-blob-pale {
	position: relative;
}

.wp-block-group.is-style-fortis-blob-pale::before {
	aspect-ratio: 1780.32 / 1774.6;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-251.45 415.15 1780.32 1774.6' preserveAspectRatio='none'%3E%3Cpath fill='%23FFF6DD' fill-opacity=%220.8%22 d='M100.842 761.789C215.412 643.781 310.7 544.202 467.396 484.161C637.942 418.813 871.831 386.348 1053.93 448.146C1239.64 511.171 1413.6 608.822 1497.8 784.069C1576.67 948.229 1430.08 1120.58 1438.44 1296.86C1447.27 1482.91 1579.6 1674.98 1507.4 1841.08C1430.25 2018.57 1249.69 2143.51 1053.93 2181.43C862.786 2218.44 666.616 2124.94 482.107 2039.64C310.649 1960.37 158.367 1853.68 35.1133 1710.4C-99.0307 1554.45 -264.141 1382.1 -250.675 1187.77C-237.321 995.036 -30.7326 897.312 100.842 761.789Z'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
	bottom: 0;
	content: "";
	left: -50px;
	pointer-events: none;
	position: absolute;
	width: 100%;
	z-index: -1;
}

/* Contact / Book a Quote: shape behind the form. */
.wp-block-group.is-style-fortis-blob-cream,
.wp-block-group.is-style-fortis-blob-sky {
	isolation: isolate;
	position: relative;
}

.wp-block-group.is-style-fortis-blob-cream::before,
.wp-block-group.is-style-fortis-blob-sky::before {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='282.14 -74.67 1248.97 1287.35' preserveAspectRatio='xMinYMin meet'%3E%3Cpath fill='%23fdefc8' fill-opacity=%220.8%22 d='M1201.6 1061.22C1102.25 1120.63 1012.76 1195.43 895.457 1207.92C767.79 1221.51 630.681 1208.69 518.483 1133.95C404.055 1057.72 310.55 935.697 285.558 801.643C262.148 676.071 365.675 578.268 392.314 457.18C420.429 329.382 365.866 175.243 445.29 75.5831C530.161 -30.9105 675.545 -83.1253 815.288 -73.5604C951.734 -64.2211 1067.67 34.5596 1177.19 125.679C1278.97 210.354 1362.72 310.17 1420.06 429.581C1482.47 559.543 1562.89 706.215 1518.13 835.616C1473.74 963.948 1315.69 993.005 1201.6 1061.22Z'/%3E%3C/svg%3E") no-repeat left top / contain;
	bottom: 0;
	content: "";
	left: 0;
	pointer-events: none;
	position: absolute;
	top: 10%;
	width: min(100%, 900px);
	z-index: -1;
}

.wp-block-group.is-style-fortis-blob-sky::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='282.14 -74.67 1248.97 1287.35' preserveAspectRatio='xMinYMin meet'%3E%3Cpath fill='%23f3f8fb' fill-opacity=%220.8%22 d='M1201.6 1061.22C1102.25 1120.63 1012.76 1195.43 895.457 1207.92C767.79 1221.51 630.681 1208.69 518.483 1133.95C404.055 1057.72 310.55 935.697 285.558 801.643C262.148 676.071 365.675 578.268 392.314 457.18C420.429 329.382 365.866 175.243 445.29 75.5831C530.161 -30.9105 675.545 -83.1253 815.288 -73.5604C951.734 -64.2211 1067.67 34.5596 1177.19 125.679C1278.97 210.354 1362.72 310.17 1420.06 429.581C1482.47 559.543 1562.89 706.215 1518.13 835.616C1473.74 963.948 1315.69 993.005 1201.6 1061.22Z'/%3E%3C/svg%3E");
}

/* ---------- Service pages ---------- */

/* Heights = original banner height minus the header, which no longer overlaps it. */
.wp-block-group.is-style-fortis-service-hero {
	color: #fff;
	min-height: 314px;
	overflow: hidden;
	position: relative;
}

/* Both waves in one layer (the block editor uses ::after for its selection outline). */
.wp-block-group.is-style-fortis-service-hero::before {
	aspect-ratio: 1920 / 320;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 320' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' fill-opacity=%220.5%22 d='M-122 23.031L-18.3999 55.5407C85.2001 88.0504 292.4 153.07 499.6 191.675C706.8 230.958 914 243.826 1121.2 191.675C1328.4 140.201 1535.6 23.031 1742.8 16.2581C1950 10.1626 2157.2 113.787 2364.4 140.201C2571.6 165.938 2778.8 113.787 2882.4 88.0504L2986 61.6362L2991.5 2752H2887.9C2784.3 2752 2577.1 2752 2369.9 2752C2162.7 2752 1955.5 2752 1748.3 2752C1541.1 2752 1333.9 2752 1126.7 2752C919.5 2752 712.3 2752 505.1 2752C297.9 2752 90.7001 2752 -12.8999 2752H-116.5L-122 23.031Z'/%3E%3C/svg%3E") no-repeat bottom / 100% 100%,
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 320' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' fill-opacity=%220.8%22 d='M-598 16L-503.967 48.2332C-409.933 80.4664 -221.867 144.933 -33.8 183.21C154.267 222.158 342.333 234.917 530.4 183.21C718.467 132.174 906.533 87.1816 1094.6 80.4663C1282.67 74.4226 1470.73 105.984 1658.8 132.174C1846.87 157.692 2034.93 105.984 2128.97 80.4663L2223 54.2769V2726H2128.97C2034.93 2726 1846.87 2726 1658.8 2726C1470.73 2726 1282.67 2726 1094.6 2726C906.533 2726 718.467 2726 530.4 2726C342.333 2726 154.267 2726 -33.8001 2726C-221.867 2726 -409.933 2726 -503.967 2726H-598L-598 16Z'/%3E%3C/svg%3E") no-repeat bottom / 100% 100%,
		linear-gradient(180deg, transparent 0, rgba(255, 255, 255, 0.5) 80%, #fff);
	bottom: 0;
	content: "";
	left: 0;
	pointer-events: none;
	position: absolute;
	width: 100%;
}

.wp-block-group.is-style-fortis-service-hero :where(h1, h2, p) {
	color: #fff;
}

.wp-block-group.is-style-fortis-service-hero h1 {
	padding-top: 20px;
}

.fortis-service-subtitle.fortis-service-subtitle {
	font-size: 18px;
	font-weight: 300;
	letter-spacing: 0.08em;
	line-height: 1.5;
	text-transform: capitalize;
}

@media (min-width: 768px) {
	.wp-block-group.is-style-fortis-service-hero {
		min-height: 468px;
	}
	.wp-block-group.is-style-fortis-service-hero h1 {
		padding-top: 60px;
	}
}

@media (min-width: 1200px) {
	.wp-block-group.is-style-fortis-service-hero {
		min-height: 668px;
	}
	.fortis-service-subtitle.fortis-service-subtitle {
		font-size: 32px;
	}
}

/* Wave divider (Separator > Styles > Wave): pick its colour in the block settings. */
.wp-block-separator.is-style-fortis-wave.is-style-fortis-wave {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 320' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M-122 23.031L-18.3999 55.5407C85.2001 88.0504 292.4 153.07 499.6 191.675C706.8 230.958 914 243.826 1121.2 191.675C1328.4 140.201 1535.6 23.031 1742.8 16.2581C1950 10.1626 2157.2 113.787 2364.4 140.201C2571.6 165.938 2778.8 113.787 2882.4 88.0504L2986 61.6362L2991.5 2752H2887.9C2784.3 2752 2577.1 2752 2369.9 2752C2162.7 2752 1955.5 2752 1748.3 2752C1541.1 2752 1333.9 2752 1126.7 2752C919.5 2752 712.3 2752 505.1 2752C297.9 2752 90.7001 2752 -12.8999 2752H-116.5L-122 23.031Z'/%3E%3C/svg%3E") no-repeat bottom / 100% 100%;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 320' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M-122 23.031L-18.3999 55.5407C85.2001 88.0504 292.4 153.07 499.6 191.675C706.8 230.958 914 243.826 1121.2 191.675C1328.4 140.201 1535.6 23.031 1742.8 16.2581C1950 10.1626 2157.2 113.787 2364.4 140.201C2571.6 165.938 2778.8 113.787 2882.4 88.0504L2986 61.6362L2991.5 2752H2887.9C2784.3 2752 2577.1 2752 2369.9 2752C2162.7 2752 1955.5 2752 1748.3 2752C1541.1 2752 1333.9 2752 1126.7 2752C919.5 2752 712.3 2752 505.1 2752C297.9 2752 90.7001 2752 -12.8999 2752H-116.5L-122 23.031Z'/%3E%3C/svg%3E") no-repeat bottom / 100% 100%;
	aspect-ratio: 1920 / 320;
	border: 0;
	height: auto;
	margin-block: 0;
	max-width: none;
	opacity: 0.5;
	width: auto;
}

/* ---------- Gallery (Gallery > Styles > Square tiles) ---------- */

.wp-block-gallery.is-style-fortis-tiles {
	--wp--style--unstable-gallery-gap: 2rem;
	gap: 2rem;
}

.wp-block-gallery.is-style-fortis-tiles .wp-block-image {
	position: relative;
}

.wp-block-gallery.is-style-fortis-tiles.has-nested-images figure.wp-block-image img {
	aspect-ratio: 1 / 1;
	height: auto;
	object-fit: cover;
}

.wp-block-gallery.is-style-fortis-tiles .wp-block-image:not(.block-editor-block-list__block)::after {
	background: rgba(0, 0, 0, 0.6);
	content: "";
	inset: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transition: opacity 0.3s;
	z-index: 1;
}

.wp-block-gallery.is-style-fortis-tiles .wp-block-image:not(.block-editor-block-list__block):hover::after {
	opacity: 1;
}

@media (max-width: 599.98px) {
	.wp-block-gallery.is-style-fortis-tiles.has-nested-images figure.wp-block-image:not(#individual-image) {
		width: 100%;
	}
}

/* ---------- Forms (Fluent Forms, styled like the original forms) ---------- */

.fortis-form.fortis-form {
	margin-top: 150px;
}

.fortis-form .fluentform .ff-el-group {
	margin-bottom: 40px;
}

.fortis-form .fluentform .ff-el-form-control {
	background-color: transparent;
	background-position: 0 3px;
	background-repeat: no-repeat;
	background-size: 18px 18px;
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--muted);
	border-radius: 0;
	box-shadow: none;
	color: var(--wp--preset--color--muted);
	font-family: inherit;
	font-size: 16px;
	font-weight: 300;
	padding: 0 0 10px 40px;
}

.fortis-form .fluentform textarea.ff-el-form-control {
	padding-left: 0;
}

.fortis-form .fluentform .ff-el-form-control:focus {
	border-bottom-color: var(--wp--preset--color--dark);
	color: var(--wp--preset--color--dark);
}

.fortis-form .fluentform .ff-el-form-control[name="full_name"] {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23939598' d='M313.6 304c-28.7 0-42.5 16-89.6 16-47.1 0-60.8-16-89.6-16C60.2 304 0 364.2 0 438.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-25.6c0-74.2-60.2-134.4-134.4-134.4zM400 464H48v-25.6c0-47.6 38.8-86.4 86.4-86.4 14.6 0 38.3 16 89.6 16 51.7 0 74.9-16 89.6-16 47.6 0 86.4 38.8 86.4 86.4V464zM224 288c79.5 0 144-64.5 144-144S303.5 0 224 0 80 64.5 80 144s64.5 144 144 144zm0-240c52.9 0 96 43.1 96 96s-43.1 96-96 96-96-43.1-96-96 43.1-96 96-96z'/%3E%3C/svg%3E");
}

.fortis-form .fluentform .ff-el-form-control[name="email"] {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23939598' d='M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z'/%3E%3C/svg%3E");
}

.fortis-form .fluentform .ff-el-form-control[name="phone"] {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23939598' d='M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z'/%3E%3C/svg%3E");
}

.fortis-form .fluentform .ff-el-form-control[name="business"] {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23939598' d='M320 336c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h416c25.6 0 48-22.4 48-48V288H320v48zm144-208h-80V80c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h512v-80c0-25.6-22.4-48-48-48zm-144 0H192V96h128v32z'/%3E%3C/svg%3E");
}

.fortis-form .fluentform .ff-el-form-control[name="location"] {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23939598' d='M8 16s6-5.686 6-10A6 6 0 002 6c0 4.314 6 10 6 10zm0-7a3 3 0 100-6 3 3 0 000 6z'/%3E%3C/svg%3E");
}

.fortis-form .fluentform .ff-el-form-control[name="service"] {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23939598' d='M0 1l1-1 3.081 2.2a1 1 0 01.419.815v.07a1 1 0 00.293.708L10.5 9.5l.914-.305a1 1 0 011.023.242l3.356 3.356a1 1 0 010 1.414l-1.586 1.586a1 1 0 01-1.414 0l-3.356-3.356a1 1 0 01-.242-1.023L9.5 10.5 3.793 4.793a1 1 0 00-.707-.293h-.071a1 1 0 01-.814-.419L0 1zm11.354 9.646a.5.5 0 00-.708.708l3 3a.5.5 0 00.708-.708l-3-3z'/%3E%3C/svg%3E");
}

.fortis-form .fluentform .ff-btn-submit,
.fortis-form .fluentform .ff-btn-submit:not(.ff_btn_no_style) {
	background-color: var(--wp--preset--color--yellow);
	border: 2px solid var(--wp--preset--color--yellow);
	border-radius: 5px;
	color: #fff;
	font-family: inherit;
	font-size: 16px;
	padding: 20px 50px;
	text-transform: uppercase;
	width: 240px;
}

.fortis-form .fluentform .ff-btn-submit:hover {
	background-color: transparent;
	color: var(--wp--preset--color--yellow);
	opacity: 1;
}

/* ---------- Footer ---------- */

.fortis-footer h2 {
	color: #fff;
	font-size: 22px;
}

.fortis-footer .wp-block-heading:is(h3) {
	color: #fff;
	font-weight: 600;
	margin-bottom: 19px;
}

.fortis-footer p {
	color: #fff;
}

.fortis-footer .fortis-footer__nav {
	list-style: none;
	padding-left: 0;
}

.fortis-footer .fortis-footer__nav li {
	line-height: 1.5;
	padding-bottom: 5px;
	text-transform: uppercase;
}

.fortis-footer .fortis-contact-link {
	margin-block-start: 0;
	margin-bottom: 24px;
}

.fortis-footer .fortis-contact-link a {
	color: #fff;
	white-space: nowrap;
}

.fortis-footer .fortis-social {
	font-size: 36px;
	gap: 20px;
}

.fortis-footer .fortis-footer__meta {
	margin-top: 10px;
}

.fortis-footer .fortis-footer__meta p {
	font-size: 12px;
	margin: 0;
}

@media (min-width: 782px) and (max-width: 1199.98px) {
	.fortis-footer .fortis-footer__cols {
		flex-wrap: wrap !important;
	}
	.fortis-footer .fortis-footer__cols > .wp-block-column {
		flex-basis: calc(50% - 2rem) !important;
		flex-grow: 0;
	}
}

@media (max-width: 1199.98px) {
	.fortis-footer h3 {
		padding-top: 24px;
	}
}
