
/*Utilites*/
.relative {
	position: relative;
}

.padding-2 {
	padding: 1rem;
}

.padding-4 {
	padding: 2rem;
}

.padding-6 {
	padding: 3rem;
}

.rounded-small {
	border-radius: 1rem;
}

.rounded-medium {
	border-radius: 1.5rem;
}

.rounded-large {
	border-radius: 2rem;
}

.line-height-1 {
	line-height: 1;
}

.line-height-2 {
	line-height: 1.25;
}

.line-height-4 {
	line-height: 1.5;
}

.mb-0 {
	margin-bottom: 0 !important;
}

/*Word Break*/
.break-word {
	word-break: break-word;
}

/*General Typpgraphy within main content*/
.content-container h1, .content-container h2, .content-container h3, .content-container h4, .content-container h5, .content-container h6 {
	margin-bottom: 1.25rem;
}

.content-container p {
	line-height: 1.75;
}

@media (min-width:1200px) {
	.content-container p {
		max-width: 100ch;
	}
}

.content-container p, .content-container a, .content-container ul, .content-container ol, .content-container li {
	font-size: 1.15rem;
}

.content-container h3 {
	color: #666;
}

@media (min-width: 981px) {
	.content-container h1 {
		font-size: 4rem !important;
	}
	
	.content-container h2 {
		font-size: 3.25rem !important;
		line-height: 1.2;
	}
	
	.content-container h3 {
		font-size: 2.5rem !important;
		line-height: 1.2;
		padding-top: .5rem;
	}
	
	.content-container h4 {
		font-size: 2rem !important;
		line-height: 1;
	}
}

.content-container ol, .content-container ul {
	margin-top: 1rem;
	margin-bottom: 1.25rem;
}

.content-container ul li, .content-container ol li {
	margin-bottom: .75rem;
}

/*General Typpgraphy within main content for a tags*/

/*Removing gatbsy styles for hyperlinks as it does not work for long length text*/
.content-container a::after {
	display: none !important;
}

.content-container a {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-decoration-color: #333;
}

/*Add offset for heading anchors to prevent overlap from sticky header*/
.has-anchor-offset, .toc-navigated-content h2, .toc-navigated-content.toc-navigated-content--include-h3 h3, .solutions__main-content h2, .solutions__main-content h3 {
	padding-top: 125px;
	margin-top: -80px;
	display: block;
}

/*Buttons*/
.button {
	border-radius: 5px;
	padding: 7px 30px;
	font-size: 16px;
	font-weight: 600;
	color: #000;
	border: none;
	transition: .25s all ease;
	cursor: pointer;
	text-transform: uppercase;
}

.button-primary {
	background-color: #0d40b4;
	color: white;
	width: fit-content;
}

.button-primary:hover, .button-primary:active, .button-primary:focus {
	color: white;
	box-shadow: 0 0 0 .25rem rgba(62, 102, 205, 50%);
	outline: none;
}

.button-white {
	background-color: #fff;
	color: #0d40b4;
	width: fit-content;
}

.button-white:hover, .button-white:active, .button-white:focus {
	color: #0d40b4;
	box-shadow: 0 0 0 .25rem rgba(62, 102, 205, 50%);
	outline: none;
}

.solutions-template-solutions-page .global-cta .btn-blue, .page-template-cornerstone-page .global-cta .btn-blue, .page-template-solutions-page .global-cta .btn-blue, .page-template-supporting-page .global-cta .btn-blue {
	border-radius: 6px !important;
	text-transform: uppercase;
}

.solutions-template-solutions-page .global-cta .btn-blue:hover, .page-template-cornerstone-page .global-cta .btn-blue:hover, .page-template-solutions-page .global-cta .btn-blue:hover, .page-template-supporting-page .global-cta .btn-blue:hover {
	background-color: #0d40b4 !important;
	color: white !important;
	color: white;
	box-shadow: 0 0 0 .25rem rgba(62, 102, 205, 50%);
	outline: none;
}

/*Page Hero*/
.page-hero {
	min-height: 32rem;
	margin-bottom: 3rem;
}

@media (min-width: 992px) {
	.page-hero__wrapper {
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

@media (min-width: 992px) {
	.page-hero__content {
		width: 45%;
	}
}

.page-hero__title {
	font-size: 3rem;
	font-weight: 600;
	margin-bottom: 1.5rem;
	line-height: 1.2;
}

@media (min-width: 992px) {
	.page-hero__title {
		font-size: 4rem;
	}
}

.page-hero__subtitle {
	font-size: .9rem;
	font-weight: 500;
	margin-bottom: 0;
}

.page-hero__subtext, .page-hero__subtext p {
	font-size: 1.15rem;
}

.page-hero__buttons {
	margin: 2rem 0;
	display: flex;
	flex-direction: column;
}

.page-hero__buttons .button {
	margin-bottom: 1rem;
}

@media (min-width: 992px) {
	.page-hero__buttons {
		flex-direction: row;
	}
	
	.page-hero__buttons .button {
		margin-bottom: 0;
		margin-right: .5rem;
	}
}

.page-hero__image {
	text-align: center;
}

@media (min-width: 992px) {
	.page-hero__image {
		width: 55%;
	}
}

.page-hero__image__img {
	max-width: 100%;
	height: auto;
	object-fit: contain;
	object-position: center;
}

.page-hero__breadcrumbs {
	margin-bottom: 2rem;
}

/*Yoast Breadcrumbs*/
.page-hero__breadcrumbs a, .page-hero__breadcrumbs span {
	color: #0d40b4;
	font-weight: 400;
	text-decoration: none;
}

.page-hero__breadcrumbs span a:after {
	display: none;
}

.page-hero__breadcrumbs > span:first-child {
	color: #bfbfbf;
}

.breadcrumb_last {
	color: #0d40b4;
	font-weight: 600 !important;
	text-decoration: none;
}

.custom-breadcrumbs {
	color: #0d40b4;
	font-size: 1rem;
}

.custom-breadcrumbs a {
	color: #0d40b4;
	font-weight: 400;
	text-decoration: none;
}

.page-hero__breadcrumbs span a:hover, .page-hero__breadcrumbs span a:focus, .page-hero__breadcrumbs span a:active, .custom-breadcrumbs a:hover, .custom-breadcrumbs a:focus, .custom-breadcrumbs a:active {
	color: #0d40b4;
	text-decoration: underline;
}

.custom-breadcrumbs a:after {
	display: none !important;
}

.breadcrumb-separator {
	color: #bfbfbf;
}

.updated-date {
	color: #bfbfbf;
	margin-top: 1rem;
	margin-bottom: .5rem;
}

/* Table of Contents */
.table-of-contents-wrapper {
	position: fixed;
	bottom: -100%;
	left: 1%;
	width: 98%;
	transition: bottom .3s;
	transition: all .3s ease-in-out;
	z-index: 1000;
	border: 1px solid #ddd;
	border-top-right-radius: 6px;
	border-top-left-radius: 6px;
	box-shadow: rgba(0, 0, 0, .1) 0px 0px 10px;
}

.table-of-contents-wrapper.toc-visible {
	bottom: 0;
}

@media (min-width: 992px) {
	.table-of-contents-wrapper {
		width: 22%;
		position: absolute;
		bottom: unset;
		top: 3rem;
		left: 0;
		z-index: 10;
		border: none;
		border-radius: 0;
		box-shadow: none;
	}
	
	.table-of-contents-wrapper--is-sticky {
		/*position on scroll*/
		top: 10rem;
		position: fixed;
	}
}

.toc-close-button {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #e8e8e8;
	border-bottom: 1px solid #ddd;
	text-align: center;
	cursor: pointer;
	font-weight: bold;
	padding: .25rem 0;
}

@media (min-width: 992px) {
	.toc-close-button {
		display: none;
	}
}

.toc-mobile-button {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #e8e8e8;
	border-top-right-radius: 3px;
	border-top-left-radius: 3px;
	text-align: center;
	position: fixed;
	bottom: 0;
	left: 1%;
	width: 98%;
	font-weight: bold;
	font-size: 1rem;
	padding: .25rem 0;
	box-shadow: rgba(0, 0, 0, .1) 0px 0px 10px;
	cursor: pointer;
	border: 2px solid #ddd;
	z-index: 10001;
}

@media (min-width: 992px) {
	/* Show the toggle button only on mobile */
	.toc-mobile-button {
		display: none;
	}
}

.table-of-contents {
	background-color: #f2f5f8;
	padding: 1rem 1rem 3rem 0;
	transition: all .3s ease-in-out;
}

@media (min-width: 992px) {
	.table-of-contents {
		padding-left: 20%;
		padding-bottom: 1rem;
		border-top-right-radius: 1rem;
		border-bottom-right-radius: 1rem;
	}
}

.toc__subheader {
	font-size: .9rem;
	font-weight: 600;
	margin-bottom: .75rem;
	text-transform: uppercase;
	padding-left: 15px;
}

.table-of-contents ul {
	list-style: none;
	padding-left: 0;
}

.table-of-contents ul li {
	margin-bottom: .5rem;
	padding-left: 15px;
	line-height: 1.35;
}

.table-of-contents ul li a {
	color: #818181;
	font-size: .9rem;
	font-weight: 400;
	text-decoration: none;
	transition: all .3s ease-in-out;
	position: relative;
}

.table-of-contents ul li a:after {
	display: none !important;
}

.table-of-contents ul li a:before {
	content: "";
	display: block;
	width: 5px;
	height: 100%;
	position: absolute;
	left: -12px;
	top: 0;
	background-color: transparent;
	transition: width .3s ease-in-out;
}

.table-of-contents ul li a:hover, .table-of-contents ul li a:focus, .table-of-contents ul li a:active {
	color: #000;
	font-weight: 800;
}

.table-of-contents ul li a:hover:before, .table-of-contents ul li a:focus:before, .table-of-contents ul li a:active:before {
	background-color: #0d40b4;
}

/*H3 headings within TOC*/
.table-of-contents ul li.toc-h3-item {
	padding-left: 2rem;
}

/*Pretty Scroll Bar for TOC*/
.table-of-contents-wrapper--is-sticky #toc-list {
	max-height: 55vh;
	overflow-y: auto;
}

/*Shorter if there is a second menu*/
.table-of-contents-wrapper--is-sticky .second-menu-active#toc-list {
	max-height: 42vh;
	overflow-y: auto;
}

#toc-list::-webkit-scrollbar-track {
	background-color: #f1f1f1;
}

#toc-list::-webkit-scrollbar-thumb {
	background-color: #888;
	border-radius: 10px;
}

#toc-list::-webkit-scrollbar-thumb:hover {
	background-color: #666;
}

#toc-list::-webkit-scrollbar {
	width: 8px;
}

.content-container {
	padding-top: 2rem;
}

@media (min-width: 992px) {
	.content-container {
		padding-left: 22%;
	}
}

@media (min-width: 1600px) {
	.content-container {
		padding-left: 16%;
	}
}

/*Sticky Progress Bar*/
.progress-container {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	background-color: #e8e8e8;
	height: 10px;
	width: 100%;
	z-index: 20;
	transition: all .3s ease-in-out;
}

.progress-bar__inner {
	background-color: #0d40b4;
	height: 100%;
	transition: all .3s ease-in-out;
	width: 0%;
}

.progress-bar--sticky {
	top: 0;
	position: fixed;
	z-index: 10000000;
}

/*Call to Action Section*/
.cta-section {
	padding: 3.5rem 1rem;
	margin: 4rem 0 0 0;
	min-height: 14rem;
}

@media (min-width: 992px) {
	.cta-section {
		padding: 3.5rem 0;
	}
}

.cta-section__inner {
	display: flex;
	align-items: start;
	justify-content: center;
}

@media (min-width: 992px) {
	.cta-section__inner {
		align-items: center;
	}
}

.cta__img-wrapper {
	width: 30%;
	margin-right: 2rem;
	margin-bottom: 1rem;
	text-align: center;
}

.cta__img {
	max-width: 100%;
}

.cta__buttons .button {
	margin-right: 1rem;
}

.cta__title {
	font-size: 1.9rem;
	font-weight: 600;
	margin-bottom: 1rem;
	line-height: 1.2;
}

@media (min-width: 992px) {
	.cta__title {
		font-size: 4rem;
		line-height: 1.5;
	}
}

.cta__subtitle {
	font-size: 1rem;
	font-weight: 500;
	margin-bottom: 1rem;
}

.cta__content {
	margin-bottom: 1rem;
}

.cta__buttons {
	margin-top: 3rem;
	display: flex;
	flex-direction: column;
}

@media (min-width: 992px) {
	.cta__buttons {
		flex-direction: row;
	}
}

/*Fast Facts*/
.fast-facts {
	padding: 2rem 3rem;
	color: #fff;
	border-radius: 8px;
	background-color: #2d619f;
	background: linear-gradient(90deg, #2d619f 1.75%, rgba(0, 158, 43, .64) 100.93%);
	margin: 1rem 0 2rem 0;
}

.fast-facts * {
	color: #fff !important;
}

.fast-facts__title {
	color: #fff;
	font-size: 32px;
	font-weight: 600;
	line-height: 40px;
	margin-bottom: 1.25rem;
}

/*Sticky Socail Sidebar*/
.sticky-sharing-bar {
	position: fixed;
	right: 0;
	width: 4rem;
	background-color: #f2f5f8;
	border: 1px solid #ddd;
	border-right: none;
	top: 50%;
	padding-top: 1rem;
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
	z-index: 10000;
	transition: .5 all ease;
}

@media (min-width: 992px) {
	.sticky-sharing-bar {
		position: absolute;
		border-radius: 0;
		padding-top: 0;
		top: 2.5rem;
		right: -4rem;
		border: none;
		background-color: transparent;
	}
	
	.sticky-sharing-bar--sticky {
		top: 9rem;
		position: fixed;
		z-index: 1000;
		height: 11rem;
		width: 4rem;
		right: 0;
		padding-top: .5rem;
		border-radius: 4px;
		background-color: rgba(255, 255, 255, .5);
	}
}

@media (min-width: 1600px) {
	.sticky-sharing-bar--sticky {
		right: 1rem;
	}
}

@media (min-width: 1800px) {
	.sticky-sharing-bar--sticky {
		right: 11rem;
	}
}

.sticky-sharing-bar__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.sticky-sharing-bar__links {
	margin-bottom: 1.5rem;
	opacity: .75;
	transition: .5s all ease;
	text-decoration: none !important;
	position: relative;
}

.sticky-sharing-bar__links:hover, .sticky-sharing-bar__links:focus, .sticky-sharing-bar__links:active {
	opacity: 1;
	text-decoration: none !important;
}

@media (min-width: 992px) {
	/*Tool Tips for social sharing*/
	.sticky-sharing-bar__links::after {
		content: attr(title);
		position: absolute;
		top: -2px;
		right: 3.25rem;
		background-color: #0d40b4;
		color: #fff;
		text-align: center;
		padding: 5px 10px;
		border-radius: 4px;
		font-size: 14px;
		white-space: nowrap;
		z-index: 1;
		opacity: 0;
		transition: .5s opacity ease;
	}
	
	.sticky-sharing-bar__links:hover::after {
		opacity: 1;
	}
	
	/*triangel for tooltip*/
	.sticky-sharing-bar__links::before {
		content: "";
		position: absolute;
		top: 50%;
		right: 2.55rem;
		margin-left: -2px;
		margin-top: -5px;
		border-width: 5px;
		border-style: solid;
		border-color: transparent transparent transparent #0d40b4;
		opacity: 0;
		transition: .5s opacity ease;
	}
	
	.sticky-sharing-bar__links:hover::before {
		opacity: 1;
	}
}

/*FAQs*/
.faqs {
	padding-bottom: 3rem;
}

.faqs__title {
	margin-bottom: 2.5rem;
}

@media (min-width: 992px) {
	.featured-resources__title, .faqs__title {
		font-size: 4rem;
	}
}

.faqs__content {
	margin-top: 2rem;
}

.faqs__buttons {
	margin-top: 1.25rem;
	margin-bottom: 3rem;
}

.page-template-solutions-page .faqs .accordion-container {
	width: 100%;
	margin: 0 0 3rem 0;
}

.page-template-solutions-page .faqs .accordion {
	border-bottom: 2px solid #000;
}

.solutions-template-templates .faqs .accordion-header, .page-template-solutions-page .faqs .accordion-header {
	display: flex;
	align-items: center;
	background-color: #fff;
	color: #000;
	font-weight: 600;
	cursor: pointer;
	padding: .75rem 1rem;
	width: 100%;
	border: none;
	text-align: left;
	outline: none;
	font-size: 1rem;
	transition: .4s;
}

@media (min-width: 768px) {
	.page-template-solutions-page .faqs .accordion-header {
		font-size: 1.25rem;
	}
}

@media (min-width: 992px) {
	.page-template-solutions-page .faqs .accordion-header {
		font-size: 1.4rem;
	}
}

.page-template-solutions-page .faqs .accordion-content {
	padding: 0 1rem;
	background-color: white;
	max-height: 0;
	overflow: hidden;
	transition: all .25s ease-out;
}

.page-template-solutions-page .faqs .accordion-header.active + .page-template-solutions-page .faqs .accordion-content {
	height: auto;
}

.page-template-solutions-page .faqs .accordion__icon {
	margin-right: 1rem;
	transform: rotate(0deg);
	transition: transform .4s ease;
}

.page-template-solutions-page .faqs .accordion-header.active .accordion__icon {
	transform: rotate(90deg);
}

/*Table of Contents - Anchor Links*/
.toc-anchorlinks__title {
	font-size: 1.9rem;
	font-weight: 800;
	margin-bottom: 1.5rem;
}

.toc-anchorlinks {
	background-color: #ededed;
	padding: 2rem;
}

.toc-anchorlinks__inner {
	position: relative;
	z-index: 10;
}

@media (min-width: 768px) {
	.toc-anchorlinks__inner {
		padding-left: 3rem;
		padding-right: 3rem;
	}
}

@media (min-width: 981px) {
	.toc-anchorlinks__inner {
		padding-left: 4rem;
		padding-right: 4rem;
	}
}

@media (min-width: 1200px) {
	.toc-anchorlinks__inner {
		padding-left: 5rem;
		padding-right: 5rem;
	}
}

.toc-anchorlinks__menu {
	display: flex;
	flex-direction: column;
}

@media (min-width: 768px) {
	.toc-anchorlinks__menu {
		gap: 1rem;
		flex-direction: row;
		justify-content: center;
		flex-wrap: wrap;
	}
}

.toc-anchorlinks__menu__item {
	border: 1px solid #0d40b4;
	color: #0d40b4;
	background-color: #fff;
	padding: 1rem;
	border-radius: .25rem;
	margin-bottom: 1rem;
	font-weight: bold;
	cursor: pointer;
	transition: .25s all ease;
}

@media (min-width: 981px) {
	.toc-anchorlinks__menu__item {
		margin-bottom: 0;
		margin-bottom: 0;
		align-items: center;
		display: flex;
		justify-content: center;
		width: 31%;
	}
}

@media (min-width: 768px) {
	.toc-anchorlinks__menu--4 .toc-anchorlinks__menu__item {
		width: 23%;
	}
}

.toc-anchorlinks__menu__item:hover, .toc-anchorlinks__menu__item:active, .toc-anchorlinks__menu__item:focus {
	background-color: #0d40b4;
	color: #fff;
}

.solutions__main-content {
	padding: 3rem 0;
}

.toc-navigated-content .wp-block-separator, .solutions__main-content .wp-block-separator {
	margin-top: 4rem;
	margin-bottom: 4rem;
}

.solutions__main-content h1, .solutions__main-content h2, .solutions__main-content h3, .solutions__main-content h4, .solutions__main-content h5, .solutions__main-content h6 {
	margin-bottom: 1.25rem;
}

.solutions__main-content .wp-block-column {
	padding-left: 1rem;
	padding-right: 1rem;
}

@media (min-width: 992px) {
	.solutions__main-content .wp-block-column {
		padding-left: 2rem;
		padding-right: 2rem;
	}
}

/*Mobile Max Wrappers*/
.max-w-wrapper--sm-all {
	max-width: 60%;
	margin: 0 auto;
}

.max-w-wrapper--md-all {
	max-width: 70%;
	margin: 0 auto;
}

.max-w-wrapper--lg-all {
	max-width: 80%;
	margin: 0 auto;
}

.max-w-wrapper--xlg-all {
	max-width: 90%;
	margin: 0 auto;
}

/*Gutenberg utlities to help format content*/
@media (min-width: 768px) {
	.max-w-wrapper--sm {
		max-width: 60%;
	}
	
	.max-w-wrapper--md {
		max-width: 70%;
	}
	
	.max-w-wrapper--lg {
		max-width: 80%;
	}
	
	.max-w-wrapper--xlg {
		max-width: 90%;
	}
	
	/*With-Auto*/
	.max-w-wrapper--sm-auto {
		max-width: 60%;
		margin-left: auto;
		margin-right: auto;
	}
	
	.max-w-wrapper--md-auto {
		max-width: 70%;
		margin-left: auto;
		margin-right: auto;
	}
	
	.max-w-wrapper--lg-auto {
		max-width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
	
	.max-w-wrapper--xlg-auto {
		max-width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
}

/*Solutions Page*/
.page-template-solutions-page .global-cta, .solutions-template-templates .global-cta, .solutions-template .global-cta {
	background-color: #f2f5f8;
	padding-left: 1rem;
	padding-right: 1rem;
}

@media (min-width:768px) {
	.page-template-solutions-page .global-cta, .solutions-template-templates .global-cta, .solutions-template .global-cta {
		padding-left: 0;
		padding-right: 0;
	}
}

/*Style Gutenberg's Button */
.page-template-cornerstone-page .wp-block-button__link, .page-template-solutions-page .wp-block-button__link, .solutions-template-templates .wp-block-button__link, .solutions-template .wp-block-button__link {
	background-color: #0d40b4;
	color: #fff;
	border-radius: 6px;
	padding: 7px 30px !important;
	font-size: 1.25rem;
	font-weight: 600;
	text-transform: uppercase;
	transition: .25s all ease;
	text-decoration: none !important;
}

.page-template-cornerstone-page .wp-block-button__link:hover, .page-template-cornerstone-page .wp-block-button__link:focus, .page-template-cornerstone-page .wp-block-button__link:active, .page-template-solutions-page .wp-block-button__link:hover, .page-template-solutions-page .wp-block-button__link:focus, .page-template-solutions-page .wp-block-button__link:active, .solutions-template-templates .wp-block-button__link:hover, .solutions-template-templates .wp-block-button__link:focus, .solutions-template-templates .wp-block-button__link:active, .solutions-template .wp-block-button__link:hover, .solutions-template .wp-block-button__link:focus, .solutions-template .wp-block-button__link:active {
	background-color: #0d40b4;
	color: #fff;
	box-shadow: 0 0 0 .25rem rgba(62, 102, 205, 50%);
	outline: none;
	text-decoration: none !important;
}

/*HR Utilities*/
.page-template-solutions-page hr {
	opacity: .2;
}

@media only screen and (min-width: 768px) {
	.half-hr-left {
		max-width: 47%;
		margin-right: auto;
	}
	
	.half-hr-right {
		max-width: 47%;
		margin-left: auto;
	}
}
