/*
 Theme Name:   Paul Jones Design
 Theme URI:    https://pauljonesdesign.com/
 Description:  A custom child theme for GeneratePress
 Author:       Paul Jones
 Author URI:   https://pauljonesdesign.com/
 Template:     generatepress
 Version:      1.5
*/

/* ========== TABLE OF CONTENTS ==========
 * 
 * Theme
 * Utilty
 * Typography
 * Global Styles
 * Fluent Forms
 * CSS Grid
 * 
 ========================================= */
body, .one-container .container {
  background-color: var(--base-2);
  background-image: linear-gradient(
    to bottom,
    #ffffff 0,
    var(--base-2) 400px
  );
  background-repeat: no-repeat;
  background-size: 100% 400px;
}

.one-container::before,
.one-container::after {
    content: "";
    position: absolute;
    top: 0;
    z-index: 0;
    pointer-events: none;
    background-repeat: no-repeat;
}

.one-container::before {
    left: 0;
    width: 200px;
    height: 200px;
    background-image: url("/wp-content/uploads/left.svg");
    background-position: top left;
}

.one-container::after {
    right: 0;
    width: 200px;
    height: 200px;
    background-image: url("/wp-content/uploads/right.svg");
    background-position: top right;
}

@media (max-width: 1440px) {
.one-container::before,
.one-container::after {
    display:none;
}
	
}

/* ||  TYPOGRAPHY */

/* These have to match what is in the Customizer > Typography. Pull in font families using font manager. Set headline-font as 'All Headings and set body-font as HTML. */
:root {
	--heading-font: "Figtree", sans-serif;
	--body-font: "Figtree", sans-serif;
	--fs-h1: clamp(2.25rem, 0.75rem + 3.125vw, 3.25rem);
	--fs-h2: clamp(2rem, 1.25rem + 1.563vw, 2.5rem);
	--fs-h3: clamp(1.5rem, 1.125rem + 0.781vw, 1.75rem);
	--fs-h4: clamp(1.25rem, 0.875rem + 0.781vw, 1.5rem);
	--fs-h5: clamp(1.125rem, 0.75rem + 0.781vw, 1.375rem);
	--fs-h6: clamp(1rem, 0.753rem + 0.515vw, 1.125rem);
	--fs-heading--xl: clamp(2.25rem, 0.75rem + 3.125vw, 3.25rem);
	--fs-heading--lg: clamp(2rem, 1.25rem + 1.563vw, 2.5rem);
	--fs-heading--md: clamp(1.5rem, 1.125rem + 0.781vw, 1.75rem);
	--fs-heading--sm: clamp(1.125rem, 0.75rem + 0.781vw, 1.375rem);
	--fs-heading--xs: clamp(1.125rem, 0.938rem + 0.391vw, 1.25rem);
	--fs-text--xl: clamp(1.25rem, 0.875rem + 0.781vw, 1.5rem);
	--fs-text--lg: clamp(1.125rem, 0.938rem + 0.391vw, 1.25rem);
	--fs-text--md: 1rem;
	--fs-text--sm: clamp(0.85rem, 0.7rem + 0.312vw, 0.95rem);
	--fs-text--xs: clamp(0.75rem, 0.6rem + 0.312vw, 0.85rem);
	--text-pre: clamp(1rem, 0.753rem + 0.515vw, 1.125rem);
	
	--ipa-h1: clamp(2.25rem, 0.75rem + 3.125vw, 3.25rem);
	--ipa-h2: clamp(2rem, 1.25rem + 1.563vw, 2.5rem);
	--ipa-h3: clamp(1.5rem, 1.125rem + 0.781vw, 1.75rem);
	--ipa-h4: clamp(1.25rem, 0.875rem + 0.781vw, 1.5rem);
	--ipa-h5: clamp(1.125rem, 0.75rem + 0.781vw, 1.375rem);
	--ipa-h6: clamp(1.125rem, 0.938rem + 0.75vw, 1.5rem);
	--ipa-heading--xl: clamp(2.25rem, 0.75rem + 3.125vw, 3.25rem);
	--ipa-heading--lg: clamp(2rem, 1.25rem + 1.563vw, 2.5rem);
	--ipa-heading--md: clamp(1.5rem, 1.125rem + 0.781vw, 1.75rem);
	--ipa-heading--sm: clamp(1.25rem, 1.063rem + 0.75vw, 1.625rem);
	--ipa-heading--xs: clamp(1.125rem, 0.938rem + 0.75vw, 1.5rem);
	--ipa-text--xl: clamp(1.25rem, 0.875rem + 0.781vw, 1.5rem);
	--ipa-text--lg: clamp(1.125rem, 1.063rem + 0.25vw, 1.25rem);
	--ipa-text--md: 1rem;
	--ipa-text--sm: clamp(0.85rem, 0.7rem + 0.312vw, 0.95rem);
	--ipa-text--xs: clamp(0.75rem, 0.6rem + 0.312vw, 0.85rem);
}

/* Default Body / p font settings */
p {
	font-size: var(--fs-text--md);
	font-weight:400;
	line-height:1.5;
	margin-bottom:1.5rem;
	font-family:var(--body-font);
}

h1, h2, h3, h4, h5, h6 {
	font-weight:700;
	margin-bottom: .5em;
	font-family: var(--heading-font);
}

h1 {
	font-size:var(--fs-h1);
	line-height:1.05;
}

h2 {
	font-size:var(--fs-h2);
	line-height:1.1;
}

h3 {
	font-size:var(--fs-h3);
	line-height:1.15;
}

h4 {
	font-size:var(--fs-h4);
	line-height:1.1;
}

h5 {
	font-size:var(--fs-h5);
	line-height:1.25;
}

h6 {
	font-size:var(--fs-h6);
	line-height:1.4;
}

p, div, blockquote, li, .pretty {
	text-wrap: pretty;
}

/* ||  GLOBAL */
.gb-button-wrapper a.gb-button, .gb-button, .main-navigation .menu-toggle {
		transition: all 0.3s ease 0s;
}

/* Remove bottom margin on last paragraph */
.gb-container p:last-child:last-of-type {
    margin-bottom: 0px;
}

.block-editor-block-list__layout .gb-container p:nth-last-child(2) {
    margin-bottom: 0px;
}

/* Site Wrapper */
.site-wrapper {
    width: 100%;
    max-width: 1920px;
    margin-inline: auto;
}

#main {
	min-height: 65vh;
}

/* Visually Hidden */
.visually-hidden:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

/* No Underline */
.no-ul, .no-ul a {
	text-decoration: none;
}

/* Knocks out the original overlay side padding to 0. */
.slideout-navigation.do-overlay .inside-navigation {
	padding: 0 0 0 0;
	max-width: 100%;
}

/* Puts the X close icon to the top right. */
.slideout-navigation.do-overlay .slideout-exit {
    position: fixed;
    text-align: right;
}

/* Overrides the original default link colour. */
.slideout-navigation .Button_Primary, .slideout-navigation .Button_Primary a {
    color: var(--white);
}

/* Overrides the Sup[er List Block line height. */
.wp-block-createwithrani-superlist-item a {
	line-height:1.1;
}

/* Removes off-center, mobile menu icon positioning. */
.icon-menu-bars.gp-icon svg {
	top:0em;
}

/* Granular control of styling for dark/light nav bar versions. */
.nav-menu-dark-bg li a {
	color:var(--black-300) !important;
}

.nav-menu-white-pages li a {
	color:var(--black-600) !important;
}
.nav-menu-dark-bg .menu-toggle, .nav-menu-dark-bg li a:hover {
	color:var(--white) !important;
}

.nav-menu-white-pages .menu-toggle, .nav-menu-white-pages li a:hover {
	color:var(--primary) !important;
}

.nav-menu-dark-bg li:hover a svg, .nav-menu-white-pages li:hover a svg  {
	color:var(--accent-3-500) !important;
}


.sticky-sidebar, .post-sidebar {
	position: sticky;
	top: 3rem;
}

/* Targets the ToC links */
.toc-list-item a {
    display: flex;
    align-items: flex-start;
    color: var(--neutral-500);
	padding:5px 5px;
	font-size: 14px;
    line-height: 1.2;
    vertical-align: top;
	margin-left:8px;
}

.toc-list-item a:hover {
    text-decoration: underline;
	color: var(--primary-500);
}

.post-sidebar a.current, .toc-list-item a.is-active-link {
    text-decoration: underline;
	color: var(--primary-500);
}

/* circle dots */
.toc-link:before {
    border: 1px solid var(--neutral-500);
    box-shadow: inset 0 0 0 2.5px #fff;
    content: "";
    display: flex;
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    border-radius: 50%;
	margin-top:0px;
	margin-right:5px;
}

.is-active-link:before {
	border: 1px solid var(--primary-500);
	background: var(--primary-500);
    background-color: var(--primary-500);
}

.is-collapsed .toc-link:before {
	display:none;
}

.toc-list li {
  list-style: none;
}

/* Search icon - remove GeneratePress default. Keep this CSS if you're using a custom icon. */
.main-navigation .menu-bar-item>a {
	display:none;
}

.post-type-post .editor-styles-wrapper {
    max-width: 656px;
    margin-inline: auto;
    width: 100%;
}

.ff-btn-submit {
	border-radius: 9999px;
	padding: 0.75em 1.5em;
}
	
.ff-el-form-control {
    background-color: #fff;
    border: none !important;
    color: var(--contrast);
    outline: none !important;
    transition: box-shadow 0.3s;
    box-shadow: inset 0 0 0 1px #d7dde6 !important;
    font-family: inherit !important;
	padding: 1rem 1.5rem !important;
}

.ff-el-form-control:hover {
    box-shadow: inset 0 0 0 2px var(--primary-600) !important;
}

.ff-el-form-control:focus {
    background-color: #fff;
    border: none !important;
    color: var(--contrast) !important;
    outline: transparent solid 1px !important;
    box-shadow: 
        inset 0 0 0 2px var(--primary-600), 
        0 0 0 2px hsla(137, 45%, 45%, 0.5) !important;
}
	
.ff-el-input--label label {
		font-size:1.25rem !important;
		font-weight:bold !important;
	}
	
	.fluentform .ff-el-group {
		margin-bottom: 1.5rem !important;
	}

	
.ff-message-success {
    border: none !important;
    box-shadow: none !important;
    padding: 0px !important;
}