/*
 Theme Name:   WebsiteValet GeneratePress "Refresh" Child Theme
 Theme URI:    http://generatepress.com
 Description:  A child theme customized for: HarborsEdge.net
 Author:       Tim Taricco
 Author URI:   http://www.timtaricco.com
 Template:     generatepress
 Version:      09.01.25
 Tags: none
*/

/*** Table of contents
––––––––––––––––––––––––––––––––––––––––––––––––––
1  - Load Fonts
2  - Website Variables
3  - Utility Classes
4  - General Customizations
5  - General WordPress Customizations
6  - GeneratePress Global Customizations
7  - GenerateBlocks Customizations
8  - Kadence Blocks Customizations
9  - Gravity Forms Customizations
10 - Styles Loaded to GB Global Styles
11 - Custom Text Format Plugin Custom CSS (Icons loaded to /uploads/gctf/ directory)
12 - Custom Elements
***/


/*** 1 - Load Fonts
–––––––––––––––––––––––––––––––––––––––––––––––––– ***/

@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('fonts/open-sans-v17-latin-regular.eot'); /* IE9 Compat Modes */
	src: local('Open Sans Regular'), local('OpenSans-Regular'),
		url('fonts/open-sans-v17-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
		url('fonts/open-sans-v17-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
		url('fonts/open-sans-v17-latin-regular.woff') format('woff'), /* Modern Browsers */
		url('fonts/open-sans-v17-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
		url('fonts/open-sans-v17-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
}
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('fonts/open-sans-v17-latin-600.eot'); /* IE9 Compat Modes */
	src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
		url('fonts/open-sans-v17-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
		url('fonts/open-sans-v17-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
		url('fonts/open-sans-v17-latin-600.woff') format('woff'), /* Modern Browsers */
		url('fonts/open-sans-v17-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
		url('fonts/open-sans-v17-latin-600.svg#OpenSans') format('svg'); /* Legacy iOS */
}
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('fonts/open-sans-v17-latin-700.eot'); /* IE9 Compat Modes */
	src: local('Open Sans SemiBold'), local('OpenSans-Bold'),
		url('fonts/open-sans-v17-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
		url('fonts/open-sans-v17-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
		url('fonts/open-sans-v17-latin-700.woff') format('woff'), /* Modern Browsers */
		url('fonts/open-sans-v17-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
		url('fonts/open-sans-v17-latin-700.svg#OpenSans') format('svg'); /* Legacy iOS */
}


/*** 2 - Website Variables
Clamp Viewport: 380/1600 - https://clamp.vittoretrivi.dev/
–––––––––––––––––––––––––––––––––––––––––––––––––– ***/

:root {
	/* Settings */
    --body-wrapper-desktop: 1600px;
    --body-wrapper-mobile: 640px;
	--body-background-color: var(--light-2);
	--link-border-bottom: 1px;
	--nav-border-bottom: 3px;
	--button-border-default: 4px;
	--button-text-size: var(--text-p);
	--website-logo-tablet-size: 220px;
	--website-logo-mobile-size: 200px;
    
    /* Text Styling */
    --text-base: clamp(1rem, 0.9611rem + 0.1639vw, 1.125rem); /* 18/16px */
    --line-height-base: 1.5;
    --margin-bottom-base: 1em;
    
    --text-xs: clamp(0.75rem, 0.7111rem + 0.1639vw, 0.875rem); /* 14/12px */
    --line-height-xs: 1.25; 
    --margin-bottom-xs: 1em;
    
    --text-sm: clamp(0.875rem, 0.8361rem + 0.1639vw, 1rem); /* 16/14px */
    --line-height-sm: 1.25; 
    --margin-bottom-sm: 1em;
    
    --text-p: clamp(1rem, 0.9611rem + 0.1639vw, 1.125rem); /* 18/16px */
    --line-height-p: 1.5; 
    --margin-bottom-p: 1em;
    
    --text-md: clamp(1.125rem, 1.0861rem + 0.1639vw, 1.25rem); /* 20/18px */
    --line-height-md: 1.4; 
    --margin-bottom-md: 1em;
    
    --text-lg: clamp(1.375rem, 1.3361rem + 0.1639vw, 1.5rem); /* 24/22px */
    --line-height-lg: 1.4; 
    --margin-bottom-lg: 1em;
    
    --text-xl: clamp(1.5rem, 1.4611rem + 0.1639vw, 1.625rem); /* 26/24px */
    --line-height-xl: 1.3; 
    --margin-bottom-xl: 1em;
    
    --text-h1: clamp(2.625rem, 2.5082rem + 0.4918vw, 3rem); /* 48/42px */
    --line-height-h1: 1.1; 
    --margin-bottom-h1: 0.5em;
    
    --text-h2: clamp(2.25rem, 2.1721rem + 0.3279vw, 2.5rem); /* 40/36px */
    --line-height-h2: 1.2; 
    --margin-bottom-h2: 0.5em;
    
    --text-h3: clamp(1.875rem, 1.7971rem + 0.3279vw, 2.125rem); /* 34/30px */
    --line-height-h3: 1.3; 
    --margin-bottom-h3: 0.5em;
    
    --text-h4: clamp(1.5rem, 1.4221rem + 0.3279vw, 1.75rem); /* 28/24px */
    --line-height-h4: 1.3; 
    --margin-bottom-h4: 0.5em;
    
    --text-h5: clamp(1.25rem, 1.1721rem + 0.3279vw, 1.5rem); /* 24/20px */
    --line-height-h5: 1.4; 
    --margin-bottom-h5: 0.5em;
    
    --text-h6: clamp(1.25rem, 1.2500rem + 0.0000vw, 1.25rem); /* 20/20px */
    --line-height-h6: 1.4; 
    --margin-bottom-h6: 0.5em;
    
    /* Padding Styling */
    --padding-xs: clamp(0.938rem, 0.8408rem + 0.4092vw, 1.25rem); /* 20/15px */
    --padding-sm: clamp(1.25rem, 0.8607rem + 1.6393vw, 2.5rem); /* 40/20px */
    --padding-md: clamp(2.5rem, 1.7213rem + 3.2787vw, 5rem); /* 80/40px */
    --padding-lg: clamp(3.75rem, 2.5820rem + 4.9180vw, 7.5rem); /* 120/60px */
    --padding-xl: clamp(5rem, 3.4426rem + 6.5574vw, 10rem); /* 160/80px */
	
	/* Margin Styling */
    --margin-xs: clamp(0.938rem, 0.8408rem + 0.4092vw, 1.25rem); /* 20/15px */
    --margin-sm: clamp(1.25rem, 0.8607rem + 1.6393vw, 2.5rem); /* 40/20px */
    --margin-md: clamp(2.5rem, 1.7213rem + 3.2787vw, 5rem); /* 80/40px */
    --margin-lg: clamp(3.75rem, 2.5820rem + 4.9180vw, 7.5rem); /* 120/60px */
    --margin-xl: clamp(5rem, 3.4426rem + 6.5574vw, 10rem); /* 160/80px */
	--margin-before-list: 0.25em;
	--margin-thin: 0.25em;
    
    /* Container Gap Styling */
    --gap-sm: clamp(1.25rem, 0.8607rem + 1.6393vw, 2.5rem); /* 40/20px */
    --gap-md: clamp(2.5rem, 1.7213rem + 3.2787vw, 5rem); /* 80/40px */
    --gap-lg: clamp(3.75rem, 2.5820rem + 4.9180vw, 7.5rem); /* 120/60px */
    
    /* Border Styling */
	--border-radius-default: 7px;
	--border-radius-sm: 5px;
	--border-radius-pill: 25px;
	--border-radius-round: 50%;
	
	/* GenerateBlocks Default Colors */
    --contrast: var(--dark-1);
    --contrast-1: var(--dark-2);
    --contrast-2: var(--dark-3);
    --base: var(--light-3);
    --base-1: var(--light-2);
    --base-2: var(--light-1);
    --accent: var(--accent-1);
}


/*** 3 - Utility Classes
–––––––––––––––––––––––––––––––––––––––––––––––––– ***/


/*** 4 - General Customizations
–––––––––––––––––––––––––––––––––––––––––––––––––– ***/

body {
	background-color: var(--body-background-color);
}

h1, h2, h3, h4, h5, h6 {
	text-wrap: balance;
} /* Limited browser support as of June 2023 */

/*** Website Scrollbar Styles ***/
::-webkit-scrollbar {
	width: .75em;
	height: .75em;
}
::-webkit-scrollbar-track {
	background: var(--light-1);
	border-radius: 100vw;
	margin-block: 0.5em;
}
::-webkit-scrollbar-thumb {
	background: var(--accent-1);
	border: 0.15em solid var(--light-1);
	border-radius: 100vw;
}
::-webkit-scrollbar-thumb:hover {
	background: var(--accent-2);
}
@supports (scrollbar-color: var(--accent-1) var(--light-1)) {
	* {
		scrollbar-color: var(--accent-1) var(--light-1);
		scrollbar-width: auto;
	}
} /* For Firefox */


/*** 5 - General WordPress Customizations
–––––––––––––––––––––––––––––––––––––––––––––––––– ***/

/*** Change cursor to hand on hover ***/
.site-logo a,
a.gb-button,
.main-navigation .main-nav ul li a,
#main a {
    cursor: pointer;
}

/*** WordPress Link Styling Custom CSS ***/
#main :is(p, li) a:any-link:not([class^="button_"]):not([class*=" button_"]) {
  text-decoration: none;
  position: relative;
  color: var(--accent-2); /* Normal state color */
  background-image: linear-gradient(var(--accent-2), var(--accent-2));
  background-size: 100% var(--link-border-bottom);
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size 0.5s ease-in-out, color 0.3s ease-in-out;
}
#main :is(p, li) a:any-link:not([class^="button_"]):not([class*=" button_"]):is(:hover, :focus) {
  background-size: 0 var(--link-border-bottom); /* Full width underline on hover */
  background-image: linear-gradient(var(--accent-1), var(--accent-1)); /* Change color of underline on hover */
  cursor: pointer;
  color: var(--accent-1); /* Change text color on hover */
}

/*** WordPress General Styling Custom CSS ***/
#main p:last-child:last-of-type {
	margin-bottom: 0;
} /* Remove bottom margin from last paragraph in a container */
#main sup {
    position: relative;
    font-size: 70%;
    line-height: 0;
    vertical-align: baseline;
    top: -.5em;
} /* Style Superscript */

/*** WordPress Table Block Custom CSS ***/
#main .wp-block-table {
	margin: 0;
} /* Table block formatting */
#main figure.wp-block-table {
	overflow-x: auto;
	overflow-y: hidden;
} /* Allow sideways scroll for table block on mobile */
#main .wp-block-table table {
	min-width: 688px;
	margin: 0;
} /* Allow sideways scroll for table block on mobile */

/*** Horizontal Line Styling ***/
#main hr {
	margin-top: var(--margin-bottom-p);
	margin-bottom: var(--margin-bottom-p);
} /* Adjust HR styling */
#main .wp-block-separator {
	border: .5px solid;
} /* Adjust HR styling */

/*** WordPress Blockquote Block Custom CSS ***/
#main blockquote {
	border: none;
	font-size: var(--text-lg);
	line-height: var(--line-height-lg);
	margin-bottom: var(--margin-bottom-lg);
}
#main blockquote::before {
	content: "\201C";
	display: block;
	font-size: 100px;
	color: var(--accent-1);	
	top: -60px;
	left: -48px;
	position: relative;
	height: 0;
}
#main blockquote p {
	margin-bottom: var(--margin-bottom-p);
}
#main .wp-block-quote {
	border-left: 0 !important;
}
@media (max-width: 767px) {
	#main blockquote::before {
		left: -28px;
	}
}

/*** WordPress Lists Block Custom CSS ***/

/* Base styles for unordered lists */
#main ul.wp-block-list,
#main .gb-container ul,
#main .acf-wysiwyg-editor-styling ul {
  margin: 0 0 var(--margin-bottom-p) 0;
  list-style: none;
}
#main ul.wp-block-list li,
#main .gb-container ul li,
#main .acf-wysiwyg-editor-styling ul li {
  position: relative;
  padding-left: 25px;
}
#main ul.wp-block-list li::before,
#main .gb-container ul li::before,
#main .acf-wysiwyg-editor-styling ul li::before {
  content: "\25A0";
  color: var(--accent-1);
  font-size: 17px;
  font-weight: 700;
  position: absolute;
  left: 0;
  top: 0;
  transform: translateY(-2px);
}

/* Nested unordered lists */
#main ul.wp-block-list li ul,
#main .gb-container ul li ul,
#main .acf-wysiwyg-editor-styling ul li ul {
  margin: 0;
  padding-left: 10px;
  list-style: none;
}
#main ul.wp-block-list li ul li,
#main .gb-container ul li ul li,
#main .acf-wysiwyg-editor-styling ul li ul li {
  position: relative;
  padding-left: 25px;
}
#main ul.wp-block-list li ul li::before,
#main .gb-container ul li ul li::before,
#main .acf-wysiwyg-editor-styling ul li ul li::before {
  content: "\25A0";
  color: var(--accent-1);
  font-size: 17px;
  font-weight: 700;
  position: absolute;
  left: 0;
  top: 0;
  transform: translateY(-2px);
}

/* Style for top-level ordered lists */
#main ol.wp-block-list,
#main .gb-container ol,
#main .acf-wysiwyg-editor-styling ol {
  margin: 0 0 var(--margin-bottom-p) 0;
  padding-left: 25px;
  list-style: decimal;
}

/* Add padding or margin to all <li> elements inside ordered lists */
#main ol.wp-block-list li,
#main .gb-container ol li,
#main .acf-wysiwyg-editor-styling ol li {
  padding-left: 5px;
}

/* Style for the markers (numbers and letters) */
#main ol.wp-block-list li::marker,
#main .gb-container ol li::marker,
#main .acf-wysiwyg-editor-styling ol li::marker {
  color: var(--accent-1);
  font-weight: bold;
}

/* Nested ordered lists */
#main ol.wp-block-list ol,
#main .gb-container ol ol,
#main .acf-wysiwyg-editor-styling ol ol {
  margin-bottom: 0;
  padding-left: 20px;
  list-style: lower-alpha;
}

/* Style for markers in nested lists */
#main ol.wp-block-list ol li::marker,
#main .gb-container ol ol li::marker,
#main .acf-wysiwyg-editor-styling ol ol li::marker {
  color: var(--accent-1);
  font-weight: bold;
}

/* Unordered lists inside ordered lists */
#main ol.wp-block-list li ul,
#main .gb-container ol li ul,
#main .acf-wysiwyg-editor-styling ol li ul {
  margin: 0;
  padding-left: 10px;
  list-style: none;
}
#main ol.wp-block-list li ul li,
#main .gb-container ol li ul li,
#main .acf-wysiwyg-editor-styling ol li ul li {
  position: relative;
  padding-left: 25px;
}
#main ol.wp-block-list li ul li::before,
#main .gb-container ol li ul li::before,
#main .acf-wysiwyg-editor-styling ol li ul li::before {
  content: "\25A0";
  color: var(--accent-1);
  font-size: 17px;
  font-weight: 700;
  position: absolute;
  left: 0;
  top: 0;
  transform: translateY(-2px);
}

/*** Post/Page Password Protected Page styling custom CSS ***/
.post-password-required .inside-#main .entry-content {
	max-width: 1200px;
	margin: auto;
	padding: 80px 40px;
	min-height: 700px;
} /* Post/Page Password Protected Page Styling */
@media (max-width: 1024px) {
	.post-password-required .inside-#main .entry-content {
		padding: 60px 40px;
		min-height: 400px;
	} /* Post/Page Password Protected Page Styling */
}
@media (max-width: 767px) {
	.post-password-required .inside-#main .entry-content {
		padding: 40px 20px;
	} /* Post/Page Password Protected Page Styling */
}
.post-password-form {
	max-width: 300px;
	margin: auto;
} /* Post/Page Password Protected Page Styling */
.post-password-form label {
	padding: 0;
} /* Post/Page Password Protected Page Styling */
.post-password-form label input[type="password"] {
	display: block;
	width: 300px;
	font-size: inherit;
	line-height: inherit;
	color: var(--dark-2);
	padding: 12px 20px !important;
	border: var(--button-border-default) solid var(--dark-2);
	background-color: var(--light-1);
	-webkit-border-radius: var(--border-radius-default);
	-moz-border-radius: var(--border-radius-default);
	border-radius: var(--border-radius-default);
} /* Post/Page Password Protected Page Styling */
.post-password-form input[type="submit"] {
	font-size: inherit;
	font-weight: 600;
	line-height: inherit;
	text-decoration: none;
	text-transform: uppercase;
	color: var(--light-1);
	padding: 8px 30px;
	border: var(--button-border-default) solid var(--accent-2);
	background-color: var(--accent-2);
	-webkit-border-radius: var(--border-radius-default);
	-moz-border-radius: var(--border-radius-default);
	border-radius: var(--border-radius-default);
	-webkit-transition: all 0.2s ease-in 0s;
	-moz-transition: all 0.2s ease-in 0s;
	-o-transition: all 0.2s ease-in 0s;
	-ms-transition:all 0.2s ease-in 0s;
	transition: all 0.2s ease-in 0s;
	min-width: 300px;
	margin-top: 20px;
} /* Post/Page Password Protected Page Button Styling */
.post-password-form input[type="submit"]:hover,
.post-password-form input[type="submit"]:focus {
	background-color: var(--accent-1);
	color: var(--light-1);
	text-decoration: none;
	border: var(--button-border-default) solid var(--accent-1);
} /* Post/Page Password Protected Page Button Styling */
@media (max-width: 460px) {
	.post-password-form,
	.post-password-form label input[type="password"],
	.post-password-form input[type="submit"] {
		min-width: 100%;
	}
}


/*** 6 - GeneratePress Global Customizations
–––––––––––––––––––––––––––––––––––––––––––––––––– ***/

/*** Container Sizes ***/
.body-wrapper {
	max-width: var(--body-wrapper-desktop);
	margin: auto;
	background-color: var(--light-1);
} /* Control maximum width of body/content */
.site-header {
	max-width: var(--body-wrapper-desktop);
	margin: auto;
	padding-left: var(--padding-sm);
	padding-right: var(--padding-sm);
} /* Control maximum width of merged/transparent header */
.inside-header {
	padding: 20px 0;
}
#content {
	max-width: 100%;
}
#main {
	min-height: 75vh;
}
@media (max-width: 767px) {
	.body-wrapper {
		max-width: var(--body-wrapper-mobile);
	} /* Control maximum width of body/content */
	.site-header {
		max-width: var(--body-wrapper-mobile);
	} /* Control maximum width of merged/transparent header */
}

/*** Website Logo Sizes ***/
@media (max-width: 1024px) {
	.site-header .header-image {
		width: var(--website-logo-tablet-size);
	} /* Website logo size */
}
@media (max-width: 767px) {
	.site-header .header-image {
		width: var(--website-logo-mobile-size);
	} /* Website logo size */
}

/*** Menu Styling ***/
#primary-menu ul li a {
	padding-left: 15px;
	padding-right: 15px;
	line-height: 30px;
}
#primary-menu .menu-item-has-children .dropdown-menu-toggle {
	padding-right: 0;
}
#primary-menu .sub-menu {
	background-color: var(--light-2);
}
#primary-menu .sub-menu li a {
	padding: 5px 20px;
}
#primary-menu .sub-menu li:first-child a {
	padding-top: 10px;
}
#primary-menu .sub-menu li:last-child a {
	padding-bottom: 10px;
}
@media (max-width: 767px) {
	#primary-menu ul li a {
		padding-left: 0;
		padding-right: 0;
	}
	#primary-menu .sub-menu {
		background-color: var(--light-1);
	}
	#primary-menu ul ul {
		border-bottom: none;
	}
	.menu-toggle {
		position: relative;
		right: -20px;
	}
	#primary-menu ul li.menu-item-has-children > a {
		display: flex;
	} /* Moves dropdown arrow next to text */
	.toggled .menu-item-has-children .dropdown-menu-toggle {
		padding-left: 10px;
	}
}

/*** Default GeneratePress Pagination Styling ***/
nav.paging-navigation {
	text-align: center;
	padding: 40px !important;
	max-width: 1200px;
	margin: auto;
}
nav.paging-navigation .nav-links .prev.page-numbers {}
nav.paging-navigation .nav-links .page-numbers {
	font-size: var(--text-sm);
	line-height: 22.5px;
	text-decoration: none;
	color: var(--accent-1);
	border-radius: var(--border-radius-round);
	border: 1px solid var(--accent-2);
	padding: 5px 15px;
}
nav.paging-navigation .nav-links .page-numbers:hover {
	color: var(--light-1);
	background-color: var(--accent-2);
}
nav.paging-navigation .nav-links .page-numbers.current {
	font-size: var(--text-sm);
	line-height: 22.5px;
	border-radius: var(--border-radius-round);
	border: 1px solid var(--accent-2);
	color: var(--light-1);
	padding: 5px 15px;
	text-decoration: none;
	background-color: var(--accent-2);
}
nav.paging-navigation .nav-links .page-numbers.dots {}
nav.paging-navigation .nav-links .next.page-numbers {}

/* Custom styling for "Search" */
.gp-modal__container {
	background-color: var(--light-1);
}
a[data-gpmodal-trigger="gp-search"] {
    padding-left: 0 !important;
} /* Search icon styling */
a[data-gpmodal-trigger="gp-search"]:hover,
a[data-gpmodal-trigger="gp-search"]:focus {}
a[data-gpmodal-trigger="gp-search"] .icon-search {}
@media (min-width: 1025px) {
	a[data-gpmodal-trigger="gp-search"] {
		padding-right: 0 !important;
	} /* Search icon styling */
}
@media (max-width: 1024px) {
	a[data-gpmodal-trigger="gp-search"] {}
	a[data-gpmodal-trigger="gp-search"] .icon-search {}
}

/*** Back-to-Top Button Styling ***/
a.generate-back-to-top,
a.generate-back-to-top:visited,
a.generate-back-to-top:link {
	border-radius: var(--border-radius-default) 0 0 var(--border-radius-default);
	right: 0;
	bottom: 100px;
	border-bottom: none !important;
	width: clamp(1.25rem, 0.861rem + 1.639vw, 2.5rem);
	line-height: 2;
} /* Adjust back-to-top button */
a.generate-back-to-top:focus,
a.generate-back-to-top:hover {
	cursor: pointer;
	border-bottom: none !important;
} /* Adjust back-to-top button */


/*** 7 - GenerateBlocks Customizations
–––––––––––––––––––––––––––––––––––––––––––––––––– ***/

/*** GenerateBlocks Buttons Global Styles Tweaks ***/
.gb-button,
[class*="button_"] {
	-webkit-transition: all 0.2s ease-in 0s;
	-moz-transition: all 0.2s ease-in 0s;
	-o-transition: all 0.2s ease-in 0s;
	-ms-transition:all 0.2s ease-in 0s;
	transition: all 0.2s ease-in 0s;
}
.buttons-container_fixed .gb-button,
.buttons-container_fixed [class*="button_"] {
	min-width: 200px;
} /* Set button width for "Buttons – Styles" GenerateBlocks Global Style */
@media (max-width: 460px) {
	.buttons-container_fixed,
	.buttons-container_text {
		min-width: 100%;
	} /* Set button width for "Buttons – Styles" GenerateBlocks Global Style */
	.buttons-container_text {
		flex-direction: column !important;
	} /* Stack text buttons on phone */
	.buttons-container_fixed .gb-button,
	.buttons-container_fixed [class*="button_"] {
		min-width: 100%;
	} /* Set button width for "Buttons – Styles" GenerateBlocks Global Style */
}

/*** GenerateBlocks Pagination styling tweaks ***/
.gb-query-loop-pagination span.page-numbers.current {
	font-size: var(--text-base);
	line-height: var(--line-height-base);
	background-color: var(--accent-1);
	color: var(--light-1);
	border: 1px solid var(--accent-1);
	border-radius: var(--border-radius-pill);
	padding: 6px 15px;
}


/*** 8 - Kadence Blocks Customizations
–––––––––––––––––––––––––––––––––––––––––––––––––– ***/

/*** Kadence Slider Block Custom CSS ***/
.kt-blocks-carousel {
	padding: 0 !important;
} /* Remove default 20px padding */
.kt-blocks-carousel .slick-dotted.slick-slider {
	margin-bottom: 50px !important;
} /* Add margin to bottom of dot navigation */
.kt-blocks-carousel ul.slick-dots {
	margin-left: 0 !important;
}
.kt-blocks-carousel ul.slick-dots li:first-child {
	padding-left: 0 !important;
}
.kt-blocks-carousel .kb-splide .splide__arrow {
	font-size: 1.5rem;
	align-items: center;
	background: var(--dark-1);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	height: 1.75em;
	width: 1.75em;
	justify-content: center;
	opacity: 1 !important;
	padding: 0;
	color: var(--light-1);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	box-shadow: none;
	transition: all 0.2s ease-in 0s;
} /* Previous and Next button styling */
.kt-blocks-carousel .kb-splide .splide__arrow:focus,
.kt-blocks-carousel .kb-splide .splide__arrow:hover {
	opacity: 1 !important;
	background: var(--accent-1) !important;
	color: var(--light-1) !important;
} /* Previous and Next button styling */
.kt-blocks-carousel .kb-splide .splide__arrow svg {
	height: 1.25em;
	width: 1.25em;
} /* Previous and Next button styling */

/*** Kadence Modal Block Custom CSS ***/
.wp-block-kadence-modal {
	margin-bottom: 0 !important;
} /* Remove bottom margin of modal div */


/*** 9 - Gravity Forms Customizations
–––––––––––––––––––––––––––––––––––––––––––––––––– ***/
fieldset > * {
	padding-left: 0;
}
.gform_description {
	font-size: var(--text-sm);
	margin-bottom: 0.75em !important;
}
.gform_wrapper.gravity-theme .gfield_label {
	font-size: inherit !important;
}
.gform_footer input[type="button"],
.gform_footer input[type="reset"],
.gform_footer input[type="submit"] {
	font-size: var(--button-text-size);
	font-weight: normal;
	line-height: inherit !important;
	text-decoration: none;
	color: var(--light-1);
	padding: 8px 20px;
	border: var(--button-border-default) solid var(--accent-2);
	background-color: var(--accent-2);
	-webkit-border-radius: var(--border-radius-default);
	-moz-border-radius: var(--border-radius-default);
	border-radius: var(--border-radius-default);
	-webkit-transition: all 0.2s ease-in 0s;
	-moz-transition: all 0.2s ease-in 0s;
	-o-transition: all 0.2s ease-in 0s;
	-ms-transition:all 0.2s ease-in 0s;
	transition: all 0.2s ease-in 0s;
	min-width: 200px;
} /* Default Theme Button Styling */
.gform_footer input[type="button"]:hover,
.gform_footer input[type="button"]:focus,
.gform_footer input[type="reset"]:hover,
.gform_footer input[type="reset"]:focus,
.gform_footer input[type="submit"]:hover,
.gform_footer input[type="submit"]:focus {
	background-color: var(--accent-1);
	color: var(--light-1);
	text-decoration: none;
	border: var(--button-border-default) solid var(--accent-1);
} /* Default Theme Button Styling */
.gform_body input[type="text"],
.gform_body input[type="email"],
.gform_body input[type="url"],
.gform_body input[type="password"],
.gform_body input[type="search"],
.gform_body input[type="tel"],
.gform_body input[type="number"],
.gform_body textarea {
	font-size: var(--button-text-size) !important;
	line-height: inherit;
	color: var(--dark-2);
	padding: 12px 20px !important;
	border: 1px solid var(--accent-1);
	background-color: var(--light-1);
	-webkit-border-radius: var(--border-radius-default);
	-moz-border-radius: var(--border-radius-default);
	border-radius: var(--border-radius-default);
} /* Default Theme Form Field Styling */
.gform_body input[type="text"],
.gform_body input[type="email"],
.gform_body input[type="url"],
.gform_body input[type="password"],
.gform_body input[type="search"],
.gform_body input[type="tel"],
.gform_body input[type="number"] {
	height: 50px;
} /* Field height styling */
div.gform_confirmation_message {
    background: var(--accent-1);
    color: var(--light-1);
    padding: 20px;
    margin: 20px 0;
    border-radius: var(--border-radius-default);
} /* Confirmation message field styling */
.gform_wrapper.gravity-theme .gfield_required {
	color: var(--accent-1);
} /* "Required" notice styling */
.gform_wrapper.gravity-theme .ginput_container_time {
	min-width: 100px;
	max-width: 100px;
} /* Time field styling */
.ginput_container_fileupload {
	background: transparent;
} /* File Upload Field Styling */
.gform_drop_area {
	border: 0 !important;
	background: transparent !important;
} /* File Upload Field Styling */
.gform_button_select_files {
	width: 100%;
} /* File Upload Field Styling */
.gform_wrapper.gravity-theme .gfield_description {
	font-size: var(--text-xs) !important;
	padding-top: 5px !important;
} /* Field Description Styling */
.gform_wrapper.gravity-theme .field_description_above .gfield_description {
	padding-bottom: 5px;
} /* Field Description Styling */
@media (max-width: 767px) {
	.gform_wrapper.gravity-theme .ginput_complex span {
		margin-bottom: 15px !important;
	} /* Name and email field fix for mobile styling */
	.gform_wrapper.gravity-theme .ginput_complex span:last-of-type {
		margin-bottom: 0 !important;
	} /* Name and email field fix for mobile styling */
	.name_first,
	.name_last,
	.ginput_left,
	.ginput_right {
		min-width: 100%;
		padding-left: 0 !important;
		padding-right: 0 !important;
	} /* Name and email field fix for mobile styling */
	.name_first,
	.ginput_left {
		margin-bottom: 15px;
	} /* Name and email field fix for mobile styling */
	.gform_wrapper.gravity-theme .ginput_container_address span,
	.gform_wrapper.gravity-theme .ginput_container_city span,
	.gform_wrapper.gravity-theme .ginput_container_state span,
	.gform_wrapper.gravity-theme .ginput_container_zip span {
		padding-left: .9804% !important;
		padding-right: .9804% !important;
	} /* Address field fix for mobile styling */
}

/*** Custom radio and checkbox styling ***/
.gchoice {
	display: inline;
} /* Radio button styling: side-by-side display */
.gchoice input {
	display: none !important;
} /* Radio button styling */
.gchoice label {
	font-size: var(--button-text-size) !important;
	padding: 10px 20px;
	background-color: var(--light-1);
	color: var(--accent-1);
	border: 1px solid var(--accent-1);
	-webkit-border-radius: var(--border-radius-default);
	-moz-border-radius: var(--border-radius-default);
	border-radius: var(--border-radius-default);
	margin-bottom: 10px !important;
	text-align: center;
	/* width: 100%;
	max-width: 100% !important; */
	-webkit-transition: all 0.2s ease-in 0s;
	-moz-transition: all 0.2s ease-in 0s;
	-o-transition: all 0.2s ease-in 0s;
	-ms-transition:all 0.2s ease-in 0s;
	transition: all 0.2s ease-in 0s;
} /* Radio button styling */
.gchoice input[type="radio"]:hover + label,
.gchoice input[type="radio"]:checked + label,
.gchoice input[type="checkbox"]:hover + label,
.gchoice input[type="checkbox"]:checked + label{
	border: 1px solid var(--accent-2);
	background-color: var(--accent-2);
	color: var(--light-1);
	cursor: pointer;
} /* Radio button styling */
@media (max-width: 460px) {
	.gchoice {
		display: block;
	} /* Radio button styling: force radio buttons full width on mobile */
	.gchoice label {
		min-width: 100%;
		margin-bottom: 0;
	} /* Fix for full width on mobile */
}
/* Remove custom styles for default checkboxes and radio buttons */
.default-checkbox .gchoice {
	display: flex;
	align-items: flex-start; /* top align */
	gap: 0.5em;
	margin-bottom: 0;
}
.default-radio-button .gchoice {
	display: inline-flex;
	align-items: flex-start;
	gap: 0.5em;
	margin-right: 1em;
	white-space: normal;
	max-width: 100%;
}
.default-checkbox .gchoice input[type="checkbox"],
.default-radio-button .gchoice input[type="radio"] {
	width: 1.2em;
	height: 1.2em;
	cursor: pointer;
	display: inline-block !important;
}
.default-checkbox .gchoice label,
.default-radio-button .gchoice label {
	font-size: initial !important;
	padding: initial !important;
	background-color: transparent !important;
	color: inherit !important;
	border: none !important;
	border-radius: 0 !important;
	text-align: initial !important;
	transition: none !important;
	cursor: initial !important;
	margin: 0;
	margin-bottom: 5px !important;
}
.default-radio-button .gchoice {
    display: inline-flex;
    align-items: flex-start;
    gap: 0.5em;
    margin-right: 1em;
    white-space: normal;
    max-width: none;
    width: auto;
}
.default-radio-button .gchoice label {
    width: auto !important;
    max-width: none !important;
    display: inline;
    margin: 0;
}
.default-checkbox .gchoice input[type="checkbox"]:hover + label,
.default-checkbox .gchoice input[type="checkbox"]:checked + label,
.default-radio-button .gchoice input[type="radio"]:hover + label,
.default-radio-button .gchoice input[type="radio"]:checked + label {
	background-color: transparent !important;
	color: inherit !important;
	border: none !important;
}

/*** Custom dropdown menu styling ***/
.gform_body select,
.gform_wrapper.gravity-theme select {
	font-size: var(--button-text-size) !important;
	line-height: inherit;
	height: 50px;
	color: var(--dark-2);
	padding: 12px 20px !important;
	background-color: var(--light-1);
	border: 1px solid var(--accent-1);
	-webkit-border-radius: var(--border-radius-default);
	-moz-border-radius: var(--border-radius-default);
	border-radius: var(--border-radius-default);
	box-sizing: border-box;
	cursor: pointer;
	display: block;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-user-select: none;
} /* Dropdown menu styling */
.ginput_container_select {
	position: relative;
	display: block;
	overflow: hidden;
} /* Dropdown menu styling */
.ginput_container_select select::-ms-expand {
	display: none;
} /* Dropdown menu styling */
.ginput_container_select::after {
	content: '\25BC';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	padding: 12px 15px;
	height: 50px;
	color: var(--light-1);
	background: var(--accent-1);
	pointer-events: none;
	border-radius: 0 var(--border-radius-default) var(--border-radius-default) 0;
} /* Dropdown menu styling */1
.ginput_address_state::after {
	right: 2%;
}
.ginput_container_select:hover::after {
	color: var(--light-1);
	background: var(--accent-2);
} /* Dropdown menu styling */
.ginput_container_select::after {
	-webkit-transition: .25s all ease;
	-o-transition: .25s all ease;
	transition: .25s all ease;
} /* Dropdown menu styling */
@media (max-width: 767px) {
	.ginput_address_state::after {
		right: 1%;
	}
}

/*** Form styling for phones ***/
@media (max-width: 460px) {
	.gform_body input[type="text"],
	.gform_body input[type="email"],
	.gform_body input[type="url"],
	.gform_body input[type="password"],
	.gform_body input[type="search"],
	.gform_body input[type="tel"],
	.gform_body input[type="number"],
	.gform_body textarea,
	.gform_body select {
		width: 100% !important;
	} /* Force form fields full width on mobile */
	.gform_footer input[type="button"],
	.gform_footer input[type="reset"],
	.gform_footer input[type="submit"] {
		width: 100% !important;
		text-align: center;
	} /* Force buttons full width on mobile */
}

/*** Use Gravity Forms Conditional Logic to disable submit button ***/
.gform_wrapper.gravity-theme .gform_footer button.button:disabled,
.gform_wrapper.gravity-theme .gform_footer input.button:disabled,
.gform_wrapper.gravity-theme .gform_page_footer button.button:disabled,
.gform_wrapper.gravity-theme .gform_page_footer input.button:disabled {
	display: block !important;
	cursor: not-allowed;
}

/*** Form styling tablets using GenerateBlocks Global Styles ***/
[class*="grid_"] .gform_wrapper.gravity-theme {
	container-type: inline-size;
}
@container (max-width: 445px) {
	[class*="grid_"] .gform_wrapper.gravity-theme .ginput_complex span {
		margin-bottom: 15px !important;
	} /* Text field fix for mobile styling */
	[class*="grid_"] .gform_wrapper.gravity-theme .ginput_complex span:last-of-type {
		margin-bottom: 0 !important;
	} /* Text field fix for mobile styling */
	[class*="grid_"] .name_first,
	[class*="grid_"] .name_last,
	[class*="grid_"] .ginput_left,
	[class*="grid_"] .ginput_right {
		min-width: 100%;
		padding-left: 0 !important;
		padding-right: 0 !important;
	} /* Name and text field fix for mobile styling */
	[class*="grid_"] .name_first,
	[class*="grid_"] .ginput_left {
		margin-bottom: 15px;
	} /* Name and text field fix for mobile styling */
	[class*="grid_"] .gform_wrapper.gravity-theme .ginput_container_address span,
	[class*="grid_"] .gform_wrapper.gravity-theme .ginput_container_city span,
	[class*="grid_"] .gform_wrapper.gravity-theme .ginput_container_state span,
	[class*="grid_"] .gform_wrapper.gravity-theme .ginput_container_zip span {
		padding-left: .9804% !important;
		padding-right: .9804% !important;
	} /* Address field fix for mobile styling */
	.gform_wrapper.gravity-theme .gfield.gfield--width-half {
		grid-column: span 12;
	} /* Text field fix for mobile styling */
	.gform-grid-col:not(:first-child) label.gform-field-label {
  		left: 0;
	} /* Text field fix for mobile styling */
	[class*="grid_"] .gform_footer input[type="button"],
	[class*="grid_"] .gform_footer input[type="reset"],
	[class*="grid_"] .gform_footer input[type="submit"] {
		width: 100% !important;
		text-align: center;
	} /* Force buttons full width on mobile */
}


/*** 10 - Styles Loaded to GB Global Styles
–––––––––––––––––––––––––––––––––––––––––––––––––– ***/

/*** Make paragraph tag look like a list tag (Loaded to GB Global Styles) ***/
.text_bullet-list {
	position: relative;
	padding-left: 20px;
}
.text_bullet-list::before {
	content: "\25A0";
	color: var(--accent-1);
	font-size: 17px;
	font-weight: 700;
	position: absolute;
	left: 0;
	top: 12px;
	transform: translateY(-50%);
}

/*** CSS Grid Section 50% 50% 100% on Tablet  (Loaded to GB Global Styles) ***/
@media (min-width: 768px) and (max-width: 1024px) {
	.grid_50-50-100_tablet {
		grid-auto-rows: auto;
	}
	.grid_50-50-100_tablet > .gb-container:nth-child(3) {
		grid-column: 1 / -1;
	}
}


/*** 11 - Custom Text Format Plugin Custom CSS (Icons loaded to /uploads/gctf/ directory)
–––––––––––––––––––––––––––––––––––––––––––––––––– ***/
.uppercase-text {
	text-transform: uppercase;
}
.hyperlink-text-on-dark a,
a .hyperlink-text-on-dark {
	text-decoration: none;
    position: relative;
    color: var(--light-1); /* Normal state color */
    background-image: linear-gradient(var(--light-1), var(--light-1));
    background-size: 0 var(--link-border-bottom);
    background-repeat: no-repeat;
    background-position: 0 100%;
    transition: background-size 0.5s ease-in-out, color 0.3s ease-in-out;
}
.hyperlink-text-on-dark a:hover,
.hyperlink-text-on-dark a:focus,
a:hover .hyperlink-text-on-dark,
a:focus .hyperlink-text-on-dark {
	background-size: 100% var(--link-border-bottom); /* Full width underline on hover */
    background-image: linear-gradient(var(--light-1), var(--light-1)); /* Change color of underline on hover */
    cursor: pointer;
    color: var(--light-1); /* Change text color on hover */
}


/*** 12 - Custom Elements
–––––––––––––––––––––––––––––––––––––––––––––––––– ***/

/*** GenerateBlocks Footer Elements Link Styling ***/
footer .gb-headline a,
footer .gb-headline-text a,
footer .gb-text a,
footer .gb-headline a:visited,
footer .gb-headline-text a:visited,
footer .gb-text a:visited,
footer .gb-headline a:link,
footer .gb-headline-text a:link,
footer .gb-text a:link {
    text-decoration: none;
	position: relative;
	color: var(--accent-2); /* Normal state color */
	background-image: linear-gradient(var(--accent-2), var(--accent-2));
	background-size: 100% var(--link-border-bottom);
	background-repeat: no-repeat;
	background-position: 0 100%;
	transition: background-size 0.5s ease-in-out, color 0.3s ease-in-out;
}
footer .gb-headline a:hover,
footer .gb-headline a:focus,
footer .gb-headline-text a:hover,
footer .gb-headline-text a:focus,
footer .gb-text a:hover,
footer .gb-text a:focus {
    background-size: 0 var(--link-border-bottom); /* Full width underline on hover */
	background-image: linear-gradient(var(--accent-1), var(--accent-1)); /* Change color of underline on hover */
	cursor: pointer;
	color: var(--accent-1); /* Change text color on hover */
}

/*** Shortcode Footer Menu Styling custom CSS ***/
.footer-menu {
    margin: 0 !important;
    list-style: none;
}
.footer-menu li > ul {
    margin-left: 0;
    list-style: none;
}
.footer-menu .menu-item-home {
    display: none;
}
.footer-menu li:last-child {
    padding-bottom: 0;
}
.footer-menu a,
.footer-menu a:visited,
.footer-menu a:link {
    text-decoration: none;
    position: relative;
    color: var(--accent-1);
    background-image: linear-gradient(var(--accent-1), var(--accent-1));
    background-size: 0 var(--link-border-bottom);
    background-repeat: no-repeat;
    background-position: 0 100%;
    transition: background-size 0.5s ease-in-out, color 0.3s ease-in-out;
}
.footer-menu a:hover,
.footer-menu a:focus {
    background-size: 100% var(--link-border-bottom);
    cursor: pointer;
    color: var(--accent-1);
}
.footer-menu li li {
    padding-left: 20px;
    position: relative;
}
.footer-menu li li::before {
    content: "\25A0";
    color: var(--accent-1);
    font-size: 17px;
    font-weight: 700;
    position: absolute;
    left: 0;
    top: 0;
}
@media (max-width: 767px) {
    .footer-menu li {
        text-align: center;
    }
    .footer-menu li > ul {
        margin-left: 0;
    }
    .footer-menu li li {
        padding-left: 0;
    }
    .footer-menu li li::before {
        content: initial;
        color: initial;
        font-size: initial;
        font-weight: initial;
    }
}

/*** Shortcode Privacy Menu Styling custom CSS ***/
.privacy-menu {
	margin: 0 !important;
	list-style: none;
	text-align: right;
} /* Styling for privacy menu */
.privacy-menu li > ul {
	margin-left: 15px;
	list-style: none;
} /* Styling for privacy menu */
.privacy-menu li {
	display: inline-block;
	margin-left: 20px;
} /* Styling for privacy menu */
.privacy-menu li:last-child {
	padding-bottom: 0;
} /* Styling for privacy menu */
.privacy-menu a,
.privacy-menu a:visited,
.privacy-menu a:link {
    text-decoration: none;
    position: relative;
    color: var(--accent-1); /* Normal state color */
    background-image: linear-gradient(var(--accent-1), var(--accent-1));
    background-size: 0 var(--link-border-bottom);
    background-repeat: no-repeat;
    background-position: 0 100%;
    transition: background-size 0.5s ease-in-out, color 0.3s ease-in-out;
} /* Styling for footer menu */
.privacy-menu a:hover,
.privacy-menu a:focus {
    background-size: 100% var(--link-border-bottom); /* Full width underline on hover */
    background-image: linear-gradient(var(--accent-1), var(--accent-1)); /* Change color of underline on hover */
    cursor: pointer;
    color: var(--accent-1); /* Change text color on hover */
} /* Styling for footer menu */
@media (max-width: 767px) {
	.privacy-menu {
		text-align: center;
	} /* Styling for privacy menu */
	.privacy-menu li {
		text-align: center;
		margin-left: 10px;
		margin-right: 10px;
	} /* Styling for privacy menu */
}
