/* ## Fonts
--------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Figtree:wght@400;700;800&display=swap');


/* ## Headings
--------------------------------------------- */

h1 {
	font-family: 'DM Serif Display', serif;
	font-size: 90px !important;
	line-height: 1 !important;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: #02CFD2;
}

h2 {
	font-family: 'DM Serif Display', serif;
	font-size: 60px !important;
	line-height: 1 !important;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: #02CFD2;
}

h3 {
	font-family: 'Figtree', sans-serif !important;
	font-size: 16px !important;
	line-height: 1.5 !important;
	font-weight: 800;
	letter-spacing: 2px !important;
	text-transform: uppercase;
	color: #121212;
}

h4 {
	font-family: 'Figtree', sans-serif !important;
	font-size: 18px !important;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: 2px !important;
	text-transform: uppercase;
	color: #8602A4;
}

h5 {
	font-family: 'DM Serif Display', serif;
	font-size: 30px !important;
	line-height: 1.1;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: #D102A4;
}

h6 {
	font-family: 'Coastal Notes', serif;
	font-size: 25px !important;
	line-height: 1.1 !important;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: #121212;
}

.h1-large {
	font-size: 83px !important;
}

.h2-large {
	font-size: 90px !important;
}

/* ## Body Copy
--------------------------------------------- */

body {
	font-family: 'Figtree', sans-serif;
	font-size: 17px !important;
	line-height: 1.4 !important;
	font-weight: 400;
	font-style: normal;
	color: #121212;
}


/* ## Accent Font
--------------------------------------------- */

.accent,
.accent h1,
.accent h2,
.accent h3,
.accent h4,
.accent h5,
.accent h6 {
	font-family: 'Coastal Notes', serif;
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: 0;
	text-transform: none;
	color: inherit;
}

.accent-small {
	font-family: 'Coastal Notes', serif;
	font-size: 35px;
	line-height: 1.1;
}

.accent-medium {
	font-family: 'Coastal Notes', serif;
	font-size: 48px;
	line-height: 1.1;
}

.accent-large {
	font-family: 'Coastal Notes', serif;
	font-size: 72px;
	line-height: 1;
}


/* ## Utility Typography
--------------------------------------------- */

.main-heading {
	font-family: 'DM Serif Display', serif;
	color: #02CFD2;
}

.sub-heading {
	font-family: 'Figtree', sans-serif;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 2px;
}

.tilt {
	display: block;
	transform: rotate(-4deg);
}


/* ## Forms
--------------------------------------------- */

input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=number],
input[type=search],
input[type=url],
textarea {
	border-radius: 0 !important;
}


/* ## Buttons
--------------------------------------------- */
/* ---------------------------------------------------------
   DEFAULT button (no class)  =  turquoise -> purple  (the "main" style)
   Add a class on the module's  Advanced > Class  field to switch:

     btn-main        turquoise -> purple   (same as default; handy on UABB buttons)
     btn-secondary   purple    -> turquoise
     btn-accent      white     -> pink

   Native Beaver Builder buttons (a.fl-button) get the default
   automatically. UABB Advanced Buttons keep their own colours
   unless you add one of the classes above.

   Palette:  Turquoise #02CFD2 · Purple #8602A4 · Pink #D102A4
--------------------------------------------------------- */


/* === Shared shape + text styling (native BB buttons) === */
a.fl-button,
.fl-builder-content a.fl-button,
.fl-builder-content a.fl-button:visited {
	padding: 20px 30px;
	border-radius: 8px;
}

a.fl-button *,
.fl-builder-content a.fl-button * {
	font-family: 'Figtree', sans-serif;
	font-weight: 800;
	font-size: 16px;
	letter-spacing: 2px;
	text-transform: uppercase;
}

a {
	color: #D102A4;
}


/* =======================================================
   DEFAULT / MAIN  —  turquoise, purple on hover, white text
   (no class needed; also available as .btn-main for UABB)
======================================================= */

/* surface — default turquoise */
a.fl-button,
.fl-builder-content a.fl-button,
.fl-builder-content a.fl-button:visited,
.fl-builder-content .btn-main a.fl-button,
.fl-builder-content .btn-main a.uabb-button {
	background: #02CFD2 !important;
	border: none !important;
}

/* surface — hover purple */
a.fl-button:hover,
.fl-builder-content a.fl-button:hover,
.fl-builder-content .btn-main a.fl-button:hover,
.fl-builder-content .btn-main a.uabb-button:hover {
	background: #121212 !important;
	border-color: #121212 !important;
}

/* text — white both states */
.fl-builder-content a.fl-button *,
.fl-builder-content .btn-main a.fl-button *,
.fl-builder-content .btn-main a.uabb-button,
.fl-builder-content .btn-main a.uabb-button .uabb-button-text {
	color: #121212 !important;
}

.fl-builder-content a.fl-button:hover *,
.fl-builder-content .btn-main a.fl-button:hover *,
.fl-builder-content .btn-main a.uabb-button:hover,
.fl-builder-content .btn-main a.uabb-button:hover .uabb-button-text {
	color: #02CFD2 !important;
}


/* =======================================================
   SECONDARY  —  purple, turquoise on hover, white text
======================================================= */

/* surface — default purple */
.fl-builder-content .btn-secondary a.fl-button,
.fl-builder-content .btn-secondary a.fl-button:visited,
.fl-builder-content .btn-secondary a.uabb-button {
	background: #8602A4 !important;
	border: none !important;
}

/* surface — hover turquoise */
.fl-builder-content .btn-secondary a.fl-button:hover,
.fl-builder-content .btn-secondary a.uabb-button:hover {
	background: #d102a4 !important;
	border-color: #121212 !important;
}

/* text — white both states */
.fl-builder-content .btn-secondary a.fl-button *,
.fl-builder-content .btn-secondary a.fl-button:hover *,
.fl-builder-content .btn-secondary a.uabb-button,
.fl-builder-content .btn-secondary a.uabb-button:hover,
.fl-builder-content .btn-secondary a.uabb-button .uabb-button-text,
.fl-builder-content .btn-secondary a.uabb-button:hover .uabb-button-text {
	color: #FFFFFF !important;
}


/* =======================================================
   ACCENT  —  white + pink border, pink fill on hover
======================================================= */

/* surface — default white with pink border */
.fl-builder-content .btn-accent a.fl-button,
.fl-builder-content .btn-accent a.fl-button:visited,
.fl-builder-content .btn-accent a.uabb-button {
	background: #FFFFFF !important;
border: none !important;
}

/* surface — hover pink */
.fl-builder-content .btn-accent a.fl-button:hover,
.fl-builder-content .btn-accent a.uabb-button:hover {
	background: #D102A4 !important;
	border-color: #D102A4 !important;
}

/* text — pink on white */
.fl-builder-content .btn-accent a.fl-button *,
.fl-builder-content .btn-accent a.uabb-button,
.fl-builder-content .btn-accent a.uabb-button .uabb-button-text {
	color: #D102A4 !important;
}

/* text — white on pink hover */
.fl-builder-content .btn-accent a.fl-button:hover *,
.fl-builder-content .btn-accent a.uabb-button:hover,
.fl-builder-content .btn-accent a.uabb-button:hover .uabb-button-text {
	color: #FFFFFF !important;
}


/* === Generic form buttons (typography only) === */
button,
input[type=button],
input[type=submit] {
	font-family: 'Figtree', sans-serif;
	font-weight: 800 !important;
	letter-spacing: 2px;
	text-transform: uppercase;
	border-radius: 10px !important;
	padding: 12px 24px;
}

.form button, input[type=button], input[type=submit] {
	background-color: #02CFD2 ;
	color: #121212 ;
		border: none !important;
	padding: 20px !important;
}

.form button:hover, input[type=button]:hover, input[type=submit]:hover {
	background-color: #121212;
	color: #fff !important;
	padding: 20px !important;
}

.fl-form-field input, .fl-form-field input[type=text], .fl-form-field input[type=email] {
	padding: 20px;
	border-radius: 10px !important;
}


/* ## Z Index
--------------------------------------------- */

.top-most-content {
	position: relative;
	z-index: 100 !important;
}

.bottom-most-content {
	position: relative;
	z-index: 0 !important;
}


/* ## Bullets
--------------------------------------------- */

.fl-rich-text ul { 
	list-style: none; 
	padding-left: 20px; 
} 
/* 2. Create space for the custom icon */ 
.fl-rich-text ul li { 
	position: relative; 
	padding-left: 30px; 
	margin-bottom: 20px; 
	margin-top: 15px;
} 
/* 3. Add and size the custom image */ 
.fl-rich-text ul li::before { 
	content: ""; 
	position: absolute; 
	left: 0; 
	top: 50%; 
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	background-image: url('https://leoniedawson.com/wp-content/uploads/2026/07/bullet-tur.png'); 
	background-size: contain; background-repeat: no-repeat; }

.contact .fl-rich-text ul li {
	padding-left: 0;
}

.contact .fl-rich-text ul li:before {
	display: none;
}


/* ## Design Elements
--------------------------------------------- */

.topright img {
	margin-bottom: -250px;
	margin-top: -120px;
	position: relative;
	z-index: 1;
}

.bottomleft img {
	margin-bottom: -120px;
	margin-top: -250px;
	position: relative;
	z-index: 1;
}


/* ## Animations
--------------------------------------------- */

.typed-cursor {
	font-weight: 100 !important;
	font-size: 60px;
	opacity: 0.1 !important;
}

.linepath {
	stroke-dasharray: 1000;
	stroke-dashoffset: 1000;
	animation: dash 3s linear forwards;
}

@keyframes dash {
	from {
		stroke-dashoffset: 822;
	}
	to {
		stroke-dashoffset: 0;
	}
}

.linepath:first-child {
	animation-delay: 3s;
}

.fl-page {
	overflow: hidden !important;
}


/* ## Tablet
--------------------------------------------- */

@media only screen and (max-width: 992px) {

	h1 {
		font-size: 52px;
	}

	h2 {
		font-size: 40px;
	}

	.accent-large {
		font-size: 50px;
	}
}

@media only screen and (max-width: 980px) {

	.topright,
	.bottomleft {
		display: none !important;
	}
}


/* ## Mobile
--------------------------------------------- */

@media screen and (max-width: 768px) {

	html,
	body {
		overflow-x: hidden;
	}

	h1,
	h2,
	h3,
	h6,
	.fl-post-feed-meta {
		text-align: center !important;
		line-height: 1.2 !important;
	}

	h1 {
		font-size: 42px !important;
	}

	h2 {
		font-size: 40px !important;
		line-height: 1 !important;
	}

	h3 {
		font-size: 16px !important;
		line-height: 1.3 !important;
	}

	h4 {
		font-size: 16px !important;
	}

	h5 {
		font-size: 28px !important;
	}

	h6 {
		font-size: 19px !important;
	}
	
	p {
		font-size: 17px !important;
	}

	.accent-large {
		font-size: 55px !important;
	}
	
	.h1-large {
		font-size: 48px !important;
		line-height: 1 !important;
	}

	.h2-large {
		font-size: 42px !important;
		line-height:1 !important;
	}

	.fl-button-wrap,
	.fl-builder-content .ua8bb-button-left,
	.fl-menu .fl-menu-responsive-toggle-always {
		text-align: center !important ;
	}

	.nav-previous,
	.nav-next {
		text-align: center !important;
	}

	.fl-post img[class*="wp-image-"],
	.fl-post img.alignnone,
	.fl-post img.alignleft,
	.fl-post img.aligncenter,
	.fl-post img.alignright {
		margin: 0 auto;
		display: block;
		float: none;
		height: auto;
		max-width: 100%;
	}

	.fl-post-feed-content,
	.uabb-button-left,
	.uabb-post-meta {
		text-align: center;
	}

	.fl-post-feed-content p {
		text-align: left;
	}
}


/* ## Small Mobile
--------------------------------------------- */

@media screen and (max-width: 320px) {

	h1 {
		font-size: 30px !important;
	}

	h2 {
		font-size: 45px !important;
		line-height: 1 !important;
	}

	h3 {
		font-size: 13px !important;
	}
	
	h4 {
		font-size: 15px !important;
	}
	
		h5 {
		font-size: 28px !important;
	}
	
	h6 {
		font-size: 18px !important;
	}
	
	p {
		font-size: 17px !important;
	}

	.accent-large {
		font-size: 38px !important;
	}
	
	.h1-large {
		font-size: 45px !important;
		line-height:1 !important;
	}

	.h2-large {
		font-size: 35px !important;
		line-height:1 !important;
	}
}

/* Kajabi opt-in forms: take the invisible reCAPTCHA field out of the row so Name + Email + button fill the space (6 Nov 2026) */
.kajabi-form__form-item.recaptcha-field{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;flex:none!important;margin:0!important;padding:0!important}