body{
	background-color: transparent;
	line-height: 1.5;
}

#branding-primary #OrganizationTitle{
	font-size: 36px;
}

.content-block{
	position: relative;
}

.content-block > header{
	align-items: flex-end;
}

.has-background{
	background-image: url(/assets/images/image-tech-01_Artboard-2.png);
	background-position: bottom right;
	background-repeat: no-repeat;
}

main::before{
	content: "";
	background-color: rgba(0,0,0,0.05);
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	opacity: 0.75;
}

main > *{
	z-index: 1;
}

sup{
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
	top: -0.5em;
}

article{
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

	article h1{
		font-weight: 300;
		line-height: 1.3;
		margin-bottom: .5em;
	}
	
	article h1 + p{
		font-size: 1.15em;
	}
		
	.intro{
		padding-top: 6vh;
		padding-bottom: 6vh;
		background-image: url(/assets/images/image-tech-01_Artboard-2.png);
	}
	
		.intro h1{
			font-size: 2rem;
		}
		
	.cta-primary{
		padding-top: 10vh;
		padding-bottom: 10vh;
		color: #fff;
		text-align: center;
		background-image: url(/assets/images/readytotalk-01.png);
		background-attachment: fixed;
	}

		#content .cta-primary{
			width: 100vw;
			position: relative;
			left: 50%;
			right: 50%;
			margin-top: 1.75em;
			margin-right: -50vw;
			margin-bottom: 1.75em;
			margin-left: -50vw;
		}

		.cta-primary h1{
			font-size: 3em;
		}

		dl.cta-listing{
			/* reset */
			columns: initial;

			margin: 2rem auto 0;
			text-align: left;
		}

			dl.cta-listing dt{
				/* reset */
				font-weight: initial;
				float: initial;
				width: initial;
				
				font-size: 1.15em;
				padding-bottom: 18px;
			}
			
				dl.cta-listing dt > span{
					display: block;
					font-size: 12px;
					text-transform: uppercase;
				}
				
			dl.cta-listing dd{
				/* reset */
				margin-left: initial;
				width: initial;
				
				margin-bottom: 2rem;
			}

				dl.cta-listing dd > .button{
					/* reset */
					margin-top: initial;
				}

					dl.cta-listing > dt > span > time{
						margin-left: 1rem;
					}

	.button{
		display: inline-block;
		background-color: #00609c;
		border-radius: 25px;
		margin-top: 3em;
		padding: 13px 29px;
		line-height: 17px;
		font-size: 14px;
		font-weight: 700;
		letter-spacing: 2px;
		text-transform: uppercase;
		transition: background-color .2s;
	}
	
		.button:hover{
			background-color: #007f6e;
		}

	.row{
		padding-right: 10%;
		padding-left: 10%;
	}

@media screen and (min-width: 981px){
	.col_3_4{
		width: 75%;
		margin-right: 4%;
	}

	.col_2_3{
		width: 65.3333%;
		margin-right: 4%;
	}
	
	dl.cta-listing{
		align-items: center;
		display: grid;
		grid-template-columns: auto 1fr;
		grid-column-gap: 2rem;
		grid-row-gap: 2rem;
		width: max-content;
	}

		dl.cta-listing dd{
			margin-bottom: 0;
		}
}

#masthead{
	background-image: url(/assets/images/slider-bg-2.png);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	padding: 6vh 2%;
}

	#masthead h1{
		font-size: 3rem;
		font-weight: 300;
		text-align: center;
		color: #fff;
	}
	
		#masthead h1 + *{
			margin-top: 6vh;
		}
	
	.cta{
		display: block;
		background-color: #fff;
	}
	
		.cta + .cta{
			margin-top: 4vh;
		}
	
		.cta > figure{
			text-align: center;
			padding: 35px;
		}
		
			.cta > figure > *,
			.cta > figure > figcaption > *{
				margin-bottom: 15px;
			}
			
		.cta > span{
			display: block;
			text-align: center;
			background-color: #00609c;
			color: #fff;
			font-size: 17px;
			line-height: 32px;
			margin-top: auto;
			padding-top: 5px;
			padding-bottom: 5px;
			transition: background-color .3s;
		}
		
			a.cta:hover > span{
				background-color: #007f6e;
			}
	
hr{
	border: solid 1px #ccc;
	margin-top: 1.5em;
	margin-bottom: 1em;
}
		
@media screen and (min-width: 981px){
	#branding-primary_logo > img{
		width: 85%;
	}

	#nav-secondary ul{
		display: flex;
	}
	
	#nav-secondary li{
		display: table;
	}
	
	#nav-secondary a{
		display: table-cell;
		vertical-align: middle;
		height: 100%;
	}

	.ctas{
		display: flex;
		flex-direction: row;
		gap: 2%;
		margin: 0 auto;
		max-width: 1280px;
	}
	
		.cta{
			display: flex;
			flex-direction: column;
			width: 33%;
		}
		
			.cta + .cta{
				margin-top: 0;
			}
}

@media screen and (min-width: 981px){
	figure.framework{
		position: absolute;
		top: 0;
		right: -2%;
		width: 200px;
	}
	
		figure.framework > hr,
		figure.framework > h3{
			display: none;
		}
	
		figure.framework > img{
			width: 100%;
		}
}

.pricing-item input{
	border: none;
	box-shadow: none;
	font-size: 20px;
	padding: 0;
}

#content ul#breadcrumbs{
	display: flex;
	font-size: 14px;
	margin-bottom: 2em;
}

	ul#breadcrumbs li{
		margin-left: 1.5em;
	}

		ul#breadcrumbs li:first-child{
			list-style-type: none;
			margin-left: 0;
		}

		ul#breadcrumbs a{
			color: var(--accent-color);
		}
		
figure.bio{
	align-items: center;
	display: flex;
	flex-direction: column;
}

	figure.bio > img{
		border: solid 10px rgba(0,0,0,0.05);
		border-radius: 50%;
	}
	
ul.checkmark li{
	font-size: 16px;
	margin-bottom: 1em;
	list-style-type: none;
	padding: .25em 0 0 2.5em;
	position: relative;
}

	ul.checkmark li::before{
		content: " ";
		display: block;
		border: solid .8em var(--accent-color);
		border-radius: .8em;
		height: 0;
		width: 0;
		position: absolute;
		left: .5em;
		top: 40%;
		margin-top: -.5em;
	}

	ul.checkmark li::after{
		content: " ";
		display: block;
		width: .3em;
		height: .6em;
		border: solid #fff;
		border-width: 0 .2em .2em 0;
		position: absolute;
		left: 1em;
		top: 40%;
		margin-top: -.2em;
		transform: rotate(45deg);
	}