html { scroll-behavior: smooth; }

.wp-site-blocks { -webkit-font-smoothing: antialiased; box-sizing: border-box;
	
	/*********************
	defaults
	*********************/
	
	*, *:before, *:after {
	  box-sizing: inherit;
	}
	
	a { text-decoration-style: solid; text-decoration-thickness: 1px; text-underline-offset: 5px; transition: text-decoration-color 0.25s ease-in-out, color 0.25s ease-in-out;  
		
		&:hover, &:focus { transition: text-decoration-color 0.25s ease-in-out, color 0.25s ease-in-out; }
		
	}
	
	p {
		a { text-decoration-color: var(--wp--preset--color--custom-text-black); 
			
			&:hover, &:focus { text-decoration-color: transparent; }
			
		}
	}
	
	/*********************
	miscellaneous 
	*********************/

	:where(.wp-site-blocks *:focus){outline-width:2px;outline-style:solid;}
	.wp-block-query-title span { font-style: normal; }
	
	/*********************
	post cards
	*********************/
	
	.wp-block-post-terms .wp-block-post-terms__prefix { color: var(--wp--preset--color--custom-meta-grey) !important; }
	
	.wp-block-post-title {
		
		a { text-decoration: underline; text-decoration-style: solid; text-decoration-thickness: 2px; text-underline-offset: 5px; text-decoration-color: transparent; 
			
			&:hover, &:focus { text-decoration-color: var(--wp--preset--color--custom-text-black);  }
			
		}
		
	}
	
	.wp-block-post-featured-image img { aspect-ratio: 16 / 9; object-fit: cover;  }
	
	/*********************
	branding
	*********************/
	
	.gp-header-logo, .gp-footer-logo { width: 140px; display: inline-flex; 
		
		a { display: inline-flex; 
			
			img {border-radius: 0; margin-top: -3px;  }
			
		}
		
	}
	
	/*********************
	nav styles
	*********************/
	
	.wp-block-navigation__responsive-container {
		
		@media only screen and (min-width: 600px ) { text-transform: uppercase !important; }
		
	}
	
	.wp-block-navigation__responsive-container.has-modal-open.is-menu-open { padding-top: 90px; animation: none; background-color: var(--wp--preset--color--custom-warm-grey-light) !important;   
		
		ul { 
			
			width: 100%; 
			align-items: center; 
			
			li {
				
				font-family: var(--wp--preset--font-family--feature-deck-web); 
				font-size: 3rem !important;
				text-transform: revert !important;  
				color: var(--wp--preset--color--custom-text-black) !important;
				font-style: normal;
				font-weight: 500;
				line-height: 1.4;
				letter-spacing: -0.03rem;
				
			}
			
		}
		
	}
	
	.wp-block-navigation-item__content { text-decoration-thickness: 0; }
	
	.wp-block-navigation { margin: 0; 
		
		a { text-decoration: underline; text-decoration-style: solid; text-decoration-thickness: 1px; text-underline-offset: 5px; text-decoration-color: transparent; 
			
			&:hover, &:focus { text-decoration-color: var(--wp--preset--color--custom-text-black);  }
			
		}
		
	}
	
	.gp-main-nav {
		
		@media only screen and (min-width: 600px ) { 

			a { text-decoration: underline; text-decoration-style: solid; text-decoration-thickness: 1px; text-underline-offset: 30px; text-decoration-color: transparent; 
				
				&:hover, &:focus { text-decoration-color: var(--wp--preset--color--custom-text-black);  }
				
			}
			
			li.current-menu-item {
				
				a { text-decoration-color: var(--wp--preset--color--custom-text-black) !important; }
				
			}
			
		}
		
	}
	
	/*********************
	post meta
	*********************/
	
	.gp-blogs-2026-post-meta-wrapper { font-size: var(--wp--preset--font-size--small) !important; color: var(--wp--preset--color--custom-meta-grey) !important; 
		
		a { color: var(--wp--preset--color--custom-meta-grey);  text-decoration-color: var(--wp--preset--color--custom-meta-grey);  
			
			&:hover, &:focus { text-decoration-color: transparent; }
			
		}
		
	} 
	
	/*********************
	forms (support for jetpack + wpforms
	*********************/
	
	form:has(#subscribe-email) { font-size: var(--wp--preset--font-size--small) !important; }
	
	.wp-block-search__inside-wrapper { display: block; 
		
		button { margin-left: 0; margin-top: 1em; }
		
	}
	
	.wpforms-container {
		
		.wpforms-field { padding: 0; margin-bottom: 16px; }
		
	}
	
	/*********************
	author boxes
	*********************/
			
	ul.gp-authors-list { display: flex; flex-direction: column; gap: 48px; list-style: none; padding: 0; margin: 0;  align-self: flex-start;

		li.gp-author { 
			
			display: flex;
			gap: 32px; 
			align-items: flex-start;
			border-top: 1px solid  var(--wp--preset--color--custom-border-grey); 
			padding-top: 16px;
			
			.gp-author-avatar { line-height: 0; 
				
				img { width: 100px; height: 100px; border-radius: 50%; }
				
			}	
			
			.gp-author-details {
				
				.gp-author-name { display: block; margin: 0 !important; margin-bottom: 8px; font-weight: 600;  }
				
				.gp-author-job { display: block; color: var(--wp--preset--color--custom-meta-grey) !important; font-size: var(--wp--preset--font-size--small); 		}
				
				p.gp-author-bio { margin: 0; margin-top: 16px; font-size: var(--wp--preset--font-size--small); }
					
				.gp-author-link { margin-top: 16px;
					
					a { text-decoration: none; } 
				
				}				
				
			}
			
		}		
	
	}
		
	/*********************
	top authors
	*********************/
	
	ul.gp-top-authors { list-style: none; padding: 0; margin: 0; font-size: var(--wp--preset--font-size--small) !important; display: flex; flex-direction: column; row-gap: 16px;
		
		li { display: flex; align-items: center; column-gap: 16px; 
			
			.author-avatar { line-height: 0;
				
				img { width: 48px; height: 48px;  border-radius: 50%; }
				
			}
			
			a { text-decoration: underline; text-decoration-style: solid; text-decoration-thickness: 1px; text-underline-offset: 5px; text-decoration-color: transparent; 
				
				&:hover, &:focus { text-decoration-color: var(--wp--preset--color--custom-text-black);  }
				
			}
			
		}
		
	}
	
	/*********************
	buttons
	*********************/
	
	.wp-block-read-more, .wp-block-query-pagination-next, .wp-block-query-pagination-previous {
		
		font-size: var(--wp--preset--font-size--body); 
		letter-spacing: 0;
		
	}
	
	.wp-block-query-pagination-numbers a, .wp-block-query-pagination-numbers span { padding: 0 4px; }
	
	.wp-block-button__link, .wp-block-read-more, .wp-block-query-pagination-next, .wp-block-query-pagination-previous, button[type=submit], .gp-author-link-button { 
		
		display: inline-block;
		position: relative;
		background-color: transparent !important;	
		transition: background-color 0.25s ease-in-out !important; 
		min-height: 0 !important;
		padding: 18px 32px !important;
		border-radius: 8px !important; 
		font-size: var(--wp--preset--font-size--small); 
		line-height: 1 !important;
		color: var(--wp--preset--color--custom-text-black) !important;
		border: 1px solid var(--wp--preset--color--custom-border-grey) !important;
		text-decoration: none;
		cursor: pointer;
	
		&:after {
			content: '';
			position: absolute;
			display: block;
			width: 100%;
			height: 100%;
			max-height: 56px;
			top: 0;
			left: 0;
			box-shadow: 0 0 60px 0 rgba(0, 0, 0, 0.15);
			opacity: 0;
			transition: opacity 0.25s ease-in-out;
			border-radius: 8px; 
		}
		
		&:hover, &:focus {
			
			background-color: #ffffff !important; 
			transition: background-color 0.25s ease-in-out;
			
			&:after {
				
				opacity: 1;
				transition: opacity 0.25s ease-in-out;	
				
			}
			
		}
	
	}
	
	button[type=submit] { width: auto; }
	
	/*********************
	inputs
	*********************/
	
	select, input:not(input[type=checkbox]), textarea {
		
		-webkit-appearance: none;
		appearance: none;
		display: block;
		width: 100%;
		min-width: 0%;
		max-width: 100%;
		padding: 18px 18px;
		height: 100%;
		min-height: 0;
		max-height: 100%;
		font-size: var(--wp--preset--font-size--small) !important;
		border-radius: 8px; 
		color:  var(--wp--preset--color--custom-text-black) !important;
		border: 1px solid var(--wp--preset--color--custom-border-grey);
		background-color: transparent;	
		letter-spacing: 0;
		line-height: 1;
		z-index: 2;
		box-shadow: 0 0 60px 0 rgba(0, 0, 0, 0);
		transition: background-color 0.25s ease-in-out, box-shadow 0.3s ease-in-out;
		
		&::placeholder { color:  var(--wp--preset--color--custom-meta-grey) !important; opacity: 1 !important; }
		
		&:focus {
			background-color: white;
			box-shadow: 0 0 60px 0 rgba(0, 0, 0, 0.15);
		}
	
	} 
	
	input:not(input[type=checkbox]), textarea {
		background-color: white;	
		padding-right: 46px;
	} 
	
	input[type=checkbox] {
		
		margin: 0 !important;
		padding: 0;
		height: 16px;
		width: 16px;
		
	}	
	
	/*********************
	archive dropdowns
	*********************/
					
	.wp-block-archives-dropdown {  position: relative;
	
		&:before {
			
			content: '';
			position: absolute;
			display: block;
			background: white;
			right: 20px;
			top: calc(50% - 12px);
			width: 24px;
			height: 24px;
			background-color: transparent;
			background-repeat: no-repeat;
			background-size: 24px;
			background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIj4KCQkJCSAgPHBhdGggZD0iTTEyIDE1TDcgMTBIMTdMMTIgMTVaIiBmaWxsPSIjMTIwODAwIi8+CgkJCQk8L3N2Zz4=');
			z-index: 1;
			pointer-events: none;
			
		}
	
	}
	
	/*********************
	comments
	*********************/
	
	.wp-block-comments {
		
		input:not(input[type=checkbox]), textarea { font-size: var(--wp--preset--font-size--body) !important; padding: 18px; }
		.comment-notes { font-size: var(--wp--preset--font-size--small) !important; } 
		.required { color:  var(--wp--preset--color--custom-earth) !important; }
		.comment-form-cookies-consent { gap: 12px; align-items: center; font-size: var(--wp--preset--font-size--small) !important;  }		
		#submit { width: auto; }
		
		.comment-awaiting-moderation { font-size: var(--wp--preset--font-size--small) !important; font-style: normal; color:  var(--wp--preset--color--custom-meta-grey) !important; padding-left: 12px; border-left: 4px solid var(--wp--preset--color--custom-meta-grey); }
		
		.wp-block-comment-content { font-size: var(--wp--preset--font-size--body) !important; }
		.wp-block-comment-author-name { font-weight: 400; }
		.wp-block-comment-date { color:  var(--wp--preset--color--custom-meta-grey) !important; }
		
		.pingback, .trackback {
			
			.wp-block-avatar { align-self: stretch; border-left: 4px solid var(--wp--preset--color--custom-meta-grey); }
			
		}
		
		a { color:  var(--wp--preset--color--custom-meta-grey) !important;  }
		
	}
	
}