/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/

/*
 * New World Pools
 * Colours, fonts and spacing are set in Avada > Options and on the elements themselves.
 * This file only holds the few things Avada has no setting for.
 */

/* The "waterline": the brand's blue gradient as a thin rule under the header and above the footer */
.nwp-header,
.nwp-footer {
	position: relative;
}
.nwp-header::after,
.nwp-footer::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(to right, #0477bd 0%, #199ed8 100%);
	pointer-events: none;
}
.nwp-header::after {
	bottom: 0;
}
.nwp-footer::before {
	top: 0;
}

/* Header */
.nwp-header-phone p {
	margin: 0;
}
.nwp-header-phone a {
	color: #fff;
	font-family: Sora, Arial, Helvetica, sans-serif;
	font-size: 16px;
	font-weight: 500;
	white-space: nowrap;
}
.nwp-header-phone a:hover {
	color: #199ed8;
}

/* Buttons never break onto two lines */
.fusion-button {
	white-space: nowrap;
}

/* Groups of buttons */
.nwp-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}
.nwp-actions-stack {
	flex-direction: column;
	align-items: flex-start;
}

/* Home hero: line the headline up with the page grid while the photo runs to the screen edge */
@media (min-width: 1025px) {
	.nwp-hero-copy > .fusion-column-wrapper {
		padding-left: max(30px, calc((100vw - 1240px) / 2 + 30px)) !important;
	}
}
@media (max-width: 1024px) {
	.nwp-hero-photo > .fusion-column-wrapper {
		min-height: 56vw !important;
	}
}

/* "If you can imagine it" banner */
.nwp-imagine > .fusion-column-wrapper {
	min-height: 440px !important;
	justify-content: flex-end !important;
}
@media (max-width: 640px) {
	.nwp-imagine > .fusion-column-wrapper {
		min-height: 320px !important;
	}
}

/* Cards */
.nwp-card > .fusion-column-wrapper {
	box-shadow: 0 1px 2px rgba(10, 43, 69, 0.06), 0 12px 32px -18px rgba(10, 43, 69, 0.28);
}
.nwp-card .fusion-imageframe,
.nwp-card .fusion-imageframe img {
	display: block;
	width: 100%;
}
.nwp-card .fusion-text p:last-child {
	margin-bottom: 0;
}

/* Footer */
.nwp-footer-contact a,
.nwp-footer-legal a {
	color: inherit;
}
.nwp-footer-contact a:hover,
.nwp-footer-legal a:hover {
	color: #fff;
}
.nwp-footer-legal p {
	margin: 0;
}
.nwp-footer-legal a {
	margin-left: 22px;
}
.nwp-footer-bar {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

/* Keyboard focus */
a:focus-visible,
button:focus-visible,
.fusion-button:focus-visible {
	outline: 3px solid #199ed8;
	outline-offset: 3px;
}

/* Long-form text keeps a readable line length */
.nwp-prose {
	max-width: 68ch;
}
.nwp-prose p:last-child {
	margin-bottom: 0;
}

/* Contact form */
.nwp-form p {
	margin: 0 0 18px;
	font-weight: 600;
	color: #0a2b45;
}
.nwp-form input[type="text"],
.nwp-form input[type="email"],
.nwp-form input[type="tel"],
.nwp-form textarea {
	width: 100%;
	margin-top: 6px;
	padding: 13px 14px;
	border: 1px solid #d6e6f0;
	border-radius: 8px;
	background: #fff;
	color: #1c2a36;
	font: 400 18px/1.4 "Source Sans 3", Arial, Helvetica, sans-serif;
	height: auto;
}
.nwp-form textarea {
	min-height: 150px;
}
.nwp-form input:focus,
.nwp-form textarea:focus {
	border-color: #0477bd;
	outline: 3px solid rgba(25, 158, 216, 0.35);
	outline-offset: 0;
}
.nwp-form .wpcf7-submit {
	padding: 15px 26px;
	border: 0;
	border-radius: 8px;
	background: #0477bd;
	color: #fff;
	font: 600 15px/1.2 Sora, Arial, Helvetica, sans-serif;
	cursor: pointer;
}
.nwp-form .wpcf7-submit:hover {
	background: #0a2b45;
}

/* Contact page map */
.nwp-contact-details iframe {
	margin-top: 28px;
	border-radius: 14px;
}

/* Page title band: breadcrumbs sit above the title */
body .fusion-page-title-bar .fusion-page-title-wrapper {
	display: flex;
	flex-direction: column-reverse;
	align-items: flex-start;
	justify-content: center;
	gap: 10px;
}
body .fusion-page-title-bar .fusion-page-title-captions,
body .fusion-page-title-bar .fusion-page-title-secondary {
	display: block !important;
	float: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	text-align: left !important;
}
body .fusion-page-title-bar .fusion-breadcrumbs,
body .fusion-page-title-bar .fusion-breadcrumbs a,
body .fusion-page-title-bar .fusion-breadcrumbs span,
body .fusion-page-title-bar .fusion-breadcrumbs li {
	color: rgba(255, 255, 255, 0.72) !important;
	font-size: 15px;
}
body .fusion-page-title-bar .fusion-breadcrumbs a:hover span {
	color: #fff !important;
}

/* About page photos fill their column */
.nwp-about-photo .fusion-imageframe,
.nwp-about-photo img {
	display: block;
	width: 100%;
}

/* Blog cards on the home page: uniform photos */
.nwp-builds .fusion-flexslider {
	margin-bottom: 18px;
	border-radius: 12px;
	overflow: hidden;
}
.nwp-builds .fusion-flexslider img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.nwp-builds .entry-title {
	margin: 0 0 6px;
}
.nwp-builds .entry-title a {
	color: #0a2b45;
}
.nwp-builds .entry-title a:hover {
	color: #0477bd;
}
.nwp-builds .meta {
	color: #51606e;
}

/* Blog listing: the same card treatment as the pool types */
.fusion-blog-layout-grid .fusion-post-wrapper {
	border: 0 !important;
	border-radius: 14px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 1px 2px rgba(10, 43, 69, 0.06), 0 12px 32px -18px rgba(10, 43, 69, 0.28);
}
.fusion-blog-layout-grid .fusion-flexslider {
	margin-bottom: 0;
}
.fusion-blog-layout-grid .fusion-flexslider img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.fusion-blog-layout-grid .fusion-post-content-wrapper {
	padding: 22px 24px 20px !important;
}
.fusion-blog-layout-grid .entry-title {
	margin: 0 0 6px !important;
	font-size: 20px !important;
	line-height: 1.3 !important;
}
.fusion-blog-layout-grid .entry-title a {
	color: #0a2b45;
}
.fusion-blog-layout-grid .entry-title a:hover {
	color: #0477bd;
}
.fusion-blog-layout-grid .fusion-content-sep {
	display: none;
}
.fusion-blog-layout-grid .fusion-post-content-container {
	margin-top: 10px;
}
@media (min-width: 1025px) {
	.fusion-blog-layout-grid.fusion-blog-layout-grid-3 .fusion-post-grid {
		width: 33.3333% !important;
	}
}

/* Smaller headings on phones */
@media (max-width: 640px) {
	.fusion-title h1,
	.fusion-page-title-bar h1 {
		font-size: 32px !important;
		line-height: 1.15 !important;
	}
	.fusion-title h2 {
		font-size: 27px !important;
		line-height: 1.2 !important;
	}
	.fusion-title h3 {
		font-size: 21px !important;
	}
}

/* Full-width photo at the top of the Pools page */
.nwp-wide .fusion-imageframe,
.nwp-wide img {
	display: block;
	width: 100%;
}

/* Blog posts: a readable column, photos with the same rounded corners as elsewhere */
.single-post .post .post-content {
	max-width: 860px;
}
.single-post .post .post-content img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 0 22px;
	border-radius: 12px;
}
