
.gform_wrapper.gravity-theme fieldset, .gform_wrapper.gravity-theme legend {
	background: 0 0;
	padding: 0;
}

.gform_wrapper.gravity-theme fieldset {
	border: none;
	display: block;
	margin: 0;
}

.gform_wrapper.gravity-theme legend {
	margin-left: 0;
	margin-right: 0;
}

.gform-icon {
	font-family: gform-icons-theme !important;
	speak: never;
	font-style: normal;
	font-weight: 400;
	font-feature-settings: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.gform-icon--photograph:before {
	content: "";
}

.gform-icon--star-border:before {
	content: "";
}

.gform-icon--star:before {
	content: "";
}

.gform-icon--left-arrow:before {
	content: "";
}

.gform-icon--right-arrow:before {
	content: "";
}

.gform-icon--circle-error:before {
	content: "";
}

.gform-icon--close-small:before {
	content: "";
}

.gform-icon--info:before {
	content: "";
}

.gform-icon--verified:before {
	content: "";
}

.gform-icon--circle-close:before {
	content: "";
}

.gform-icon--close-big:before {
	content: "";
}

.gform-icon--down-arrow:before {
	content: "";
}

.gform-icon--format-bold:before {
	content: "";
}

.gform-icon--format-italic:before {
	content: "";
}

.gform-icon--format-list-bulleted:before {
	content: "";
}

.gform-icon--format-list-numbered:before {
	content: "";
}

.gform-icon--insert-link:before {
	content: "";
}

.gform-icon--line:before {
	content: "";
}

.gform-icon--password-eye:before {
	content: "";
}

.gform-icon--password-eye-closed:before {
	content: "";
}

.gform-icon--redo:before {
	content: "";
}

.gform-icon--schedule:before {
	content: "";
}

.gform-icon--clock:before {
	content: "";
}

.gform-icon--search:before {
	content: "";
}

.gform-icon--star-half:before {
	content: "";
}

.gform-icon--check:before {
	content: "";
}

.gform-icon--undo:before {
	content: "";
}

.gform-icon--unfold-more:before {
	content: "";
}

.gform-icon--create:before {
	content: "";
}

.gform-icon--cog:before {
	content: "";
}

.gform-icon--circle-check:before {
	content: "";
}

.gform_wrapper.gravity-theme .gform-ul-reset {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.gform_wrapper.gravity-theme .gform-text-input-reset, .gform_wrapper.gravity-theme input.gform-text-input-reset, body[class*=avada] .gform_wrapper.gravity-theme input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]).gform-text-input-reset {
	background-color: transparent;
	border: none;
	border-color: transparent;
	border-radius: 0;
	font-family: inherit;
	font-size: inherit;
	outline: 0;
	padding: inherit;
}

.gform_wrapper.gravity-theme .gform_drop_area {
	background: rgba(0, 0, 0, .02);
	border: 1px dashed #ccc;
	border-radius: 4px;
	margin-bottom: 8px;
	padding: 32px;
	text-align: center;
}

.gform_wrapper.gravity-theme .gform_drop_instructions {
	display: block;
	margin-bottom: 8px;
}

.gform_wrapper.gravity-theme .gform_delete, .gform_wrapper.gravity-theme .gform_delete_file {
	cursor: pointer;
	vertical-align: middle;
}

.gform_wrapper.gravity-theme .gform_delete_file {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background: 0 0;
	border: none;
}

.gform_wrapper.gravity-theme .gfield_fileupload_filesize {
	padding: 0 6px;
}

.gform_wrapper.gravity-theme .gfield_validation_message ul {
	margin: 16px 0;
	padding-left: 24px;
}

.gform_wrapper.gravity-theme .gfield_validation_message ul:empty {
	display: none;
}

.gform_wrapper.gravity-theme .ginput_preview {
	margin: 16px 0;
}

.gform_wrapper.gravity-theme .gform_fileupload_rules {
	display: block;
	margin-top: 8px;
}

.gform_wrapper.gravity-theme .ginput_container_password>span {
	position: relative;
}

.gform_wrapper.gravity-theme .gform_show_password:focus {
	outline: 0;
}

.gform_wrapper.gravity-theme .gform_show_password {
	background-color: inherit;
	border: none;
	cursor: pointer;
	height: 100%;
	padding: 0;
	position: absolute;
	right: 20px;
	top: 0;
}

.gform_wrapper.gravity-theme .password_input_container {
	display: block;
	position: relative;
}

.gform_wrapper.gravity-theme .gfield_password_strength {
	background-color: #eee;
	border: 1px solid #ddd;
	border-bottom: 3px solid #ddd;
	margin-top: 8px;
	padding: 8px;
	text-align: center;
}

.gform_wrapper.gravity-theme .gfield_password_strength.mismatch, .gform_wrapper.gravity-theme .gfield_password_strength.short {
	background-color: #ffa0a0;
	border-bottom: 3px solid #f04040;
	border-color: #f04040;
}

.gform_wrapper.gravity-theme .gfield_password_strength.bad {
	background-color: #ffb78c;
	border-bottom: 3px solid #ff853c;
	border-color: #ff853c;
}

.gform_wrapper.gravity-theme .gfield_password_strength.good {
	background-color: #ffec8b;
	border-bottom: 3px solid #fc0;
	border-color: #fc0;
}

.gform_wrapper.gravity-theme .gfield_password_strength.strong {
	background-color: #c3ff88;
	border-bottom: 3px solid #8dff1c;
	border-color: #8dff1c;
}

.gform_wrapper.gravity-theme .field_sublabel_above .gfield_password_strength {
	margin-top: 16px;
}

.gravity-theme.ui-datepicker {
	background-color: #fff;
	border: 1px solid rgba(0, 0, 0, .1);
	box-shadow: 0 1px 5px rgba(0, 0, 0, .1);
	display: none;
	margin: 2.4px;
	padding: 8px;
}

.gravity-theme.ui-datepicker[style] {
	z-index: 9999 !important;
}

.gravity-theme.ui-datepicker .ui-datepicker-header {
	border-bottom: 1px solid rgba(0, 0, 0, .1);
	margin: 0 -8px 8px;
	padding: 0 8px 8px;
	position: relative;
}

.gravity-theme.ui-datepicker .ui-datepicker-next, .gravity-theme.ui-datepicker .ui-datepicker-prev {
	cursor: pointer;
	position: absolute;
}

.gravity-theme.ui-datepicker .ui-datepicker-next::before, .gravity-theme.ui-datepicker .ui-datepicker-prev::before {
	border-style: solid;
	border-width: .18em .18em 0 0;
	content: "";
	display: inline-block;
	height: .55em;
	left: .15em;
	position: relative;
	top: .3em;
	transform: rotate(-135deg);
	vertical-align: top;
	width: .55em;
}

.gravity-theme.ui-datepicker .ui-datepicker-next .ui-icon, .gravity-theme.ui-datepicker .ui-datepicker-prev .ui-icon {
	display: none;
}

.gravity-theme.ui-datepicker .ui-datepicker-prev {
	left: 16px;
}

.gravity-theme.ui-datepicker .ui-datepicker-next {
	right: 16px;
}

.gravity-theme.ui-datepicker .ui-datepicker-next::before {
	left: 0;
	transform: rotate(45deg);
}

.gravity-theme.ui-datepicker .ui-datepicker-title {
	text-align: center;
}

.gravity-theme.ui-datepicker .ui-datepicker-title select {
	margin: 0 4px;
}

.gravity-theme.ui-datepicker .ui-datepicker table {
	border-spacing: 0;
	margin: 0;
}

.gravity-theme.ui-datepicker .ui-datepicker thead {
	font-size: .85em;
}

.gravity-theme.ui-datepicker .ui-datepicker td {
	padding: 0;
	width: 35.2px;
}

.gravity-theme.ui-datepicker a.ui-state-default {
	border-radius: 50%;
	color: #222;
	display: block;
	line-height: 35.2px;
	text-align: center;
	text-decoration: none;
	width: 100%;
}

.gravity-theme.ui-datepicker a.ui-state-default:hover {
	background-color: rgba(0, 0, 0, .1);
}

.gravity-theme.ui-datepicker a.ui-state-active, .gravity-theme.ui-datepicker a.ui-state-active:hover {
	background-color: #3498db;
	color: #fff;
}

.gform_wrapper.gravity-theme ::-ms-reveal {
	display: none;
}

.gform_wrapper.gravity-theme .gform_validation_container, body .gform_wrapper.gravity-theme .gform_body .gform_fields .gfield.gform_validation_container, body .gform_wrapper.gravity-theme .gform_fields .gfield.gform_validation_container, body .gform_wrapper.gravity-theme .gform_validation_container {
	display: none !important;
	left: -9000px;
	position: absolute !important;
}

.gform_wrapper.gravity-theme .chosen-container {
	display: inline-block;
	font-size: 16px;
	position: relative;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	vertical-align: middle;
}

.gform_wrapper.gravity-theme .chosen-container * {
	box-sizing: border-box;
}

.gform_wrapper.gravity-theme .chosen-container .chosen-drop {
	background: #fff;
	border: 1px solid #aaa;
	border-top: 0;
	box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
	display: none;
	position: absolute;
	top: 100%;
	width: 100%;
	z-index: 1010;
}

.gform_wrapper.gravity-theme .chosen-container.chosen-with-drop .chosen-drop {
	display: block;
}

.gform_wrapper.gravity-theme .chosen-container a {
	cursor: pointer;
}

.gform_wrapper.gravity-theme .chosen-container .chosen-single .group-name, .gform_wrapper.gravity-theme .chosen-container .search-choice .group-name {
	color: #999;
	font-weight: 400;
	margin-right: 4px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gform_wrapper.gravity-theme .chosen-container .chosen-single .group-name::after, .gform_wrapper.gravity-theme .chosen-container .search-choice .group-name::after {
	content: ":";
	padding-left: 2px;
	vertical-align: top;
}

.gform_wrapper.gravity-theme .chosen-container-single .chosen-single {
	background: linear-gradient(#fff 20%, #f6f6f6 50%, #eee 52%, #f4f4f4 100%);
	background-clip: padding-box;
	background-color: #fff;
	border: 1px solid #aaa;
	border-radius: 5px;
	box-shadow: 0 0 3px #fff inset, 0 1px 1px rgba(0, 0, 0, .1);
	color: #444;
	display: block;
	height: 40px;
	line-height: 24px;
	overflow: hidden;
	padding: 0 0 0 8px;
	position: relative;
	text-decoration: none;
	white-space: nowrap;
}

.gform_wrapper.gravity-theme .chosen-container-single .chosen-single input[type=text] {
	cursor: pointer;
	opacity: 0;
	position: absolute;
	width: 0;
}

.gform_wrapper.gravity-theme .chosen-container-single .chosen-default {
	color: #999;
}

.gform_wrapper.gravity-theme .chosen-container-single .chosen-single span {
	display: block;
	line-height: 38.4px;
	margin-right: 24px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gform_wrapper.gravity-theme .chosen-container-single .chosen-single-with-deselect span {
	margin-right: 36px;
}

.gform_wrapper.gravity-theme .chosen-container-single .chosen-single abbr {
	background: url("https://cdn-ildoaab.nitrocdn.com/JzadSxRbeRwMrDuuSWJpqUXPeNBEBfkB/assets/images/optimized/rev-183cb1b/www.khamolaw.com/wp-content/plugins/gravityforms/legacy/css/chosen-sprite.png") -42px 1px no-repeat;
	display: block;
	font-size: 1px;
	height: 12px;
	position: absolute;
	right: 26px;
	top: 6px;
	width: 12px;
}

.gform_wrapper.gravity-theme .chosen-container-single .chosen-single abbr:hover {
	background-position: -42px -10px;
}

.gform_wrapper.gravity-theme .chosen-container-single .chosen-single abbr.nitro-lazy {
	background-image: none !important;
}

.gform_wrapper.gravity-theme .chosen-container-single.chosen-disabled .chosen-single abbr:hover {
	background-position: -42px -10px;
}

.gform_wrapper.gravity-theme .chosen-container-single .chosen-single div {
	display: block;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	width: 18px;
}

.gform_wrapper.gravity-theme .chosen-container-single .chosen-single div b {
	background: url("https://cdn-ildoaab.nitrocdn.com/JzadSxRbeRwMrDuuSWJpqUXPeNBEBfkB/assets/images/optimized/rev-183cb1b/www.khamolaw.com/wp-content/plugins/gravityforms/legacy/css/chosen-sprite.png") no-repeat 0 10px;
	display: block;
	height: 100%;
	width: 100%;
}

.gform_wrapper.gravity-theme .chosen-container-single .chosen-single div b.nitro-lazy {
	background-image: none !important;
}

.gform_wrapper.gravity-theme .chosen-container-single .chosen-search {
	margin: 0;
	padding: 3px 4px;
	position: relative;
	white-space: nowrap;
	z-index: 1010;
}

.gform_wrapper.gravity-theme .chosen-container-single .chosen-search input[type=text] {
	background: url("https://cdn-ildoaab.nitrocdn.com/JzadSxRbeRwMrDuuSWJpqUXPeNBEBfkB/assets/images/optimized/rev-183cb1b/www.khamolaw.com/wp-content/plugins/gravityforms/legacy/css/chosen-sprite.png") no-repeat 100% -20px;
	border: 1px solid #aaa;
	border-radius: 0;
	font-family: sans-serif;
	font-size: 1em;
	height: auto;
	line-height: normal;
	margin: 1px 0;
	outline: 0;
	padding: 4px 20px 4px 5px;
	width: 100%;
}

.gform_wrapper.gravity-theme .chosen-container-single .chosen-search input[type=text].nitro-lazy {
	background-image: none !important;
}

.gform_wrapper.gravity-theme .chosen-container-single .chosen-drop {
	background-clip: padding-box;
	border-radius: 0 0 4px 4px;
	margin-top: -1px;
}

.gform_wrapper.gravity-theme .chosen-container-single.chosen-container-single-nosearch .chosen-search {
	opacity: 0;
	pointer-events: none;
	position: absolute;
}

.gform_wrapper.gravity-theme .chosen-container .chosen-results {
	color: #444;
	margin: 0 4px 4px 0;
	max-height: 240px;
	-webkit-overflow-scrolling: touch;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 0 0 0 4px;
	position: relative;
}

.gform_wrapper.gravity-theme .chosen-container .chosen-results li {
	display: none;
	line-height: 15px;
	list-style: none;
	margin: 0;
	padding: 5px 6px;
	-webkit-touch-callout: none;
	word-wrap: break-word;
}

.gform_wrapper.gravity-theme .chosen-container .chosen-results li.active-result {
	cursor: pointer;
	display: list-item;
}

.gform_wrapper.gravity-theme .chosen-container .chosen-results li.disabled-result {
	color: #ccc;
	cursor: default;
	display: list-item;
}

.gform_wrapper.gravity-theme .chosen-container .chosen-results li.highlighted {
	background-color: #3875d7;
	background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);
	color: #fff;
}

.gform_wrapper.gravity-theme .chosen-container .chosen-results li.no-results {
	background: #f4f4f4;
	color: #777;
	display: list-item;
}

.gform_wrapper.gravity-theme .chosen-container .chosen-results li.group-result {
	cursor: default;
	display: list-item;
	font-weight: 700;
}

.gform_wrapper.gravity-theme .chosen-container .chosen-results li.group-option {
	padding-left: 15px;
}

.gform_wrapper.gravity-theme .chosen-container .chosen-results li em {
	font-style: normal;
	text-decoration: underline;
}

.gform_wrapper.gravity-theme .chosen-container-multi .chosen-choices {
	background-color: #fff;
	border: 1px solid #aaa;
	cursor: text;
	height: auto;
	margin: 0;
	overflow: hidden;
	padding: 8px;
	position: relative;
	width: 100%;
}

.gform_wrapper.gravity-theme .chosen-container-multi .chosen-choices li {
	float: left;
	list-style: none;
}

.gform_wrapper.gravity-theme .chosen-container-multi .chosen-choices li.search-field {
	margin: 0;
	padding: 0;
	white-space: nowrap;
}

.gform_wrapper.gravity-theme .chosen-container-multi .chosen-choices li.search-field input[type=text] {
	background: 0 0 !important;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none;
	color: #999;
	font-family: sans-serif;
	font-size: 100%;
	height: 25px;
	line-height: normal;
	margin: 1px 0;
	outline: 0;
	padding: 0;
	width: 25px;
}

.gform_wrapper.gravity-theme .chosen-container-multi .chosen-choices li.search-choice {
	background-clip: padding-box;
	background-color: #eee;
	background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
	background-repeat: repeat-x;
	background-size: 100% 19px;
	border: 1px solid #aaa;
	border-radius: 3px;
	box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, .05);
	color: #333;
	cursor: default;
	line-height: 13px;
	margin: 3px 5px 3px 0;
	max-width: 100%;
	padding: 3px 20px 3px 5px;
	position: relative;
}

.gform_wrapper.gravity-theme .chosen-container-multi .chosen-choices li.search-choice span {
	word-wrap: break-word;
}

.gform_wrapper.gravity-theme .chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
	background: url("https://cdn-ildoaab.nitrocdn.com/JzadSxRbeRwMrDuuSWJpqUXPeNBEBfkB/assets/images/optimized/rev-183cb1b/www.khamolaw.com/wp-content/plugins/gravityforms/legacy/css/chosen-sprite.png") -42px 1px no-repeat;
	display: block;
	font-size: 1px;
	height: 12px;
	position: absolute;
	right: 3px;
	top: 4px;
	width: 12px;
}

.gform_wrapper.gravity-theme .chosen-container-multi .chosen-choices li.search-choice .search-choice-close.nitro-lazy {
	background-image: none !important;
}

.gform_wrapper.gravity-theme .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
	background-position: -42px -10px;
}

.gform_wrapper.gravity-theme .chosen-container-multi .chosen-choices li.search-choice-disabled {
	background-color: #e4e4e4;
	background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
	border: 1px solid #ccc;
	color: #666;
	padding-right: 5px;
}

.gform_wrapper.gravity-theme .chosen-container-multi .chosen-choices li.search-choice-focus {
	background: #d4d4d4;
}

.gform_wrapper.gravity-theme .chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {
	background-position: -42px -10px;
}

.gform_wrapper.gravity-theme .chosen-container-multi .chosen-results {
	margin: 0;
	padding: 0;
}

.gform_wrapper.gravity-theme .chosen-container-multi .chosen-drop .result-selected {
	color: #ccc;
	cursor: default;
	display: list-item;
}

.gform_wrapper.gravity-theme .chosen-container-active .chosen-single {
	border: 1px solid #5897fb;
	box-shadow: 0 0 5px rgba(0, 0, 0, .3);
}

.gform_wrapper.gravity-theme .chosen-container-active.chosen-with-drop .chosen-single {
	background-image: linear-gradient(#eee 20%, #fff 80%);
	border: 1px solid #aaa;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	box-shadow: 0 1px 0 #fff inset;
}

.gform_wrapper.gravity-theme .chosen-container-active.chosen-with-drop .chosen-single div {
	background: 0 0;
	border-left: none;
}

.gform_wrapper.gravity-theme .chosen-container-active.chosen-with-drop .chosen-single div b {
	background-position: -18px 10px;
}

.gform_wrapper.gravity-theme .chosen-container-active .chosen-choices {
	border: 1px solid #5897fb;
	box-shadow: 0 0 5px rgba(0, 0, 0, .3);
}

.gform_wrapper.gravity-theme .chosen-container-active .chosen-choices li.search-field input[type=text] {
	color: #222 !important;
}

.gform_wrapper.gravity-theme .chosen-disabled {
	cursor: default;
	opacity: .5 !important;
}

.gform_wrapper.gravity-theme .chosen-disabled .chosen-single {
	cursor: default;
}

.gform_wrapper.gravity-theme .chosen-disabled .chosen-choices .search-choice .search-choice-close {
	cursor: default;
}

.gform_wrapper.gravity-theme .chosen-rtl {
	text-align: right;
}

.gform_wrapper.gravity-theme .chosen-rtl .chosen-single {
	overflow: visible;
	padding: 0 8px 0 0;
}

.gform_wrapper.gravity-theme .chosen-rtl .chosen-single span {
	direction: rtl;
	margin-left: 26px;
	margin-right: 0;
}

.gform_wrapper.gravity-theme .chosen-rtl .chosen-single-with-deselect span {
	margin-left: 38px;
}

.gform_wrapper.gravity-theme .chosen-rtl .chosen-single div {
	left: 3px;
	right: auto;
}

.gform_wrapper.gravity-theme .chosen-rtl .chosen-single abbr {
	left: 26px;
	right: auto;
}

.gform_wrapper.gravity-theme .chosen-rtl .chosen-choices li {
	float: right;
}

.gform_wrapper.gravity-theme .chosen-rtl .chosen-choices li.search-field input[type=text] {
	direction: rtl;
}

.gform_wrapper.gravity-theme .chosen-rtl .chosen-choices li.search-choice {
	margin: 3px 5px 3px 0;
	padding: 3px 5px 3px 19px;
}

.gform_wrapper.gravity-theme .chosen-rtl .chosen-choices li.search-choice .search-choice-close {
	left: 4px;
	right: auto;
}

.gform_wrapper.gravity-theme .chosen-rtl.chosen-container-single .chosen-results {
	margin: 0 0 4px 4px;
	padding: 0 4px 0 0;
}

.gform_wrapper.gravity-theme .chosen-rtl .chosen-results li.group-option {
	padding-left: 0;
	padding-right: 15px;
}

.gform_wrapper.gravity-theme .chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div {
	border-right: none;
}

.gform_wrapper.gravity-theme .chosen-rtl .chosen-search input[type=text] {
	background: url("https://cdn-ildoaab.nitrocdn.com/JzadSxRbeRwMrDuuSWJpqUXPeNBEBfkB/assets/images/optimized/rev-183cb1b/www.khamolaw.com/wp-content/plugins/gravityforms/legacy/css/chosen-sprite.png") no-repeat -30px -20px;
	direction: rtl;
	padding: 4px 5px 4px 20px;
}

.gform_wrapper.gravity-theme .chosen-rtl .chosen-search input[type=text].nitro-lazy {
	background-image: none !important;
}

.gform_wrapper.gravity-theme .chosen-rtl.chosen-container-single .chosen-single div b {
	background-position: 6px 2px;
}

.gform_wrapper.gravity-theme .chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b {
	background-position: -12px 2px;
}

@media only screen and (min-resolution:144dpi),only screen and (min-resolution:1.5dppx) {
	.gform_wrapper.gravity-theme .chosen-container .chosen-results-scroll-down span, .gform_wrapper.gravity-theme .chosen-container .chosen-results-scroll-up span, .gform_wrapper.gravity-theme .chosen-container-multi .chosen-choices .search-choice .search-choice-close, .gform_wrapper.gravity-theme .chosen-container-single .chosen-search input[type=text], .gform_wrapper.gravity-theme .chosen-container-single .chosen-single abbr, .gform_wrapper.gravity-theme .chosen-container-single .chosen-single div b, .gform_wrapper.gravity-theme .chosen-rtl .chosen-search input[type=text] {
		background-image: url("https://cdn-ildoaab.nitrocdn.com/JzadSxRbeRwMrDuuSWJpqUXPeNBEBfkB/assets/images/optimized/rev-183cb1b/www.khamolaw.com/wp-content/plugins/gravityforms/legacy/css/chosen-sprite@2x.png") !important;
		background-repeat: no-repeat !important;
		background-size: 52px 37px !important;
	}
	
	.gform_wrapper.gravity-theme .chosen-container .chosen-results-scroll-down span.nitro-lazy, .gform_wrapper.gravity-theme .chosen-container .chosen-results-scroll-up span.nitro-lazy, .gform_wrapper.gravity-theme .chosen-container-multi .chosen-choices .search-choice .search-choice-close.nitro-lazy, .gform_wrapper.gravity-theme .chosen-container-single .chosen-search input[type=text].nitro-lazy, .gform_wrapper.gravity-theme .chosen-container-single .chosen-single abbr.nitro-lazy, .gform_wrapper.gravity-theme .chosen-container-single .chosen-single div b.nitro-lazy, .gform_wrapper.gravity-theme .chosen-rtl .chosen-search input[type=text].nitro-lazy {
		background-image: none !important;
	}
}

body .gform_wrapper.gravity-theme .chosen-container a.chosen-single {
	border-radius: inherit;
}

body .gform_wrapper.gravity-theme ul.chosen-results li {
	line-height: inherit;
}

@media only screen and (max-width:641px) {
	.gform_wrapper.gravity-theme input:not([type=radio]):not([type=checkbox]):not([type=image]):not([type=file]) {
		line-height: 2;
		min-height: 32px;
	}
	
	.gform_wrapper.gravity-theme textarea {
		line-height: 1.5;
	}
	
	.gform_wrapper.gravity-theme .chosen-container.chosen-container-single[style] {
		width: 100% !important;
	}
	
	.gform_wrapper.gravity-theme .chosen-container-single .chosen-single {
		height: 40px;
		line-height: 2.8;
	}
	
	.gform_wrapper.gravity-theme .chosen-container-single .chosen-single div b {
		position: relative;
		top: 10px;
	}
	
	.gform_wrapper.gravity-theme div.chosen-container.chosen-container-multi[style] {
		width: 100% !important;
	}
	
	.gform_wrapper.gravity-theme .chosen-container.chosen-container-multi ul.chosen-choices li.search-choice, .gform_wrapper.gravity-theme .chosen-container.chosen-container-multi ul.chosen-choices li.search-field {
		float: none;
		line-height: inherit;
		width: 100%;
	}
	
	.gform_wrapper.gravity-theme .chosen-container.chosen-container-multi ul.chosen-choices li.search-choice span {
		margin-bottom: 0;
	}
	
	.gform_wrapper.gravity-theme .chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
		top: calc(50% - 6px);
	}
	
	.gform_wrapper.gravity-theme .chosen-container span:not(.ginput_price) {
		display: block;
		margin-bottom: 8px;
	}
	
	.gform_wrapper.gravity-theme li.field_sublabel_below .ginput_complex {
		margin-top: 12px !important;
	}
	
	.gform_wrapper.gravity-theme ul.gfield_checkbox li label, .gform_wrapper.gravity-theme ul.gfield_radio li label {
		cursor: pointer;
		width: 85%;
	}
}

@media only screen and (min-width:641px) {
	body .gform_wrapper.gravity-theme select.medium.gfield_select+div.chosen-container-multi[style], body .gform_wrapper.gravity-theme select.medium.gfield_select+div.chosen-container-single[style] {
		width: calc(50% - 8px) !important;
	}
	
	body .gform_wrapper.gravity-theme select.large.gfield_select+div.chosen-container-multi[style], body .gform_wrapper.gravity-theme select.large.gfield_select+div.chosen-container-single[style] {
		width: 100% !important;
	}
	
	body .gform_wrapper.gravity-theme select.small.gfield_select+div.chosen-container-multi[style], body .gform_wrapper.gravity-theme select.small.gfield_select+div.chosen-container-single[style] {
		width: 25% !important;
	}
}

.gform_wrapper.gravity-theme .gf_hide_ampm .gfield_time_ampm {
	display: none !important;
}

.gform_wrapper.gravity-theme .gf_invisible, .gform_wrapper.gravity-theme .gfield_visibility_hidden {
	left: -9999px;
	position: absolute;
	visibility: hidden;
}

.gform_wrapper.gravity-theme .gf_hide_charleft div.charleft {
	display: none !important;
}

.gform_wrapper.gravity-theme .gf_hidden, .gform_wrapper.gravity-theme .gform_hidden {
	display: none;
}

.gform_wrapper.gravity-theme .hidden_label .gfield_label, .gform_wrapper.gravity-theme .hidden_sub_label, .gform_wrapper.gravity-theme .screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.gform_wrapper.gravity-theme button.screen-reader-text:focus {
	border: 0;
	clip: auto;
	clip-path: none;
	height: auto;
	margin: 0;
	position: static !important;
	width: auto;
}

@media only screen and (min-width:641px) {
	.gform_wrapper.gravity-theme .gfield.gf_list_2col .gfield_checkbox, .gform_wrapper.gravity-theme .gfield.gf_list_2col .gfield_radio {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(auto-fill, auto);
		grid-column-gap: 2rem;
	}
	
	.gform_wrapper.gravity-theme .gfield.gf_list_3col .gfield_checkbox, .gform_wrapper.gravity-theme .gfield.gf_list_3col .gfield_radio {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-template-rows: repeat(auto-fill, auto);
		grid-column-gap: 2rem;
	}
	
	.gform_wrapper.gravity-theme .gfield.gf_list_4col .gfield_checkbox, .gform_wrapper.gravity-theme .gfield.gf_list_4col .gfield_radio {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		grid-template-rows: repeat(auto-fill, auto);
		grid-column-gap: 2rem;
	}
	
	.gform_wrapper.gravity-theme .gfield.gf_list_5col .gfield_checkbox, .gform_wrapper.gravity-theme .gfield.gf_list_5col .gfield_radio {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		grid-template-rows: repeat(auto-fill, auto);
		grid-column-gap: 2rem;
	}
	
	.gform_wrapper.gravity-theme .gf_list_2col_vertical .gfield_checkbox, .gform_wrapper.gravity-theme .gf_list_2col_vertical .gfield_radio {
		-moz-column-count: 2;
		column-count: 2;
		grid-column-gap: 2rem;
		display: block;
	}
	
	.gform_wrapper.gravity-theme .gf_list_3col_vertical .gfield_checkbox, .gform_wrapper.gravity-theme .gf_list_3col_vertical .gfield_radio {
		-moz-column-count: 3;
		column-count: 3;
		grid-column-gap: 2rem;
		display: block;
	}
	
	.gform_wrapper.gravity-theme .gf_list_4col_vertical .gfield_checkbox, .gform_wrapper.gravity-theme .gf_list_4col_vertical .gfield_radio {
		-moz-column-count: 4;
		column-count: 4;
		grid-column-gap: 2rem;
		display: block;
	}
	
	.gform_wrapper.gravity-theme .gf_list_5col_vertical .gfield_checkbox, .gform_wrapper.gravity-theme .gf_list_5col_vertical .gfield_radio {
		-moz-column-count: 5;
		column-count: 5;
		grid-column-gap: 2rem;
		display: block;
	}
	
	.gform_wrapper.gravity-theme .gfield.gf_list_height_25 .gfield_checkbox .gchoice, .gform_wrapper.gravity-theme .gfield.gf_list_height_25 .gfield_radio .gchoice {
		height: 25px;
	}
	
	.gform_wrapper.gravity-theme .gfield.gf_list_height_50 .gfield_checkbox .gchoice, .gform_wrapper.gravity-theme .gfield.gf_list_height_50 .gfield_radio .gchoice {
		height: 50px;
	}
	
	.gform_wrapper.gravity-theme .gfield.gf_list_height_75 .gfield_checkbox .gchoice, .gform_wrapper.gravity-theme .gfield.gf_list_height_75 .gfield_radio .gchoice {
		height: 75px;
	}
	
	.gform_wrapper.gravity-theme .gfield.gf_list_height_100 .gfield_checkbox .gchoice, .gform_wrapper.gravity-theme .gfield.gf_list_height_100 .gfield_radio .gchoice {
		height: 100px;
	}
	
	.gform_wrapper.gravity-theme .gfield.gf_list_height_125 .gfield_checkbox .gchoice, .gform_wrapper.gravity-theme .gfield.gf_list_height_125 .gfield_radio .gchoice {
		height: 125px;
	}
	
	.gform_wrapper.gravity-theme .gfield.gf_list_height_150 .gfield_checkbox .gchoice, .gform_wrapper.gravity-theme .gfield.gf_list_height_150 .gfield_radio .gchoice {
		height: 150px;
	}
}

.gform_wrapper.gravity-theme .gfield.gf_list_inline .gfield_checkbox, .gform_wrapper.gravity-theme .gfield.gf_list_inline .gfield_radio, .gform_wrapper.gravity-theme .gfield.gfield--choice-align-horizontal .gfield_checkbox, .gform_wrapper.gravity-theme .gfield.gfield--choice-align-horizontal .gfield_radio {
	display: block;
}

.gform_wrapper.gravity-theme .gfield.gf_list_inline .gfield_checkbox .gchoice, .gform_wrapper.gravity-theme .gfield.gf_list_inline .gfield_radio .gchoice, .gform_wrapper.gravity-theme .gfield.gfield--choice-align-horizontal .gfield_checkbox .gchoice, .gform_wrapper.gravity-theme .gfield.gfield--choice-align-horizontal .gfield_radio .gchoice {
	display: inline-block;
	padding-inline-end: 16px;
	vertical-align: top;
}

.gform_wrapper.gravity-theme .gfield.gf_list_inline .gfield_checkbox .gchoice label, .gform_wrapper.gravity-theme .gfield.gf_list_inline .gfield_radio .gchoice label, .gform_wrapper.gravity-theme .gfield.gfield--choice-align-horizontal .gfield_checkbox .gchoice label, .gform_wrapper.gravity-theme .gfield.gfield--choice-align-horizontal .gfield_radio .gchoice label {
	max-width: none;
}

.gform_wrapper.gravity-theme .gf_hide_ampm .gfield_time_ampm {
	display: none !important;
}

.gform_wrapper.gravity-theme .gsection.gf_scroll_text {
	background-color: #fff;
	border: 1px solid #ccc;
	height: 240px;
	overflow-x: hidden;
	overflow-y: scroll;
	padding: 32px;
}

.gform_wrapper.gravity-theme .gsection.gf_scroll_text .gsection_title {
	margin-top: 0;
}

.gform_wrapper.gravity-theme .gfield.gfield_html.gf_alert_blue, .gform_wrapper.gravity-theme .gfield.gfield_html.gf_alert_gray, .gform_wrapper.gravity-theme .gfield.gfield_html.gf_alert_green, .gform_wrapper.gravity-theme .gfield.gfield_html.gf_alert_red, .gform_wrapper.gravity-theme .gfield.gfield_html.gf_alert_yellow {
	border-radius: 3px;
	margin: 20px 0 !important;
	padding: 20px !important;
}

.gform_wrapper.gravity-theme .gfield.gfield_html.gf_alert_green {
	background-color: #cbeca0;
	border: 1px solid #97b48a;
	color: #030;
	text-shadow: #dfb 1px 1px;
}

.gform_wrapper.gravity-theme .gfield.gfield_html.gf_alert_red {
	background-color: #faf2f5;
	border: 1px solid #cfadb3;
	color: #832525;
	text-shadow: #fff 1px 1px;
}

.gform_wrapper.gravity-theme .gfield.gfield_html.gf_alert_yellow {
	background-color: #fffbcc;
	border: 1px solid #e6db55;
	color: #222;
	text-shadow: #fcfaea 1px 1px;
}

.gform_wrapper.gravity-theme .gfield.gfield_html.gf_alert_gray {
	background-color: #eee;
	border: 1px solid #ccc;
	color: #424242;
	text-shadow: #fff 1px 1px;
}

.gform_wrapper.gravity-theme .gfield.gfield_html.gf_alert_blue {
	background-color: #d1e4f3;
	border: 1px solid #a7c2e7;
	color: #314475;
	text-shadow: #e0f1ff 1px 1px;
}

.gform_wrapper.gravity-theme .gf_simple_horizontal {
	margin: 0 auto;
	width: calc(100% - 16px);
}

.gform_wrapper.gravity-theme .gf_simple_horizontal .gform_body, .gform_wrapper.gravity-theme .gf_simple_horizontal .gform_footer.top_label {
	display: table-cell;
	margin: 0;
	padding: 0;
	position: relative;
	vertical-align: middle;
}

.gform_wrapper.gravity-theme .gf_simple_horizontal .gform_body {
	max-width: 75%;
	width: auto;
}

.gform_wrapper.gravity-theme .gf_simple_horizontal .gform_body .top_label {
	display: table;
	width: 100%;
}

.gform_wrapper.gravity-theme .gf_simple_horizontal .gform_body .top_label .gfield {
	display: table-cell;
	height: auto;
	padding-right: 1em;
}

.gform_wrapper.gravity-theme .gf_simple_horizontal .gform_body .top_label .gfield .large, .gform_wrapper.gravity-theme .gf_simple_horizontal .gform_body .top_label .gfield .medium, .gform_wrapper.gravity-theme .gf_simple_horizontal .gform_body .top_label .gfield .small {
	width: 100%;
}

.gform_wrapper.gravity-theme .gf_simple_horizontal .gform_body .top_label .gfield .ginput_container_checkbox .gchoice, .gform_wrapper.gravity-theme .gf_simple_horizontal .gform_body .top_label .gfield .ginput_container_radio .gchoice {
	display: inline-block;
	margin-right: .5em;
}

.gform_wrapper.gravity-theme .gf_simple_horizontal .gform_body .top_label.form_sublabel_above .gfield, .gform_wrapper.gravity-theme .gf_simple_horizontal .gform_body .top_label.form_sublabel_below .gfield {
	vertical-align: middle;
}

.gform_wrapper.gravity-theme .gf_simple_horizontal .gfield, .gform_wrapper.gravity-theme .gf_simple_horizontal .ginput_container {
	margin-top: 0 !important;
}

.gform_wrapper.gravity-theme .gf_simple_horizontal .gform_footer.top_label {
	margin: 0;
	max-width: 25%;
	padding: 0;
	text-align: left;
	width: auto;
}

.gform_wrapper.gravity-theme .gf_simple_horizontal .gform_footer.top_label input[type=button], .gform_wrapper.gravity-theme .gf_simple_horizontal .gform_footer.top_label input[type=image], .gform_wrapper.gravity-theme .gf_simple_horizontal .gform_footer.top_label input[type=submit] {
	height: auto;
}

.gform_wrapper.gravity-theme .gf_simple_horizontal .gfield_description:not(.validation_message), .gform_wrapper.gravity-theme .gf_simple_horizontal .gfield_label, .gform_wrapper.gravity-theme .gf_simple_horizontal .ginput_complex label {
	display: block;
	height: 1px;
	left: -9000px;
	overflow: hidden;
	position: absolute;
	top: 0;
	width: 1px;
}

.gform_wrapper.gravity-theme body:not(.rtl) .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label {
	text-align: left;
}

.gform_confirmation_wrapper.gf_confirmation_simple_yellow {
	background-color: #fffbcc;
	border-bottom: 1px solid #e6db55;
	border-top: 1px solid #e6db55;
	color: #424242;
	font-size: 25px;
	margin: 30px 0;
	max-width: 99%;
	padding: 32px;
}

.gform_confirmation_wrapper.gf_confirmation_simple_gray {
	background-color: #eaeaea;
	border-bottom: 1px solid #ccc;
	border-top: 1px solid #ccc;
	color: #424242;
	font-size: 25px;
	margin: 30px 0;
	max-width: 99%;
	padding: 32px;
}

.gform_confirmation_wrapper.gf_confirmation_yellow_gradient {
	background-color: #fffbd2;
	border: 1px solid #e6db55;
	box-shadow: 0 0 5px rgba(221, 215, 131, .75);
	margin: 30px 0;
	position: relative;
}

.gform_confirmation_wrapper.gf_confirmation_yellow_gradient .gform_confirmation_message {
	background: #fffce5;
	background: linear-gradient(to bottom, #fffce5 0, #fff9bf 100%);
	background-color: #fffbcc;
	border-bottom: 1px solid #e6db55;
	border-top: 2px solid #fff;
	color: #424242;
	font-size: 28px;
	margin: 0;
	max-width: 99%;
	padding: 40px;
}

.gform_confirmation_wrapper.gf_confirmation_green_gradient {
	background-color: #f1fcdf;
	border: 1px solid #a7c37c;
	box-shadow: 0 0 5px rgba(86, 122, 86, .4);
	margin: 30px 0;
	position: relative;
}

.gform_confirmation_wrapper.gf_confirmation_green_gradient .gform_confirmation_message {
	background: #dbf2b7;
	background: linear-gradient(to bottom, #dbf2b7 0, #b4d088 100%);
	background-color: #fffbcc;
	border-bottom: 1px solid #a7c37c;
	border-top: 2px solid #effade;
	color: #030;
	font-size: 28px;
	margin: 0;
	max-width: 99%;
	padding: 40px;
	text-shadow: #dfb 1px 1px;
}

.gform_confirmation_wrapper.gf_confirmation_green_gradient::after, .gform_confirmation_wrapper.gf_confirmation_green_gradient::before, .gform_confirmation_wrapper.gf_confirmation_yellow_gradient::after, .gform_confirmation_wrapper.gf_confirmation_yellow_gradient::before {
	background: rgba(0, 0, 0, .2);
	bottom: 15px;
	box-shadow: 0 15px 10px rgba(0, 0, 0, .2);
	content: "";
	left: 10px;
	max-width: 40%;
	position: absolute;
	top: 80%;
	transform: rotate(-3deg);
	width: 50%;
	z-index: -1;
}

.gform_confirmation_wrapper.gf_confirmation_green_gradient::after, .gform_confirmation_wrapper.gf_confirmation_yellow_gradient::after {
	left: auto;
	right: 10px;
	transform: rotate(3deg);
}

.gform_wrapper.gravity-theme .gfield textarea {
	width: 100%;
}

.gform_wrapper.gravity-theme .gfield textarea.small {
	height: 96px;
}

.gform_wrapper.gravity-theme .gfield textarea.medium {
	height: 192px;
}

.gform_wrapper.gravity-theme .gfield textarea.large {
	height: 288px;
}

.gform_wrapper.gravity-theme .gfield input, .gform_wrapper.gravity-theme .gfield select {
	max-width: 100%;
}

.gform_wrapper.gravity-theme .gfield input.small, .gform_wrapper.gravity-theme .gfield select.small {
	width: calc(25% - 16px * 3 / 4);
}

.gform_wrapper.gravity-theme .gfield input.medium, .gform_wrapper.gravity-theme .gfield select.medium {
	width: calc(50% - 16px / 2);
}

.gform_wrapper.gravity-theme .gfield input.large, .gform_wrapper.gravity-theme .gfield select.large {
	width: 100%;
}

.gform_wrapper.gravity-theme * {
	box-sizing: border-box;
}

.gform_wrapper.gravity-theme .gform_fields {
	display: grid;
	grid-column-gap: 2%;
	-ms-grid-columns: (1fr 2%) [12];
	grid-row-gap: 16px;
	grid-template-columns: repeat(12, 1fr);
	grid-template-rows: repeat(auto-fill, auto);
	width: 100%;
}

.gform_wrapper.gravity-theme .gfield {
	grid-column: 1/-1;
	min-width: 0;
}

.gform_wrapper.gravity-theme .gfield.gfield--width-full {
	grid-column: span 12;
	-ms-grid-column-span: 12;
}

.gform_wrapper.gravity-theme .gfield.gfield--width-eleven-twelfths {
	grid-column: span 11;
	-ms-grid-column-span: 11;
}

.gform_wrapper.gravity-theme .gfield.gfield--width-five-sixths {
	grid-column: span 10;
	-ms-grid-column-span: 10;
}

.gform_wrapper.gravity-theme .gfield.gfield--width-three-quarter {
	grid-column: span 9;
	-ms-grid-column-span: 9;
}

.gform_wrapper.gravity-theme .gfield.gfield--width-two-thirds {
	grid-column: span 8;
	-ms-grid-column-span: 8;
}

.gform_wrapper.gravity-theme .gfield.gfield--width-seven-twelfths {
	grid-column: span 7;
	-ms-grid-column-span: 7;
}

.gform_wrapper.gravity-theme .gfield.gfield--width-half {
	grid-column: span 6;
	-ms-grid-column-span: 6;
}

.gform_wrapper.gravity-theme .gfield.gfield--width-five-twelfths {
	grid-column: span 5;
	-ms-grid-column-span: 5;
}

.gform_wrapper.gravity-theme .gfield.gfield--width-third {
	grid-column: span 4;
	-ms-grid-column-span: 4;
}

.gform_wrapper.gravity-theme .gfield.gfield--width-quarter {
	grid-column: span 3;
	-ms-grid-column-span: 3;
}

.gform_wrapper.gravity-theme .gfield.gfield--width-one-sixth {
	-ms-grid-column-span: 2;
	grid-column: span 2;
}

.gform_wrapper.gravity-theme .gfield.gfield--width-one-twelfth {
	-ms-grid-column-span: 1;
	grid-column: span 1;
}

@media (max-width:640px) {
	.gform_wrapper.gravity-theme .gform_fields {
		grid-column-gap: 0;
	}
	
	.gform_wrapper.gravity-theme .gfield:not(.gfield--width-full) {
		grid-column: 1/-1;
	}
}

.gform_wrapper.gravity-theme .gform_footer .gform-button--width-full.gfield--width-full {
	width: 100%;
}

.gform_wrapper.gravity-theme .gform_footer .gform-button--width-full.gfield--width-eleven-twelfths {
	width: 91.6666%;
}

.gform_wrapper.gravity-theme .gform_footer .gform-button--width-full.gfield--width-five-sixths {
	width: 83.3333%;
}

.gform_wrapper.gravity-theme .gform_footer .gform-button--width-full.gfield--width-three-quarter {
	width: 75%;
}

.gform_wrapper.gravity-theme .gform_footer .gform-button--width-full.gfield--width-two-thirds {
	width: 66.6666%;
}

.gform_wrapper.gravity-theme .gform_footer .gform-button--width-full.gfield--width-seven-twelfths {
	width: 58.3333%;
}

.gform_wrapper.gravity-theme .gform_footer .gform-button--width-full.gfield--width-half {
	width: 50%;
}

.gform_wrapper.gravity-theme .gform_footer .gform-button--width-full.gfield--width-five-twelfths {
	width: 41.6666%;
}

.gform_wrapper.gravity-theme .gform_footer .gform-button--width-full.gfield--width-third {
	width: 33.3333%;
}

.gform_wrapper.gravity-theme .gform_footer .gform-button--width-full.gfield--width-quarter {
	width: 25%;
}

.gform_wrapper.gravity-theme .gform_footer .gform-button--width-full.gfield--width-one-sixth {
	width: 16.6666%;
}

.gform_wrapper.gravity-theme .gform_footer .gform-button--width-full.gfield--width-one-twelfth {
	width: 8.3333%;
}

.gform_wrapper.gravity-theme .left_label .gfield:not(.gsection):not(.gfield_html):not(fieldset), .gform_wrapper.gravity-theme .right_label .gfield:not(.gsection):not(.gfield_html):not(fieldset) {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	width: 100%;
}

.gform_wrapper.gravity-theme .left_label .gfield_label, .gform_wrapper.gravity-theme .right_label .gfield_label {
	margin: 0;
	padding: 0;
	width: 30%;
}

@media (max-width:640px) {
	.gform_wrapper.gravity-theme .left_label .gfield_label, .gform_wrapper.gravity-theme .right_label .gfield_label {
		width: 100%;
	}
}

.gform_wrapper.gravity-theme .gform_fields.left_label fieldset, .gform_wrapper.gravity-theme .gform_fields.right_label fieldset {
	clear: both;
}

.gform_wrapper.gravity-theme .gform_fields.left_label fieldset .ginput_container, .gform_wrapper.gravity-theme .gform_fields.right_label fieldset .ginput_container {
	float: left;
	width: 70%;
}

@media (max-width:640px) {
	.gform_wrapper.gravity-theme .gform_fields.left_label fieldset .ginput_container, .gform_wrapper.gravity-theme .gform_fields.right_label fieldset .ginput_container {
		width: 100%;
	}
}

@media (max-width:640px) {
	.gform_wrapper.gravity-theme .gform_fields.left_label fieldset>.ginput_complex, .gform_wrapper.gravity-theme .gform_fields.right_label fieldset>.ginput_complex {
		width: 100%;
	}
}

.gform_wrapper.gravity-theme .gform_fields.left_label legend.gfield_label, .gform_wrapper.gravity-theme .gform_fields.right_label legend.gfield_label {
	display: block;
	float: left;
	padding-right: 1em;
	width: 30%;
}

@media (max-width:640px) {
	.gform_wrapper.gravity-theme .gform_fields.left_label legend.gfield_label, .gform_wrapper.gravity-theme .gform_fields.right_label legend.gfield_label {
		width: 100%;
	}
}

.gform_wrapper.gravity-theme .gform_fields.left_label .gfield_validation_message, .gform_wrapper.gravity-theme .gform_fields.right_label .gfield_validation_message {
	float: right;
	width: 70%;
}

@media (max-width:640px) {
	.gform_wrapper.gravity-theme .gform_fields.left_label .gfield_validation_message, .gform_wrapper.gravity-theme .gform_fields.right_label .gfield_validation_message {
		width: 100%;
	}
}

.gform_wrapper.gravity-theme .gform_fields.validation_above.left_label fieldset .ginput_container, .gform_wrapper.gravity-theme .gform_fields.validation_above.right_label fieldset .ginput_container {
	float: right;
}

.gform_wrapper.gravity-theme .left_label .ginput_complex .ginput_container, .gform_wrapper.gravity-theme .right_label .ginput_complex .ginput_container {
	width: auto;
}

.gform_wrapper.gravity-theme .left_label div.gfield>div:not(.ui-resizable-handle):not(.gfield-admin-icons), .gform_wrapper.gravity-theme .right_label div.gfield>div:not(.ui-resizable-handle):not(.gfield-admin-icons) {
	width: 70%;
}

@media (max-width:640px) {
	.gform_wrapper.gravity-theme .left_label div.gfield>div:not(.ui-resizable-handle):not(.gfield-admin-icons), .gform_wrapper.gravity-theme .right_label div.gfield>div:not(.ui-resizable-handle):not(.gfield-admin-icons) {
		width: 100%;
	}
}

.gform_wrapper.gravity-theme .right_label .gfield_label {
	padding-right: 1em;
	text-align: right;
}

.gform_wrapper.gravity-theme .left_label.gform_fields, .gform_wrapper.gravity-theme .right_label.gform_fields {
	position: relative;
}

.gform_wrapper.gravity-theme .left_label .gfield_html_formatted, .gform_wrapper.gravity-theme .right_label .gfield_html_formatted {
	margin-left: 30%;
}

.gform_wrapper.gravity-theme .left_label #field_submit, .gform_wrapper.gravity-theme .right_label #field_submit {
	justify-content: flex-start;
}

.gform_wrapper.gravity-theme .left_label #field_submit input, .gform_wrapper.gravity-theme .right_label #field_submit input {
	margin-left: 30%;
}

.gform_wrapper.gravity-theme .field_sublabel_below .ginput_complex {
	align-items: flex-start;
}

.gform_wrapper.gravity-theme .field_sublabel_above .ginput_complex {
	align-items: flex-end;
}

.gform_wrapper.gravity-theme .left_label.validation_above .copy_values_option_container, .gform_wrapper.gravity-theme .right_label.validation_above .copy_values_option_container {
	float: right;
	width: 70%;
	padding-left: 8px;
}

@media (max-width:640px) {
	.gform_wrapper.gravity-theme .left_label.validation_above .copy_values_option_container, .gform_wrapper.gravity-theme .right_label.validation_above .copy_values_option_container {
		width: 100%;
	}
}

.rtl .gform_wrapper.gravity-theme .left_label legend.gfield_label, .rtl .gform_wrapper.gravity-theme .right_label legend.gfield_label {
	margin-left: 1em;
	position: absolute;
	right: 0;
	text-align: left;
	width: 30%;
}

.rtl .gform_wrapper.gravity-theme .left_label legend.gfield_label {
	width: 30%;
}

.rtl .gform_wrapper.gravity-theme .left_label .gfield_label {
	padding-left: 1em;
	text-align: left !important;
}

.rtl .gform_wrapper.gravity-theme .left_label fieldset.gfield, .rtl .gform_wrapper.gravity-theme .right_label fieldset.gfield {
	margin-left: 0;
	padding-right: 30%;
}

.rtl .gform_wrapper.gravity-theme .right_label .gfield_label, .rtl .gform_wrapper.gravity-theme .right_label legend.gfield_label {
	padding: 0;
	text-align: right;
}

.rtl .gform_wrapper.gravity-theme .right_label label.gfield_label {
	padding-right: 0;
}

.rtl .gform_wrapper.gravity-theme .left_label .gfield_html_formatted, .rtl .gform_wrapper.gravity-theme .right_label .gfield_html_formatted {
	margin-left: 0;
	margin-right: 30%;
}

html[dir=rtl] .gform_wrapper.gravity-theme code, html[dir=rtl] .gform_wrapper.gravity-theme input[type=email], html[dir=rtl] .gform_wrapper.gravity-theme input[type=tel], html[dir=rtl] .gform_wrapper.gravity-theme input[type=url] {
	direction: rtl;
}

html[dir=rtl] .gform_wrapper.gravity-theme .gfield_label {
	direction: rtl;
}

html[dir=rtl] .gform_wrapper.gravity-theme .gfield_required {
	margin-left: 0;
	margin-right: 4px;
}

html[dir=rtl] .gform_wrapper.gravity-theme ::-webkit-input-placeholder {
	text-align: right;
}

html[dir=rtl] .gform_wrapper.gravity-theme ::-moz-placeholder {
	text-align: right;
}

html[dir=rtl] .gform_wrapper.gravity-theme :-ms-input-placeholder {
	text-align: right;
}

html[dir=rtl] .gform_wrapper.gravity-theme :-moz-placeholder {
	text-align: right;
}

html[dir=rtl] .gform_wrapper.gravity-theme .gform_wrapper.gravity-theme fieldset {
	display: block;
}

html[dir=rtl] .gform_wrapper.gravity-theme .gfield_header_item+.gfield_header_item:not(:last-child), html[dir=rtl] .gform_wrapper.gravity-theme .gfield_list_group_item+.gfield_list_group_item {
	margin-left: 0;
	margin-right: 16px;
}

html[dir=rtl] .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) fieldset:not([style*="display:none"]):not(.ginput_full)~span:not(.ginput_full), html[dir=rtl] .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) span:not([style*="display:none"]):not(.ginput_full)~span:not(.ginput_full) {
	padding-left: 0;
	padding-right: 16px;
}

@media (min-width:641px) {
	html[dir=rtl] .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) span:not([style*="display:none"]):not(.ginput_full)~span:not(.ginput_full) {
		padding-left: 0;
		padding-right: 16px;
	}
	
	html[dir=rtl] .gform_wrapper.gravity-theme .gform_show_password {
		left: 8px;
		right: unset;
	}
}

@media (max-width:640px) {
	html[dir=rtl] .gform_wrapper.gravity-theme .left_label fieldset.gfield, html[dir=rtl] .gform_wrapper.gravity-theme .right_label fieldset.gfield {
		padding-right: 0;
	}
	
	html[dir=rtl] .gform_wrapper.gravity-theme .left_label legend.gfield_label, html[dir=rtl] .gform_wrapper.gravity-theme .right_label legend.gfield_label {
		margin: 0;
		padding: 0;
		position: relative;
		width: 100%;
	}
	
	html[dir=rtl] .gform_wrapper.gravity-theme .left_label .gfield_label {
		text-align: right !important;
	}
	
	html[dir=rtl] .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) fieldset:not([style*="display:none"]):not(.ginput_full)~span:not(.ginput_full), html[dir=rtl] .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) span:not([style*="display:none"]):not(.ginput_full)~span:not(.ginput_full) {
		padding-right: 0;
	}
}

.gform_wrapper.gravity-theme .ginput_counter {
	color: #767676;
	font-size: .8em;
}

.gform_wrapper.gravity-theme .ginput_counter_tinymce {
	border-top: 1px solid #eee;
	font-size: 12px;
	padding: 2px 10px;
}

.gform_wrapper.gravity-theme .validation_message--hidden-on-empty:empty {
	display: none;
}

.gform_wrapper.gravity-theme .gform_card_icon_container {
	display: flex;
	height: 32px;
	margin: 8px 0 6.4px 0;
}

.gform_wrapper.gravity-theme .gform_card_icon_container div.gform_card_icon {
	background-image: url("https://cdn-ildoaab.nitrocdn.com/JzadSxRbeRwMrDuuSWJpqUXPeNBEBfkB/assets/images/optimized/rev-183cb1b/www.khamolaw.com/wp-content/plugins/gravityforms/images/gf-creditcards.svg");
	background-repeat: no-repeat;
	height: 32px;
	margin-right: 4.8px;
	text-indent: -9000px;
	width: 40px;
}

.gform_wrapper.gravity-theme .gform_card_icon_container div.gform_card_icon.nitro-lazy {
	background-image: none !important;
}

.gform_wrapper.gravity-theme .gform_card_icon_container div.gform_card_icon.gform_card_icon_amex {
	background-position: -167px 0;
}

.gform_wrapper.gravity-theme .gform_card_icon_container div.gform_card_icon.gform_card_icon_discover {
	background-position: -221px 0;
}

.gform_wrapper.gravity-theme .gform_card_icon_container div.gform_card_icon.gform_card_icon_mastercard {
	background-position: -275px 0;
}

.gform_wrapper.gravity-theme .gform_card_icon_container div.gform_card_icon.gform_card_icon_visa {
	background-position: -59px 0;
}

.gform_wrapper.gravity-theme .gform_card_icon_container div.gform_card_icon.gform_card_icon_jcb {
	background-position: -329px 0;
}

.gform_wrapper.gravity-theme .gform_card_icon_container div.gform_card_icon.gform_card_icon_maestro {
	background-position: -5px 0;
}

.gform_wrapper.gravity-theme .gform_card_icon_container div.gform_card_icon.gform_card_icon_selected {
	position: relative;
}

.gform_wrapper.gravity-theme .gform_card_icon_container div.gform_card_icon.gform_card_icon_selected::after {
	background: url("https://cdn-ildoaab.nitrocdn.com/JzadSxRbeRwMrDuuSWJpqUXPeNBEBfkB/assets/images/optimized/rev-183cb1b/www.khamolaw.com/wp-content/plugins/gravityforms/images/gf-creditcards-check.svg") center center no-repeat;
	bottom: 4px;
	content: "";
	display: block;
	height: 10px;
	position: absolute;
	right: 0;
	width: 13px;
}

.gform_wrapper.gravity-theme .ginput_container_creditcard .ginput_cardinfo_right {
	align-items: center;
	display: inline-flex;
	flex-flow: row wrap;
	justify-content: flex-start;
}

.gform_wrapper.gravity-theme .ginput_container_creditcard .ginput_cardinfo_right label {
	width: 100%;
}

.gform_wrapper.gravity-theme .ginput_container_creditcard .ginput_card_security_code_icon {
	background-image: url("https://cdn-ildoaab.nitrocdn.com/JzadSxRbeRwMrDuuSWJpqUXPeNBEBfkB/assets/images/optimized/rev-183cb1b/www.khamolaw.com/wp-content/plugins/gravityforms/images/gf-creditcards.svg");
	background-position: -382px center;
	background-repeat: no-repeat;
	display: block;
	flex: none;
	height: 32px;
	margin-left: .3em;
	width: 40px;
}

.gform_wrapper.gravity-theme .ginput_container_creditcard .ginput_card_security_code_icon.nitro-lazy {
	background-image: none !important;
}

html[dir=rtl] .gform_wrapper.gravity-theme .ginput_container_creditcard .ginput_card_security_code_icon {
	margin-left: 0;
	margin-right: .3em;
}

.gform_wrapper.gravity-theme .gfield_list_group, .gform_wrapper.gravity-theme .gfield_list_header {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	margin-bottom: 8px;
}

.gform_wrapper.gravity-theme .gfield_list_group:last-child {
	margin-bottom: 0;
}

.gform_wrapper.gravity-theme .gfield_header_item {
	word-break: break-word;
}

.gform_wrapper.gravity-theme .gfield_header_item, .gform_wrapper.gravity-theme .gfield_list_group_item {
	flex-grow: 1;
	width: 0;
}

.gform_wrapper.gravity-theme .gfield_header_item+.gfield_header_item:not(.gfield_header_item--icons), .gform_wrapper.gravity-theme .gfield_list_group_item+.gfield_list_group_item {
	margin-left: 2%;
}

.gform_wrapper.gravity-theme .gfield_list_group_item input, .gform_wrapper.gravity-theme .gfield_list_group_item select {
	width: 100%;
}

.gform_wrapper.gravity-theme .gfield_header_item--icons, .gform_wrapper.gravity-theme .gfield_list_icons {
	align-items: center;
	display: flex;
	flex: none;
	justify-content: center;
	width: 48px;
}

.gform_wrapper.gravity-theme .gfield_list_icons button {
	background: transparent url("https://cdn-ildoaab.nitrocdn.com/JzadSxRbeRwMrDuuSWJpqUXPeNBEBfkB/assets/images/optimized/rev-183cb1b/www.khamolaw.com/wp-content/plugins/gravityforms/images/list-add.svg");
	border: none;
	font-size: 0;
	height: 16px;
	opacity: .5;
	padding: 0;
	transition: opacity .5s ease-out;
	width: 16px;
}

.gform_wrapper.gravity-theme .gfield_list_icons button.nitro-lazy {
	background-image: none !important;
}

.gform_wrapper.gravity-theme .gfield_list_icons button:focus, .gform_wrapper.gravity-theme .gfield_list_icons button:hover {
	opacity: 1;
	outline: 0;
}

.gform_wrapper.gravity-theme .gfield_list_icons button.delete_list_item {
	background-image: url("https://cdn-ildoaab.nitrocdn.com/JzadSxRbeRwMrDuuSWJpqUXPeNBEBfkB/assets/images/optimized/rev-183cb1b/www.khamolaw.com/wp-content/plugins/gravityforms/images/list-remove.svg");
	margin-left: 5px;
}

.gform_wrapper.gravity-theme .gfield_list_icons button.delete_list_item.nitro-lazy {
	background-image: none !important;
}

@media (max-width:640px) {
	.gform_wrapper.gravity-theme .gfield_list_header {
		display: none;
	}
	
	.gform_wrapper.gravity-theme .gfield_list_group {
		border: 1px solid rgba(0, 0, 0, .2);
		display: block;
		margin-bottom: 16px;
		padding: 16px;
	}
	
	.gform_wrapper.gravity-theme .gfield_header_item, .gform_wrapper.gravity-theme .gfield_list_group_item {
		width: auto;
	}
	
	.gform_wrapper.gravity-theme .gfield_list_group:last-child {
		margin-bottom: 0;
	}
	
	.gform_wrapper.gravity-theme .gfield_list_group_item:not(:last-child) {
		margin-bottom: 8px;
	}
	
	.gform_wrapper.gravity-theme .gfield_list_group_item::before {
		content: attr(data-label);
		font-size: 14.992px;
	}
	
	.gform_wrapper.gravity-theme .gfield_list_icons {
		background-color: rgba(0, 0, 0, .1);
		line-height: 0;
		margin: 16px -16px -16px;
		padding: 12px 16px;
		text-align: left;
		width: auto;
	}
	
	.gform_wrapper.gravity-theme .gfield_header_item+.gfield_header_item:not(.gfield_header_item--icons), .gform_wrapper.gravity-theme .gfield_list_group_item+.gfield_list_group_item {
		margin-left: 0;
	}
}

html[dir=rtl] .gform_wrapper.gravity-theme .gfield_header_item+.gfield_header_item:not(.gfield_header_item--icons), html[dir=rtl] .gform_wrapper.gravity-theme .gfield_list_group_item+.gfield_list_group_item {
	margin-left: 0;
	margin-right: 16px;
}

@media (max-width:640px) {
	html[dir=rtl] .gform_wrapper.gravity-theme .gfield_header_item+.gfield_header_item:not(.gfield_header_item--icons), html[dir=rtl] .gform_wrapper.gravity-theme .gfield_list_group_item+.gfield_list_group_item {
		margin-right: 0;
	}
}

html[dir=rtl] .gform_wrapper.gravity-theme .gfield_list_icons button.delete_list_item {
	margin-left: 0;
	margin-right: 5px;
}

.gform_wrapper.gravity-theme .gfield_label {
	display: inline-block;
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 8px;
	padding: 0;
}

.gform_wrapper.gravity-theme .gfield_header_item, .gform_wrapper.gravity-theme .gform_fileupload_rules, .gform_wrapper.gravity-theme .ginput_complex label {
	font-size: 15px;
	padding-top: 5px;
}

.gform_wrapper.gravity-theme.left_label fieldset.gfield, .gform_wrapper.gravity-theme.right_label fieldset.gfield {
	padding: 16px 16px 16px 30%;
}

.gform_wrapper.gravity-theme.left_label fieldset.gfield .gfield_description, .gform_wrapper.gravity-theme.left_label fieldset.gfield .ginput_container:not(.ginput_container_time), .gform_wrapper.gravity-theme.right_label fieldset.gfield .gfield_description, .gform_wrapper.gravity-theme.right_label fieldset.gfield .ginput_container:not(.ginput_container_time) {
	width: 100%;
}

.gform_wrapper.gravity-theme.left_label legend.gfield_label, .gform_wrapper.gravity-theme.right_label legend.gfield_label {
	left: 0;
}

.gform_wrapper.gravity-theme.left_label .gfield:not(.gsection):not(.gfield_html):not(fieldset), .gform_wrapper.gravity-theme.right_label .gfield:not(.gsection):not(.gfield_html):not(fieldset) {
	justify-content: flex-start;
}

.gform_wrapper.gravity-theme.left_label .gfield_html.gfield_html_formatted, .gform_wrapper.gravity-theme.right_label .gfield_html.gfield_html_formatted {
	display: flex;
}

.gform_wrapper.gravity-theme.left_label .gfield.gfield_html:not(.gfield_html_formatted) .gf-html-container, .gform_wrapper.gravity-theme.right_label .gfield.gfield_html:not(.gfield_html_formatted) .gf-html-container {
	width: 100%;
}

.gform_wrapper.gravity-theme.right_label legend.gfield_label {
	text-align: right;
}

.gform_wrapper.gravity-theme:not(.top_label) .ginput_container.ginput_single_email {
	margin-left: 0;
}

.gform_wrapper.gravity-theme .gform_validation_errors {
	background: #fff9f9;
	border-radius: 5px;
	border: 1.5px solid #c02b0a;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .11), 0 0 4px rgba(18, 25, 97, .0405344);
	margin-block-end: 8px;
	margin-block-start: 8px;
	padding-block: 16px;
	padding-inline-end: 16px;
	padding-inline-start: 48px;
	position: relative;
	width: 100%;
}

.gform_wrapper.gravity-theme .gform_validation_errors:focus {
	outline: 2px solid #c02b0a;
	outline-offset: 2px;
}

.gform_wrapper.gravity-theme .gform_validation_errors>h2 {
	color: #c02b0a;
	font-size: 13.2px;
	font-weight: 500;
	line-height: 17.6px;
	margin-block-end: 12px;
	margin-block-start: 0;
	margin-inline: 0;
}

.gform_wrapper.gravity-theme .gform_validation_errors>h2::before {
	display: none;
}

.gform_wrapper.gravity-theme .gform_validation_errors>h2 .gform-icon {
	align-items: center;
	display: flex;
	font-size: 28px;
	height: 100%;
	inset-inline-start: 12px;
	position: absolute;
	inset-block-start: 0;
}

.gform_wrapper.gravity-theme .gform_validation_errors>h2.hide_summary {
	margin: 0;
	padding: 0;
}

.gform_wrapper.gravity-theme .gform_validation_errors>ol {
	padding-inline-start: 20px;
}

.gform_wrapper.gravity-theme .gform_validation_errors>ol a {
	color: #c02b0a;
	font-size: 13.2px;
}

.gform_wrapper.gravity-theme .gform_validation_errors>ol a:focus {
	outline: 2px solid #c02b0a;
	outline-offset: 2px;
}

.gform_wrapper.gravity-theme .gform_validation_errors>ol li {
	color: #c02b0a;
	font-size: 13.2px;
	list-style-type: disc !important;
	margin-block-end: 8px;
	margin-block-start: 0;
	margin-inline: 0;
}

.gform_wrapper.gravity-theme .gform_validation_errors>ol li:last-of-type {
	margin-block-end: 0;
}

.gform_wrapper.gravity-theme .gfield_required {
	color: #c02b0a;
	display: inline-block;
	font-size: 13.008px;
	padding-inline-start: .125em;
}

.gform_wrapper.gravity-theme .gfield_required .gfield_required_custom, .gform_wrapper.gravity-theme .gfield_required .gfield_required_text {
	font-style: italic;
	font-weight: 400;
}

.gform_wrapper.gravity-theme .gform_required_legend .gfield_required {
	padding-inline-start: 0;
}

.gform_wrapper.gravity-theme .validation_error {
	border-block-end: 2px solid #c02b0a;
	border-block-start: 2px solid #c02b0a;
	color: #c02b0a;
	font-size: 1em;
	font-weight: 700;
	margin-block-end: 32px;
	padding: 16px;
	text-align: center;
}

.gform_wrapper.gravity-theme .gfield_error .gfield_repeater_cell label, .gform_wrapper.gravity-theme .gfield_error label, .gform_wrapper.gravity-theme .gfield_error legend, .gform_wrapper.gravity-theme .gfield_validation_message, .gform_wrapper.gravity-theme .validation_message, .gform_wrapper.gravity-theme [aria-invalid=true]+label, .gform_wrapper.gravity-theme label+[aria-invalid=true] {
	color: #c02b0a;
}

.gform_wrapper.gravity-theme .gfield_validation_message, .gform_wrapper.gravity-theme .validation_message {
	background: #fff9f9;
	border: 1px solid #c02b0a;
	font-size: 14.992px;
	margin-block-start: 8px;
	padding: 12.992px 24px;
}

.gform_wrapper.gravity-theme .left_label.validation_above fieldset .gfield_validation_message, .gform_wrapper.gravity-theme .left_label.validation_above fieldset .validation_message, .gform_wrapper.gravity-theme .right_label.validation_above fieldset .gfield_validation_message, .gform_wrapper.gravity-theme .right_label.validation_above fieldset .validation_message {
	clear: right;
}

.gform_wrapper.gravity-theme .validation_above .gfield_validation_message, .gform_wrapper.gravity-theme .validation_above .validation_message {
	margin-block-end: 16px;
}

.gform_wrapper.gravity-theme .gfield_error [aria-invalid=true] {
	border: 1px solid #c02b0a;
}

.gform_wrapper.gravity-theme .gform_previous_button.button, .gform_wrapper.gravity-theme .gform_save_link.button {
	-webkit-appearance: none !important;
	background-color: #fff;
	color: #6b7280;
	text-decoration: none;
}

.gform_wrapper.gravity-theme .gform_previous_button.button svg, .gform_wrapper.gravity-theme .gform_save_link.button svg {
	display: inline-block;
	margin-right: 4px;
}

.gform_wrapper.gravity-theme button.button:disabled {
	opacity: .6;
}

.gform_wrapper.gravity-theme #field_submit, .gform_wrapper.gravity-theme .gform_footer {
	display: flex;
}

.gform_wrapper.gravity-theme #field_submit input, .gform_wrapper.gravity-theme .gform_footer input {
	align-self: flex-end;
}

.gform_wrapper.gravity-theme #field_submit .gform_image_button, .gform_wrapper.gravity-theme .gform_footer .gform_image_button {
	background-color: transparent;
	border: none;
	border-radius: 0;
	height: auto;
	padding: 0;
	width: auto;
}

.gform_wrapper.gravity-theme #field_submit .gform-button--width-full, .gform_wrapper.gravity-theme .gform_footer .gform-button--width-full {
	text-align: center;
	width: 100%;
}

.gform_wrapper.gravity-theme .ginput_complex {
	display: flex;
	flex-flow: row wrap;
}

.gform_wrapper.gravity-theme .ginput_complex fieldset, .gform_wrapper.gravity-theme .ginput_complex span {
	flex: 1;
}

.gform_wrapper.gravity-theme .ginput_complex .ginput_full {
	flex: 0 0 100%;
}

.gform_wrapper.gravity-theme .ginput_complex .clear-multi {
	display: flex;
}

.gform_wrapper.gravity-theme .ginput_complex label, .gform_wrapper.gravity-theme .ginput_complex legend {
	display: block;
}

.gform_wrapper.gravity-theme .ginput_complex input, .gform_wrapper.gravity-theme .ginput_complex select {
	width: 100%;
}

.gform_wrapper.gravity-theme .ginput_container_address {
	margin-left: -1%;
	margin-right: -1%;
}

.gform_wrapper.gravity-theme .ginput_container_address span {
	flex: 0 0 50%;
	padding-left: .9804%;
	padding-right: .9804%;
}

@media (min-width:641px) {
	.gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) fieldset:not([style*="display:none"]):not(.ginput_full), .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) span:not([style*="display:none"]):not(.ginput_full) {
		padding-right: 1%;
	}
	
	.gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) fieldset:not([style*="display:none"]):not(.ginput_full)~span:not(.ginput_full), .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) span:not([style*="display:none"]):not(.ginput_full)~span:not(.ginput_full) {
		padding-left: 1%;
		padding-right: 0;
	}
	
	.gform_wrapper.gravity-theme .ginput_container_address span, .gform_wrapper.gravity-theme .ginput_full:not(:last-of-type) {
		margin-bottom: 8px;
	}
	
	.gform_wrapper.gravity-theme .ginput_container_address {
		margin-bottom: -8px;
	}
	
	html[dir=rtl] .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) fieldset:not([style*="display:none"]):not(.ginput_full), html[dir=rtl] .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) span:not([style*="display:none"]):not(.ginput_full) {
		padding-left: 1%;
		padding-right: 0;
	}
	
	html[dir=rtl] .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) fieldset:not([style*="display:none"]):not(.ginput_full)~span:not(.ginput_full), html[dir=rtl] .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) span:not([style*="display:none"]):not(.ginput_full)~span:not(.ginput_full) {
		padding-left: 0;
		padding-right: 1%;
	}
}

@media (max-width:640px) {
	.gform_wrapper.gravity-theme .ginput_complex span {
		flex: 0 0 100%;
		margin-bottom: 8px;
		padding-left: 0;
	}
	
	.gform_wrapper.gravity-theme .ginput_complex.ginput_container_address span {
		padding-left: .9804%;
	}
}

.gform_wrapper.gravity-theme .description, .gform_wrapper.gravity-theme .gfield_description, .gform_wrapper.gravity-theme .gsection_description, .gform_wrapper.gravity-theme .instruction {
	clear: both;
	font-family: inherit;
	font-size: 15px;
	letter-spacing: normal;
	line-height: inherit;
	padding-top: 13px;
	width: 100%;
}

.gform_wrapper.gravity-theme .field_description_above .description, .gform_wrapper.gravity-theme .field_description_above .gfield_description, .gform_wrapper.gravity-theme .field_description_above .gsection_description, .gform_wrapper.gravity-theme .field_description_above .instruction {
	padding-bottom: 16px;
}

.gform_wrapper.gravity-theme .field_sublabel_above .description, .gform_wrapper.gravity-theme .field_sublabel_above .gfield_description, .gform_wrapper.gravity-theme .field_sublabel_above .gsection_description {
	margin-top: 9.008px;
}

.gform_wrapper.gravity-theme .top_label .gsection_description {
	margin-bottom: 9.008px;
	width: 100%;
}

.gform_wrapper.gravity-theme .field_description_below .gfield_consent_description, .gform_wrapper.gravity-theme .gfield_consent_description {
	border: 1px solid #ddd;
	font-size: 13.008px;
	margin-top: 12.8px;
	max-height: 240px;
	overflow-y: scroll;
	padding: 6.4px 8px;
	width: 100%;
}

.gform_wrapper.gravity-theme .field_description_above .gfield_choice_limit_message, .gform_wrapper.gravity-theme .field_sublabel_above .gfield_choice_limit_message, .gform_wrapper.gravity-theme .gfield_choice_limit_message {
	display: block;
	margin-bottom: 8px;
	margin-top: 0;
	padding-bottom: 0;
	padding-top: 0;
}

.gform_wrapper.gravity-theme .gfield_creditcard_warning {
	background-color: rgba(255, 223, 224, .25);
	border-bottom: 4px solid #c02b0a;
	border-top: 2px solid #c02b0a;
	padding: 16px;
}

.gform_wrapper.gravity-theme .gfield_creditcard_warning .gfield_creditcard_warning_message {
	color: #c02b0a;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	min-height: 32px;
	position: relative;
}

.gform_wrapper.gravity-theme .gfield_creditcard_warning .gfield_creditcard_warning_message span {
	background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSItMTA2NyAyODY1IDI0IDMyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IC0xMDY3IDI4NjUgMjQgMzI7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtmaWxsOiM3OTAwMDA7fQ0KPC9zdHlsZT4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0tMTA1MywyODY1Yy01LjUsMC0xMCw0LjUtMTAsMTBoNGMwLTMuMywyLjctNiw2LTZjMy4zLDAsNiwyLjcsNiw2djJoLTIwdjE0YzAsMy4zLDIuNyw2LDYsNmgxMg0KCWMzLjMsMCw2LTIuNyw2LTZ2LTE2Qy0xMDQzLDI4NjkuNS0xMDQ3LjUsMjg2NS0xMDUzLDI4NjV6IE0tMTA0OSwyODkzaC0xMmMtMS4xLDAtMi0wLjktMi0ydi0xMGgxNnYxMA0KCUMtMTA0NywyODkyLjEtMTA0Ny45LDI4OTMtMTA0OSwyODkzeiBNLTEwNTMsMjg4N2MwLDEuMS0wLjksMi0yLDJzLTItMC45LTItMmMwLTEuMSwwLjktMiwyLTJTLTEwNTMsMjg4NS45LTEwNTMsMjg4N3oiLz4NCjwvc3ZnPg0K");
	background-position: 0 3.2px;
	background-repeat: no-repeat;
	background-size: 24px 16px;
	border-bottom: 1px solid #c02b0a;
	display: block;
	letter-spacing: .1pt;
	margin-bottom: 16px;
	padding: 0 0 16px 24px;
	text-transform: uppercase;
}

.gform_wrapper.gravity-theme .gfield_creditcard_warning .gfield_creditcard_warning_message span.nitro-lazy {
	background-image: none !important;
}

.gform_wrapper.gravity-theme .ginput_cardextras {
	display: flex;
	flex-wrap: wrap;
}

.gform_wrapper.gravity-theme .ginput_complex .ginput_cardinfo_right input {
	max-width: 112px;
	width: 30%;
}

.gform_wrapper.gravity-theme .ginput_card_expiration_container {
	display: flex;
	flex-wrap: wrap;
}

.gform_wrapper.gravity-theme .ginput_card_expiration_month {
	flex: 1;
	margin-right: 16px;
}

.gform_wrapper.gravity-theme .ginput_card_expiration_year {
	flex: 1;
}

.gform_wrapper.gravity-theme .ginput_cardinfo_left label, .gform_wrapper.gravity-theme .ginput_cardinfo_left legend, .gform_wrapper.gravity-theme .ginput_cardinfo_right label, .gform_wrapper.gravity-theme .ginput_cardinfo_right legend {
	flex: 1 1 100%;
}

.gform_wrapper.gravity-theme fieldset.ginput_cardinfo_left {
	display: flex;
	flex-direction: column;
}

.gform_wrapper.gravity-theme fieldset.ginput_cardinfo_left legend {
	float: left;
	padding-top: 5px;
}

.gform_wrapper.gravity-theme .field_sublabel_below fieldset.ginput_cardinfo_left {
	flex-direction: column-reverse;
}

html[dir=rtl] .gform_wrapper.gravity-theme .ginput_card_expiration_month {
	margin-left: 16px;
	margin-right: 0;
}

html[dir=rtl] .gform_wrapper.gravity-theme .gform_card_icon {
	float: right;
}

html[dir=rtl] .gform_wrapper.gravity-theme .gfield_creditcard_warning .gfield_creditcard_warning_message span {
	background-position: right 3.2px;
	background-repeat: no-repeat;
	background-size: 24px 16px;
	display: block;
	margin-bottom: 16px;
	padding: 0 24px 16px 0;
}

html[dir=rtl] .gform_wrapper.gravity-theme fieldset.ginput_cardinfo_left {
	display: flex;
}

@media (max-width:640px) {
	.gform_wrapper.gravity-theme .ginput_card_expiration {
		flex: none;
	}
	
	.gform_wrapper.gravity-theme .ginput_card_expiration_month {
		margin-bottom: 8px;
	}
}

.gform_wrapper.gravity-theme .ginput_container_date+.ginput_container_date {
	margin-left: 2%;
}

.gform_wrapper.gravity-theme .ginput_container_date[style*="display:none"]+.ginput_container_date {
	margin-left: 0;
}

.gform_wrapper.gravity-theme .ginput_container_date label {
	display: block;
}

html[dir=rtl] .gform_wrapper.gravity-theme .ginput_container_date+.ginput_container_date {
	margin-left: 0;
	margin-right: 16px;
}

html[dir=rtl] .gform_wrapper.gravity-theme .ginput_container_date[style*="display:none"]+.ginput_container_date {
	margin-right: 0;
}

.gravity-theme.ui-datepicker {
	background: #fff;
	border: 1px solid #d0d1d3;
	border-radius: 3px;
	box-shadow: 0 .0625rem .25rem rgba(0, 0, 0, .11), 0 0 .25rem rgba(18, 25, 97, .0405344);
	color: #607382;
	font-size: .8125rem;
	font-weight: var(--gform-theme-font-weight-medium);
	margin-top: 5px;
	max-width: 400px;
	padding: 18px 15px;
	width: auto;
}

.gravity-theme.ui-datepicker table, .gravity-theme.ui-datepicker td, .gravity-theme.ui-datepicker th, .gravity-theme.ui-datepicker thead, .gravity-theme.ui-datepicker tr {
	background: 0 0;
	border: 0;
	margin: 0;
}

.gravity-theme.ui-datepicker td, .gravity-theme.ui-datepicker th {
	padding: 5px;
	text-shadow: none;
	text-transform: none;
}

.gravity-theme.ui-datepicker .ui-datepicker-header {
	border: 0;
	display: flex;
	flex-direction: row;
	justify-content: center;
	margin: 0 0 5px;
	padding: 0;
	position: relative;
	width: 100%;
}

.gravity-theme.ui-datepicker .ui-datepicker-header .ui-datepicker-next, .gravity-theme.ui-datepicker .ui-datepicker-header .ui-datepicker-prev {
	align-items: center;
	background: 0 0;
	border: 0;
	color: #607382;
	cursor: pointer;
	display: flex;
	font-family: gform-icons-theme !important;
	font-size: 24px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	height: 30px;
	justify-content: center;
	line-height: 1;
	position: absolute;
	speak: never;
	text-decoration: none;
	top: 50%;
	transform: translateY(-50%);
	transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out;
	width: 30px;
}

.gravity-theme.ui-datepicker .ui-datepicker-header .ui-datepicker-next:focus, .gravity-theme.ui-datepicker .ui-datepicker-header .ui-datepicker-next:hover, .gravity-theme.ui-datepicker .ui-datepicker-header .ui-datepicker-prev:focus, .gravity-theme.ui-datepicker .ui-datepicker-header .ui-datepicker-prev:hover {
	color: #2f4054;
}

.gravity-theme.ui-datepicker .ui-datepicker-header .ui-datepicker-next .ui-icon, .gravity-theme.ui-datepicker .ui-datepicker-header .ui-datepicker-prev .ui-icon {
	display: none;
}

.gravity-theme.ui-datepicker .ui-datepicker-header .ui-datepicker-next::before, .gravity-theme.ui-datepicker .ui-datepicker-header .ui-datepicker-prev::before {
	border: 0;
	height: auto;
	position: static;
	transform: none;
	width: auto;
}

.gravity-theme.ui-datepicker .ui-datepicker-header .ui-datepicker-prev {
	left: 0;
}

.gravity-theme.ui-datepicker .ui-datepicker-header .ui-datepicker-prev::before {
	content: "";
}

.gravity-theme.ui-datepicker .ui-datepicker-header .ui-datepicker-next {
	right: 0;
}

.gravity-theme.ui-datepicker .ui-datepicker-header .ui-datepicker-next::before {
	content: "";
}

.gravity-theme.ui-datepicker .ui-datepicker-header select {
	-webkit-appearance: none;
	background-color: transparent;
	background-image: url("https://cdn-ildoaab.nitrocdn.com/JzadSxRbeRwMrDuuSWJpqUXPeNBEBfkB/assets/images/source/rev-183cb1b/www.khamolaw.com/wp-content/plugins/gravityforms/images/theme/down-arrow.svg");
	background-position: 100% 50%;
	background-repeat: no-repeat;
	background-size: 24px 24px;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: #585e6a;
	cursor: pointer;
	display: inline-block;
	font-size: .875rem;
	font-weight: var(--gform-theme-font-weight-medium);
	height: auto;
	min-height: 0;
	padding: 0 22px 0 0;
	width: auto;
}

.gravity-theme.ui-datepicker .ui-datepicker-header select.nitro-lazy {
	background-image: none !important;
}

.gravity-theme.ui-datepicker .ui-datepicker-header select.ui-datepicker-month {
	margin-right: 20px;
	-moz-text-align-last: right;
	text-align-last: right;
}

.gravity-theme.ui-datepicker .ui-datepicker-calendar {
	table-layout: fixed;
	width: 100%;
}

.gravity-theme.ui-datepicker .ui-datepicker-calendar a, .gravity-theme.ui-datepicker .ui-datepicker-calendar span {
	font-weight: var(--gform-theme-font-weight-normal);
}

.gravity-theme.ui-datepicker .ui-datepicker-calendar th span {
	align-items: center;
	color: #2f4054;
	display: flex;
	font-size: .8125rem;
	font-weight: var(--gform-theme-font-weight-medium);
	height: 40px;
	justify-content: center;
	width: 40px;
}

.gravity-theme.ui-datepicker .ui-datepicker-calendar td {
	font-size: .8125rem;
	height: 50px;
	width: 50px;
}

.gravity-theme.ui-datepicker .ui-datepicker-calendar .ui-state-default {
	align-items: center;
	background: 0 0;
	border: 1px solid transparent;
	border-radius: 100%;
	box-shadow: none;
	color: #2f4054;
	display: flex;
	height: 40px;
	justify-content: center;
	text-decoration: none;
	transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out;
	width: 40px;
}

.gravity-theme.ui-datepicker .ui-datepicker-calendar .ui-state-default:focus, .gravity-theme.ui-datepicker .ui-datepicker-calendar .ui-state-default:hover {
	background: 0 0;
	border-color: #607382;
	outline: 0;
}

.gravity-theme.ui-datepicker .ui-datepicker-calendar .ui-state-default:active {
	background: #f2f3f5;
	border-color: #607382;
}

.gravity-theme.ui-datepicker .ui-datepicker-calendar .ui-datepicker-current-day .ui-state-default {
	background: #607382;
	border-color: #607382;
	box-shadow: 0 .125rem .125rem rgba(58, 58, 87, .0596411);
	color: #fff;
}

.gravity-theme.ui-datepicker .ui-datepicker-calendar .ui-datepicker-current-day .ui-state-default:focus, .gravity-theme.ui-datepicker .ui-datepicker-calendar .ui-datepicker-current-day .ui-state-default:hover {
	border-color: #607382;
}

.gravity-theme.ui-datepicker .ui-datepicker-calendar .ui-state-disabled {
	background: 0 0;
}

.gravity-theme.ui-datepicker .ui-datepicker-calendar .ui-state-disabled .ui-state-default {
	align-items: center;
	background: #f2f3f5;
	border: 1px solid rgba(32, 32, 46, .079);
	border-radius: 100%;
	box-shadow: 0 .125rem .125rem rgba(58, 58, 87, .0596411);
	color: #686e77;
	cursor: text;
	display: flex;
	height: 40px;
	justify-content: center;
	text-decoration: none;
	width: 40px;
}

@media (max-width:640px) {
	.gravity-theme.ui-datepicker {
		max-width: 235px;
	}
	
	.gravity-theme.ui-datepicker .ui-datepicker-header {
		margin-bottom: 10px;
	}
	
	.gravity-theme.ui-datepicker td, .gravity-theme.ui-datepicker th {
		padding: 3px;
	}
	
	.gravity-theme.ui-datepicker .ui-datepicker-calendar th span {
		height: 20px;
		width: 20px;
	}
	
	.gravity-theme.ui-datepicker .ui-datepicker-calendar td {
		height: 30px;
		width: 30px;
	}
	
	.gravity-theme.ui-datepicker .ui-datepicker-calendar .ui-state-default {
		height: 20px;
		width: 20px;
	}
	
	.gravity-theme.ui-datepicker .ui-datepicker-calendar .ui-state-disabled .ui-state-default {
		height: 20px;
		width: 20px;
	}
}

html[dir=rtl] #ui-datepicker-div.gform-theme-datepicker[style] {
	right: auto !important;
}

.gform_wrapper.gravity-theme .gform_footer, .gform_wrapper.gravity-theme .gform_page_footer {
	margin: 6px 0 0;
	padding: 16px 0;
}

.gform_wrapper.gravity-theme .gform_footer.left_label, .gform_wrapper.gravity-theme .gform_footer.right_label, .gform_wrapper.gravity-theme .gform_page_footer.left_label, .gform_wrapper.gravity-theme .gform_page_footer.right_label {
	padding: 16px 0 10px 30%;
}

.gform_wrapper.gravity-theme .gform_footer button, .gform_wrapper.gravity-theme .gform_footer input, .gform_wrapper.gravity-theme .gform_page_footer button, .gform_wrapper.gravity-theme .gform_page_footer input {
	margin-bottom: 8px;
}

.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 {
	opacity: .6;
}

.gform_wrapper.gravity-theme .gform_footer button+input, .gform_wrapper.gravity-theme .gform_footer input+button, .gform_wrapper.gravity-theme .gform_footer input+input, .gform_wrapper.gravity-theme .gform_page_footer button+input, .gform_wrapper.gravity-theme .gform_page_footer input+button, .gform_wrapper.gravity-theme .gform_page_footer input+input {
	margin-left: 8px;
}

html[dir=rtl] .gform_wrapper.gravity-theme button+input, html[dir=rtl] .gform_wrapper.gravity-theme input+button, html[dir=rtl] .gform_wrapper.gravity-theme input+input {
	margin-right: 8px;
}

.gform_wrapper.gravity-theme .gfield_checkbox label, .gform_wrapper.gravity-theme .gfield_radio label {
	display: inline-block;
	font-size: 15px;
}

.gform_wrapper.gravity-theme .gfield_checkbox button, .gform_wrapper.gravity-theme .gfield_checkbox input[type=text], .gform_wrapper.gravity-theme .gfield_radio button, .gform_wrapper.gravity-theme .gfield_radio input[type=text] {
	margin-top: 16px;
}

.gform_wrapper.gravity-theme .gfield-choice-input {
	display: inline-block;
	margin-top: 0;
	top: 0;
	vertical-align: middle;
}

.gform_wrapper.gravity-theme .gfield-choice-input+label {
	margin-bottom: 0;
	max-width: calc(100% - 32px);
	vertical-align: middle;
}

.gform_wrapper.gravity-theme .gfield-choice-input:disabled+label {
	color: #757575;
}

.gform_wrapper.gravity-theme input[type=number] {
	display: inline-block;
}

.gform_wrapper.gravity-theme input[type=color], .gform_wrapper.gravity-theme input[type=date], .gform_wrapper.gravity-theme input[type=datetime-local], .gform_wrapper.gravity-theme input[type=datetime], .gform_wrapper.gravity-theme input[type=email], .gform_wrapper.gravity-theme input[type=month], .gform_wrapper.gravity-theme input[type=number], .gform_wrapper.gravity-theme input[type=password], .gform_wrapper.gravity-theme input[type=search], .gform_wrapper.gravity-theme input[type=tel], .gform_wrapper.gravity-theme input[type=text], .gform_wrapper.gravity-theme input[type=time], .gform_wrapper.gravity-theme input[type=url], .gform_wrapper.gravity-theme input[type=week], .gform_wrapper.gravity-theme select, .gform_wrapper.gravity-theme textarea {
	font-size: 15px;
	margin-bottom: 0;
	margin-top: 0;
	padding: 8px;
}

.gform_wrapper.gravity-theme .chosen-container-multi, .gform_wrapper.gravity-theme .ginput_product_price, .gform_wrapper.gravity-theme .ginput_product_price_label, .gform_wrapper.gravity-theme .ginput_quantity_label {
	font-size: 15px;
}

.gform_wrapper.gravity-theme .chosen-choices {
	padding: 8px;
}

.gform_wrapper.gravity-theme .ginput_container_date {
	align-content: flex-start;
	align-items: center;
	display: flex;
}

.gform_wrapper.gravity-theme .ginput_container_date input {
	width: auto;
}

.gform_wrapper.gravity-theme .ginput_container_date .datepicker_with_icon.large {
	width: calc(100% - 48px);
}

.gform_wrapper.gravity-theme .ginput_container_date img.ui-datepicker-trigger {
	display: block;
	margin-left: 12.8px;
	max-height: 25.6px;
	max-width: 25.6px;
}

.gform_wrapper.gravity-theme .ginput_complex .ginput_container_date {
	flex-basis: min-content;
	flex-flow: row wrap;
	max-width: 30%;
}

.gform_wrapper.gravity-theme .ginput_complex .ginput_container_date input, .gform_wrapper.gravity-theme .ginput_complex .ginput_container_date select {
	min-width: 84px;
	width: 100%;
}

.gform_wrapper.gravity-theme .gfield_chainedselect.horizontal select {
	min-width: 100px;
}

.gform_wrapper.gravity-theme .gform_show_password {
	align-items: center;
	background: 0 0;
	color: inherit;
	display: flex;
	height: 100%;
}

.gform_wrapper.gravity-theme .gform_show_password:focus, .gform_wrapper.gravity-theme .gform_show_password:hover {
	background: 0 0;
}

.gform_wrapper.gravity-theme .gfield_consent_description {
	border: 1px solid #ddd;
	font-size: .8em;
	margin-top: 8px;
	max-height: 240px;
	overflow-y: scroll;
	padding: 8px;
}

.gform_wrapper.gravity-theme .gfield .ginput_quantity {
	width: auto;
}

.gform_wrapper.gravity-theme .ginput_container_image_choice .gfield_checkbox, .gform_wrapper.gravity-theme .ginput_container_image_choice .gfield_radio {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 16px;
}

.gform_wrapper.gravity-theme .ginput_container_image_choice .gchoice {
	align-self: start;
	display: block;
	inline-size: 200px;
	max-inline-size: 200px;
	min-inline-size: 200px;
	position: relative;
}

.gform_wrapper.gravity-theme .ginput_container_image_choice .gchoice .gfield-image-choice-wrapper-outer {
	display: block;
}

.gform_wrapper.gravity-theme .ginput_container_image_choice .gchoice label {
	display: inline;
	margin: 0;
}

.gform_wrapper.gravity-theme .ginput_container_image_choice .gchoice input {
	margin-inline-start: 0;
}

.gform_wrapper.gravity-theme .ginput_container_image_choice .gchoice:where([\:has\(input\:checked\)])::after {
	font-family: gform-icons-theme !important;
	font-style: normal;
	font-variant: normal;
	font-weight: 400;
	line-height: 1;
	speak: none;
	text-transform: none;
	align-items: center;
	background-color: #607382;
	block-size: 38px;
	border-radius: 50%;
	color: #fff;
	content: "";
	display: flex;
	filter: drop-shadow(0 1px 1px rgba(18, 25, 97, .15)) drop-shadow(0 2px 5px rgba(18, 25, 97, .1)) drop-shadow(0 0 0 rgba(18, 25, 97, .05));
	font-size: 32px;
	inline-size: 38px;
	inset-block-start: 10px;
	inset-inline-end: 10px;
	justify-content: center;
	position: absolute;
	z-index: 5;
}

.gform_wrapper.gravity-theme .ginput_container_image_choice .gchoice:where([\:has\(input\:checked\)])::after {
	font-family: gform-icons-theme !important;
	font-style: normal;
	font-variant: normal;
	font-weight: 400;
	line-height: 1;
	speak: none;
	text-transform: none;
	align-items: center;
	background-color: #607382;
	block-size: 38px;
	border-radius: 50%;
	color: #fff;
	content: "";
	display: flex;
	filter: drop-shadow(0 1px 1px rgba(18, 25, 97, .15)) drop-shadow(0 2px 5px rgba(18, 25, 97, .1)) drop-shadow(0 0 0 rgba(18, 25, 97, .05));
	font-size: 32px;
	inline-size: 38px;
	inset-block-start: 10px;
	inset-inline-end: 10px;
	justify-content: center;
	position: absolute;
	z-index: 5;
}

.gform_wrapper.gravity-theme .ginput_container_image_choice .gchoice:where([\:has\(input\:checked\)])::after {
	font-family: gform-icons-theme !important;
	font-style: normal;
	font-variant: normal;
	font-weight: 400;
	line-height: 1;
	speak: none;
	text-transform: none;
	align-items: center;
	background-color: #607382;
	block-size: 38px;
	border-radius: 50%;
	color: #fff;
	content: "";
	display: flex;
	filter: drop-shadow(0 1px 1px rgba(18, 25, 97, .15)) drop-shadow(0 2px 5px rgba(18, 25, 97, .1)) drop-shadow(0 0 0 rgba(18, 25, 97, .05));
	font-size: 32px;
	inline-size: 38px;
	inset-block-start: 10px;
	inset-inline-end: 10px;
	justify-content: center;
	position: absolute;
	z-index: 5;
}

.gform_wrapper.gravity-theme .ginput_container_image_choice .gchoice:where(:has(input:checked))::after {
	font-family: gform-icons-theme !important;
	font-style: normal;
	font-variant: normal;
	font-weight: 400;
	line-height: 1;
	speak: none;
	text-transform: none;
	align-items: center;
	background-color: #607382;
	block-size: 38px;
	border-radius: 50%;
	color: #fff;
	content: "";
	display: flex;
	filter: drop-shadow(0 1px 1px rgba(18, 25, 97, .15)) drop-shadow(0 2px 5px rgba(18, 25, 97, .1)) drop-shadow(0 0 0 rgba(18, 25, 97, .05));
	font-size: 32px;
	inline-size: 38px;
	inset-block-start: 10px;
	inset-inline-end: 10px;
	justify-content: center;
	position: absolute;
	z-index: 5;
}

.gform_wrapper.gravity-theme .ginput_container_image_choice .gchoice:where(:focus-within) .gfield-choice-image-wrapper::before {
	border-color: currentColor;
}

.gform_wrapper.gravity-theme .ginput_container_image_choice .gchoice:where([\:has\(.gfield-choice-input\:disabled\)]) .gfield-choice-image-wrapper {
	opacity: .5;
}

.gform_wrapper.gravity-theme .ginput_container_image_choice .gchoice:where(:has(.gfield-choice-input:disabled)) .gfield-choice-image-wrapper {
	opacity: .5;
}

.gform_wrapper.gravity-theme .ginput_container_image_choice .gfield-choice-image-wrapper {
	aspect-ratio: 1/1;
	margin-block-end: 8px;
	opacity: 1;
	overflow: hidden;
	position: relative;
}

.gform_wrapper.gravity-theme .ginput_container_image_choice .gfield-choice-image-wrapper::before {
	border: 2px solid transparent;
	content: "";
	display: block;
	inset-block: 0;
	inset-inline: 0;
	position: absolute;
	z-index: 1;
}

.gform_wrapper.gravity-theme .ginput_container_image_choice .gfield-choice-image-no-image {
	font-family: gform-icons-theme !important;
	font-style: normal;
	font-variant: normal;
	font-weight: 400;
	line-height: 1;
	speak: none;
	text-transform: none;
	background-color: #d0d1d3;
	block-size: 100%;
	color: #607382;
	display: block;
	inline-size: 100%;
	position: relative;
}

.gform_wrapper.gravity-theme .ginput_container_image_choice .gfield-choice-image-no-image::before {
	content: "";
	font-size: 60px;
	inset-block-start: 50%;
	left: 50%;
	position: absolute;
	transform: translate(-50%, -50%);
}

.gform_wrapper.gravity-theme .ginput_container_image_choice .gfield-choice-image-no-image span {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.gform_wrapper.gravity-theme .ginput_container_image_choice .gfield-choice-image {
	block-size: 100% !important;
	display: block;
	inline-size: 100%;
	max-block-size: 100%;
	max-inline-size: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.gform_wrapper.gravity-theme .ginput_container_image_choice .gchoice_other_control {
	margin-block-start: 16px;
	max-inline-size: 100%;
}

.gform_wrapper.gravity-theme .gfield_error .ginput_container_image_choice .gfield-choice-image-wrapper::before {
	border-color: #c02b0a;
}

.gform_wrapper.gravity-theme:where(:not(.gform_wrapper_edit_form_entry)) .ginput_container_image_choice.ginput_container_image_choice--label-hide .gchoice .gfield-choice-image-wrapper {
	margin-block-end: 0;
}

.gform_wrapper.gravity-theme:where(:not(.gform_wrapper_edit_form_entry)) .ginput_container_image_choice.ginput_container_image_choice--label-hide .gchoice .gfield-choice-input, .gform_wrapper.gravity-theme:where(:not(.gform_wrapper_edit_form_entry)) .ginput_container_image_choice.ginput_container_image_choice--label-hide .gchoice .gfield-image-choice-wrapper-inner, .gform_wrapper.gravity-theme:where(:not(.gform_wrapper_edit_form_entry)) .ginput_container_image_choice.ginput_container_image_choice--label-hide .gchoice .gform-field-label {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.gform_wrapper.gravity-theme:where(:not(.gform_wrapper_edit_form_entry)) .ginput_container_image_choice.ginput_container_image_choice--input-hide .gchoice .gform-field-label {
	margin-inline-start: 0;
}

.gform_wrapper.gravity-theme:where(:not(.gform_wrapper_edit_form_entry)) .ginput_container_image_choice.ginput_container_image_choice--input-hide .gchoice .gfield-choice-input {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.gform_wrapper.gravity-theme:where(.gform_wrapper_edit_form_entry) .ginput_container_image_choice .gchoice:where([\:has\(input\:checked\)])::after {
	font-family: gform-icons-common !important;
	font-style: normal;
	font-variant: normal;
	font-weight: 400;
	line-height: 1;
	speak: none;
	text-transform: none;
	content: "";
	font-size: 20px;
}

.gform_wrapper.gravity-theme:where(.gform_wrapper_edit_form_entry) .ginput_container_image_choice .gchoice:where([\:has\(input\:checked\)])::after {
	font-family: gform-icons-common !important;
	font-style: normal;
	font-variant: normal;
	font-weight: 400;
	line-height: 1;
	speak: none;
	text-transform: none;
	content: "";
	font-size: 20px;
}

.gform_wrapper.gravity-theme:where(.gform_wrapper_edit_form_entry) .ginput_container_image_choice .gchoice:where([\:has\(input\:checked\)])::after {
	font-family: gform-icons-common !important;
	font-style: normal;
	font-variant: normal;
	font-weight: 400;
	line-height: 1;
	speak: none;
	text-transform: none;
	content: "";
	font-size: 20px;
}

.gform_wrapper.gravity-theme:where(.gform_wrapper_edit_form_entry) .ginput_container_image_choice .gchoice:where(:has(input:checked))::after {
	font-family: gform-icons-common !important;
	font-style: normal;
	font-variant: normal;
	font-weight: 400;
	line-height: 1;
	speak: none;
	text-transform: none;
	content: "";
	font-size: 20px;
}

.gform_wrapper.gravity-theme:where(.gform_wrapper_edit_form_entry) .ginput_container_image_choice .gfield-choice-image-no-image {
	font-family: gform-icons-common !important;
	font-style: normal;
	font-variant: normal;
	font-weight: 400;
	line-height: 1;
	speak: none;
	text-transform: none;
}

.gform_wrapper.gravity-theme:where(.gform_wrapper_edit_form_entry) .ginput_container_image_choice .gfield-choice-image-no-image::before {
	content: "";
}

.gforms_edit_form.gf_browser_safari .gform_wrapper.gravity-theme:where(.gform_wrapper_edit_form_entry) .ginput_container_image_choice .gfield-choice-image {
	max-block-size: -webkit-fill-available;
}

html[dir=rtl] .gform_wrapper.gravity-theme .ginput_container_date img.ui-datepicker-trigger {
	margin-left: 0;
	margin-right: 12.8px;
	order: 1;
}

.gform_wrapper.gravity-theme .gsection {
	border-bottom: 1px solid #ccc;
	padding: 0 16px 8px 0;
}

html[dir=rtl] .gform_wrapper.gravity-theme .gsection {
	padding: 0 0 8px 16px;
}

.gform_wrapper.gravity-theme .gf_progressbar_title {
	color: #767676;
	font-size: 12.992px;
	font-weight: 400;
	margin: 0 0 4.8px 0;
}

.gform_wrapper.gravity-theme .gf_progressbar {
	background: #e8e8e8;
	border-radius: 10.5px;
	margin-bottom: 16px;
	position: relative;
}

.gform_wrapper.gravity-theme .gf_progressbar_percentage {
	border-radius: 10.5px;
	height: 20.992px;
	text-align: right;
	vertical-align: middle;
}

.gform_wrapper.gravity-theme .gf_progressbar_percentage:not(.percentbar_100) {
	border-radius: 10.5px 0 0 10.5px;
}

.gform_wrapper.gravity-theme .gf_progressbar_percentage span {
	display: block;
	float: right;
	font-size: 13px;
	line-height: 21px;
	margin-left: 8px;
	margin-right: 8px;
	min-width: 2em;
	width: auto;
}

.gform_wrapper.gravity-theme .gf_progressbar_percentage.percentbar_0 span {
	color: #959595;
	float: none;
	margin-left: 9.6px;
	text-shadow: none;
}

.gform_wrapper.gravity-theme .gf_progressbar_blue {
	background: #d2d6dc;
}

.gform_wrapper.gravity-theme .gf_progressbar_percentage.percentbar_blue {
	background-color: #1e7ac4;
	color: #fff;
}

.gform_wrapper.gravity-theme .gf_progressbar_gray {
	background: #d2d6dc;
}

.gform_wrapper.gravity-theme .gf_progressbar_percentage.percentbar_gray {
	background-color: #6b7280;
	color: #fff;
}

.gform_wrapper.gravity-theme .gf_progressbar_green {
	background: #e8e8e8;
}

.gform_wrapper.gravity-theme .gf_progressbar_percentage.percentbar_green {
	background-color: #aac138;
	color: #fff;
}

.gform_wrapper.gravity-theme .gf_progressbar_orange {
	background: #e8eaec;
}

.gform_wrapper.gravity-theme .gf_progressbar_percentage.percentbar_orange {
	background-color: #ff5d38;
	color: #fff;
}

.gform_wrapper.gravity-theme .gf_progressbar_red {
	background: #e8eaec;
}

.gform_wrapper.gravity-theme .gf_progressbar_percentage.percentbar_red {
	background-color: #ec1e31;
	color: #fff;
}

.gform_wrapper.gravity-theme .gf_progressbar_spring {
	background: #d2d6dc;
}

.gform_wrapper.gravity-theme .gf_progressbar_percentage.percentbar_spring {
	background: linear-gradient(270deg, #9cd790 0, #76d7db 100%);
	color: #fff;
}

.gform_wrapper.gravity-theme .gf_progressbar_blues {
	background: #d2d6dc;
}

.gform_wrapper.gravity-theme .gf_progressbar_percentage.percentbar_blues {
	background: linear-gradient(270deg, #00c2ff 0, #7838e2 100%);
	color: #fff;
}

.gform_wrapper.gravity-theme .gf_progressbar_rainbow {
	background: #d2d6dc;
}

.gform_wrapper.gravity-theme .gf_progressbar_percentage.percentbar_rainbow {
	background: linear-gradient(270deg, #1dbeea 0, #cd6ad6 50%, #f35160 100%);
	color: #fff;
}

html[dir=rtl] .gform_wrapper.gravity-theme .gf_progressbar_percentage:not(.percentbar_100) {
	border-radius: 0 10.5px 10.5px 0;
}

.gform_wrapper.gravity-theme .gf_page_steps {
	border-bottom: 1px solid #e5e7eb;
	margin-bottom: 16px;
}

.gform_wrapper.gravity-theme .gf_step {
	display: inline-block;
	margin: 8px 32px 8px 0;
}

.gform_wrapper.gravity-theme .gf_step_label, .gform_wrapper.gravity-theme .gf_step_number {
	display: table-cell;
	vertical-align: middle;
}

.gform_wrapper.gravity-theme .gf_step_number {
	background: 0 0;
	border: 2px solid #cfd3d9;
	border-radius: 20px;
	color: #585e6a;
	font-size: 14px;
	font-weight: 500;
	height: 40px;
	text-align: center;
	width: 40px;
}

.gform_wrapper.gravity-theme .gf_step_active .gf_step_number {
	background: #cfd3d9;
	color: #607382;
}

.gform_wrapper.gravity-theme .gf_step_completed .gf_step_number {
	position: relative;
}

.gform_wrapper.gravity-theme .gf_step_completed .gf_step_number::before {
	background: #607382;
	border: 2px solid #607382;
	border-radius: 20px;
	content: "";
	display: table-cell;
	height: 40px;
	left: -2px;
	position: absolute;
	top: -2px;
	width: 40px;
}

.gform_wrapper.gravity-theme .gf_step_completed .gf_step_number::after {
	align-items: center;
	color: #fff;
	content: "";
	display: flex;
	font-family: gform-icons-theme;
	font-size: 24px;
	height: 100%;
	justify-content: center;
	left: 0;
	position: absolute;
	text-align: center;
	top: 0;
	width: 100%;
	z-index: 5;
}

.gform_wrapper.gravity-theme .gf_step_label {
	color: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 16px;
	padding-left: 16px;
}

.gform_wrapper.gravity-theme .gf_step_hidden {
	display: none;
}

.gform_wrapper.gravity-theme .ginput_product_price_wrapper {
	display: inline-block;
}

.gform_wrapper.gravity-theme .ginput_product_price_wrapper input:-moz-read-only {
	background: 0 0;
	border: none;
	padding: 0;
}

.gform_wrapper.gravity-theme .ginput_product_price_wrapper input:read-only {
	background: 0 0;
	border: none;
	padding: 0;
}

.gform_wrapper.gravity-theme .ginput_product_price, .gform_wrapper.gravity-theme .ginput_shipping_price {
	color: #900;
}

.gform_wrapper.gravity-theme .ginput_total {
	color: #060;
}

.gform_wrapper.gravity-theme .gfield_repeater_cell {
	margin-top: 8px;
}

.gform_wrapper.gravity-theme .gfield_repeater_cell label {
	color: #9b9a9a;
	font-size: 12.8px;
	font-weight: 400;
	padding-top: 8px;
}

.gform_wrapper.gravity-theme .gfield_repeater_items .gfield_repeater_cell:not(:first-child) {
	padding-top: 8px;
}

.gform_wrapper.gravity-theme .gfield_repeater_wrapper input {
	border: 1px solid #c5c6c5;
	border-radius: 4px;
}

.gform_wrapper.gravity-theme .gfield_repeater_cell>.gfield_repeater_wrapper {
	background-color: rgba(1, 1, 1, .02);
	border-bottom: 1px solid #eee;
	border-left: 8px solid #f1f1f1;
	border-radius: 8px;
	box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .06), 0 2px 1px -1px rgba(0, 0, 0, .06), 0 1px 5px 0 rgba(0, 0, 0, .06);
	padding: 10px 20px;
}

.gform_wrapper.gravity-theme .gfield_repeater_buttons {
	padding-top: 16px;
}

.gform_wrapper.gravity-theme .gfield_repeater_buttons .add_repeater_item_plus:hover, .gform_wrapper.gravity-theme .gfield_repeater_buttons .add_repeater_item_text:hover, .gform_wrapper.gravity-theme .gfield_repeater_buttons .remove_repeater_item_minus:hover, .gform_wrapper.gravity-theme .gfield_repeater_buttons .remove_repeater_item_text:hover {
	background: #fafafa;
	border: 1px solid #757575;
	color: #374750;
}

.gform_wrapper.gravity-theme .gfield_repeater_buttons .add_repeater_item_plus:focus, .gform_wrapper.gravity-theme .gfield_repeater_buttons .add_repeater_item_text:focus, .gform_wrapper.gravity-theme .gfield_repeater_buttons .remove_repeater_item_minus:focus, .gform_wrapper.gravity-theme .gfield_repeater_buttons .remove_repeater_item_text:focus {
	outline: 0;
}

.gform_wrapper.gravity-theme .gfield_repeater_buttons .add_repeater_item_text, .gform_wrapper.gravity-theme .gfield_repeater_buttons .remove_repeater_item_text {
	background: rgba(242, 242, 242, .5);
	border: 1px solid rgba(117, 117, 117, .4);
	border-radius: 20px;
	color: #757575;
	font-size: 12px;
	font-weight: 400;
	height: 32px;
	margin-bottom: 8px;
	margin-right: 8px;
	min-width: 100px;
	transition: all .3s cubic-bezier(.67, .17, .4, .83);
}

.gform_wrapper.gravity-theme .gfield_repeater_buttons .add_repeater_item_plus, .gform_wrapper.gravity-theme .gfield_repeater_buttons .remove_repeater_item_minus {
	background: rgba(242, 242, 242, .5);
	border: 1px solid rgba(117, 117, 117, .4);
	border-radius: 50%;
	color: #757575;
	font-size: 16px;
	font-weight: 700;
	height: 24px;
	margin: 10px 5px 0 5px;
	padding: 0;
	transition: all .3s cubic-bezier(.67, .17, .4, .83);
	width: 24px;
}

.gform_wrapper.gravity-theme .gfield_repeater .gfield_repeater_items .gfield_repeater_item:not(:last-child) {
	border-bottom: 2px solid #e0e0e6;
	margin-bottom: 20px;
	margin-right: 8px;
	padding-bottom: 20px;
}

.gform_wrapper.gravity-theme .gform-loader {
	align-self: center;
	animation: gformLoader 1.1s infinite linear;
	block-size: 8em;
	border-block-end: 1.1em solid #000;
	border-block-start: 1.1em solid #fff;
	border-inline-end: 1.1em solid #fff;
	border-inline-start: 1.1em solid #000;
	border-radius: 50%;
	display: inline-block;
	font-size: 2px;
	inline-size: 8em;
	margin-inline-start: 2em;
	position: relative;
	transform: translateZ(0);
	vertical-align: middle;
}

@keyframes gformLoader {
	0% {
		transform: rotate(0);
	}
	
	100% {
		transform: rotate(360deg);
	}
}

.gform_wrapper.gravity-theme .gfield_time_hour label.hour_label, .gform_wrapper.gravity-theme .gfield_time_minute label.minute_label {
	display: block;
	font-size: 15px;
	margin: 0;
	padding-top: 5px;
}

.gform_wrapper.gravity-theme .ginput_container_time {
	flex-basis: min-content;
	max-width: 64px;
	min-width: 64px;
}

.gform_wrapper.gravity-theme .ginput_container_time input {
	margin-left: 0;
	margin-right: 0;
	min-width: 100%;
}

.gform_wrapper.gravity-theme .gfield_time_minute {
	position: relative;
}

.gform_wrapper.gravity-theme .hour_minute_colon {
	line-height: 2;
	padding: 0 8px;
}

.gform_wrapper.gravity-theme .field_sublabel_above .hour_minute_colon {
	align-self: flex-end;
}

.gform_wrapper.gravity-theme .gfield_time_ampm {
	align-items: flex-end;
	display: flex;
	margin-left: 16px;
}

.gform_wrapper.gravity-theme .gfield_time_ampm.below, .gform_wrapper.gravity-theme .hour_minute_colon.below {
	align-items: flex-start;
}

html[dir=rtl] .gform_wrapper.gravity-theme .gfield_time_ampm {
	margin-left: 0;
	margin-right: 16px;
}

:root {
	--swiper-theme-color: #007aff;
}

:host {
	position: relative;
	display: block;
	margin-left: auto;
	margin-right: auto;
	z-index: 1;
}

.swiper {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	overflow: hidden;
	list-style: none;
	padding: 0;
	z-index: 1;
	display: block;
}

.swiper-vertical>.swiper-wrapper {
	flex-direction: column;
}

.swiper-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
	display: flex;
	transition-property: transform;
	transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
	box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper {
	transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
	touch-action: pan-y;
}

.swiper-vertical {
	touch-action: pan-x;
}

.swiper-slide {
	flex-shrink: 0;
	width: 100%;
	height: 100%;
	position: relative;
	transition-property: transform;
	display: block;
}

.swiper-slide-invisible-blank {
	visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
	height: auto;
}

.swiper-autoheight .swiper-wrapper {
	align-items: flex-start;
	transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
	perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
	transform-style: preserve-3d;
}

.swiper-3d {
	perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide {
	transform-style: preserve-3d;
}

.swiper-css-mode>.swiper-wrapper {
	overflow: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
	display: none;
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
	scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal>.swiper-wrapper {
	scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper {
	scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
	scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
	scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered>.swiper-wrapper::before {
	content: "";
	flex-shrink: 0;
	order: 9999;
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
	scroll-snap-align: center center;
	scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
	margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before {
	height: 100%;
	min-height: 1px;
	width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
	margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before {
	width: 100%;
	min-width: 1px;
	height: var(--swiper-centered-offset-after);
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
	background: rgba(0, 0, 0, .15);
}

.swiper-3d .swiper-slide-shadow-left {
	background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
	background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
	background-image: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
	width: 42px;
	height: 42px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -21px;
	margin-top: -21px;
	z-index: 10;
	transform-origin: 50%;
	box-sizing: border-box;
	border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
	border-radius: 50%;
	border-top-color: transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader, .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
	animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
	--swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
	--swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
	0% {
		transform: rotate(0deg);
	}
	
	100% {
		transform: rotate(360deg);
	}
}

.swiper-virtual .swiper-slide {
	-webkit-backface-visibility: hidden;
	transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
	height: 1px;
	width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
	width: 1px;
	height: var(--swiper-virtual-size);
}

:root {
	--swiper-navigation-size: 44px;
}

.swiper-button-next, .swiper-button-prev {
	position: absolute;
	top: var(--swiper-navigation-top-offset, 50%);
	width: calc(var(--swiper-navigation-size) / 44 * 27);
	height: var(--swiper-navigation-size);
	margin-top: calc(0px - ( var(--swiper-navigation-size) / 2 ));
	z-index: 10;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
	opacity: .35;
	cursor: auto;
	pointer-events: none;
}

.swiper-button-next.swiper-button-hidden, .swiper-button-prev.swiper-button-hidden {
	opacity: 0;
	cursor: auto;
	pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next, .swiper-navigation-disabled .swiper-button-prev {
	display: none !important;
}

.swiper-button-next svg, .swiper-button-prev svg {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transform-origin: center;
}

.swiper-rtl .swiper-button-next svg, .swiper-rtl .swiper-button-prev svg {
	transform: rotate(180deg);
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
	left: var(--swiper-navigation-sides-offset, 10px);
	right: auto;
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
	right: var(--swiper-navigation-sides-offset, 10px);
	left: auto;
}

.swiper-button-lock {
	display: none;
}

.swiper-button-next:after, .swiper-button-prev:after {
	font-family: swiper-icons;
	font-size: var(--swiper-navigation-size);
	text-transform: none !important;
	letter-spacing: 0;
	font-variant: initial;
	line-height: 1;
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
	content: "prev";
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
	right: var(--swiper-navigation-sides-offset, 10px);
	left: auto;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
	content: "next";
}

.swiper-pagination {
	position: absolute;
	text-align: center;
	transition: .3s opacity;
	transform: translate3d(0, 0, 0);
	z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
	opacity: 0;
}

.swiper-pagination-disabled>.swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
	display: none !important;
}

.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
	bottom: var(--swiper-pagination-bottom, 8px);
	top: var(--swiper-pagination-top, auto);
	left: 0;
	width: 100%;
}

.swiper-pagination-bullets-dynamic {
	overflow: hidden;
	font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	transform: scale(.33);
	position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
	transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
	transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
	transform: scale(.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
	transform: scale(.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
	transform: scale(.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
	transform: scale(.33);
}

.swiper-pagination-bullet {
	width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
	height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
	display: inline-block;
	border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
	background: var(--swiper-pagination-bullet-inactive-color, #000);
	opacity: var(--swiper-pagination-bullet-inactive-opacity, .2);
}

button.swiper-pagination-bullet {
	border: none;
	margin: 0;
	padding: 0;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
	cursor: pointer;
}

.swiper-pagination-bullet:only-child {
	display: none !important;
}

.swiper-pagination-bullet-active {
	opacity: var(--swiper-pagination-bullet-opacity, 1);
	background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical>.swiper-pagination-bullets {
	right: var(--swiper-pagination-right, 8px);
	left: var(--swiper-pagination-left, auto);
	top: 50%;
	transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
	display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	display: inline-block;
	transition: .2s transform, .2s top;
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	transition: .2s transform, .2s left;
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	transition: .2s transform, .2s right;
}

.swiper-pagination-fraction {
	color: var(--swiper-pagination-fraction-color, inherit);
}

.swiper-pagination-progressbar {
	background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));
	position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	background: var(--swiper-pagination-color, var(--swiper-theme-color));
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	transform: scale(0);
	transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	transform-origin: right top;
}

.swiper-horizontal>.swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
	width: 100%;
	height: var(--swiper-pagination-progressbar-size, 4px);
	left: 0;
	top: 0;
}

.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-vertical>.swiper-pagination-progressbar {
	width: var(--swiper-pagination-progressbar-size, 4px);
	height: 100%;
	left: 0;
	top: 0;
}

.swiper-pagination-lock {
	display: none;
}

.swiper-scrollbar {
	border-radius: var(--swiper-scrollbar-border-radius, 10px);
	position: relative;
	touch-action: none;
	background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, .1));
}

.swiper-scrollbar-disabled>.swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-disabled {
	display: none !important;
}

.swiper-horizontal>.swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
	position: absolute;
	left: var(--swiper-scrollbar-sides-offset, 1%);
	bottom: var(--swiper-scrollbar-bottom, 4px);
	top: var(--swiper-scrollbar-top, auto);
	z-index: 50;
	height: var(--swiper-scrollbar-size, 4px);
	width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar.swiper-scrollbar-vertical, .swiper-vertical>.swiper-scrollbar {
	position: absolute;
	left: var(--swiper-scrollbar-left, auto);
	right: var(--swiper-scrollbar-right, 4px);
	top: var(--swiper-scrollbar-sides-offset, 1%);
	z-index: 50;
	width: var(--swiper-scrollbar-size, 4px);
	height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
	height: 100%;
	width: 100%;
	position: relative;
	background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, .5));
	border-radius: var(--swiper-scrollbar-border-radius, 10px);
	left: 0;
	top: 0;
}

.swiper-scrollbar-cursor-drag {
	cursor: move;
}

.swiper-scrollbar-lock {
	display: none;
}

.swiper-zoom-container {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.swiper-zoom-container>canvas, .swiper-zoom-container>img, .swiper-zoom-container>svg {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.swiper-slide-zoomed {
	cursor: move;
	touch-action: none;
}

.swiper .swiper-notification {
	position: absolute;
	left: 0;
	top: 0;
	pointer-events: none;
	opacity: 0;
	z-index: -1000;
}

.swiper-free-mode>.swiper-wrapper {
	transition-timing-function: ease-out;
	margin: 0 auto;
}

.swiper-grid>.swiper-wrapper {
	flex-wrap: wrap;
}

.swiper-grid-column>.swiper-wrapper {
	flex-wrap: wrap;
	flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
	transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
	pointer-events: none;
	transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
	pointer-events: none;
}

.swiper-fade .swiper-slide-active {
	pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
	pointer-events: auto;
}

.swiper.swiper-cube {
	overflow: visible;
}

.swiper-cube .swiper-slide {
	pointer-events: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	z-index: 1;
	visibility: hidden;
	transform-origin: 0 0;
	width: 100%;
	height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
	pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
	transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-active .swiper-slide-active {
	pointer-events: auto;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-next, .swiper-cube .swiper-slide-prev {
	pointer-events: auto;
	visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
	position: absolute;
	left: 0;
	bottom: 0px;
	width: 100%;
	height: 100%;
	opacity: .6;
	z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
	content: "";
	background: #000;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	filter: blur(50px);
}

.swiper-cube .swiper-slide-next+.swiper-slide {
	pointer-events: auto;
	visibility: visible;
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
	z-index: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.swiper.swiper-flip {
	overflow: visible;
}

.swiper-flip .swiper-slide {
	pointer-events: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
	pointer-events: none;
}

.swiper-flip .swiper-slide-active, .swiper-flip .swiper-slide-active .swiper-slide-active {
	pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
	z-index: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	overflow: hidden;
	transition-property: transform, opacity, height;
}

.swiper.swiper-cards {
	overflow: visible;
}

.swiper-cards .swiper-slide {
	transform-origin: center bottom;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	overflow: hidden;
}
/*# sourceMappingURL=style.css.map */

/*! 
Theme Name: 1p21 Theme Build
Author: 1p21

--------------

for future friendly editing and to avoid possibility of change overrides, DO:
- For smaller and or quick fixes, put css changes in post-live.css 
OR
- For complex and or elaborate rebuilds/ Site build, modify sass files locally with a compiler and output as the style.css
*/

/* ================================================================================
* Resets.css
================================================================================ */

/***
    The new CSS reset - version 1.8.3 (last updated 21.1.2023)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/

/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
 */

/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
 */
*:where(:not(html, iframe, canvas, img, svg, video, audio, input, textarea, select, button, table, caption, tbody, tfoot, thead, tr, th, td):not(svg *, symbol *)) {
	all: unset;
	display: revert;
}

/* Reset form elements while keeping essential ui styles */
:where(input, textarea, select, option, button, optgroup) {
	all: revert;
	margin: unset;
	-webkit-appearance: auto;
	-moz-appearance: auto;
	appearance: auto;
}

/* resets table styles nicely so html attribute features are still preserved */
:where(table, caption, tbody, tfoot, thead, tr, th, td) {
	margin: unset;
	padding: unset;
	border: unset;
	background: unset;
	border-collapse: collapse;
	border-spacing: 0;
}

/* Reapply the pointer cursor for anchor tags */
a, button {
	cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol, ul, menu {
	list-style: none;
}

/* For images to not be able to exceed their container */
img {
	max-inline-size: 100%;
	max-block-size: 100%;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input, textarea {
	-webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
	white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
	-webkit-appearance: revert;
	-moz-appearance: revert;
	appearance: revert;
}

/* preformatted text - use only for this feature */
:where(pre) {
	all: revert;
}

/* reset default text opacity of input placeholder */
::-moz-placeholder {
	color: unset;
}

::placeholder {
	color: unset;
}

/* remove default dot (•) sign */
::marker {
	content: initial;
}

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
	display: none;
}

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly.
   - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable=false])) {
	-moz-user-modify: read-write;
	-webkit-user-modify: read-write;
	overflow-wrap: break-word;
	-webkit-line-break: after-white-space;
	-webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable=true]) {
	-webkit-user-drag: element;
}

/* Revert Modal native behavior */
:where(dialog:modal) {
	all: revert;
}

/* Preferred box-sizing value */
*, *::before, *::after {
	box-sizing: border-box;
}

/* ================================================================================
* Native Custom CSS Properties
================================================================================ */
:root {
	--ilawyer-cubic-bezier: cubic-bezier(.17, .66, .34, .98);
	--ilawyer-transform-duration: 1600ms;
	--ilawyer-opacity-duration: 400ms;
}

#exit-popup {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: var(--color-light);
	padding: 60px 50px;
	border-radius: 5px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, .3);
	z-index: 9999;
	display: none;
	max-width: 800px;
}

#exit-popup.show {
	display: block;
}

#exit-popup .exit-close {
	position: absolute;
	top: 0px;
	right: 15px;
	font-size: 38px;
	font-weight: 400;
	color: var(--color-neutral);
	cursor: pointer;
}

#exit-popup .exit-close:hover {
	color: var(--color-accent-alt);
}

#exit-popup .close-exit {
	margin-top: 15px;
	display: inline-block;
	padding: 8px 12px;
	background: var(--color-dark);
	color: var(--color-light);
	border: none;
	cursor: pointer;
	border-radius: 4px;
}

#exit-popup .section-header {
	margin-bottom: 1rem;
}

#exit-popup .section-content {
	margin-bottom: 2rem;
}

@media only screen and (max-width: 1199px) {
	#exit-popup {
		min-width: 600px;
	}
}

@media only screen and (max-width: 767px) {
	#exit-popup {
		min-width: 310px;
		padding: 40px 15px;
	}
	
	#exit-popup .section-heading {
		font-size: 33px;
		line-height: 38px;
		text-align: center;
		margin-inline: 5px;
	}
	
	#exit-popup .section-content {
		margin-inline: 5px;
		text-align: center;
	}
	
	#exit-popup .section-button {
		text-align: center;
	}
	
	#exit-popup .section-button .button {
		font-size: 14px;
		--button-padding-x: 14px;
	}
}

#exit-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0, 0, 0, .6);
	z-index: 9998;
	display: none;
}

#exit-overlay.show {
	display: block;
}

/* css vars because internet explorer can no longer hold us back <3 */
:root {
	/* Core Vars DO NOT EDIT. */
	
	/* Design Reference - Breakpoints This will be used by javascript to track media queries on stuff like sliders */
	--br-xxs: 359px;
	--br-xs: 767px;
	--br-sm: 1199px;
	--br-md: 1399px;
	--br-lg: 1919px;
	--br-xl: 2879px;
	--br-xxl: 3839px;
	--comp: 360px;
	--overlap-buffer: 1px;
	--font-primary: OpenSans, Adjusted Tahoma Fallback;
	--font-secondary: Saira, Adjusted Arial Fallback;
	--font-accent: var(--font-primary);
	--font-monospace: monospace;
	--color-dark: #131d2f;
	--color-dark-alt: #273244;
	--color-light: #fff;
	--color-light-alt: #eaeaea;
	--color-primary: #26354f;
	--color-primary-alt: #212b3d;
	--color-primary-gradient-start: var(--color-primary);
	--color-primary-gradient-end: var(--color-dark);
	--color-secondary: #11357b;
	--color-secondary-alt: #042666;
	--color-secondary-gradient-start: var(--color-secondary);
	--color-secondary-gradient-end: var(--color-dark);
	--color-accent: #eb9b31;
	--color-accent-alt: #d6671c;
	--color-accent-gradient-start: var(--color-accent);
	--color-accent-gradient-end: var(--color-accent-alt);
	--color-neutral: #bbb;
	--color-neutral-light: #f2a430;
	--color-neutral-lighter: #e9eaec;
	--color-neutral-lightest: rgba(0, 17, 46, .2);
	--color-neutral-dark: #1a2331;
	--color-neutral-darker: #ec9d32;
	--color-neutral-darkest: #da3926;
	--color-success: #0c0;
	--color-caution: #c60;
	--color-error: #c00;
}

@media only screen and (min-width: 768px) {
	:root {
		/* Core Vars DO NOT EDIT. */
		--comp: 768px;
	}
}

@media only screen and (min-width: 1200px) {
	:root {
		/* Core Vars DO NOT EDIT. */
		--comp: 1200px;
	}
}

@media only screen and (min-width: 1400px) {
	:root {
		/* Core Vars DO NOT EDIT. */
		--comp: 1400px;
	}
}

@media only screen and (min-width: 1920px) {
	:root {
		/* Core Vars DO NOT EDIT. */
		--comp: 1920px;
	}
}

/* ================================================================================
* Global Styles/Normalize:
* Custom reset and global styles for the site html tags
================================================================================ */

/* Custom scaffolding and normalizing styles
--------------------------------------------------------------- */
html, body {
	/* prevent document from shrinking to window sizes that are too small */
	min-width: 320px;
	font-family: var(--font-primary);
	font-weight: 400;
	color: var(--scheme-fg, var(--color-dark));
	background: var(--scheme-bg, var(--color-light));
	word-wrap: break-word;
	scroll-behavior: smooth;
	min-height: 100vh;
	min-height: -webkit-fill-available;
	accent-color: var(--color-primary);
}

/* position sticky friendly way to cut off any horizontal scrolls but also allow y to still scroll. Apply only on html element or everything will jiggle for safari ios.
 + overflox fix for chrome's responsive inspector -_-
--------------------------------------------------------------- */
html {
	overflow-x: hidden;
	overflow-y: scroll;
}

body {
	overflow-x: clip;
}

/* Remove scrollbar ONLY on touch devices
--------------------------------------------------------------- */
@media (pointer: coarse) {
	html, body {
		scrollbar-width: none;
	}
	
	::-webkit-scrollbar {
		display: none;
	}
}

/* disable browser focus default styles: Note: customize focus styles as well for accessibility. recommended to set as the same styles as hovers on elements 
--------------------------------------------------------------- */
:focus {
	outline: none;
}

/* Critical sizing and fonts fixes
--------------------------------------------------------------- */
html {
	-webkit-text-size-adjust: 100%;
}

*, *::before, *::after {
	/* fix animation flickering issues for webkit browsers */
	-webkit-backspace-visibility: hidden;
	box-sizing: border-box;
}

/* Form control resets. Note: will not entirely prettify Gravity forms styles for the design... yet. To view the rest of the form control scaffoldings, including gravity forms' go to vendor/_gforms styles
--------------------------------------------------------------- */
input:not(:is([type=checkbox], [type=radio])), textarea, select, button {
	-webkit-appearance: none;
	border-radius: 0;
	border: none;
	resize: none;
	display: block;
	font: inherit;
	color: inherit;
	margin: 0;
}

input:is([type=checkbox], [type=radio]) {
	-webkit-appearance: auto;
	-moz-appearance: auto;
	appearance: auto;
}

input::-webkit-input-placeholder, select::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
	/* placeholder stuff. adjust as needed */
	color: inherit;
	opacity: .5;
	-webkit-transition: all .25s ease-in-out;
	transition: all .25s ease-in-out;
}

input::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
	/* placeholder stuff. adjust as needed */
	color: inherit;
	opacity: .5;
	-moz-transition: all .25s ease-in-out;
	transition: all .25s ease-in-out;
}

input::-ms-input-placeholder, select::-ms-input-placeholder, textarea::-ms-input-placeholder {
	/* placeholder stuff. adjust as needed */
	color: inherit;
	opacity: .5;
	-ms-transition: all .25s ease-in-out;
	transition: all .25s ease-in-out;
}

input:focus::-webkit-input-placeholder, select:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder {
	/* placeholder stuff. adjust as needed */
	opacity: .2;
}

input:focus::-moz-placeholder, select:focus::-moz-placeholder, textarea:focus::-moz-placeholder {
	/* placeholder stuff. adjust as needed */
	opacity: .2;
}

input:focus::-ms-input-placeholder, select:focus::-ms-input-placeholder, textarea:focus::-ms-input-placeholder {
	/* placeholder stuff. adjust as needed */
	opacity: .2;
}

:is(a, button):hover {
	cursor: pointer;
}

button {
	border: none;
}

/* Remove default ugly blue links. NOTE: Make sure to style a tags appropiately for accessibility while maintianing styleguide
--------------------------------------------------------------- */
:where(a) {
	text-decoration: none;
	color: inherit;
}

/* Monospace elements
--------------------------------------------------------------- */
:where(pre, code, kbd, tt) {
	font-family: var(--font-monospace);
	background: rgba(0, 0, 0, .05);
}

:where(code, kbd, tt) {
	padding: .125em;
}

:where(pre) {
	padding: 1em;
	max-width: 100%;
	line-height: 1;
	overflow: auto;
}

:where(pre) * {
	border: 0;
	margin: 0;
	padding: 0;
}

/* Other critical element styles
--------------------------------------------------------------- */
:where(strong, b) {
	font-family: inherit;
	font-weight: bolder;
}

:where(em, cite, i, var) {
	font-family: inherit;
	font-style: italic;
}

:where(u) {
	text-decoration: underline;
}

:where(var) {
	font-family: var(--font-secondary);
}

:where(sup, sub, small) {
	font-size: .75em;
}

:where(sup) {
	vertical-align: top;
}

:where(sub) {
	vertical-align: bottom;
}

:where(hr) {
	outline: 0;
	border: 0;
	display: block;
}

/* Images
* Note: best practice to let images only expand within available space 
--------------------------------------------------------------- */
:where(img, svg) {
	max-width: 100%;
}

:where(img) {
	height: auto;
}

/* Embeds
* Note: best practice to let images only expand within available space 
--------------------------------------------------------------- */
:where(video, audio, iframe, object, embed) {
	max-width: 100%;
}

/* Other custom global scaffolding here....
--------------------------------------------------------------- */

/* Normalize template main and asides' vertical padding. adjust as needed then customize in certain template styles.
You can use classes for other elements that need to share the same padding as well
--------------------------------------------------------------- */
:is(main, .main, aside, .aside) {
	padding-block: 36px;
}

@media only screen and (min-width: 768px) {
	:is(main, .main, aside, .aside) {
		padding-block: 65px;
	}
}

@media only screen and (min-width: 1200px) {
	:is(main, .main, aside, .aside) {
		padding-block: 80px;
	}
}

@media only screen and (min-width: 1400px) {
	:is(main, .main, aside, .aside) {
		padding-block: 85px;
	}
}

@media only screen and (min-width: 1920px) {
	:is(main, .main, aside, .aside) {
		padding-block: 120px;
	}
}

.banner-no-background-image :is(main, .main, aside, .aside) {
	padding-top: 0rem;
}

/* ...Or separate normalize template main and asides' vertical padding.
--------------------------------------------------------------- */

/* Catch fancy/weird/whatever positioned elements into custom templates' content area only + prevent clipping issues
--------------------------------------------------------------- */
.template-wrapper {
	position: relative;
}

/* ================================================================================
* Vendor Overrides ( CSS Library/ Plugin related stuff. EG: animated,slick,gravity forms etc. )
================================================================================ */

/* Vendor - Gravity Forms
--------------------------------------------------------------- */

/* Reset, skeletons, and normalize for gravity forms and form control elements. No need to edit.
--------------------------------------------------------------- */
.gform_wrapper.gravity-theme {}

:is(input:not([type=radio]):not([type=checkbox]):not([type=button]):not([type=image]):not([type=file]), select, textarea, [aria-invalid=true]), :is(.gform_wrapper, .gfield_required) .gfield_required, .gform_wrapper.gravity-theme .gfield_required .gfield_required_custom, .gform_wrapper.gravity-theme .gfield_label, .gform_wrapper.gravity-theme :is(.gfield, .field_description_above) :is(.description, .gfield_description, .gsection_description, .instruction), .gform_wrapper.gravity-theme :is(.gfield_validation_message, .validation_message) {
	font: inherit;
	color: inherit;
	margin: 0;
	padding: 0;
}

.gfield:is(.gfield-custom-box-label-inset, .gfield-custom-box-label-adjacent) .gfield_label, :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea, [aria-invalid=true]) {
	line-height: var(--field-line-height, inherit);
	border-radius: var(--field-border-radius, 0);
	color: var(--color-dark);
	padding-inline: calc(var(--field-padding-x, 1em) - var(--field-border-width, 1px));
	padding-block: calc(( var(--field-height, 3em) - var(--field-border-width, 1px) * 2 - 1em * var(--field-line-height, 1.25) ) * var(--field-baseline-offset, .5)) calc(( var(--field-height, 3em) - var(--field-border-width, 1px) * 2 - 1em * var(--field-line-height, 1.25) ) * ( 1 - var(--field-baseline-offset, .5) ));
	background: none;
	background-size: calc(100% + var(--field-border-width, 1px) * 2) calc(100% + var(--field-border-width, 1px) * 2);
	background-position: calc(var(--field-border-width, 1px) * -1) calc(var(--field-border-width, 1px) * -1);
	max-width: 100%;
}

.gfield:is(.gfield-custom-box-label-adjacent) .gfield_label, :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea, [aria-invalid=true]) {
	border-width: var(--field-border-width, 1px);
	border-style: solid;
	min-height: 0;
}

.gfield:is(.gfield-custom-box-label-adjacent):is(.focus) .gfield_label, :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea, [aria-invalid=true]):focus {
	border-width: var(--field-border-width, 2px);
}

.gfield:is(.gfield-custom-box-label-inset) .gfield_label, :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea, [aria-invalid=true]) {
	background-color: var(--color-light);
	color: var(--color-dark);
}

.gform_wrapper.gravity-theme :is(.gfield_validation_message, .validation_message) {
	/* reset validation messages enough to make matching design more bearable */
	background: none;
	border: 0;
}

.gform_wrapper.gravity-theme .gfield :is(.description, .gfield_description, .gsection_description, .instruction) {
	margin-top: .5em;
}

.gform_wrapper.gravity-theme .field_description_above :is(.description, .gfield_description, .gsection_description, .instruction) {
	margin-top: 0;
	margin-bottom: .5em;
}

/*  .ginput_ scaffolding. No need to edit 
--------------------------------------------------------------- */
.gform_wrapper.gravity-theme .ginput {}

.gform_wrapper.gravity-theme .ginput_container_time {
	min-width: calc(var(--field-padding-x) * 2 + 5ch);
	max-width: calc(var(--field-padding-x) * 2 + 5ch);
}

:is(.field_sublabel_below) .gform_wrapper.gravity-theme .ginput_complex {
	align-items: center;
}

.gform_wrapper.gravity-theme .ginput_container_date input {
	width: 100%;
}

/*  .gfield_ scaffolding. No need to edit
--------------------------------------------------------------- */
.gfield.gfield_error :is(label, legend), .gfield_validation_message, .gfield .validation_message, .gfield [aria-invalid=true] + label, .gfield .gform_wrapper label + [aria-invalid=true] {
	color: var(--field-error-color) !important;
}

.gfield:is(.gfield-custom-box-label-adjacent):is(.gfield_error) .gfield_label, :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea):is([aria-invalid=true]) {
	border-color: var(--field-error-color) !important;
}

.gfield .gchoice {
	margin: 0 0 .5em;
}

.gform_wrapper.gravity-theme .gfield :is(.gfield_radio, .gfield_checkbox) label {
	font: unset;
	line-height: unset;
}

/* gfield customize colors
--------------------------------------------------------------- */

/* Form Customizations: Custom gravity forms and form control elements. Adjust as needed.
--------------------------------------------------------------- */

/* Variables. Will put in the form so non-gravity forms form control elements can utilize too */
:is(form, .gfield) {
	/* height of form field. designers will prefer to design form fields based on their height. this is to better support the wonders they create while being able to use padding to support multi-line/ edge case form fields */
	--field-height: 68px;
	--field-border-width: 1px;
	--field-border-radius: 3px;
	--field-padding-x: 1rem;
	--field-required-color: var(--color-accent);
	--field-error-color: var(--color-accent);
	--field-baseline-offset: .5;
	--field-line-height: 1.125;
	font-size: 1rem;
	line-height: var(--field-line-height, 1.125);
}

:is(form, .gfield) :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea) {
	box-shadow: 0 0 10px rgba(0, 0, 0, .2);
}

:is(form, .gfield) select:has(option.gf_placeholder:checked) {
	color: var(--color-neutral) !important;
}

:is(form, .gfield):is(.gfield-custom-box-label-adjacent) .gfield_label, :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea) {
	border-color: var(--color-neutral);
}

:is(form, .gfield):is(.focus, .gfield_error), :is(form, .gfield):is(.gfield-custom-box-label-adjacent):is(.gfield_error) .gfield_label, :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea):is([aria-invalid=true], :focus) {
	--field-border-width: 2px;
}

:is(form, .gfield):is(.focus):is(.gfield-custom-box-label-adjacent):is(.focus) .gfield_label, :is(form, .gfield):is(.focus) :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea, [aria-invalid=true]):is(:focus) {
	border-color: var(--color-accent);
}

/*  .gfield - multiline
--------------------------------------------------------------- */
.gform_wrapper.gravity-theme .gfield:is(.gfield--type-textarea, .gfield--type-multiselect) :is(textarea, select) {}

.gform_wrapper.gravity-theme .gfield:is(.gfield--type-textarea, .gfield--type-multiselect) :is(textarea, select).large {
	height: 260px;
}

.gform_wrapper.gravity-theme .gfield:is(.gfield--type-textarea, .gfield--type-multiselect) :is(textarea, select).medium {
	height: 7rem;
}

.gform_wrapper.gravity-theme .gfield:is(.gfield--type-textarea, .gfield--type-multiselect) :is(textarea, select).small {
	height: 210px;
}

/*  .gfield - label
--------------------------------------------------------------- */
.gform_wrapper.gravity-theme .gfield_label {
	/* If styles are getting overriden by default gforms styles, prepend `.gform_wrapper.gravity-theme` on field selectors -_- */
	
	/* customize type for .gfield and scaffolding for descending elements */
	
	/* custom font styles for gfield_label */
	line-height: var(--field-line-height, inherit);
	font-family: var(--font-secondary);
	font-weight: 700;
	margin-bottom: .625em;
}

/*  .gform_ overrides. Adjust as needed
--------------------------------------------------------------- */
.gform_wrapper.gravity-theme .gform {}

.gform_wrapper.gravity-theme .gform_fields {
	-moz-column-gap: 22px;
	column-gap: 22px;
	row-gap: 1.375rem;
}

/* .gfield_required / .required-glyph Required Indicator
--------------------------------------------------------------- */
.required-glyph, .gfield-custom-label-indicator.ginput_container::after, .gform_wrapper.gravity-theme .gfield_required {
	/* adjust required styles  */
	font-size: 1em;
	line-height: var(--field-line-height, inherit);
	color: var(--field-required-color);
	font-style: normal;
	font-weight: 700;
	align-self: center;
	padding: 0;
	margin: 0;
	order: 99;
}

/* custom helpers - Required Message
--------------------------------------------------------------- */
.required-message {
	font-size: 12px;
	color: var(--field-required-color);
	text-transform: uppercase;
	font-weight: 700;
}

/* custom helpers - Disclaimer Message
--------------------------------------------------------------- */
.disclaimer-message {
	font-size: 1rem;
}

/* Theme Options custom helpers - label required indicator
--------------------------------------------------------------- */

/* required and custom label indicator */
.gfield-custom-label-indicator:is(.ginput_container::before, .ginput_container::after, .gfield_label::after, .gfield_label > .gfield_required) {
	display: block;
	pointer-events: none;
}

.ginput_container {
	position: relative;
}

.ginput_container::before, .ginput_container::after {
	position: absolute;
	right: var(--field-padding-x);
	top: calc(( var(--field-height) - 1em * var(--field-line-height) ) * .5);
	z-index: 3;
	pointer-events: none;
}

.gfield_label > .gfield_required, .gfield_label::after {
	margin-left: .25em;
}

.gfield_contains_required .gfield-custom-label-indicator[data-required-glyph] {}

.gfield_contains_required .gfield-custom-label-indicator[data-required-glyph]::before {
	right: calc(var(--field-padding-x) + 3em);
}

.gfield_contains_required .gfield-custom-label-indicator[data-required-glyph]::after {
	content: attr(data-required-glyph);
}

.gfield-custom-label-indicator.ginput_container::before {
	color: var(--color-dark-alt);
}

.gfield-custom-label-indicator.ginput_container::after, .gfield-custom-label-indicator.gfield_label > .gfield_required {
	color: var(--field-required-color);
	margin-left: .25em;
}

.gfield-custom-no-label-indicator.gfield_label > .gfield_required {
	display: none;
}

/* related indicators. Make sure required indicator does not conflict
--------------------------------------------------------------- */
.gfield--type-select select {
	padding-right: calc(var(--field-padding-x) + 1em);
}

/* single line select indicator
--------------------------------------------------------------- */
.gfield--type-select .ginput_container::before {
	display: inline-block;
	order: 9;
	align-self: center;
	margin-left: .75em;
	margin-right: var(--field-padding-x);
	transform-origin: center center;
	transform-origin: 67% 67%;
	flex: 0 0 auto;
	content: "";
	font-size: .5rem;
	width: 1em;
	height: 1em;
	border: 2px solid var(--color-dark);
	border-top: 0;
	border-left: 0;
	transform: rotate(45deg);
}

/* phone indicator
--------------------------------------------------------------- */
.gfield--type-phone.gfield-custom-box-label-inset .gfield_label::after {
	content: "(___) ___-____";
	position: static;
}

/* Theme Options custom helpers - ilawyer custom styles
--------------------------------------------------------------- */

/* custom styles skeletons. No need to edit */
.gform_wrapper.gravity-theme .gfield.gfield-custom-box {
	/* If styles are getting overriden by default gforms styles, prepend `.gform_wrapper.gravity-theme` on field selectors -_- */
	position: relative;
}

.gform_wrapper.gravity-theme .gfield.gfield-custom-box .gfield_label {
	align-self: start;
}

.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-inset {}

.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-inset .gfield_label {
	position: absolute;
	top: var(--field-border-width);
	left: var(--field-border-width);
	right: var(--field-border-width);
	z-index: 1;
	margin-bottom: 0;
	pointer-events: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: calc(100% - var(--field-border-width) * 2);
	padding-right: calc(var(--field-padding-x) * 2 - var(--field-border-width));
}

.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-inset:is(.active, .focus, :focus-within) .gfield_label {
	opacity: 0;
}

.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-inset :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea, [aria-invalid=true]):not(:focus)::-webkit-input-placeholder {
	/* fix multiline placeholders from peeking behind the label */
	color: transparent;
}

.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-inset :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea, [aria-invalid=true]):not(:focus)::-moz-placeholder {
	/* fix multiline placeholders from peeking behind the label */
	color: transparent;
}

.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-inset :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea, [aria-invalid=true]):not(:focus)::-ms-input-placeholder {
	/* fix multiline placeholders from peeking behind the label */
	color: transparent;
}

.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent {
	/* set label beside input field. not to be confused with left align labels settingf for forms. this is our custom stuff and it's prettier than how gravity forms does it.  */
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: max-content;
}

.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent .gfield_label, .gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent .ginput_container {
	/* grid/flex fix */
	min-width: 0;
}

.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent .gfield_label {
	margin-bottom: 0;
	background-color: var(--color-light-alt);
}

.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent *:not(.gfield_label):not(.ginput_container) {
	grid-column: 1/-1;
}

@media only screen and (min-width: 768px) {
	.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent:is(.gfield--type-textarea, .gfield--type-multiselect, .gfield--type-post_title, .gfield--type-post_content, .gfield--type-post_excerpt) :is(.gfield_label, .ginput_container) {
		grid-column: 1/-1;
	}
	
	.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent:is(.gfield--type-textarea, .gfield--type-multiselect, .gfield--type-post_title, .gfield--type-post_content, .gfield--type-post_excerpt) .gfield_label {
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
	}
	
	.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent:is(.gfield--type-textarea, .gfield--type-multiselect, .gfield--type-post_title, .gfield--type-post_content, .gfield--type-post_excerpt) .ginput_container {
		grid-column: 2;
	}
	
	.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent:is(.gfield--type-textarea, .gfield--type-multiselect, .gfield--type-post_title, .gfield--type-post_content, .gfield--type-post_excerpt) :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea) {
		border-top-left-radius: 0;
		border-top-right-radius: 0;
		border-top: 0;
	}
	
	.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent:not(.gfield--type-textarea, .gfield--type-multiselect, .gfield--type-post_title, .gfield--type-post_content, .gfield--type-post_excerpt) :is(.gfield_label, .ginput_container) {
		grid-row: 1;
	}
	
	.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent:not(.gfield--type-textarea, .gfield--type-multiselect, .gfield--type-post_title, .gfield--type-post_content, .gfield--type-post_excerpt) .gfield_label {
		grid-column: 1;
		max-width: -moz-max-content;
		max-width: max-content;
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
	}
	
	.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent:not(.gfield--type-textarea, .gfield--type-multiselect, .gfield--type-post_title, .gfield--type-post_content, .gfield--type-post_excerpt) .ginput_container {
		grid-column: 2;
	}
	
	.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent:not(.gfield--type-textarea, .gfield--type-multiselect, .gfield--type-post_title, .gfield--type-post_content, .gfield--type-post_excerpt) :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea) {
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
		border-left: 0;
	}
}

@media only screen and (max-width: 767px) {
	.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent :is(.gfield_label, .ginput_container) {
		grid-column: 1/-1;
	}
	
	.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent .gfield_label {
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
	}
	
	.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent .ginput_container {
		grid-column: 2;
	}
	
	.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea, [aria-invalid=true]) {
		border-top-left-radius: 0;
		border-top-right-radius: 0;
		border-top: 0;
	}
}

/* Inline Choice Form controls
--------------------------------------------------------------- */
.gfield.gfield-custom-inline-choices :is(.gfield_radio) {
	display: flex;
	justify-content: space-evenly;
	flex-direction: row;
}

.gfield.gfield-custom-inline-choices :is(.gchoice) {
	display: inline-flex;
	gap: 1ch;
}

.gfield.gfield-custom-inline-choices :is(.gfield-choice-input + label) {
	flex: 0 0 auto;
	max-width: none;
}

/* Hidden Gravity Forms Stuff
--------------------------------------------------------------- */
.gform_hidden, .gform_validation_container, .gform_validation_errors, .gform_ajax_spinner, .gform_required_legend {
	/* must hide elements */
	display: none !important;
}

/* custom styles by type
--------------------------------------------------------------- */
.gfield--type-captcha {
	justify-self: center;
}

/* Vendor - Swiper
--------------------------------------------------------------- */

/* Swiper Customizations
Variable docs: https://oxygen4fun.supadezign.com/tips/swiperjs-tips-and-good-practice/#customcss
--------------------------------------------------------------- */
:root {
	--swiper-theme-color: var(--scheme-sp, var(--color-secondary));
	--swiper-navigation-sides-offset: 0px;
	--swiper-pagination-bottom: 1.5rem;
	--swiper-pagination-top: auto;
	--swiper-pagination-right: 1rem;
	--swiper-pagination-left: auto;
	--swiper-pagination-bullet-size: .425rem;
	--swiper-pagination-bullet-width: var(--swiper-pagination-bullet-size);
	--swiper-pagination-bullet-height: var(--swiper-pagination-bullet-size);
	--swiper-pagination-bullet-border-radius: 9999em;
	--swiper-pagination-bullet-horizontal-gap: calc(var(--swiper-pagination-bullet-size) * 1.75);
	--swiper-pagination-bullet-vertical-gap: var(--swiper-pagination-bullet-size);
	--swiper-pagination-bullet-opacity: 1;
	--swiper-pagination-bullet-inactive-opacity: .2;
	--swiper-pagination-bullet-inactive-color: var(--color-secondary);
	--swiper-pagination-progressbar-size: var(--swiper-pagination-bullet-size);
	--swiper-pagination-progressbar-bg-color: var(--color-neutral-lighter);
	--swiper-scrollbar-border-radius: calc(var(--swiper-pagination-bullet-size) * .5);
	--swiper-scrollbar-bg-color: var(--swiper-pagination-progressbar-bg-color);
	--swiper-scrollbar-drag-bg-color: var(--color-neutral);
	--swiper-scrollbar-size: 2px;
	--swiper-scrollbar-sides-offset: 1rem;
	--swiper-scrollbar-bottom: 1.5rem;
	--swiper-scrollbar-top: auto;
	--swiper-custom-arrow-offset-x: 64px;
}

:where(.content-palette-dark) :root {
	--swiper-theme-color: currentColor;
}

/* Swiper Enhancements
--------------------------------------------------------------- */
.swiper {
	transition: opacity .25s ease-in-out;
	opacity: 0;
	overflow-x: clip;
	padding-inline: var(--swiper-custom-arrow-offset-x, var(--container-fallback));
	margin-inline: calc(var(--swiper-custom-arrow-offset-x-negate, var(--swiper-custom-arrow-offset-x, var(--container-fallback))) * -1);
}

.swiper.swiper-initialized {
	opacity: 1;
}

:is(:where(.swiper-horizontal) > .swiper-pagination-bullets, .swiper-pagination-bullets:where(.swiper-pagination-horizontal), .swiper-pagination-custom, .swiper-pagination-fraction):not(.swiper-pagination-lock) {
	bottom: var(--swiper-pagination-bottom);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--swiper-pagination-bullet-horizontal-gap);
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0;
}

.swiper-button-next, .swiper-button-prev {
	/* customize swiper buttons to utilize theme's styles for the button */
	--button-baseline-offset: .5 !important;
	--swiper-navigation-size: var(--button-height);
	z-index: 1;
	width: auto;
}

.swiper-button-next::before, .swiper-button-next::after, .swiper-button-prev::before, .swiper-button-prev::after {
	content: none;
}

.swiper-scrollbar-drag {
	height: calc(var(--swiper-scrollbar-size) * 2);
	top: -50%;
	bottom: -50%;
	margin-block: auto;
}

/* Swiper Custom Helpers
--------------------------------------------------------------- */
.swiper-custom-scrollbar-static .swiper-scrollbar {
	position: static;
	margin-top: var(--swiper-scrollbar-bottom);
	margin-bottom: var(--swiper-scrollbar-size);
	margin-inline: auto;
	margin-left: var(--swiper-scrollbar-sides-offset, 1%);
}

.swiper-custom-pagination-static .swiper-pagination {
	position: static;
	margin-top: var(--swiper-pagination-bottom);
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.swiper-custom-pagination-static-sm .swiper-pagination {
		position: static;
		margin-top: var(--swiper-pagination-bottom);
	}
}

@media only screen and (max-width: 767px) {
	.swiper-custom-pagination-static-xs .swiper-pagination {
		position: static;
		margin-top: var(--swiper-pagination-bottom);
	}
}

.swiper-custom-buttons-static .swiper-wrapper {
	height: auto;
}

.swiper-custom-buttons-static .swiper-custom-buttons {
	display: flex;
	justify-content: center;
	gap: .75rem;
}

.swiper-custom-buttons-static .swiper-custom-buttons .swiper-button-prev, .swiper-custom-buttons-static .swiper-custom-buttons .swiper-button-next {
	margin-inline: 0;
}

.swiper-custom-buttons-static .swiper-button-next, .swiper-custom-buttons-static .swiper-button-prev {
	position: static;
	transform: none;
	margin: 0;
}

.swiper-custom-buttons-static .swiper-button-next ~ .swiper-pagination, .swiper-custom-buttons-static .swiper-button-prev ~ .swiper-pagination {
	display: inline-flex;
	width: auto;
}

.swiper-custom-buttons-static .swiper-button-prev {
	margin-right: .375rem;
}

.swiper-custom-buttons-static .swiper-button-next {
	margin-left: .375rem;
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.swiper-custom-buttons-static-sm .swiper-wrapper {
		height: auto;
	}
	
	.swiper-custom-buttons-static-sm .swiper-custom-buttons {
		display: flex;
		justify-content: center;
		gap: .75rem;
	}
	
	.swiper-custom-buttons-static-sm .swiper-custom-buttons .swiper-button-prev, .swiper-custom-buttons-static-sm .swiper-custom-buttons .swiper-button-next {
		margin-inline: 0;
	}
	
	.swiper-custom-buttons-static-sm .swiper-button-next, .swiper-custom-buttons-static-sm .swiper-button-prev {
		position: static;
		transform: none;
		margin: 0;
	}
	
	.swiper-custom-buttons-static-sm .swiper-button-next ~ .swiper-pagination, .swiper-custom-buttons-static-sm .swiper-button-prev ~ .swiper-pagination {
		display: inline-flex;
		width: auto;
	}
	
	.swiper-custom-buttons-static-sm .swiper-button-prev {
		margin-right: .375rem;
	}
	
	.swiper-custom-buttons-static-sm .swiper-button-next {
		margin-left: .375rem;
	}
}

@media only screen and (max-width: 767px) {
	.swiper-custom-buttons-static-xs .swiper-wrapper {
		height: auto;
	}
	
	.swiper-custom-buttons-static-xs .swiper-custom-buttons {
		display: flex;
		justify-content: center;
		gap: .75rem;
	}
	
	.swiper-custom-buttons-static-xs .swiper-custom-buttons .swiper-button-prev, .swiper-custom-buttons-static-xs .swiper-custom-buttons .swiper-button-next {
		margin-inline: 0;
	}
	
	.swiper-custom-buttons-static-xs .swiper-button-next, .swiper-custom-buttons-static-xs .swiper-button-prev {
		position: static;
		transform: none;
		margin: 0;
	}
	
	.swiper-custom-buttons-static-xs .swiper-button-next ~ .swiper-pagination, .swiper-custom-buttons-static-xs .swiper-button-prev ~ .swiper-pagination {
		display: inline-flex;
		width: auto;
	}
	
	.swiper-custom-buttons-static-xs .swiper-button-prev {
		margin-right: .375rem;
	}
	
	.swiper-custom-buttons-static-xs .swiper-button-next {
		margin-left: .375rem;
	}
}

.swiper-custom-hide-slides:is(.swiper-initialized, :has(.swiper-initialized)) .swiper-slide:not(.swiper-slide-duplicate-visible):not(.swiper-slide-visible):not(.swiper-slide-active) {
	opacity: 0 !important;
	pointer-events: none !important;
	transition: opacity .25s ease-in-out;
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.swiper-custom-hide-slides-sm:is(.swiper-initialized, :has(.swiper-initialized)) .swiper-slide:not(.swiper-slide-duplicate-visible):not(.swiper-slide-visible):not(.swiper-slide-active) {
		opacity: 0 !important;
		pointer-events: none !important;
		transition: opacity .25s ease-in-out;
	}
}

@media only screen and (max-width: 767px) {
	.swiper-custom-hide-slides-xs:is(.swiper-initialized, :has(.swiper-initialized)) .swiper-slide:not(.swiper-slide-duplicate-visible):not(.swiper-slide-visible):not(.swiper-slide-active) {
		opacity: 0 !important;
		pointer-events: none !important;
		transition: opacity .25s ease-in-out;
	}
}

.swiper-custom-ticker {
	--swiper-wrapper-transition-timing-function: linear;
}

@media only screen and (min-width: 1200px) {
	.swiper-custom-stagger :where(.swiper-slide > :only-child) {
		transition-duration: .1s;
		transition-property: transform, opacity;
		opacity: 0;
		transform: translateX(50px);
	}
	
	.swiper-custom-stagger.visible :where(.swiper-slide > :only-child) {
		transition-duration: 1s;
		transition-delay: calc(1s + .25s * var(--swiper-custom-slide-i, 0));
		opacity: 1;
		transform: translateX(0px);
	}
}

.swiper-custom-remove-background .swiper-slide {
	mix-blend-mode: multiply;
}

.swiper-custom-equal-heights .swiper-slide {
	height: auto;
	align-self: stretch;
	display: flex;
	flex-direction: column;
}

.swiper-custom-equal-heights .swiper-slide > :where(:only-child) {
	flex: 1 1;
}

@media only screen and (min-width: 1200px) {
	.swiper-custom-equal-heights-nontouch .swiper-slide {
		height: auto;
		align-self: stretch;
		display: flex;
		flex-direction: column;
	}
	
	.swiper-custom-equal-heights-nontouch .swiper-slide > :where(:only-child) {
		flex: 1 1;
	}
}

@media only screen and (max-width: 1199px) {
	.swiper-custom-equal-heights-touch .swiper-slide {
		height: auto;
		align-self: stretch;
		display: flex;
		flex-direction: column;
	}
	
	.swiper-custom-equal-heights-touch .swiper-slide > :where(:only-child) {
		flex: 1 1;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.swiper-custom-equal-heights-sm .swiper-slide {
		height: auto;
		align-self: stretch;
		display: flex;
		flex-direction: column;
	}
	
	.swiper-custom-equal-heights-sm .swiper-slide > :where(:only-child) {
		flex: 1 1;
	}
}

@media only screen and (max-width: 767px) {
	.swiper-custom-equal-heights-xs .swiper-slide-slide {
		height: auto;
		align-self: stretch;
		display: flex;
		flex-direction: column;
	}
	
	.swiper-custom-equal-heights-xs .swiper-slide-slide > :where(:only-child) {
		flex: 1 1;
	}
}

/* ================================================================================
* Content Styles
================================================================================ */

/* Schemes https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/schemes.md
--------------------------------------------------------------- */

/* H tag scaffolding
--------------------------------------------------------------- */
:where(*.h1, *.h2, *.h3, *.h4, *.h5, *.h6) {
	margin-bottom: var(--fancy-border-margin-y, 0);
}

:is(:where(*.h1, *.h2, *.h3, *.h4, *.h5, *.h6), .content :where(h1, h2, h3, h4, h5, h6)) :where(a) {
	font: inherit !important;
}

:is(:where(*.h1, *.h2, *.h3, *.h4, *.h5, *.h6), .content :where(h1, h2, h3, h4, h5, h6)) :where(a):not(:hover, :focus) {
	color: inherit;
	text-decoration: none;
}

:where(.content-palette-dark) :is(:where(*.h1, *.h2, *.h3, *.h4, *.h5, *.h6), .content :where(h1, h2, h3, h4, h5, h6)) {}

/* H1 - can be reused by section titles, primary-heading etc.
--------------------------------------------------------------- */
:where(*.h1, :is(.content, .editor-styles-wrapper) :where(h1)) {
	font-size: 35px;
	line-height: 40px;
	font-family: var(--font-secondary);
	color: var(--scheme-fg-contrast, var(--color-primary));
	letter-spacing: 0em;
	text-transform: capitalize;
	font-style: normal;
	font-weight: 700;
}

:where(.content-palette-dark) :where(*.h1, :is(.content, .editor-styles-wrapper) :where(h1)) {
	/* modify colors on dark mode. will only apply if there are styles within the selector and a) content-palette-dark and or b) schemes component classes are enabled and dark helpers are applied */
	color: var(--scheme-fg, inherit);
}

@media only screen and (min-width: 768px) {
	:where(*.h1, :is(.content, .editor-styles-wrapper) :where(h1)) {
		font-size: 45px;
		line-height: 52px;
	}
}

@media only screen and (min-width: 1200px) {
	:where(*.h1, :is(.content, .editor-styles-wrapper) :where(h1)) {
		font-size: 50px;
		line-height: 60px;
	}
}

@media only screen and (min-width: 1920px) {
	:where(*.h1, :is(.content, .editor-styles-wrapper) :where(h1)) {
		font-size: 55px;
		line-height: 65px;
	}
}

/* H2 - can be reused by certain titles
--------------------------------------------------------------- */
:where(*.h2, :is(.content, .editor-styles-wrapper) :where(h2)) {
	font-size: 25px;
	line-height: 30px;
	font-family: var(--font-secondary);
	color: var(--scheme-sp, var(--color-secondary));
	letter-spacing: 0em;
	font-style: normal;
	font-weight: 700;
}

:where(.content-palette-dark) :where(*.h2, :is(.content, .editor-styles-wrapper) :where(h2)) {
	/* modify colors on dark mode. will only apply if there are styles within the selector and a) content-palette-dark and or b) schemes component classes are enabled and dark helpers are applied */
	color: var(--scheme-sp, var(--color-accent));
}

@media only screen and (min-width: 1400px) {
	:where(*.h2, :is(.content, .editor-styles-wrapper) :where(h2)) {
		font-size: 27px;
		line-height: 32px;
	}
}

/* H3 - can be reused by certain titles
--------------------------------------------------------------- */
:where(*.h3, :is(.content, .editor-styles-wrapper) :where(h3)) {
	font-size: 22px;
	line-height: 26px;
	font-family: var(--font-secondary);
	color: var(--scheme-sp, var(--color-accent-alt));
	letter-spacing: 0em;
	text-transform: capitalize;
	font-style: normal;
	font-weight: 700;
}

:where(.content-palette-dark) :where(*.h3, :is(.content, .editor-styles-wrapper) :where(h3)) {
	/* modify colors on dark mode. will only apply if there are styles within the selector and a) content-palette-dark and or b) schemes component classes are enabled and dark helpers are applied */
	color: var(--scheme-sp, var(--color-accent));
}

/* H4s - if not in the styleguide, can be repurposed for other smaller headings present in the design. commonly case result types/titles, blog post meta, etc
--------------------------------------------------------------- */
:where(*.h4, :is(.content, .editor-styles-wrapper) :where(h4)) {
	font-size: 18px;
	line-height: 25px;
	font-family: var(--font-accent);
	color: var(--scheme-fg, inherit);
	letter-spacing: 0em;
	text-transform: none;
	font-style: normal;
	font-weight: 700;
}

:where(.content-palette-dark) :where(*.h4, :is(.content, .editor-styles-wrapper) :where(h4)) {}

/* H5s - if not in the styleguide, can be repurposed for other smaller headings present in the design. commonly testimonial quote sources, contact info titles, etc
--------------------------------------------------------------- */
:where(*.h5, :is(.content, .editor-styles-wrapper) :where(h5)) {
	font-size: .875rem;
	line-height: calc(1em + 5px);
	font-family: var(--font-accent);
	color: var(--scheme-fg, inherit);
	letter-spacing: 0em;
	text-transform: uppercase;
	font-style: normal;
	font-weight: 700;
}

:where(.content-palette-dark) :where(*.h5, :is(.content, .editor-styles-wrapper) :where(h5)) {}

/* H6s - if not in the styleguide, can be repurposed for other smaller headings present in the design. commonly contact info titles, etc
--------------------------------------------------------------- */
:where(*.h6, :is(.content, .editor-styles-wrapper) :where(h6)) {
	font-size: .8125rem;
	line-height: calc(1em + 5px);
	font-family: var(--font-accent);
	color: var(--scheme-fg, inherit);
	letter-spacing: 0em;
	text-transform: uppercase;
	font-style: normal;
	font-weight: 700;
}

:where(.content-palette-dark) :where(*.h6, :is(.content, .editor-styles-wrapper) :where(h6)) {}

/* Blockquote -  can be reused in testimonial-highlights, long call to action sections, any general quote, etc.
--------------------------------------------------------------- */
:where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote)) {
	font-size: 25px;
	line-height: 35px;
	font-family: var(--font-secondary);
	color: var(--scheme-sb-contrast, var(--color-secondary));
	text-transform: uppercase;
	font-style: normal;
	font-weight: 700;
	text-align: center;
	margin-inline: auto;
	margin-block: var(--fancy-border-margin-y, 0);
}

:where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote))::before, :where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote))::after {
	display: block;
	content: "";
	width: 100%;
	height: 3px;
	background: var(--color-neutral-light);
}

:where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote))::before {
	margin-bottom: 30px;
}

:where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote))::after {
	margin-top: 30px;
}

:where(.content-palette-dark) :where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote)) {
	/* modify colors on dark mode. will only apply if there are styles within the selector and a) content-palette-dark and or b) schemes component classes are enabled and dark helpers are applied */
	color: var(--scheme-sb-contrast, inherit);
}

:where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote)):is(.has-text-align-center) {
	border-left: 0;
	padding-left: 0;
	text-align: center;
}

:where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote)):is(.has-text-align-left) {
	text-align: left;
}

:where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote)):is(.has-text-align-right) {
	border-left: 0;
	padding-left: 0;
	text-align: right;
}

:where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote)) > p {
	font: inherit;
	color: inherit;
	margin-block: 0 .5em;
	padding: 0;
}

:where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote)) > p:is(:last-child, :has(+ cite)) {
	margin-bottom: 0;
}

@media only screen and (min-width: 768px) {
	:where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote)) {
		font-size: 30px;
		line-height: 46px;
	}
	
	:where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote))::before, :where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote))::after {
		width: 380px;
		margin-inline: auto;
	}
}

@media only screen and (min-width: 1400px) {
	:where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote)) {
		font-size: 32px;
		line-height: 50px;
		max-width: 560px;
	}
	
	:where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote))::before, :where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote))::after {
		width: 300px;
	}
}

@media only screen and (min-width: 1920px) {
	:where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote)) {
		max-width: 785px;
	}
	
	:where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote))::before {
		margin-bottom: 45px;
	}
	
	:where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote))::after {
		margin-top: 45px;
	}
}

@media only screen and (max-width: 1199px) {
	:where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote)) {
		padding-inline: 1em;
	}
}

@media only screen and (max-width: 767px) {
	:where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote)) {
		padding-inline: 0;
	}
}

/* Cite /  Blockquote Source - Optional
Note: Some designs may include a blockquote quote source. suprise, there's an html tag for that (:
can be reused in testimonial-source, any general quote source, etc.
--------------------------------------------------------------- */
:where(*.cite, :is(.content, .editor-styles-wrapper) :where(cite)) {
	font-size: 1rem;
	line-height: calc(1em + 5px);
	font-family: var(--font-accent);
	color: var(--scheme-sp, var(--color-primary));
	text-transform: uppercase;
	font-style: normal;
	font-weight: 800;
	text-align: inherit;
	display: inline-block;
}

:where(.content-palette-dark) :where(*.cite, :is(.content, .editor-styles-wrapper) :where(cite)) {
	/* modify colors on dark mode. will only apply if there are styles within the selector and a) content-palette-dark and or b) schemes component classes are enabled and dark helpers are applied */
	color: var(--scheme-sp, var(--color-accent));
}

/* Lead - Optional
Note: Some designs may include another style for a little bit fancier body text that may not be tagged as a normal html element like blockquote or h tag
Use this if it helps
--------------------------------------------------------------- */
*.lead {
	color: var(--scheme-fg, inherit);
}

:where(.content-palette-dark) *.lead {
	/* modify colors on dark mode. will only apply if there are styles within the selector and a) content-palette-dark and or b) schemes component classes are enabled and dark helpers are applied */
	color: var(--scheme-sp-contrast, inherit);
}

/* Content - Anchor links
--------------------------------------------------------------- */
:where(:is(.content, .editor-styles-wrapper) :where(a)) {
	color: var(--scheme-sp, var(--color-accent-alt));
	text-decoration: underline;
	transition: color .25s ease-in-out;
}

:where(:is(.content, .editor-styles-wrapper) :where(a)):where(:hover, :focus) {
	color: var(--scheme-sp, var(--color-secondary));
}

:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(a)) {}

:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(a)):not(:where(:hover, :focus)) {
	color: var(--scheme-sp, var(--color-accent));
	text-decoration: none;
}

:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(a)):where(:hover, :focus) {
	color: var(--scheme-sp, inherit);
	text-decoration: underline;
}

/* The Content - Lists Scaffolding
--------------------------------------------------------------- */
:is(:is(.content, .editor-styles-wrapper) :where(ol, ul, dd)) :is(ol, ul, dd) {
	margin-bottom: 0;
}

:is(:is(.content, .editor-styles-wrapper) :where(ol, ul, dd)) {
	list-style-type: none;
	padding-left: 1.5rem;
}

:is(:is(.content, .editor-styles-wrapper) :where(ol, ul, dd)).list-inline {
	list-style: none;
	padding-left: 0;
}

:is(:is(.content, .editor-styles-wrapper) :where(ol, ul, dd)).list-inline li {
	display: inline;
}

/* The Content - List Items
--------------------------------------------------------------- */
:is(:is(.content, .editor-styles-wrapper) :where(li, dd, dt)) {
	list-style: inherit;
	position: relative;
}

:is(:is(.content, .editor-styles-wrapper) :where(li, dd, dt)) :where(ul, ol, dd), :is(:is(.content, .editor-styles-wrapper) :where(li, dd, dt)):nth-child(n+2) {
	/* space out each item. Note: some designs may or may not have this. comment out if not needed */
	margin-top: .75em;
}

:is(:is(.content, .editor-styles-wrapper) :where(li, dd, dt)):last-child > *:last-child {
	margin-bottom: 0;
}

/* The Content - List Items Bulleted
--------------------------------------------------------------- */
:is(:is(.content, .editor-styles-wrapper) :where(li))::marker, :is(:is(.content, .editor-styles-wrapper) :where(li))::before {
	color: var(--scheme-sp, var(--color-secondary));
	font-size: 1em;
	display: inline-block;
}

:where(.content-palette-dark) :is(:is(.content, .editor-styles-wrapper) :where(li))::marker, :where(.content-palette-dark) :is(:is(.content, .editor-styles-wrapper) :where(li))::before {
	/* modify colors on dark mode. will only apply if there are styles within the selector and a) content-palette-dark and or b) schemes component classes are enabled and dark helpers are applied */
	color: var(--scheme-sp, var(--color-accent));
}

:is(:is(.content, .editor-styles-wrapper) :where(li))::before {
	position: absolute;
	right: 100%;
	top: 0em;
	padding-right: 1ch;
}

/* The Content - Unordered List
--------------------------------------------------------------- */
:is(:is(.content, .editor-styles-wrapper) :where(ul)) > li::before {
	top: .625em;
	left: -1.45em;
	transform: rotate(-90deg);
	content: "";
	height: .35em;
	width: .55em;
	vertical-align: middle;
	background: currentColor;
	clip-path: polygon(0 0, 50% 100%, 100% 0);
}

:where(.content-palette-dark) :is(:is(.content, .editor-styles-wrapper) :where(ul)) > li::marker, :where(.content-palette-dark) :is(:is(.content, .editor-styles-wrapper) :where(ul)) > li::before {}

:is(:is(.content, .editor-styles-wrapper) :where(ul)) > li > ul {
	padding-left: 1.25rem;
}

:is(:is(.content, .editor-styles-wrapper) :where(ul)) > li > ul > li::before {
	content: "—";
	clip-path: none;
	background: none;
	height: initial;
	width: initial;
	transform: initial;
	color: var(--color-primary);
	font-size: .75em;
	font-weight: 900;
	margin-right: 0;
	top: -.125em;
}

:where(.content-palette-dark) :is(:is(.content, .editor-styles-wrapper) :where(ul)) > li > ul > li::before {
	color: var(--color-accent);
}

/* The Content - Ordered List
--------------------------------------------------------------- */
:is(:is(.content, .editor-styles-wrapper) :where(ol)) {
	counter-reset: listItem;
}

:is(:is(.content, .editor-styles-wrapper) :where(ol)) > li {
	counter-increment: listItem;
}

:is(:is(.content, .editor-styles-wrapper) :where(ol)) > li::before {
	content: counter(listItem) ". ";
	font-weight: 700;
}

:where(.content-palette-dark) :is(:is(.content, .editor-styles-wrapper) :where(ol)) > li::marker, :where(.content-palette-dark) :is(:is(.content, .editor-styles-wrapper) :where(ol)) > li::before {}

/* The Content - Tables Skeletons. Do not edit
--------------------------------------------------------------- */
:where(:is(.content, .editor-styles-wrapper) table) {
	border-collapse: collapse;
	table-layout: fixed;
	-webkit-hyphens: auto;
	hyphens: auto;
	font: inherit;
	border-color: var(--table-border-color);
	border-width: var(--table-border-width-y) var(--table-border-width-x);
}

:where(:is(.content, .editor-styles-wrapper) :where(table, th, td)) {
	border-style: solid;
}

:where(:is(.content, .editor-styles-wrapper) :where(tr):first-child > :where(th, td)) {
	border-top-color: var(--table-border-color);
}

:where(:is(.content, .editor-styles-wrapper) :where(th, td)) {
	border-width: var(--table-border-width-y) var(--table-border-width-x) 0;
	border-color: var(--table-cell-border-color-y) var(--table-border-color);
	background-color: var(--table-cell-background);
}

:where(:is(.content, .editor-styles-wrapper) :where(th, td)):nth-last-child(n+2) {
	border-right-color: var(--table-cell-border-color-x);
}

:where(:is(.content, .editor-styles-wrapper) :where(th, td)) > *:last-child {
	margin-bottom: 0;
}

.table-wrapper {
	overflow-x: auto;
	max-width: 100%;
}

.table-wrapper table {
	margin-bottom: 0;
}

/* The Content - Tables Customizations
--------------------------------------------------------------- */
:where(:is(.content, .editor-styles-wrapper) table) {
	/* left and right border width */
	--table-border-width-x: 1px;
	--table-border-width-y: 1px;
	--table-border-color: var(--scheme-md-bg, var(--color-neutral-lighter));
	--table-cell-background: var(--scheme-bg, var(--color-light));
	--table-cell-border-color-x: var(--scheme-bg-contrast, rgba(127, 127, 127, .3));
	--table-cell-border-color-y: transparent;
	font-size: .9em;
}

:where(:is(.content, .editor-styles-wrapper) table) :where(th, td) {
	padding-block: .5em;
	padding-inline: 1em;
}

:where(:is(.content, .editor-styles-wrapper) table) :where(th) {
	--table-cell-background: var(--table-border-color);
	--table-cell-border-color-y: var(--table-border-color);
	--table-cell-border-color-x: var(--table-border-color);
	font-size: .75em;
	font-family: var(--font-primary);
	color: var(--color-dark-alt);
	letter-spacing: .05em;
	text-transform: uppercase;
	font-style: normal;
	font-weight: 700;
	text-align: inherit;
}

:where(:is(.content, .editor-styles-wrapper) table) :where(tr:nth-child(odd) td) {
	--table-cell-background: var(--scheme-bg-contrast, rgba(127, 127, 127, .3));
	--table-cell-border-color-y: var(--scheme-bg-contrast, transparent);
	--table-cell-border-color-x: var(--scheme-bg-contrast, rgba(127, 127, 127, .3));
	color: var(--scheme-fg, inherit);
}

:where(:is(.content, .editor-styles-wrapper) table) :where(caption) {
	padding: .5em;
}

/* The Content - Other Obscure tags in case it can be utilized for design
--------------------------------------------------------------- */

/* images.
- NOTE: DO NOT MANIPULATE THE MARGIN, PADDING, DISPLAY PROPERTIES. THIS WILL BREAK THE CORE CLASSES AND ANY OTHER CONTENT RELATED STYLES 
- USE TO ONLY PIZZAZZ THE IMAGES ACCORDING TO DESIGN
*/
:where(:is(.content, .editor-styles-wrapper) :where(img)) {
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
}

/* bold, strong */
:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(strong, b)) {}

/* italic, em */
:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(em, i)) {}

/* address */
:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(address)) {}

/* abbreviations */
:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(abbr)) {}

/* acronym */
:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(acronym)) {}

/* big */
:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(big)) {}

/* code, kbd, pre */
:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(code, kbd, pre)) {}

:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(code)) {}

:where(:is(.content, .editor-styles-wrapper) :where(kbd)) {
	padding-inline: 1em;
	border-radius: .2em;
	box-shadow: 0 .2em 0 0 rgba(127, 127, 127, .4);
}

:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(kbd)) {}

/* strike, del */
:where(:is(.content, .editor-styles-wrapper) :where(del, s)) {
	text-decoration: line-through;
}

:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(del, s)) {}

/* ins */
:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(ins)) {}

/* ins */
:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(q)) {}

/* small */
:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(small)) {}

/* sub */
:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(sub)) {}

/* sup */
:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(sup)) {}

/* tt */
:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(tt)) {}

/* var */
:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(var)) {}

/* The Content - Scaffolding + Margin Top specificities
--------------------------------------------------------------- */
:where(.content, .editor-styles-wrapper) {
	font-size: 18px;
	line-height: 29px;
	font-family: var(--font-primary);
	color: inherit;
}

:where(.content, .editor-styles-wrapper) :where(p, ul, ol, dl, input:not([type=checkbox]):not([type=radio]):not([type=submit]), select, textarea, form, pre, .table-wrapper, table, .wistia_responsive_padding) {
	margin-bottom: 1.25em;
}

:where(.content, .editor-styles-wrapper) :where(hr:nth-last-child(n+2)) {
	margin-bottom: 2em;
}

:where(.content, .editor-styles-wrapper) :where(hr:nth-child(n+2)) {
	margin-top: 2em;
}

:where(.content, .editor-styles-wrapper) :where(:not(:where(*.h1, *.h2, *.h3, *.h4, *.h5, *.h6, h1, h2, h3, h4, h5, h6, hr, *.blockquote, blockquote, hr)) + *):where(*.h1, *.h2, *.h3, *.h4, *.h5, *.h6, h1, h2, h3, h4, h5, h6, hr), :where(.content, .editor-styles-wrapper).content-style-apply-h-first-margin > :where(:first-child):where(*.h1, *.h2, *.h3, *.h4, *.h5, *.h6, h1, h2, h3, h4, h5, h6, hr) {
	margin-top: 2rem;
}

:where(.content, .editor-styles-wrapper) :where(*.h1, *.h2, *.h3, *.h4, *.h5, *.h6, h1, h2, h3, h4, h5, h6) {
	margin-bottom: 1rem;
}

:where(.content, .editor-styles-wrapper) :where(*.blockquote, blockquote) {
	margin-block: 30px 35px;
}

:where(.content, .editor-styles-wrapper) :where(*.blockquote, blockquote) :where(cite, *.cite) {
	margin-top: 1.25em;
}

@media only screen and (min-width: 768px) {
	:where(.content, .editor-styles-wrapper) :where(*.blockquote, blockquote) {
		margin-block: 55px;
	}
}

@media only screen and (min-width: 1920px) {
	:where(.content, .editor-styles-wrapper) :where(*.blockquote, blockquote) {
		margin-block: 75px;
	}
}

/* Content Color Palette Helpers: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/global/content.md#content-palette-name
--------------------------------------------------------------- */

/* 
support content styles for dark schemes. 
Note: To aply dark mode styles, use @extends to select optional scheme component.
example of styles:

h2 {
	color: something;

	:is( %extend-scheme-dark ) & {
		color: somethingelse
	}
}

*/
:where(.content-palette-dark) {
	/* inherit white color: NOTE: for this to work, best practice is for a) text color to be modified alongside dark background styles of containing section for accessibility/ and or b) Use and enabling _schemes.scss */
	color: var(--scheme-fg, var(--color-light));
}

.content-palette-dark :where(ol, ul, table) {
	color: var(--scheme-fg, inherit);
}

.content-palette-dark table {
	--table-border-color: var(--color-neutral-darkest);
}

/* Other Content Variations: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/global/content.md#content-style-name
--------------------------------------------------------------- */

/* for content with thicker weight than usual */
.content.content-style-thick {
	font-weight: 800;
}

/* no list styles */
.content.content-style-no-list :is(.content :where(ol, ul, dd)) {
	padding-left: 0;
	list-style: none;
}

.content.content-style-no-list :is(.content :where(li, dd, dt))::before {
	content: none !important;
}

/* for instances of content with less line-height or vertical spacing. Usually lists */
.content.content-style-compact {
	line-height: 1.29;
}

.content.content-style-compact li, .content.content-style-compact li :where(ul, ol) {
	margin-block: 0;
}

/* Remove first child margin. Note: Do not apply first child margin 0 globally as this causes more unintended issues down the line (content import, post launch, etc.) */
.content.content-style-no-first-margin > :where(*:first-child) {
	margin-top: 0;
}

@media only screen and (max-width: 767px) {
	.content.content-style-no-first-margin-xs > :where(*:first-child) {
		margin-top: 0;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.content.content-style-no-first-margin-sm > :where(*:first-child) {
		margin-top: 0;
	}
}

@media only screen and (min-width: 1200px) and (max-width: 1399px) {
	.content.content-style-no-first-margin-md > :where(*:first-child) {
		margin-top: 0;
	}
}

@media only screen and (min-width: 1400px) and (max-width: 1919px) {
	.content.content-style-no-first-margin-lg > :where(*:first-child) {
		margin-top: 0;
	}
}

@media only screen and (min-width: 1920px) and (max-width: 2879px) {
	.content.content-style-no-first-margin-xl > :where(*:first-child) {
		margin-top: 0;
	}
}

/* Remove last child margin. Note: Do not apply last child margin 0 globally as this causes more unintended issues down the line (content import, post launch, etc.) */
.content.content-style-no-last-margin > :where(*:last-child) {
	margin-bottom: 0;
}

@media only screen and (max-width: 767px) {
	.content.content-style-no-last-margin-xs > :where(*:last-child) {
		margin-bottom: 0;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.content.content-style-no-last-margin-sm > :where(*:last-child) {
		margin-bottom: 0;
	}
}

@media only screen and (min-width: 1200px) and (max-width: 1399px) {
	.content.content-style-no-last-margin-md > :where(*:last-child) {
		margin-bottom: 0;
	}
}

@media only screen and (min-width: 1400px) and (max-width: 1919px) {
	.content.content-style-no-last-margin-lg > :where(*:last-child) {
		margin-bottom: 0;
	}
}

@media only screen and (min-width: 1920px) and (max-width: 2879px) {
	.content.content-style-no-last-margin-xl > :where(*:last-child) {
		margin-bottom: 0;
	}
}

/* Designs with fancy first letters. adjust styles as needed */
.content.content-style-drop-caps > p:first-of-type::first-letter {
	font-size: 2.75rem;
	font-family: var(--font-accent);
	color: var(--color-primary);
	float: left;
	margin: 0 .1em -.25em 0;
}

.content.content-style-drop-caps > p:first-of-type + * {
	clear: left;
}

/* ================================================================================
* Supported WP Core Classes/ Styles
================================================================================ */

/* Wordpress Core Classes.
--------------------------------------------------------------- */

/* Align Classes */
*.alignleft, *.align-left, *.alignright, *.align-right, *.aligncenter, *.align-center {
	margin-bottom: 1.25em;
	max-width: 100%;
	height: auto;
	width: auto;
}

@media only screen and (max-width: 1199px) {
	*.alignleft, *.align-left, *.alignright, *.align-right, *.aligncenter, *.align-center {
		display: block;
	}
}

@media only screen and (min-width: 1200px) {
	*.alignleft, *.align-left {
		display: inline;
		float: left;
		clear: right;
		margin-right: 1.25em;
		margin-top: 1.25em;
	}
	
	*.alignright, *.align-right {
		display: inline;
		float: right;
		clear: right;
		margin-left: 1.25em;
		margin-top: 1.25em;
	}
	
	*.aligncenter, *.align-center {
		clear: both;
		display: block;
		margin-left: auto;
		margin-right: auto;
		text-align: center;
	}
}

/* WP Captions */
.wp-caption {
	background: var(--color-light);
	border: 1px solid var(--color-light-alt);
	max-width: 100%;
	padding: .5em;
	text-align: center;
}

.wp-caption img {
	border: 0 none;
	height: auto;
	margin: 0;
	padding: 0;
	width: auto;
}

.wp-caption p.wp-caption-text {
	font-size: .75em;
	line-height: 1.25;
	margin: 0;
}

/* Screen reader */
.screen-reader-text:focus, *:focus-within > .screen-reader-text {
	background-color: var(--color-light-alt);
	clip: auto !important;
	clip-path: none;
	color: var(--color-dark);
	position: fixed;
	display: block;
	font-size: 1em;
	height: auto;
	left: .25rem;
	line-height: normal;
	padding-inline: .5rem;
	padding-block: .25rem;
	text-decoration: none;
	top: 4rem;
	width: auto;
	z-index: 9999999;
	pointer-events: none;
}

/* Gutenberg classes */
.has-text-align-center {
	text-align: center;
}

.has-text-align-right {
	text-align: right;
}

.wp-block-cover, .wp-block-cover-image {
	display: flex;
	align-items: center;
	justify-content: center;
	background-position: center center;
	min-height: 430px;
	overflow: clip;
	padding: 1em;
	position: relative;
}

/* ================================================================================
* Global Helpers CSS - These styles are critical to the build and its template parts. They don't usually need edits and will work as is
================================================================================ */

/* Helpers: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/helper.md

Note: Styles already prebuilt in this section must not be omitted
--------------------------------------------------------------- */

/* Clearfix stuff
--------------------------------------------------------------- */
.clearfix::after {
	content: "";
	font-size: 0;
	visibility: hidden;
	height: 0;
	clear: both;
	display: table;
	width: 100%;
	flex: 0 0 auto;
}

/* hide element while being ADA and SEO friendly
--------------------------------------------------------------- */
.sr-only {
	border: 0 !important;
	clip: rect(0, 0, 0, 0) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 1px !important;
	word-wrap: normal !important;
}

/* emulate background cover on image tags
--------------------------------------------------------------- */
.cover {}

.cover {
	position: relative;
	border-radius: inherit;
	overflow: hidden;
	overflow: clip;
	display: block;
	max-width: 100%;
	width: 100%;
	background-color: var(--color-light-alt);
}

.cover.cover-constricted {}

@supports not (aspect-ratio: var(--cover-aspect-w, 4)/var(--cover-aspect-l, 3)) {
	.cover.cover-constricted::before {
		content: "";
		display: block;
		padding-bottom: calc(100% * var(--cover-aspect-l, 3) / var(--cover-aspect-w, 4));
	}
}

@supports (aspect-ratio: var(--cover-aspect-w, 4)/var(--cover-aspect-l, 3)) {
	.cover.cover-constricted {
		aspect-ratio: var(--cover-aspect-w, 4)/var(--cover-aspect-l, 3);
	}
}

.cover > :where(*), .cover-child {
	/* element to emulate background-size cover. Add important in case wistia is somehow in this descendancy */
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100% !important;
	height: 100% !important;
	-o-object-fit: cover !important;
	object-fit: cover !important;
	display: block;
}

/* wrap svgs in this helper to control sizing like font glyphs. Sets an svg to align to the bottom left. Set a font size to it to align heights. ie Case Results Icon, Selling Points, Testimonial stars, Social Media, iLawyer Logo, etc.
--------------------------------------------------------------- */
.content-icon {
	height: 1em;
	display: inline-flex;
	flex-direction: column;
	justify-content: flex-end;
	flex: 0 0 auto;
	width: -moz-max-content;
	width: max-content;
	max-width: 100%;
	text-overflow: ellipsis;
}

.content-icon :where(img, picture, svg, object) {
	max-height: 100%;
	width: auto;
	height: 100%;
	flex: 1 1;
	-o-object-fit: contain;
	object-fit: contain;
}

/* clamp blocks of texts to up to a certain height only. NOTE: for this to work there should be no custom line height on the text or any of its bllock children. if any, they should be passed to --line-height
--------------------------------------------------------------- */
.clamp-text {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: clip;
	overflow: hidden;
	-webkit-line-clamp: var(--clamp-text-cap, 3);
}

/* like content-icon except friendlier styles for logos to support styleable svg logos while allowing for an img tag for SEO to exist in the same block
--------------------------------------------------------------- */
.logo {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	align-self: stretch;
	justify-content: center;
	max-width: -moz-max-content;
	max-width: max-content;
}

.logo-wrapper {
	position: relative;
	overflow: hidden;
	height: 100%;
	width: auto;
}

.logo-wrapper :where(img, picture, svg, object) {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: 100%;
}

.logo-wrapper :where(svg, object):not(:only-child) {
	pointer-events: none;
	position: absolute;
	margin: auto;
	margin: auto;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
}

.logo-wrapper :is(svg, object) ~ :where(img, picture:not(.inline-svg)) {
	opacity: 0;
}

/* Responsive Global Helpers. Integrated to PHP template parts. Proceed with caution when modifying.
* Note: if the element relies on being set as another display type that's not block (flex, inline-block, inline-flex, etc. ) on  breakpoint/s it is suppose to show, using the *-hide helpers is recommended (eg: instead of xs-only, use sm-hide md-hide lg-hide xl-hide)

* Info to what everything means:
-----------------------------------------------
Tag 	Device		min				max	  
-----------------------------------------------
xs: 	mobile		0				767px
sm: 	tablet		768px	1199px
md: 	laptop		1200px	1399px
lg: 	desktop		1400px	1919px
xl: 	hd			1920px	999999999999+
--------------------------------------------------------------- */
.xl-only, .lg-only, .md-only, .sm-only, .xs-only, .home-only, .internal-only, .print-only {
	display: none !important;
}

.onep21-template-home .home-only {
	display: block !important;
}

.onep21-template-home .home-hide {
	display: none !important;
}

body:not(.onep21-template-home) .internal-only {
	display: block !important;
}

body:not(.onep21-template-home) .internal-hide {
	display: none !important;
}

@media only print {
	.print-only {
		display: block !important;
	}
	
	.print-hide {
		display: none !important;
	}
}

@media only screen and (min-width: 1920px) {
	.xl-only {
		display: block !important;
	}
	
	.xl-hide {
		display: none !important;
	}
}

@media only screen and (min-width: 1400px) and (max-width: 1919px) {
	.lg-only {
		display: block !important;
	}
	
	.lg-hide {
		display: none !important;
	}
}

@media only screen and (min-width: 1200px) and (max-width: 1399px) {
	.md-only {
		display: block !important;
	}
	
	.md-hide {
		display: none !important;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.sm-only {
		display: block !important;
	}
	
	.sm-hide {
		display: none !important;
	}
}

@media only screen and (max-width: 767px) {
	.xs-only {
		display: block !important;
	}
	
	.xs-hide {
		display: none !important;
	}
}

/* Add more helpers as needed */

/* ================================================================================
* Global Critical Components - UI/ Build Elements These need edits based on the design
================================================================================ */

/* Buttons: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/buttons.md
--------------------------------------------------------------- */

/* Button Skeletons. do not edit 
--------------------------------------------------------------- */
.button {
	border: var(--button-border-width) solid;
	padding-inline: calc(var(--button-padding-x) - var(--button-border-width));
	padding-block: calc(( var(--button-height) - var(--button-border-width) * 2 - 1em * var(--button-lines) * var(--button-line-height) ) * var(--button-baseline-offset)) calc(( var(--button-height) - var(--button-border-width) * 2 - 1em * var(--button-lines) * var(--button-line-height) ) * ( 1 - var(--button-baseline-offset) ));
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	max-width: 100%;
	background: none;
	text-align: center;
	transition: all .125s ease-in-out;
	min-height: var(--button-height);
	border-radius: var(--button-border-radius);
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	vertical-align: middle;
	gap: .25em;
	background-clip: border-box;
	background-origin: border-box;
}

.button, .button:is(:hover, :focus) {
	text-decoration: none;
}

/* Button Customizations: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/buttons.md#css-vars 
--------------------------------------------------------------- */
.button {
	--button-height: 4rem;
	--button-border-width: 2px;
	--button-border-radius: 5px;
	--button-padding-x: 1.25em;
	--button-lines: 1;
	--button-baseline-offset: .5;
	--button-line-height: 1.125;
	font-size: 1rem;
	line-height: var(--button-line-height);
	font-family: var(--font-secondary);
	color: var(--color-primary);
	letter-spacing: .1em;
	text-transform: uppercase;
	font-style: normal;
	font-weight: 700;
	text-decoration: none;
	min-width: 12ch;
}

/* Buttons Sizing Helpers: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/button.md#button-size-name
--------------------------------------------------------------- */

/* button w/ a height even more smaller than the default height */
.button.button-size-micro {
	font-size: .75rem;
	--button-height: 2em;
}

/* button w/ a height smaller than the default height */
.button.button-size-small {
	font-size: 16px;
	--button-height: 55px;
	--button-padding-x: 21px;
}

@media only screen and (min-width: 1400px) {
	.button.button-size-small {
		font-size: 17px;
		--button-height: 61px;
		--button-padding-x: 22px;
	}
}

/* button w/ a height slightly larger than the default height but it's not that big */
.button.button-size-medium {
	--button-height: 59px;
	--button-padding-x: 32px;
}

@media only screen and (min-width: 1400px) {
	.button.button-size-medium {
		font-size: 20px;
		--button-height: 73px;
		--button-padding-x: 38px;
		min-width: 10ch;
	}
}

/* button w/ a height larger than the default height */
.button.button-size-large {
	font-size: 20px;
	font-family: var(--font-secondary);
	font-weight: 700;
	--button-height: 72px;
	--button-padding-x: 38px;
}

@media only screen and (min-width: 768px) {
	.button.button-size-large {
		--button-height: 80px;
		--button-padding-x: 46px;
	}
}

/* button w/ a height that's even larger for no reason than the larger height */
.button.button-size-larger {
	font-size: 14px;
	--button-height: 57px;
}

@media only screen and (min-width: 768px) {
	.button.button-size-larger {
		font-size: 16px;
		--button-height: 64px;
	}
}

@media only screen and (min-width: 1200px) {
	.button.button-size-larger {
		--button-height: 68px;
		--button-padding-x: 26px;
	}
}

@media only screen and (min-width: 1400px) {
	.button.button-size-larger {
		font-size: 20px;
		--button-height: 84px;
		--button-padding-x: 42px;
	}
}

/* constricts the width equal to whatever size height is set*/
.button.button-size-equal {
	--button-padding-x: 0;
	min-width: 0;
	width: var(--button-height);
	text-overflow: ellipsis;
	overflow: hidden;
}

/* Buttons Color Palette Helpers: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/button.md#button-palette-name
--------------------------------------------------------------- */

/* 
* Default - most frequent button palette in the comps
* Invert - reuses default's colors but palettes for hover vs not hover are reversed
* Outline - text w/ border influencing text color
* Minimal - no colors except for the text
Adjust as needed.
*/
.button.button-palette-default, .button.button-palette-reverse:is(:hover, :focus) {
	background-image: linear-gradient(to top, var(--color-primary-gradient-start) 0%, var(--color-primary-gradient-end) 100%);
	background-color: var(--color-primary);
	color: var(--color-light);
	border-color: transparent;
}

.button.button-palette-default:is(:hover, :focus), .button.button-palette-outline:is(:hover, :focus), .button.button-palette-reverse {
	background-image: linear-gradient(to top, var(--color-secondary-gradient-start) 0%, var(--color-secondary-gradient-end) 100%);
	background-color: var(--color-secondary);
	color: var(--color-light);
	border-color: transparent;
}

.button.button-palette-minimal {
	background-color: transparent;
	background-image: none;
	color: inherit;
	border-color: transparent;
}

.button.button-palette-minimal.nitro-lazy {
	background-image: none !important;
}

.button.button-palette-minimal:is(:hover, :focus) {
	background-color: transparent;
	background-image: none;
	color: var(--scheme-sp, var(--color-primary));
	border-color: transparent;
}

.button.button-palette-minimal:is(:hover.nitro-lazy, :focus).nitro-lazy {
	background-image: none !important;
}

.button.button-palette-outline {
	background-color: transparent;
	background-image: none;
	color: inherit;
	border-color: var(--color-accent);
	border-width: 1px;
}

.button.button-palette-outline.nitro-lazy {
	background-image: none !important;
}

.button.button-palette-outline:is(:hover, :focus) {
	background-image: linear-gradient(to left, var(--color-accent-gradient-start) 0%, var(--color-accent-gradient-end) 100%);
	background-color: var(--color-accent);
}

/*
primary palette. adjust or omit as needed
* Tip: if both a flat and gradient version of the palette exists in the design, adding the class .button-style-flat to this .button-palette-* class will disable the gradient
*/

/*
secondary palette. adjust or omit as needed
* Tip: if both a flat and gradient version of the palette exists in the design, adding the class .button-style-flat to this .button-palette-* class will disable the gradient
*/

/*
accent palette. adjust or omit as needed
* Tip: if both a flat and gradient version of the palette exists in the design, adding the class .button-style-flat to this .button-palette-* class will disable the gradient
*/
.button.button-palette-accent {
	position: relative;
	background-image: linear-gradient(to left, var(--color-accent-gradient-start) 0%, var(--color-accent-gradient-end) 100%);
	background-color: var(--color-accent);
	color: var(--color-light);
	border-color: transparent;
	z-index: 0;
	transition: color .2s ease;
	overflow: hidden;
	border-width: 0;
}

.button.button-palette-accent::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: var(--color-secondary);
	opacity: 0;
	transition: opacity .4s ease;
	z-index: -1;
}

.button.button-palette-accent:is(:hover, :focus) {
	background-image: none;
}

.button.button-palette-accent:is(:hover.nitro-lazy, :focus).nitro-lazy {
	background-image: none !important;
}

.button.button-palette-accent:is(:hover, :focus)::before {
	opacity: 1;
}

/* Other Buttons Variations Helpers: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/button.md#button-style-name
--------------------------------------------------------------- */

/* buttons with extra decorations or whichever is the most specially styled. overhaul or add more button styles as needed */
.button.button-style-special {
	position: relative;
	z-index: 1;
	transform-style: preserve-3d;
	--button-border-offset: .5em;
	border-color: rgba(255, 255, 255, .2);
	box-shadow: 0 0 0 var(--button-border-width) var(--color-accent);
	border-width: var(--button-border-offset);
	background-clip: padding-box;
	padding-block: calc(( var(--button-height) - var(--button-border-offset) * 2 - var(--button-border-width) * 2 - 1em * var(--button-lines) * var(--button-line-height) ) * var(--button-baseline-offset)) calc(( var(--button-height) - var(--button-border-offset) * 2 - var(--button-border-width) * 2 - 1em * var(--button-lines) * var(--button-line-height) ) * ( 1 - var(--button-baseline-offset) ));
}

.button.button-style-special::before {
	content: "";
	transition: box-shadow .125s ease-in-out;
	display: inline-block;
	align-self: center;
	margin-right: 1.5em;
	margin-left: .375em;
	margin-bottom: .375em;
	width: 1.5rem;
	height: var(--button-border-width);
	background: currentColor;
	box-shadow: 0em -.375em 0 0, -.375em 0 0 0, .375em 0 0 0, 0em .375em 0 0;
}

.button.button-style-special:is(:hover, :focus) {
	box-shadow: 0 0 0 var(--button-border-width) var(--color-primary);
	border-color: rgba(255, 255, 255, .5);
}

.button.button-style-special:is(:hover, :focus)::before {
	box-shadow: .375em -.375em 0 0, -.75em 0 0 0, -.75em 0 0 0, .375em .375em 0 0;
}

/* link style button. Usually the maps link or read more text for blog posts */
.button.button-style-link {
	--button-border-width: 0;
	--button-height: 30px;
	font-size: 18px;
	font-family: var(--font-secondary);
	color: inherit;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.button.button-style-link::after {
	display: inline-block;
	align-self: center;
	flex: 0 0 auto;
	content: "";
	height: .425em;
	width: .725em;
	vertical-align: middle;
	background: var(--color-accent);
	clip-path: polygon(0 0, 50% 100%, 100% 0);
	transform: rotate(270deg);
}

.button.button-style-link:is(:hover, :focus) {
	background: none;
	color: var(--color-accent);
}

/* undo background gradients in favor for the flat background color for button-palette. will only work if backgrounds are setup with proper fallbacks (background-gradient with a background-color fallback) */
.button.button-style-flat, .button.button-style-flat:is(:hover, :focus) {
	background-image: none;
}

.button.button-style-flat.nitro-lazy, .button.button-style-flat:is(:hover.nitro-lazy, :focus).nitro-lazy {
	background-image: none !important;
}

/* remove radius */
.button.button-style-no-radius {
	--button-border-radius: 0;
}

/* no corners for the button. only soft bbies */
.button.button-style-round {
	--button-border-radius: calc(var(--button-height) * .5);
}

/* very corners for the button. only pointy bbies */
.button.button-style-sharp {
	--button-border-radius: 0em;
}

/* button styles that have thicker borders than usual */
.button.button-style-thick-border {
	--button-border-width: 4px;
}

/* button styles that have thicker borders than usual */
.button.button-style-thin-border {
	--button-border-width: 1px;
}

/* button styles that have thicker borders than usual */
.button.button-style-no-border {
	--button-border-width: 0px;
}

/* diamond buttons. best if paired with .button-size-equal */
@supports (clip-path: polygon(0 0, 0 0, 0 0, 0 0)) {
	.button.button-style-diamond {
		overflow: hidden;
		clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
	}
}

/* if the slider buttons have unique overrides */
.button.button-style-slider {
	color: var(--color-dark);
}

.button.button-style-slider.button-palette-minimal {
	--button-height: 2.5em;
	--button-padding-x: .4em;
	font-size: 1.25rem;
}

@media only screen and (min-width: 768px) {
	.button.button-style-slider.button-palette-minimal {
		font-size: 1.5rem;
	}
	
	.button.button-style-slider.button-palette-minimal.next {
		right: 2rem;
	}
	
	.button.button-style-slider.button-palette-minimal.prev {
		left: 2rem;
	}
}

@media only screen and (min-width: 1200px) {
	.button.button-style-slider.button-palette-minimal.next {
		right: 2.5rem;
	}
	
	.button.button-style-slider.button-palette-minimal.prev {
		left: 2.5rem;
	}
}

@media only screen and (min-width: 1400px) {
	.button.button-style-slider.button-palette-minimal {
		font-size: 1.75rem;
	}
	
	.button.button-style-slider.button-palette-minimal.next {
		right: 5rem;
	}
	
	.button.button-style-slider.button-palette-minimal.prev {
		left: 5rem;
	}
}

@media only screen and (min-width: 1920px) {
	.button.button-style-slider.button-palette-minimal.next {
		right: 11rem;
	}
	
	.button.button-style-slider.button-palette-minimal.prev {
		left: 11rem;
	}
}

/* Misc Button stuff. Add as needed
--------------------------------------------------------------- */

/* little arrow indicator for slider arrows: .button.button-size-equal.button-palette-default > i.button-slider-glyph */
.button-slider-glyph:empty::after {
	display: inline-block;
	order: 9;
	align-self: center;
	transform-origin: center center;
	content: "";
	width: 1em;
	height: 1em;
	border: 2px solid currentColor;
	border-left: 0;
	border-bottom: 0;
	transform: rotate(45deg);
	flex: 0 0 auto;
	margin-left: -.375em;
}

:is(.prev, [rel=prev], .slick-prev, .swpier-button-prev) .button-slider-glyph {
	transform: scaleX(-1);
}

/* Container: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/container.md
--------------------------------------------------------------- */

/* Container Skeletons. do not edit 
--------------------------------------------------------------- */
.container {
	/* do not attempt to override or your container may misalign. containers are meant to always be centered after all */
	
	/* Tip: if something in the design is off center, consult with designer or use additional padding or margin as needed for the contents instead */
	padding-inline: min(var(--container-fallback), var(--container-gutter)) !important;
	margin-inline: auto !important;
	max-width: 100%;
	width: calc(100% - max(var(--container-gutter) - min(var(--container-fallback), var(--container-gutter)), 0rem) * 2);
	min-width: 0;
	flex: 0 0 auto;
	grid-column: 1/-1;
	container: container/inline-size;
}

/* Fallback Scaffolding. Usually no need to edit: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/container.md#css-vars 
--------------------------------------------------------------- */
.container {
	--container-fallback: 25px;
	--container-size-reference: var(--comp);
	--container-gutter: var(--container-fallback);
}

@media only screen and (min-width: 768px) {
	.container {
		--container-fallback: 50px;
	}
}

@media only screen and (min-width: 1200px) {
	.container {
		--container-fallback: 80px;
	}
}

@media only screen and (min-width: 1400px) {
	.container {
		--container-fallback: 100px;
	}
}

@media only screen and (min-width: 1920px) {
	.container {
		--container-fallback: 200px;
	}
}

/* on some cases container query support is a conflict of interest and makes positioned/flex/grid children act weird. use this helper if you dont need container queries */
.container.container-style-normal {
	/* container query support */
	container-type: normal;
}

/* Custom Container Size Variations: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/container.md#container-size-name
--------------------------------------------------------------- */

/* repeating/ internal page container sizing. sometimes designers will use the same gutter width for internals and or gridded template. this can be used so you dont have to copy paste identical styles to different selectos like 10 times */
.container.container-size-default {
	--container-gutter: 25px;
}

@media only screen and (min-width: 768px) {
	.container.container-size-default {
		--container-gutter: 50px;
	}
}

@media only screen and (min-width: 1200px) {
	.container.container-size-default {
		--container-gutter: 80px;
	}
}

@media only screen and (min-width: 1400px) {
	.container.container-size-default {
		--container-gutter: 100px;
	}
}

@media only screen and (min-width: 1920px) {
	.container.container-size-default {
		--container-gutter: 200px;
	}
}

/* Reduces horizontal padding */
@media only screen and (min-width: 768px) {
	.container.container-size-wide {
		--container-gutter: 15px;
	}
}

@media only screen and (min-width: 1200px) {
	.container.container-size-wide {
		--container-gutter: 30px;
	}
}

/* Reduces horizontal padding for xs only */
@media only screen and (max-width: 767px) {
	.container.container-size-wide-xs {
		--container-fallback: 15px;
		--container-gutter: var(--container-fallback);
	}
}

/* Reduces horizontal padding for sm only */
@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.container.container-size-wide-sm {
		--container-fallback: 30px;
		--container-gutter: var(--container-fallback);
	}
}

/* Other Container Variations: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/container.md#container-style-name
--------------------------------------------------------------- */

/* sometimes when you dont need the fallback gutter for the container but also need to constrict the layout, here's ya boi. Note: Make sure you add appropriate padding for the innards of this container */
.container.container-style-no-padding {
	--container-fallback: 0px;
}

/* constrict container to how wide it is in the deisgn comps. makes sure it never goes beyond the comp or set gutter or fallback global padding + adding important disables third party scripts from overriding our styles */
@media only screen and (min-width: 768px) {
	.container.container-style-maxed {
		max-width: calc(var(--container-size-reference) - max(var(--container-gutter) - min(var(--container-fallback), var(--container-gutter)), 0rem) * 2) !important;
	}
}

/* constrict container to how wide it is in the deisgn comps for mobile/xs and smaller only */
@media only screen and (max-width: 767px) {
	.container.container-style-maxed-xs {
		max-width: calc(var(--container-size-reference) - max(var(--container-gutter) - min(var(--container-fallback), var(--container-gutter)), 0rem) * 2) !important;
	}
}

/* constrict container to how wide it is in the deisgn comps for hd/xl and beyond only */
@media only screen and (min-width: 1920px) {
	.container.container-style-maxed-xl {
		max-width: calc(var(--container-size-reference) - max(var(--container-gutter) - min(var(--container-fallback), var(--container-gutter)), 0rem) * 2) !important;
	}
}

/* constrict container to how wide it is in the deisgn comps for touch devices/xs to sm-max only */
@media only screen and (max-width: 1199px) {
	.container.container-style-maxed-touch {
		max-width: calc(var(--container-size-reference) - max(var(--container-gutter) - min(var(--container-fallback), var(--container-gutter)), 0rem) * 2) !important;
	}
}

/* constrict container to how wide it is in the deisgn comps for touch devices/xs to sm-max only */
@media only screen and (min-width: 1200px) {
	.container.container-style-maxed-nontouch {
		max-width: calc(var(--container-size-reference) - max(var(--container-gutter) - min(var(--container-fallback), var(--container-gutter)), 0rem) * 2) !important;
	}
}

/* Columns: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/columns.md
--------------------------------------------------------------- */

/* Column Skeletons. do not edit 
Vars: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/columns.md#css-vars
--------------------------------------------------------------- */
.columns {
	--columns-gap-x: 0px;
	--columns-gap-y: 0rem;
	--columns-number: 1;
	width: 100%;
}

.columns, .columns > :where(*) {
	min-width: 0;
	max-width: 100%;
	width: 100%;
}

.columns:where(.columns-flex) {
	display: flex;
	flex-wrap: wrap;
	row-gap: var(--columns-gap-y);
	-moz-column-gap: var(--columns-gap-x);
	column-gap: var(--columns-gap-x);
}

.columns:where(.columns-flex) > :where(*) {
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: calc(100% / var(--columns-number) - var(--columns-gap-x) * ( var(--columns-number) - 1 ) / var(--columns-number));
}

.columns:where(.columns-grid) {
	display: grid;
	row-gap: var(--columns-gap-y);
	-moz-column-gap: var(--columns-gap-x);
	column-gap: var(--columns-gap-x);
	grid-template-columns: repeat(var(--columns-number), calc(100% / var(--columns-number) - var(--columns-gap-x) * ( var(--columns-number) - 1 ) / var(--columns-number)));
}

.columns.columns-masonry {
	-moz-column-count: var(--columns-number);
	column-count: var(--columns-number);
	-webkit-column-count: var(--columns-number);
	-moz-column-gap: var(--columns-gap-x);
	column-gap: var(--columns-gap-x);
	-webkit-column-gap: var(--columns-gap-x);
}

.columns.columns-masonry > :where(*) {
	page-break-inside: avoid;
	-moz-column-break-inside: avoid;
	break-inside: avoid;
}

.columns.columns-masonry > :where(*):nth-child(n+2) {
	margin-top: var(--columns-gap-y);
}

/* Popup https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/popup.md
--------------------------------------------------------------- */

/* Popup Skeletons. do not edit 
--------------------------------------------------------------- */
.doc-popup-active {
	overflow-y: hidden;
}

.popup-content {
	display: none !important;
}

.popup {
	display: none;
	display: flex;
	overflow-y: auto;
	position: fixed;
	z-index: 9999;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	margin: 0;
	min-height: 100vh;
	width: 100%;
	min-width: 320px;
	flex-direction: column;
	background: none !important;
}

.popup.active {
	display: block;
}

.popup-overlay {
	min-height: 100vh;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0;
}

.popup-frame {
	position: relative;
}

.popup:has(.popup-constrict) .popup-frame {
	height: 80vh;
	width: 100%;
	max-width: -moz-max-content;
	max-width: max-content;
	max-height: -moz-max-content;
	max-height: max-content;
	align-self: center;
	margin-inline: auto;
}

.popup:has(.popup-constrict) .popup-frame > *:not(.popup-destroy) {
	flex: 1 1;
	max-height: -moz-max-content;
	max-height: max-content;
	max-width: -moz-max-content;
	max-width: max-content;
	width: 100%;
	height: 100%;
}

.popup:has(.popup-constrict) .popup-frame > *:not(.popup-destroy) :nth-child(n+2) {
	display: none;
}

.popup:has(.popup-constrict) .popup-body {
	padding-block: 1rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-content: center;
	align-items: center;
}

/* Popup Customizations
--------------------------------------------------------------- */
.popup {
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}

.popup-overlay {
	background: var(--color-dark);
	opacity: .8;
}

.popup-body {
	overflow-y: scroll;
	height: 100%;
	padding-block: 11vw;
	scrollbar-width: none;
}

.popup-body::-webkit-scrollbar {
	display: none;
}

.popup-frame {
	background: var(--color-light);
	padding-block: 4.875rem;
	padding-inline: 3.75rem;
}

.popup-close-button {
	position: absolute;
	top: 1em;
	right: 1em;
	background: none;
	border: 0;
	font-size: 2.5rem;
	display: block;
	width: 1em;
	height: 1em;
	line-height: 1;
	padding: 0;
	overflow-x: clip;
	color: var(--color-primary);
	padding-top: 1em;
}

.popup-close-button-text {
	font-size: .25em;
	text-transform: uppercase;
	text-wrap: pre-wrap;
	white-space: nowrap;
	margin-top: .5em;
	display: block;
	text-indent: -9999em;
}

.popup-close-button::before, .popup-close-button::after {
	content: "";
	display: block;
	height: 3px;
	width: 1em;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	background: currentColor;
}

.popup-close-button::before {
	transform: rotate(45deg);
}

.popup-close-button::after {
	transform: rotate(-45deg);
}

.popup:has(.popup-constricted) .popup-frame {
	padding: 0;
	background: none;
	box-shadow: none;
}

.popup:has(.popup-constricted) .popup-close-button {
	top: -.5em;
	right: -.5em;
	margin-top: 0;
	width: 1.5em;
	height: 1.5em;
	padding: .5em;
	background: var(--color-light);
	box-shadow: 0 5px 10px 0px rgba(0, 0, 0, .15);
}

@media only screen and (min-width: 1400px) {
	.popup-container {
		--container-gutter: 200px;
	}
}

@media only screen and (min-width: 1920px) {
	.popup-container {
		--container-gutter: 360px;
	}
}

@media only screen and (max-width: 767px) {
	.popup-frame {
		padding-block: 4rem 2rem;
		padding-inline: 30px;
	}
	
	.popup-close-button {
		font-size: 2rem;
		top: 1.25rem;
		right: 1.25rem;
	}
}

/* Widgets https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/widget.md
--------------------------------------------------------------- */

/* Widgets Skeleton. Do not Edit 
--------------------------------------------------------------- */
.widget {
	padding-block: var(--widget-padding-top) var(--widget-padding-bottom);
	padding-inline: var(--widget-padding-x);
	position: relative;
	max-width: none;
	width: auto;
	overflow: hidden;
}

.widget, .widget > :where(ul, .widget-content, .menu, div):not(.content), .widget > :where(ul, .widget-content, .menu, div):not(.content) li {
	padding-left: var(--widget-padding-x);
	padding-right: var(--widget-padding-x);
}

.widget > :where(ul, .widget-content, .menu, div) {
	padding-block: var(--widget-content-padding-top) var(--widget-content-padding-bottom);
	margin-block: var(--widget-content-margin-top) var(--widget-content-margin-bottom);
}

.widget > :where(ul, .widget-content, .menu, div):last-child, .widget > :where(ul, .widget-content, .menu, div):not(.content) > li, .widget > :where(ul, .widget-content, .menu, div):not(.content) :where(ul, .sub-menu) {
	max-width: none;
}

.widget > :where(ul, .widget-content, .menu, div):last-child, .widget > :where(ul, .widget-content, .menu, div):not(.content) > li {
	margin-inline: calc(var(--widget-padding-x) * -1);
}

.widget > :where(ul, .widget-content, .menu, div):not(.content) :where(ul, .sub-menu) {
	margin-inline: var(--widget-dropdown-margin-x);
}

:is(.widget_title, .widget-title, .widgettitle) {
	padding-inline: var(--widget-title-padding-x);
	margin-block: 0;
}

.widget > :where(ul, .widget-content, .menu, div):not(.content) li > :is(a, :only-child) {
	padding-inline: var(--widget-item-padding-x);
}

.widget > :where(ul, .widget-content, .menu, div).content {
	padding-inline: calc(var(--widget-padding-x) + var(--widget-item-padding-x));
}

.widget > :where(ul, .widget-content, .menu, div):not(.content) ul li {
	padding-inline: calc(var(--widget-dropdown-padding-x) + var(--widget-dropdown-offset)) var(--widget-dropdown-padding-x);
}

.widget > :where(ul, .widget-content, .menu, div):not(.content) ul li > :is(a, :only-child) {
	padding-left: calc(var(--widget-dropdown-item-offset) + var(--widget-item-padding-x));
}

.widget > :where(ul, .widget-content, .menu, div):not(.content) li {
	list-style: none;
	clear: both;
}

.widget > :where(ul, .widget-content, .menu, div):not(.content) li > :is(a, :only-child) {
	line-height: var(--widget-item-line-height) !important;
	padding-block: calc(( var(--widget-item-height) - var(--widget-item-border-width) - 1em * var(--widget-item-lines) * var(--widget-item-line-height) ) * var(--widget-item-baseline-offset)) calc(( var(--widget-item-height) - var(--widget-item-border-width) - 1em * var(--widget-item-lines) * var(--widget-item-line-height) ) * ( 1 - var(--widget-item-baseline-offset) ));
	color: inherit;
	text-decoration: none;
	display: flex;
}

.widget > :where(ul, .widget-content, .menu, div):not(.content) li ul {
	border-block: var(--widget-item-border-width) solid transparent;
	padding-block: var(--widget-dropdown-padding-top) var(--widget-dropdown-padding-bottom);
	margin-block: var(--widget-dropdown-margin-top) var(--widget-dropdown-margin-bottom);
	flex: 0 0 auto;
}

.widget > :where(ul, .widget-content, .menu, div):not(.content) li:last-child > ul {
	border-bottom: 0;
	margin-bottom: calc(var(--widget-dropdown-padding-bottom) * -1);
}

.widget > :where(ul, .widget-content, .menu, div):not(.content) > li:last-child > ul {
	/* fix top level item dropdown bottom gaps */
	margin-bottom: calc(( var(--widget-padding-bottom) + var(--widget-content-padding-bottom) ) * -1);
}

.widget:not(.widget-style-no-toggle):not(.open) > :is(.widget_title, .widget-title, .widgettitle) + *:where(ul, .widget-content, .menu, div), .widget:not(.widget-style-no-toggle) li:not(.open) > ul:not(:only-child) {
	/* close it all, javascript will take care of opening what needs to be opened */
	display: none;
}

:is(.widget_title, .widget-title, .widgettitle) + *:not(:where(ul, .widget-content, .menu, div)) {
	margin-top: var(--widget-content-margin-top);
}

.widget :where(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea, table) {
	width: 100%;
}

/* Widget Customizations https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/widget.md#css-vars
--------------------------------------------------------------- */
.widgets-wrapper {
	display: flex;
	flex-direction: column;
	gap: var(--default-gap-y);
}

.widget {
	--widget-padding-x: 0px;
	--widget-padding-top: 0;
	--widget-padding-bottom: var(--widget-padding-top);
	--widget-dropdown-padding-top: 0rem;
	--widget-dropdown-padding-bottom: var(--widget-dropdown-padding-top);
	--widget-dropdown-margin-top: 0rem;
	--widget-dropdown-margin-bottom: var(--widget-dropdown-margin-top);
	--widget-item-height: 62px;
	--widget-item-border-width: 2px;
	--widget-item-lines: 1;
	--widget-item-padding-x: 0px;
	--widget-dropdown-margin-x: calc(var(--widget-padding-x) * -1);
	--widget-dropdown-padding-x: 0;
	--widget-dropdown-offset: 2em;
	--widget-dropdown-item-offset: 0em;
	--widget-title-padding-x: 0;
	--widget-content-margin-top: 0rem;
	--widget-content-margin-bottom: 0rem;
	--widget-content-padding-top: 0rem;
	--widget-content-padding-bottom: var(--widget-content-padding-top);
	--widget-item-baseline-offset: .5;
	--widget-item-line-height: 1.5;
	width: 100%;
}

.widget > :where(ul, .widget-content):not(.content) {
	font-size: 19px;
	color: var(--scheme-fg, var(--color-dark));
	text-align: left;
	text-decoration: none;
}

.widget > :where(ul, .widget-content):not(.content) li:not(.open) + li > a {
	border-top: var(--widget-item-border-width) solid rgba(127, 127, 127, .3);
}

.widget > :where(ul, .widget-content):not(.content) li:is(.open, :hover, :focus-within) > a {
	color: var(--scheme-sp, var(--color-secondary));
}

.widget > :where(ul, .widget-content):not(.content) li ul {
	border-color: rgba(127, 127, 127, .3);
	text-align: left;
}

.widget > :where(ul, .widget-content):not(.content) li.open {
	border-bottom: 0;
}

.widget > :where(ul, .widget-content):not(.content) li.open > a {
	border-bottom: 0;
}

.widget > :where(ul, .widget-content):not(.content) > li:last-child > a {
	border-bottom: var(--widget-item-border-width) solid rgba(127, 127, 127, .3);
}

@media only screen and (min-width: 1400px) {
	.widget {
		--widget-item-height: 66px;
	}
	
	.widget > :where(ul, .widget-content):not(.content) {
		font-size: 20px;
		line-height: 33px;
	}
}

/* Widget Title
--------------------------------------------------------------- */
:is(.widget_title, .widget-title, .widgettitle) {
	font-size: 25px;
	color: var(--color-secondary);
	flex-wrap: wrap;
}

:is(.widget_title, .widget-title, .widgettitle):is(.fancy-border) {
	--fancy-border-margin-y: 1rem;
	--fancy-border-height: 4px;
	--fancy-border-margin-l: 0;
}

:is(.widget_title, .widget-title, .widgettitle):is(.fancy-border-before)::before, :is(.widget_title, .widget-title, .widgettitle):is(.fancy-border-after)::after {
	grid-column: 1/-1;
}

.widget:not(.widget-style-no-toggle):not(.open) > :is(.widget_title, .widget-title, .widgettitle) {
	padding-bottom: 0;
	border-bottom: 0;
	margin-bottom: 0;
}

.widget:not(.widget-style-no-toggle):not(.open) > :is(.widget_title, .widget-title, .widgettitle):is(.fancy-border) {
	--fancy-border-margin-y: 0rem;
	--fancy-border-height: 0rem;
}

@media only screen and (min-width: 1400px) {
	:is(.widget_title, .widget-title, .widgettitle) {
		font-size: 30px;
		line-height: 38px;
	}
}

/* Widget Toggle
--------------------------------------------------------------- */
.widget-toggle {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	-moz-column-gap: .5em;
	column-gap: .5em;
	cursor: pointer;
	justify-content: space-between;
}

.widget-toggle > * {
	min-width: 0;
}

.widget-toggle::before {
	display: inline-block;
	order: 9;
	align-self: center;
	flex: 0 0 auto;
	color: var(--color-neutral-darker);
	content: "";
	height: .3em;
	width: .55em;
	vertical-align: middle;
	background: currentColor;
	clip-path: polygon(0 0, 50% 100%, 100% 0);
	margin-right: 7px;
	font-size: 26px;
}

.open > .widget-toggle::before {
	transform: rotate(180deg);
}

/* Widget Customization by type. Unless an extra extra custom site, there should be rarely a need to apply overrides at this point
--------------------------------------------------------------- */

/* Graphic/ design related styles or decoration styles here. Essentially, the fancy stuff enhances the gucciness of the site
--------------------------------------------------------------- */

/* Fancy Borders + HR: /* https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/fancy.md#fancy-border-css-vars
--------------------------------------------------------------- */
:where(hr), .fancy-border {
	clear: both;
	outline: none;
	border: none;
	-moz-column-break-inside: avoid;
	break-inside: avoid;
}

.fancy-border {
	--fancy-border-margin-y: 1.5rem;
	--fancy-border-margin-r: auto;
	--fancy-border-margin-l: auto;
	--fancy-border-height: 3px;
	--fancy-border-background: currentColor;
}

:where(hr), .fancy-border.fancy-border-before::before, .fancy-border.fancy-border-after::after {
	height: var(--fancy-border-height, 1px);
	width: var(--fancy-border-width, 100%);
	background: var(--fancy-border-background, var(--color-neutral));
	margin-left: var(--fancy-border-margin-l, auto);
	margin-right: var(--fancy-border-margin-r, auto);
	max-width: 100%;
	grid-column: 1/-1;
	flex: 0 0 auto;
}

.fancy-border.fancy-border-before:not(hr)::before, .fancy-border.fancy-border-after:not(hr)::after {
	content: "";
}

:where(hr), .fancy-border-after::after, .fancy-border-before::before {
	display: block;
	transition: all .375s ease-in-out;
}

.fancy-border.fancy-border-after::after {
	order: 99;
}

.fancy-border.fancy-border-before::before {
	order: -99;
}

hr.fancy-border-after, .fancy-border.fancy-border-after::after {
	margin-top: var(--fancy-border-margin-y, 1.875rem);
}

hr.fancy-border-before, .fancy-border.fancy-border-before::before {
	margin-bottom: var(--fancy-border-margin-y, 1.875rem);
}

.fancy-border-palette-primary {
	--fancy-border-background: var(--color-primary) linear-gradient(90deg, var(--color-primary-gradient-start) 0%, var(--color-primary-gradient-end) 100%);
}

.fancy-border-palette-secondary {
	--fancy-border-background: var(--color-secondary) linear-gradient(90deg, var(--color-secondary-gradient-start) 0%, var(--color-secondary-gradient-end) 100%);
}

.fancy-border-palette-accent {
	--fancy-border-background: var(--color-accent) linear-gradient(90deg, var(--color-accent-gradient-start) 0%, var(--color-accent-gradient-end) 100%);
}

.fancy-border-palette-primary-alt {
	--fancy-border-background: var(--color-primary-alt) linear-gradient(90deg, var(--color-primary-gradient-start) 0%, var(--color-primary-gradient-end) 100%);
}

.fancy-border-palette-secondary-alt {
	--fancy-border-background: var(--color-secondary-alt) linear-gradient(90deg, var(--color-secondary-gradient-start) 0%, var(--color-secondary-gradient-end) 100%);
}

.fancy-border-palette-accent-alt {
	--fancy-border-background: var(--color-accent-alt) linear-gradient(90deg, var(--color-accent-gradient-start) 0%, var(--color-accent-gradient-end) 100%);
}

.fancy-border-palette-neutral {
	--fancy-border-background: var(--color-neutral);
}

.fancy-border-palette-neutral-light {
	--fancy-border-background: var(--color-neutral-light);
}

.fancy-border-style-grow {
	--fancy-border-margin-x: 1.25rem;
	--fancy-border-margin-y: .75rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	-moz-column-gap: var(--fancy-border-margin-x);
	column-gap: var(--fancy-border-margin-x);
	row-gap: var(--fancy-border-margin-y);
}

hr.fancy-border-style-grow, .fancy-border-style-grow.fancy-border-before::before, .fancy-border-style-grow.fancy-border-after::after {
	margin: 0;
	flex: 1 1;
}

.fancy-border-style-round {
	border-radius: 999em;
}

.fancy-border-style-thin {
	--fancy-border-height: 1px;
}

.fancy-border-style-alignleft {
	--fancy-border-margin-r: auto;
	--fancy-border-margin-l: 0;
}

.fancy-border-style-alignright {
	--fancy-border-margin-r: 0;
	--fancy-border-margin-l: auto;
}

hr.fancy-border-style-flat, .fancy-border-style-flat.fancy-border-before::before, .fancy-border-style-flat.fancy-border-after::after {
	background-image: none !important;
}

.fancy-border-style-inline {
	--fancy-border-margin-l: .5em;
	display: flex;
	flex-wrap: nowrap;
	row-gap: var(--fancy-border-margin-y);
	-moz-column-gap: var(--fancy-border-margin-l);
	column-gap: var(--fancy-border-margin-l);
}

.fancy-border-style-inline.fancy-border-before::before, .fancy-border-style-inline.fancy-border-after::after {
	flex: 1 1;
	margin-block: 0 !important;
	align-self: center;
}

/* Animated Fancy Border: /* https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/fancy.md#fancy-border-animated
--------------------------------------------------------------- */
@media only screen and (min-width: 1200px) {
	hr.fancy-border-animated, .fancy-border-animated.fancy-border-before::before, .fancy-border-animated.fancy-border-after::after {
		transition: width 1.5s ease-in-out;
	}
	
	.fancy-border-animated:not(.visible) {
		--fancy-border-width: 0% !important;
	}
}

/* Fancy Icons: /* https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/fancy.md#fancy-icon
--------------------------------------------------------------- */
.fancy-icon-menu {
	position: relative;
	--fancy-icon-menu-width: 2rem;
	--fancy-icon-menu-height: 1rem;
	--fancy-icon-menu-bar-height: 2px;
	--fancy-icon-menu-bar-top-width: 100%;
	--fancy-icon-menu-bar-top-margin-l: auto;
	--fancy-icon-menu-bar-top-margin-r: auto;
	--fancy-icon-menu-bar-center-width: 100%;
	--fancy-icon-menu-bar-center-margin-l: auto;
	--fancy-icon-menu-bar-center-margin-r: auto;
	--fancy-icon-menu-bar-bottom-width: 100%;
	--fancy-icon-menu-bar-bottom-margin-l: auto;
	--fancy-icon-menu-bar-bottom-margin-r: auto;
	width: var(--fancy-icon-menu-width);
	height: var(--fancy-icon-menu-height);
}

.fancy-icon-menu span {
	position: absolute;
	transform-origin: center center;
	background: currentColor;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	height: var(--fancy-icon-menu-bar-height);
	width: 100%;
	transition-duration: .375s;
	transition-timing-function: ease-in-out;
	transition-property: top, bottom, left, right, transform, width;
}

.fancy-icon-menu span:where(:first-child) {
	bottom: auto;
	width: var(--fancy-icon-menu-bar-top-width);
	margin: auto var(--fancy-icon-menu-bar-top-margin-r) auto var(--fancy-icon-menu-bar-top-margin-l);
}

.fancy-icon-menu span:where(:last-child) {
	top: auto;
	width: var(--fancy-icon-menu-bar-bottom-width);
	margin: auto var(--fancy-icon-menu-bar-bottom-margin-r) auto var(--fancy-icon-menu-bar-bottom-margin-l);
}

.fancy-icon-menu span:where(:nth-child(2), :nth-child(3)) {
	width: var(--fancy-icon-menu-bar-center-width);
	margin: auto var(--fancy-icon-menu-bar-center-margin-r) auto var(--fancy-icon-menu-bar-center-margin-l);
}

.open .fancy-icon-menu span {
	margin: auto;
}

.open .fancy-icon-menu span:nth-child(2) {
	transform: rotateZ(45deg);
}

.open .fancy-icon-menu span:nth-child(3) {
	transform: rotateZ(-45deg);
}

.open .fancy-icon-menu span:is(:nth-child(2), :nth-child(3)) {
	width: 100%;
}

.open .fancy-icon-menu span:is(:first-child, :last-child) {
	width: 0;
}

/* Fancy Vertical Angles
--------------------------------------------------------------- */
.fancy-angle-vert {
	/* Leave as is. DO NOT EDIT */
	--fancy-angle-top-left-x: 0%;
	--fancy-angle-top-left-y: 0%;
	--fancy-angle-top-right-x: 100%;
	--fancy-angle-top-right-y: 0%;
	--fancy-angle-bottom-right-x: 100%;
	--fancy-angle-bottom-right-y: 100%;
	--fancy-angle-bottom-left-x: 0%;
	--fancy-angle-bottom-left-y: 100%;
	position: absolute;
	inset: 0 !important;
	pointer-events: none;
	pointer-events: none;
	background-color: var(--fancy-angle-background-color, var(--scheme-bg, var(--color-dark)));
	background-image: var(--fancy-angle-background-image, none);
	background-position: center center;
	z-index: -1;
	overflow: clip;
	clip-path: polygon(var(--fancy-angle-top-left-x) var(--fancy-angle-top-left-y), var(--fancy-angle-top-right-x) var(--fancy-angle-top-right-y), var(--fancy-angle-bottom-right-x) var(--fancy-angle-bottom-right-y), var(--fancy-angle-bottom-left-x) var(--fancy-angle-bottom-left-y));
}

@media only screen and (min-width: 1200px) {
	.fancy-angle-vert {
		transition: clip-path var(--fancy-angle-transition-duration, 1.5s) ease-in-out, left var(--fancy-angle-transition-duration, 1.5s) ease-in-out, right var(--fancy-angle-transition-duration, 1.5s) ease-in-out;
	}
}

/* helper class to group .fancy-angle instances and make em share stuff */
.fancy-angle-vert-cluster {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: -9999;
}

/* class to add to your section that will contain the angles */
.fancy-angle-vert-wrapper {
	/* scaffolding. DO NOT EDIT */
	color: var(--fancy-angle-color, var(--scheme-fg, var(--color-light)));
	position: relative;
	z-index: 1;
	background-color: transparent;
}

/* The clipping helper classes . DO NOT EDIT */
.fancy-angle-vert-cut-top-left {
	--fancy-angle-top-left-x: calc(50vw + var(--fancy-angle-offset-x, 0px) + ( var(--fancy-angle-width, 10vw) * .5 ));
	--fancy-angle-bottom-left-x: calc(50vw + var(--fancy-angle-offset-x, 0px) - ( var(--fancy-angle-width, 10vw) * .5 ));
}

.fancy-angle-vert-cut-top-right {
	--fancy-angle-top-right-x: calc(50vw + var(--fancy-angle-offset-x, 0px) - ( var(--fancy-angle-width, 10vw) * .5 ));
	--fancy-angle-bottom-right-x: calc(50vw + var(--fancy-angle-offset-x, 0px) + ( var(--fancy-angle-width, 10vw) * .5 ));
}

.fancy-angle-vert-cut-bottom-left {
	--fancy-angle-top-left-x: calc(50vw + var(--fancy-angle-offset-x, 0px) - ( var(--fancy-angle-width, 10vw) * .5 ));
	--fancy-angle-bottom-left-x: calc(50vw + var(--fancy-angle-offset-x, 0px) + ( var(--fancy-angle-width, 10vw) * .5 ));
}

.fancy-angle-vert-cut-bottom-right {
	--fancy-angle-top-right-x: calc(50vw + var(--fancy-angle-offset-x, 0px) + ( var(--fancy-angle-width, 10vw) * .5 ));
	--fancy-angle-bottom-right-x: calc(50vw + var(--fancy-angle-offset-x, 0px) - ( var(--fancy-angle-width, 10vw) * .5 ));
}

.fancy-angle-vert-wrapper {
	/* Only Variables that need updates */
	--fancy-angle-background-image: none;
	--fancy-angle-width: max(6vw, 80px);
}

.fancy-angle-vert {}

.fancy-angle-vert-primary {}

.fancy-angle-vert-accent {
	/* Only Variables that need updates */
	--fancy-angle-background-image: linear-gradient(to bottom, var(--color-accent-gradient-start), var(--color-accent-gradient-end));
}

@media only screen and (min-width: 1200px) {
	.fancy-angle-vert-wrapper {
		--fancy-angle-width: 6.5vw;
	}
}

/******* COPY EVERYTHING BELOW ********/
:is(.fancy-angle-wrapper, .fancy-angle-cluster) {
	/* make sure there's enough height or content for the angles otherwise things will get ugly */
	min-height: var(--fancy-angle-height, 14vw) !important;
}

:is(.fancy-angle-wrapper, .fancy-angle-cluster):has([class*=fancy-angle-cut-top-][class*=fancy-angle-cut-bottom-]) {
	/* taller if both edges get cut */
	min-height: calc(var(--fancy-angle-height, 14vw) * 2) !important;
}

.fancy-angle {
	/* Leave as is. DO NOT EDIT */
	--fancy-angle-top-left-x: 0%;
	--fancy-angle-top-left-y: 0%;
	--fancy-angle-top-center-x: 50%;
	--fancy-angle-top-center-y: 0%;
	--fancy-angle-top-right-x: 100%;
	--fancy-angle-top-right-y: 0%;
	--fancy-angle-bottom-right-x: 100%;
	--fancy-angle-bottom-right-y: 100%;
	--fancy-angle-bottom-center-x: 50%;
	--fancy-angle-bottom-center-y: 100%;
	--fancy-angle-bottom-left-x: 0%;
	--fancy-angle-bottom-left-y: 100%;
	position: absolute;
	top: var(--fancy-angle-offset-top, 0px) !important;
	bottom: var(--fancy-angle-offset-bottom, 0px) !important;
	right: 0 !important;
	left: 0 !important;
	pointer-events: none;
	background-color: var(--fancy-angle-background-color, var(--scheme-bg-contrast, var(--color-dark-alt)));
	background-image: var(--fancy-angle-background-image, none);
	background-position: center center;
	z-index: -1;
	clip-path: polygon(var(--fancy-angle-top-left-x) var(--fancy-angle-top-left-y), var(--fancy-angle-top-center-x) var(--fancy-angle-top-center-y), var(--fancy-angle-top-right-x) var(--fancy-angle-top-right-y), var(--fancy-angle-bottom-right-x) var(--fancy-angle-bottom-right-y), var(--fancy-angle-bottom-center-x) var(--fancy-angle-bottom-center-y), var(--fancy-angle-bottom-left-x) var(--fancy-angle-bottom-left-y));
}

@media (min-width: 1200px) {
	.fancy-angle {
		transition: clip-path var(--fancy-angle-transition-duration, 1.5s) ease-in-out, top var(--fancy-angle-transition-duration, 1.5s) ease-in-out, bottom var(--fancy-angle-transition-duration, 1.5s) ease-in-out;
	}
}

/* helper class to group .fancy-angle instances and make em share stuff */
.fancy-angle-cluster {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

/* class to add to your section that will contain the angles */
.fancy-angle-wrapper {
	/* scaffolding. DO NOT EDIT */
	color: var(--fancy-angle-color, var(--scheme-fg, var(--color-light)));
	position: relative;
	z-index: 1;
	display: flex !important;
	flex-wrap: nowrap !important;
	flex-direction: column !important;
	justify-content: center !important;
	background-color: transparent;
}

/* class to add to animate to fancy-angle-wrapper / the section once it becomes visible */

/* default padding. DO NOT EDIT */
.fancy-angle-wrapper-adjust-top::before, .fancy-angle-wrapper-adjust-bottom::after {
	display: block;
	flex: 0 0 auto;
	width: 100%;
	content: "";
}

.fancy-angle-wrapper-adjust-top::before {
	height: calc(var(--fancy-angle-height, 14vw) * .5) !important;
}

.fancy-angle-wrapper-adjust-bottom::after {
	height: calc(var(--fancy-angle-height, 14vw) * .5) !important;
}

/* The clipping helper classes . DO NOT EDIT */
.fancy-angle-cut-top-left, .fancy-angle-cut-top-right {
	--fancy-angle-top-center-y: calc(var(--fancy-angle-height, 14vw) * .5);
}

.fancy-angle-cut-bottom-left, .fancy-angle-cut-bottom-right {
	--fancy-angle-bottom-center-y: calc(100% - ( var(--fancy-angle-height, 14vw) * .5 ));
}

.fancy-angle-cut-top-left {
	--fancy-angle-top-left-y: var(--fancy-angle-height, 14vw);
}

.fancy-angle-cut-top-right {
	--fancy-angle-top-right-y: var(--fancy-angle-height, 14vw);
}

.fancy-angle-cut-bottom-left {
	--fancy-angle-bottom-left-y: calc(100% - var(--fancy-angle-height, 14vw));
}

.fancy-angle-cut-bottom-right {
	--fancy-angle-bottom-right-y: calc(100% - var(--fancy-angle-height, 14vw));
}

.fancy-angle-wrapper {
	/* Only Variables that need updates */
	--fancy-angle-height: 10.27777778vw;
}

.fancy-angle {}

.fancy-angle.fancy-angle-accent {
	--fancy-angle-background-image: linear-gradient(to bottom, var(--color-accent-gradient-start), var(--color-accent-gradient-end));
}

@media (min-width: 768px) {
	.fancy-angle-wrapper {
		--fancy-angle-height: 10.02604167vw;
	}
}

@media (min-width: 1200px) {
	.fancy-angle-wrapper {
		--fancy-angle-height: 10.33333333vw;
	}
}

@media (min-width: 1400px) {
	.fancy-angle-wrapper {
		--fancy-angle-height: 10.14285714vw;
	}
}

@media (min-width: 1800px) {
	.fancy-angle-wrapper {
		--fancy-angle-height: 10.15625vw;
	}
}

@media only screen and (min-width: 1200px) {
	.fancy-letters {
		/* Insert Mr Garrett's code here */
		--fancy-letters-factor: 1;
		--fancy-letters-line: 0;
		--fancy-letters-factor-word: 0;
		--fancy-letters-factor-char: 0;
		--fancy-letters-delay: .1s;
		--fancy-letters-duration: 1s;
	}
	
	.fancy-letters:where(:not([style])) {
		--fancy-letters-delay: .5s;
		--fancy-letters-duration: 1s;
		transform: skewY(0deg) skewX(0deg) rotate(0deg) translateY(6rem);
	}
	
	.fancy-letters:where([style]), .fancy-letters-line, .fancy-letters-word, .fancy-letters-char {
		padding-bottom: .5em;
		margin-bottom: -.5em;
	}
	
	.fancy-letters-line, .fancy-letters-word, .fancy-letters-char, .fancy-letters {
		transition-timing-function: .5, 0, 0, 1;
		vertical-align: bottom;
		transition-property: opacity;
		transition-delay: 0s;
		transition-duration: .01s;
	}
	
	.fancy-letters-line, .fancy-letters-word, .fancy-letters-char, .fancy-letters:where(:not([style])) {
		opacity: 0;
	}
	
	.fancy-letters-line, .fancy-letters-word, .fancy-letters:where([style]) {
		overflow: hidden;
	}
	
	.fancy-letters-word, .fancy-letters-char {
		display: inline-block;
		vertical-align: bottom;
	}
	
	.fancy-letters-line {
		transform: skewY(0deg) skewX(-4deg) rotate(-2deg) translateY(100%);
	}
	
	.fancy-letters-line, .fancy-letters:where([style]) {
		display: block;
	}
	
	.fancy-letters-word {
		white-space: nowrap;
		transform: skewY(-10deg) skewX(0deg) rotate(0deg) translateY(100%);
		min-width: -moz-max-content;
		min-width: max-content;
	}
	
	.fancy-letters-char {
		transform: skewY(10deg) skewX(0deg) rotate(10deg) translateY(100%);
	}
	
	.fancy-letters.visible, .fancy-letters.visible .fancy-letters-line, .fancy-letters.visible .fancy-letters-word, .fancy-letters.visible .fancy-letters-char, .visible .fancy-letters, .visible .fancy-letters .fancy-letters-line, .visible .fancy-letters .fancy-letters-word, .visible .fancy-letters .fancy-letters-char {
		transition-property: transform, opacity;
		transition-duration: var(--fancy-letters-duration);
		transform: skewY(0deg) skewX(0deg) rotate(0deg) translateY(0%);
		opacity: 1;
	}
	
	.fancy-letters.visible:where(:not([style])), .fancy-letters.visible .fancy-letters-line, .visible .fancy-letters:where(:not([style])), .visible .fancy-letters .fancy-letters-line {
		transform-origin: top left;
	}
	
	.fancy-letters.visible:where(:not([style])), .visible .fancy-letters:where(:not([style])) {
		transition-delay: calc(( var(--fancy-letters-delay) ) * var(--fancy-letters-factor));
	}
	
	.fancy-letters.visible .fancy-letters-line, .visible .fancy-letters .fancy-letters-line {
		transition-delay: calc(var(--fancy-letters-delay) / max(1, var(--fancy-letters-factor) * .8) * ( var(--fancy-letters-factor-line) + var(--fancy-letters-factor) ));
	}
	
	.fancy-letters.visible .fancy-letters-word, .visible .fancy-letters .fancy-letters-word {
		transition-delay: calc(var(--fancy-letters-delay) / max(1, var(--fancy-letters-factor) * .5) * ( var(--fancy-letters-factor-line) * .75 + var(--fancy-letters-factor-word) ));
		transform-origin: bottom right;
	}
	
	.fancy-letters.visible .fancy-letters-char, .visible .fancy-letters .fancy-letters-char {
		transition-delay: calc(var(--fancy-letters-delay) / max(1, var(--fancy-letters-factor) * .2) * ( var(--fancy-letters-factor-line) * .5 + var(--fancy-letters-factor-word) * .75 + var(--fancy-letters-factor-char) ));
		transform-origin: center center;
	}
}

/* Fancy text gradient
--------------------------------------------------------------- */
@supports not (-webkit-background-clip: text) {
	.fancy-text-gradient {
		background: transparent;
		color: inherit;
	}
}

@supports (-webkit-background-clip: text) {
	.fancy-text-gradient {
		color: transparent;
		background-color: var(--gradient-start);
		background-image: linear-gradient(to bottom, var(--color-accent-gradient-start) 40%, var(--color-accent-gradient-end) 70%);
		background-clip: text;
		-webkit-text-fill-color: transparent;
		-webkit-background-clip: text;
	}
}

/* Fancy Circle - SKELETONS DO NOT EDIT
--------------------------------------------------------------- */
.fancy-circles {
	--fancy-circles-radius: calc(( ( var(--fancy-circles-size) - ( var(--fancy-circles-item-size) ) ) ) / 2);
	z-index: 1;
}

.fancy-circles, .fancy-circles:after {
	aspect-ratio: 2/1;
}

.fancy-circles::after {
	margin-inline: auto;
	pointer-events: none;
	z-index: -1;
	display: block;
	content: "";
	inline-size: var(--fancy-circles-pseudo-size);
	justify-self: center;
	align-self: flex-end;
	box-shadow: calc(var(--fancy-circles-pseudo-border-width) * 2) var(--fancy-circles-pseudo-border-width) 0 calc(var(--fancy-circles-pseudo-border-width) * -1), calc(var(--fancy-circles-pseudo-border-width) * -2) var(--fancy-circles-pseudo-border-width) 0 calc(var(--fancy-circles-pseudo-border-width) * -1), 0 calc(var(--fancy-circles-pseudo-border-width) * -2) 0 calc(var(--fancy-circles-pseudo-border-width) * -1), inset var(--fancy-circles-pseudo-border-width) 0 0 0, inset calc(var(--fancy-circles-pseudo-border-width) * -1) 0 0 0, inset 0 var(--fancy-circles-pseudo-border-width) 0 0;
	border-radius: calc(var(--fancy-circles-pseudo-size) * .5) calc(var(--fancy-circles-pseudo-size) * .5) 0 0;
	border: var(--fancy-circles-pseudo-border-gap) solid transparent;
	border-bottom: 0;
	overflow-y: clip;
}

@media only screen and (min-width: 768px) {
	.fancy-circles {
		list-style-type: none;
		inline-size: var(--fancy-circles-size);
		padding: unset;
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		justify-content: center;
		justify-self: center;
		align-self: flex-end;
	}
	
	.fancy-circles::after {
		position: absolute;
		inset: auto 0 0;
		margin: auto;
	}
}

.fancy-circle-item, .fancy-circle {
	display: grid;
	height: var(--fancy-circles-item-size);
	width: var(--fancy-circles-item-size);
	place-content: center;
	border-radius: calc(var(--fancy-circles-item-size) * .5);
}

.fancy-circles-item {
	--fancy-circles-item-deg: calc(( ( ( 180deg - var(--fancy-circles-item-deg-max, 0deg) ) / var(--fancy-circle-item-count, 4) ) * var(--fancy-circle-index) ) + var(--fancy-circles-deg-offset, 0deg));
	--fancy-circles-item-x: calc(var(--fancy-circles-radius) + ( ( var(--fancy-circles-radius) ) * cos(var(--fancy-circles-item-deg)) ));
	--fancy-circles-item-y: calc(var(--fancy-circles-radius) + ( ( var(--fancy-circles-radius) ) * sin(var(--fancy-circles-item-deg)) ) + ( var(--fancy-circles-radius) * .3 ));
	transition: transform .2s ease-in;
}

@media only screen and (min-width: 768px) {
	.fancy-circles-item {
		left: calc(var(--fancy-circles-radius) + var(--fancy-circles-radius) * cos(var(--fancy-circles-item-deg)));
		position: absolute;
		top: calc(var(--fancy-circles-radius) + var(--fancy-circles-radius) * sin(var(--fancy-circles-item-deg)));
	}
}

/* Fancy Circle
--------------------------------------------------------------- */
.fancy-circles {
	--fancy-circles-item-size: 82px;
	--fancy-circles-size: clamp(420px, 87.239583vw, 712px);
	--fancy-circles-deg-offset: -140deg;
	--fancy-circles-item-deg-max: calc(( var(--fancy-circles-deg-offset) * -.3 ));
	--fancy-circles-pseudo-size: calc(var(--fancy-circles-size) - var(--fancy-circles-item-size));
	--fancy-circles-pseudo-border-gap: min(15vw, calc(var(--fancy-circles-pseudo-size) / 6));
	--fancy-circles-pseudo-border-width: 1px;
}

.fancy-circles::after {
	color: var(--color-accent);
}

.fancy-circles::before {
	color: var(--color-accent);
}

@media only screen and (min-width: 768px) {
	.fancy-circles {
		--fancy-circles-size: clamp(420px, 76vw, 760px);
		--fancy-circles-deg-offset: -152deg;
		--fancy-circles-item-deg-max: calc(( var(--fancy-circles-deg-offset) * -.085 ));
	}
}

@media only screen and (min-width: 1200px) {
	.fancy-circles {
		--fancy-circles-size: clamp(420px, 93.539583vw, 760px);
		margin-inline: auto;
	}
}

@media only screen and (min-width: 1920px) {
	.fancy-circles {
		--fancy-circles-size: 860px;
	}
}

@media only screen and (max-width: 767px) {
	.fancy-circles {
		margin-inline: auto;
	}
}

.fancy-circle {
	background: linear-gradient(to bottom, var(--color-accent-gradient-start), var(--color-accent-gradient-end));
	background-clip: padding-box;
	text-align: center;
	font-size: 28px;
	font-weight: 700;
	font-family: var(--font-secondary);
}

/* Other Custom Fancy Stuff
--------------------------------------------------------------- */

/* Accordion: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/accordion.md#accordion
--------------------------------------------------------------- */
.accordion:not(.open) {
	display: none;
}

/* Accordion: Toggle  https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/accordion.md#data-toggle-accordion
--------------------------------------------------------------- */
.accordion-trigger {
	cursor: pointer;
	border-bottom: 1px solid var(--color-neutral);
	padding-bottom: 2rem;
	margin-bottom: 2rem;
}

.accordion-trigger > * {
	pointer-events: none;
}

.accordion-trigger::after {
	content: "+";
}

.accordion-trigger.open {
	color: var(--color-primary);
}

.accordion-trigger.open::after {
	content: "-";
}

/* ================================================================================
* Includes 
================================================================================ */

/* Forms https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/includes/helper/form.md
For Gravity Forms specific styles go to scss/vendors/gforms
-------------------------------------------------------------------------------- */
.field-form {
	max-width: 100%;
}

.field-form :where(.gform_wrapper) :is(.gform_title, .gform_description, .gform_footer, .gform_page_footer, .gform_body) {
	margin: 0;
	padding: 0;
}

.field-form :where(.gform_wrapper) .gform_heading {
	/* gform heading: gforms generated or template custom ones */
	
	/* center the heading stuff. or adjust as needed if that's not the case */
	text-align: center;
	max-width: -moz-max-content;
	max-width: max-content;
	margin-bottom: 2rem;
}

.field-form :where(.gform_wrapper) :where(.gform_heading, .gform_title, .gform_description) {
	/* everything inside the heading: gforms generated or template custom ones */
	
	/* center the heading stuff. or adjust as needed if that's not the case */
	margin-left: auto;
	margin-right: auto;
}

.field-form :is(.gform_wrapper) :is(.gform_title, .gform_description):last-child {
	margin-bottom: 0;
}

.field-form :is(.gform_wrapper) .gform_body {}

.field-form :is(.gform_wrapper) :is(.gform_footer, .gform_page_footer) {}

.field-form :is(.gform_wrapper) :is(.gform_footer, .gform_page_footer) {
	/* reset margin and padding and add  one margin to keep spacing simple to setup. Gravity forms man. */
	padding: 0;
	margin: 0;
	margin-top: 1rem;
}

.field-form :is(.gform_wrapper) :is(.gform_footer, .gform_page_footer) :is(.gform_button, .button) {
	/* that goes for the button too */
	margin-bottom: 0;
	margin-top: 0;
}

.field-form :is(.gform_wrapper) :is(.gform_footer, .gform_page_footer):not(:has(.gform_button)) {
	display: none;
}

.field-form-body :is(.gform_wrapper) .gform_heading {
	/* in case gravity forms decides to add more ugly things */
	display: none;
}

/*  Responsive Background skeletons: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/includes/field/responsive-background
--------------------------------------------------------------- */

/* Responsive Background skeletons. Do not Edit.
--------------------------------------------------------------- */
.responsive-background {
	pointer-events: none;
	overflow: hidden;
	transform-style: preserve-3d;
	z-index: -1;
	background-color: var(--scheme-bg, var(--color-dark-alt));
}

.responsive-background::after {
	content: "";
	display: block;
	inset: 0;
	position: absolute;
	pointer-events: none;
	mix-blend-mode: var(--responsive-background-overlay-mix-blend, none);
	background: var(--responsive-background-overlay-background, normal);
	opacity: var(--responsive-background-overlay-opacity, .75);
}

.responsive-background-wrapper {
	position: relative;
	z-index: 0;
}

.responsive-background, .responsive-background-bg {
	position: absolute !important;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.responsive-background-bg {
	/* Note: when styling instances of this block, make sure properties are NOT set as shorthand to avoid override issues */
	background-size: cover;
	background-position: var(--responsive-background-bg-position);
	background-color: inherit;
	z-index: -2;
	background-image: var(--responsive-background-image, none) !important;
}

.responsive-background-bg:is(img) {
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: var(--responsive-background-bg-position);
	object-position: var(--responsive-background-bg-position);
	width: 100%;
	height: 100%;
}

@media only screen and (min-width: 1200px) {
	:is(.responsive-background-animated-on-loaded, .responsive-background-animated-on-visible.visible) .responsive-background-bg {
		/* make background block animate for document ready or when visible*/
		transition: opacity ease-in-out 1.5s, transform ease-in-out 1.5s;
		opacity: 1;
		transform: scale(1);
		transform-style: preserve-3d;
	}
	
	:is(html:not(.doc-images-loaded) .responsive-background-animated-on-loaded, .responsive-background-animated-on-visible:not(.visible)) .responsive-background-bg {
		/* hide if not ready to let the world to know got to let it show */
		opacity: 0;
		transform: scale(1.125);
	}
}

/* Responsive Background Customizations
--------------------------------------------------------------- */
.responsive-background {
	--responsive-background-overlay-mix-blend: normal;
	--responsive-background-overlay-background: none;
	--responsive-background-overlay-opacity: .75;
	--responsive-background-bg-position: center center;
}

/* Carousels https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/includes/repeater/carousel.md
--------------------------------------------------------------- */

/* Carousel Item skeletons. Do not Edit.
--------------------------------------------------------------- */
.carousel-item {
	text-align: center;
}

.carousel-item-image {
	height: var(--carousel-height);
}

.carousel-item-image > :where(*) {
	pointer-events: none;
}

.carousel-item-image, .carousel-item-image picture {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

.carousel-item-image :where(svg, object, img) {
	height: auto !important;
}

.carousel-item-image :where(img, svg, object, picture) {
	width: auto !important;
	max-width: 100% !important;
	max-height: 100% !important;
	align-self: center;
	flex: 0 0 auto;
}

/* Carousel Item Customizations
--------------------------------------------------------------- */
:where(.swiper, .slick) {
	/* height of award. best to set to the tallest award logo provided  */
	--carousel-height: 90px;
}

@media only screen and (min-width: 768px) {
	:where(.swiper, .slick) {
		--carousel-height: 109px;
	}
}

@media only screen and (min-width: 1200px) {
	:where(.swiper, .slick) {
		--carousel-height: 131px;
	}
}

/* Case Results https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/includes/repeater/result.md
-------------------------------------------------------------------------------- */

/*
* Case Result Icon
-------------------------------------------------------------------------------- */
.result-icon {
	font-size: 3rem;
	margin-bottom: 1rem;
}

.result-details-popup .result-icon {
	font-size: 100px;
}

/*
* Case Result Value
-------------------------------------------------------------------------------- */
.result-value {
	font-size: 32px;
	color: var(--color-secondary);
	text-transform: uppercase;
	--fancy-border-width: 100px;
	--fancy-border-height: 2px;
	--fancy-border-margin-y: 1.25rem;
}

.result-value-confidential {
	font-size: .6em;
}

.result-value-number-long {
	font-size: 40px;
}

.result-summary .result-value {
	margin-bottom: 1.25rem;
}

@media only screen and (min-width: 768px) {
	.result-details-popup .result-value.h1 {
		font-size: 100px;
	}
}

@media only screen and (min-width: 1200px) {
	.result-value {
		--fancy-border-margin-y: .5rem;
	}
	
	.result-value-number-long {
		font-size: 45px;
	}
}

@media only screen and (min-width: 1920px) {
	.result-value-number-long {
		font-size: 48px;
	}
}

/*
* Case Result Type
-------------------------------------------------------------------------------- */
.result-details-popup .result-type {
	margin-block: 1em;
}

/*
* Case Result Title - Optional
-------------------------------------------------------------------------------- */
.result-title {
	font-size: 20px;
	line-height: 25px;
	color: var(--color-dark);
	text-transform: uppercase;
}

.result-details-popup .result-title {
	margin-bottom: 2em;
}

@media only screen and (min-width: 1200px) {
	.result-title {
		font-size: 21px;
		line-height: 30px;
	}
}

/*
* Case Result Description
-------------------------------------------------------------------------------- */
.result-description {
	font-size: 16px;
	line-height: 25px;
	font-family: var(--font-secondary);
	text-transform: uppercase;
}

.result-details-default .result-description {
	flex: 1 1;
}

@media only screen and (min-width: 1200px) {
	.result-description {
		font-size: 17px;
	}
}

/*
* Case Result Content
-------------------------------------------------------------------------------- */
.result-details-default .result-content {
	max-width: 50ch;
}

.result-details-popup .result-content {
	text-align: initial;
}

/*
* Case Result Learn More - Optional
-------------------------------------------------------------------------------- */
.result-learn-more {
	margin-top: 2rem;
	align-self: center;
}

@media only screen and (min-width: 1920px) {
	.result-details-default .result-learn-more:first-child {
		margin-top: auto;
	}
}

/*
* includes/repeater-result
-------------------------------------------------------------------------------- */
.result {
	max-width: 100%;
}

.result, .result-container {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.result-container {
	width: 100%;
	flex: 1 1;
	align-items: center;
}

.result :where(.result-description, .result-content) {
	margin-left: auto;
	margin-right: auto;
}

.result-summary {
	text-align: center;
	display: contents;
}

.result-summary:nth-last-child(n+2) {
	margin-bottom: auto;
}

.result-details-default {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex: 1 1;
	margin-top: 1.5em;
	border-top: 1px solid var(--color-neutral);
	padding-top: 1.5rem;
}

.result-pointer-reference:not(:hover, :focus-within) .result-details-hover-details-hover {
	pointer-events: none;
	opacity: 0;
}

.result-details-hover {
	max-width: none;
	position: absolute;
	background-color: var(--color-dark-alt);
	color: var(--color-light);
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0;
	scrollbar-width: none;
	overflow-y: scroll;
	transition: .25s all ease-in-out;
	padding: 2rem;
	opacity: 1;
}

.result-details-hover::-webkit-scrollbar {
	display: none;
}

.result-details-popup {
	text-align: center;
}

/* Practice Areas https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/includes/repeater/practice-area.md
-------------------------------------------------------------------------------- */

/*
* Practice Area Skeleton. Do not Edit
-------------------------------------------------------------------------------- */
.practice-area-title {
	padding-inline: var(--pa-title-padding-x);
}

.practice-area-title:is(.fancy-border) -after:after {
	--fancy-border-margin-l: calc(var(--pa-title-padding-x) * -1);
	--fancy-border-margin-r: calc(var(--pa-title-padding-x) * -1);
}

.practice-area-menu li, .practice-area-menu li a {
	display: flex;
	flex-direction: column;
	line-height: var(--pa-item-line-height);
}

.practice-area-menu li a {
	justify-content: center;
	flex: 1 1;
	padding-block: calc(( var(--pa-item-height) - 1em * var(--pa-item-lines) * var(--pa-item-line-height) ) * var(--pa-item-baseline-offset)) calc(( var(--pa-item-height) - 1em * var(--pa-item-lines) * var(--pa-item-line-height) ) * ( 1 - var(--pa-item-baseline-offset) ));
	padding-inline: var(--pa-item-padding-x);
	min-height: var(--pa-item-height);
}

@media only screen and (max-width: 767px) {
	.practice-area-menu li a {
		min-height: 0;
	}
}

/*
* Practice Area Vars/ Scaffolding
-------------------------------------------------------------------------------- */
.practice-area {
	--pa-item-padding-x: .5rem;
	--pa-item-height: 4.375rem;
	--pa-item-lines: 1;
	--pa-item-baseline-offset: .5;
	--pa-item-line-height: 1.5;
	--pa-title-padding-x: var(--pa-item-padding-x);
}

@media only screen and (min-width: 768px) {
	.practice-area {
		min-width: 100%;
	}
}

@media only screen and (min-width: 1200px) {
	.practice-area {
		--pa-item-height: 77px;
	}
}

@media only screen and (max-width: 767px) {
	.practice-area {}
}

/*
* Practice Area Category Title
-------------------------------------------------------------------------------- */
.practice-area-title {
	--fancy-border-margin-y: 1rem;
	margin-bottom: 5px;
}

@media only screen and (min-width: 768px) {
	.practice-area-title {
		font-size: 30px;
	}
}

@media only screen and (min-width: 1200px) {
	.practice-area-title {
		font-size: 34px;
		line-height: 25px;
		--fancy-border-height: 4px;
		--fancy-border-margin-y: 30px;
	}
}

/*
* Practice Area Menu
-------------------------------------------------------------------------------- */
.practice-area-menu {
	font-size: 18px;
}

.practice-area-menu li {
	border-bottom: 1px solid var(--color-neutral-lightest);
}

.practice-area-menu li:is(:hover, :focus-within) a {
	color: var(--color-secondary);
}

@media only screen and (min-width: 768px) {
	.practice-area-menu {
		font-size: 19px;
	}
}

@media only screen and (min-width: 1200px) {
	.practice-area-menu {
		font-size: 22px;
		line-height: 33px;
		--pa-item-padding-x: 14px;
	}
}

/*
* includes/repeater-practice-area
-------------------------------------------------------------------------------- */
.practice-area {
	max-width: 100%;
}

.practice-area, .practice-area-container {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.practice-area-container {
	width: 100%;
	flex: 1 1;
}

/* Pagination https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/includes/helper/pagination.md
-------------------------------------------------------------------------------- */

/* Pagination Skeletons. do not edit 
--------------------------------------------------------------- */
.pagination {
	display: grid;
	grid-template-columns: 1fr max-content 1fr;
	align-items: center;
	text-align: center;
	clear: both;
	margin-left: auto;
	margin-right: auto;
}

.pagination-block {
	grid-row: 1;
}

.pagination-block-left {
	grid-column: 1;
	text-align: left;
}

.pagination-block-center {
	grid-column: 2;
}

.pagination-block-right {
	grid-column: 3;
	text-align: right;
}

.pagination-num-list.pagination-block-left span:first-child, .pagination-num-list.pagination-block-left a:first-child {
	margin-left: 0;
}

.pagination-num-list.pagination-block-right span:last-child, .pagination-num-list.pagination-block-right a:last-child {
	margin-left: 0;
}

@media only screen and (max-width: 1199px) {
	.pagination-nav-link:is(.pagination-block-left, .pagination-block-right):nth-child(2), .pagination-nav-link:is(.pagination-block-left, .pagination-block-right):nth-last-child(2) {
		grid-column: 1/-1;
	}
	
	.pagination-nav-link:is(.pagination-block-left, .pagination-block-right):nth-child(2) span:nth-last-child(n+2), .pagination-nav-link:is(.pagination-block-left, .pagination-block-right):nth-child(2) a:nth-last-child(n+2), .pagination-nav-link:is(.pagination-block-left, .pagination-block-right):nth-last-child(2) span:nth-last-child(n+2), .pagination-nav-link:is(.pagination-block-left, .pagination-block-right):nth-last-child(2) a:nth-last-child(n+2) {
		margin-right: .5em;
	}
}

/* Pagination Customizations. customize as needed 
--------------------------------------------------------------- */
.pagination {
	font-size: 18px;
	font-family: var(--font-secondary);
	letter-spacing: .05em;
	text-transform: uppercase;
	border-top: 2px solid rgba(19, 29, 47, .15);
	padding-top: 1.75rem;
	margin-top: 3rem;
	margin-bottom: 0;
	max-width: 100%;
	grid-column: 1/-1;
}

.pagination .current, .pagination a:is(:hover, :focus) {
	color: var(--color-accent);
}

.pagination-num-list a, .pagination-num-list span {
	margin-inline: 0;
}

.pagination-nav-link :where(a) {
	display: inline-flex;
	align-items: center;
}

.pagination-nav-link .next:after, .pagination-nav-link .prev:before {
	display: inline-block;
	align-self: center;
	flex: 0 0 auto;
	content: "";
	height: .425em;
	width: .725em;
	vertical-align: middle;
	background: var(--color-accent);
	clip-path: polygon(0 0, 50% 100%, 100% 0);
	transform: rotate(270deg);
}

.pagination-nav-link .next:after {
	margin-left: .5em;
}

.pagination-nav-link .prev:before {
	transform: rotate(90deg);
	margin-right: .5em;
}

@media only screen and (min-width: 1200px) {
	.pagination {
		order: 999;
	}
}

.single-post .pagination-block-right {
	display: flex;
	justify-content: flex-end;
}

.single-post .pagination-block-left {
	display: flex;
	justify-content: flex-start;
}

.single-post .pagination-block-right:has(a[href]):after, .single-post .pagination-block-left:has(a[href]):before {
	display: inline-block;
	align-self: center;
	flex: 0 0 auto;
	content: "";
	height: .425em;
	width: .725em;
	vertical-align: middle;
	background: var(--color-accent);
	clip-path: polygon(0 0, 50% 100%, 100% 0);
	transform: rotate(270deg);
}

.single-post .pagination-block-right:after {
	margin-left: .25em;
}

.single-post .pagination-block-left:has(a[href]):before {
	transform: rotate(90deg);
	margin-right: .25em;
}

/* Profile https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/includes/repeater/profile.md
-------------------------------------------------------------------------------- */

/* Profile Image Skeletons. No need to edit 
--------------------------------------------------------------- */
.profile-image {
	--cover-aspect-w: var(--profile-image-aspect-w);
	--cover-aspect-l: var(--profile-image-aspect-l);
	flex: 0 0 auto;
	position: relative;
	background-color: var(--color-light-alt);
}

.profile-image::before {
	/* hover overlay */
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	background: var(--profile-image-overlay-background);
	z-index: 1;
	opacity: 0;
	pointer-events: none;
}

.profile-image-placeholder {
	display: flex;
}

.profile-image-placeholder img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

:is(.profile-image-img, .profile-image-placeholder, .profile-image-placeholder-img) {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

:is(.profile-image-img, .profile-image-placeholder-img) {
	max-width: none;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: var(--profile-image-position);
	object-position: var(--profile-image-position);
}

.profile-image[href]::before, .profile-image[href] .profile-view {
	pointer-events: none;
}

.profile-image[href]::before {
	opacity: var(--profile-image-overlay-opacity);
	mix-blend-mode: var(--profile-image-overlay-mix-blend);
	-webkit-backdrop-filter: var(--profile-image-overlay-backdrop-filter);
	backdrop-filter: var(--profile-image-overlay-backdrop-filter);
	pointer-events: auto;
	border-radius: 5px;
}

.profile-image[href] .profile-view {
	opacity: 0;
}

.profile-image[href]:is(:hover, :focus-within)::before, .profile-image[href]:is(:hover, :focus-within) .profile-view, .profile-pointer-reference:is(:hover, :focus-within) .profile-image[href]::before, .profile-pointer-reference:is(:hover, :focus-within) .profile-image[href] .profile-view {
	pointer-events: auto;
}

.profile-image[href]:is(:hover, :focus-within) .profile-view, .profile-pointer-reference:is(:hover, :focus-within) .profile-image[href] .profile-view {
	opacity: 1;
}

.profile-image[href] .profile-view {
	/*  */
	z-index: 2;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	max-width: -moz-max-content;
	max-width: max-content;
	max-height: -moz-min-content;
	max-height: min-content;
}

/*
* Profile Image. Customizations https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/includes/repeater/profile.md#css-vars
-------------------------------------------------------------------------------- */
.profile-image {
	--profile-image-aspect-w: 288;
	--profile-image-aspect-l: 342;
	--profile-image-position: 50% 15%;
	--profile-image-overlay-background: linear-gradient(to bottom, var(--color-secondary-gradient-start), var(--color-secondary-gradient-end));
	--profile-image-overlay-opacity: 0;
	--profile-image-overlay-backdrop-filter: blur(1px);
}

/*
* Profile Placeholder. Customizations https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/includes/repeater/profile.md#css-vars
-------------------------------------------------------------------------------- */
.profile-image-placeholder {
	align-items: center;
	justify-content: center;
	flex-direction: column;
	margin: 0;
	border: 1px solid var(--color-neutral-lighter);
	border-radius: 5px;
	background: var(--color-primary);
	font-size: 18px;
	font-family: var(--font-secondary);
	color: rgba(255, 255, 255, .5);
	letter-spacing: .025em;
	text-transform: uppercase;
	font-weight: 700;
	text-align: center;
}

@media only screen and (min-width: 768px) {
	.profile-image-placeholder {
		font-size: 20px;
	}
}

.profile-image-placeholder-icon {
	font-size: 8rem;
	margin-bottom: 1rem;
}

/*
* Profile Image Pseudos: wheh linking to a bio page only
-------------------------------------------------------------------------------- */
.profile-image[href]::before, .profile-image[href] .profile-view {
	transition: .5s ease-in-out all;
}

.profile-image[href]:is(:hover, :focus-within), .profile-pointer-reference:is(:hover, :focus-within) .profile-image[href] {
	--profile-image-overlay-opacity: .8;
}

.profile-image[href]:is(:hover, :focus-within)::after, .profile-pointer-reference:is(:hover, :focus-within) .profile-image[href]::after {
	display: none;
}

.profile-image[href]:is(:hover, :focus-within):has(.profile-image-placeholder), .profile-pointer-reference:is(:hover, :focus-within) .profile-image[href]:has(.profile-image-placeholder) {
	--profile-image-overlay-opacity: 1;
}

/*
* Profile View text
-------------------------------------------------------------------------------- */

/*
* Profile Thumbnail, contains profile image, special blurb, whatever can be included in a thumbnail
-------------------------------------------------------------------------------- */
.profile-thumbnail {
	flex: 0 0 auto;
	align-self: stretch;
	width: 100%;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

/* Profile Additional Details. No need to edit 
--------------------------------------------------------------- */
.profile-details {
	opacity: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	flex-direction: column;
	text-align: center;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 1;
}

.profile-details::before {
	content: "";
	color: var(--color-light);
	opacity: .8;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: -1;
}

.profile-details:is(:hover, :focus-within), .profile-pointer-reference:is(:hover, :focus-within) .profile-details {
	opacity: 1;
	pointer-events: auto;
}

.profile-details-body {
	flex: 1 1;
	overflow-y: scroll;
	scrollbar-width: none;
}

.profile-details-body::-webkit-scrollbar {
	display: none;
}

/*
* Profile Additional Details Customizations
-------------------------------------------------------------------------------- */
.profile-details {}

.profile-details {
	padding-block: 2rem;
	padding-inline: 1rem;
	transition: .5s ease-in-out all;
	background: var(--color-dark-alt);
	color: var(--color-light);
}

.profile-details-body + .profile-details-footer {
	padding-top: 2rem;
	align-self: stretch;
}

/*
* Profile Name
-------------------------------------------------------------------------------- */
.profile-info-name {
	font-size: 21px;
	line-height: 20px;
	color: var(--color-primary);
	letter-spacing: .025em;
	text-transform: uppercase;
	align-content: center;
	margin-bottom: .25em;
}

@media only screen and (min-width: 1400px) {
	.profile-info-name {
		font-size: 26px;
		line-height: 25px;
	}
}

/*
* Profile Name
-------------------------------------------------------------------------------- */
.profile-info-position {
	font-size: 13px;
	line-height: 19px;
	font-family: var(--font-secondary);
	color: var(--color-dark);
	letter-spacing: .025em;
	text-transform: uppercase;
	font-weight: 400;
	margin-top: auto;
	margin-bottom: 0;
	--fancy-border-height: 2px;
	--fancy-border-width: 48px;
	--fancy-border-margin-y: 20px;
}

@media only screen and (min-width: 1400px) {
	.profile-info-position {
		font-size: 15px;
		line-height: 25px;
	}
}

@media only screen and (min-width: 1920px) {
	.profile-info-position {
		font-size: 17px;
	}
}

/*
* includes/repeater-profile
-------------------------------------------------------------------------------- */
.profile {}

.profile {
	align-self: stretch;
}

.profile .profile-image {
	border-radius: 5px;
}

.profile .profile-image::after {
	position: absolute;
	display: block;
	content: "";
	width: calc(100% + 20px);
	height: calc(100% + 20px);
	background: transparent;
	top: 0;
	right: 0;
	bottom: 0;
	left: -10px;
	margin: auto;
	z-index: -1;
	border-radius: 5px;
}

.profile-pointer-reference:has([href]):is(:hover, :focus-within) .profile-image::after {
	background: var(--color-neutral-lighter);
}

.profile-pointer-reference:has([href]):is(:hover, :focus-within) .profile-view i::before, .profile-pointer-reference:has([href]):is(:hover, :focus-within) .profile-view i::after {
	display: inline-block;
	order: 9;
	align-self: center;
	flex: 0 0 auto;
	content: "";
	height: .38em;
	width: .65em;
	vertical-align: middle;
	background: var(--color-accent);
	clip-path: polygon(0 0, 50% 100%, 100% 0);
	font-size: 40px;
	transform: rotate(-90deg);
}

.profile {
	max-width: 100%;
}

.profile, .profile-container {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.profile-container {
	width: 100%;
	flex: 1 1;
	gap: 25px;
}

.profile-info {
	flex: 1 1;
}

.profile-info {
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.profiles-cluster {
	position: relative;
	z-index: 10;
}

.profiles-cluster :is(.swiper) {
	--swiper-custom-arrow-offset-x: 1.75em;
}

.profiles-cluster-blocks {
	display: grid;
	grid-template-columns: 100%;
	justify-content: center;
	justify-items: center;
	row-gap: 2rem;
	-moz-column-gap: 56px;
	column-gap: 56px;
}

.profiles-cluster-block:where(:only-child) {
	grid-column: 1/-1;
}

.profiles-cluster-block:is(.profiles-cluster-block-pagination) {
	grid-column: 1/-1;
	justify-self: stretch;
}

.profiles-cluster-block:is(.profiles-cluster-block-pagination) .swiper-wrapper {
	padding-top: 1rem;
}

.profiles-cluster-block :where(.section-image) :where(img) {
	display: block;
	width: 100%;
}

.profiles-cluster-block, .profiles-cluster-blocks {
	min-width: 0;
	max-width: 100%;
}

.profiles-cluster-pagination {
	text-align: center;
}

.profiles-cluster-pagination :is(.profile-info-name) {
	font-size: 16px;
	line-height: 20px;
	text-transform: capitalize;
	letter-spacing: 0;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

.profiles-cluster-pagination :is(.profile-info-name):is(.fancy-border) {
	--fancy-border-width: 100%;
}

.profiles-cluster-pagination .profile-image-placeholder {
	font-size: 14px;
}

.profiles-cluster-pagination :is(.swiper) .swiper-slide {
	cursor: pointer;
}

.profiles-cluster-pagination :is(.swiper) .swiper-slide:is(:hover, :focus-within) .profile-image::before {
	opacity: .8;
	transition: opacity .4s ease;
}

.profiles-cluster-pagination :is(.swiper) .swiper-slide:is(:hover, :focus-within) .profile-image .cover::before, .profiles-cluster-pagination :is(.swiper) .swiper-slide:is(:hover, :focus-within) .profile-image .cover::after {
	position: absolute;
	z-index: 9;
	display: inline-block;
	order: 9;
	align-self: center;
	flex: 0 0 auto;
	content: "";
	height: .38em;
	width: .65em;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	background: var(--color-accent);
	clip-path: polygon(0 0, 50% 100%, 100% 0);
	font-size: 28px;
	transform: rotate(-90deg);
}

.profiles-cluster-pagination :is(.swiper) .swiper-slide:is(:hover, :focus-within) .profile-image .cover::before {
	left: 25px;
}

.profiles-cluster-pagination :is(.swiper) .swiper-slide:is(:hover, :focus-within) .profile-image .cover::after {
	left: -5px;
}

.profiles-cluster-pagination :is(.swiper) .swiper-slide:is(.swiper-slide-thumb-active, :hover, :focus-within) .profile-image::after {
	background: var(--color-light);
	border-radius: 12px;
}

.profiles-cluster-pagination :is(.swiper) .swiper-slide:is(.swiper-slide-thumb-active, :hover, :focus-within) :is(.profile-info-name):is(.fancy-border) {
	--fancy-border-background: var(--color-primary-alt);
}

.profiles-cluster-slider-thumbnail {
	max-width: 297px;
}

.profiles-cluster-slider-thumbnail .profile-image::after {
	display: none;
}

.profiles-cluster-info .profile-info {
	justify-content: flex-start;
}

.profiles-cluster-info .profile-info-position {
	color: var(--color-accent-alt);
	font-weight: 700;
	letter-spacing: .07em;
	margin-block: .5rem 0;
	--fancy-border-width: 100%;
	--fancy-border-margin-y: .75rem;
	--fancy-border-height: 1px;
}

.profiles-cluster-info .profile-view {
	--button-height: 52px;
	--button-padding-x: 20px;
	font-size: 14px;
}

.profiles-cluster-info .profile:hover .profile-image::after {
	display: none;
}

.profiles-cluster-info .profile :is(.profile-container) {
	max-width: 515px;
	margin-top: 20px;
	margin-inline: auto;
}

.profiles-cluster-info .profile :is(.profile-info-name) {
	font-size: 33px;
	line-height: 1;
	letter-spacing: 0;
	text-transform: capitalize;
	margin-bottom: 0;
}

.profiles-cluster-info .profile :is(.profile-info-blurb) {
	margin-block: 1em;
	font-size: 17px;
	line-height: 25px;
	max-width: 303px;
	margin-inline: auto;
}

.profiles-cluster-info .profile:last-child {
	margin-bottom: 0;
}

@media only screen and (min-width: 768px) {
	.profiles-cluster-blocks {
		grid-template-columns: auto 1fr;
		row-gap: 22px;
		-moz-column-gap: 50px;
		column-gap: 50px;
	}
	
	.profiles-cluster-slider-thumbnail {
		max-width: 324px;
	}
	
	.profiles-cluster-info .profile-info-position {
		--fancy-border-margin-y: 1rem;
	}
	
	.profiles-cluster-info .profile :is(.profile-info) {
		text-align: left;
	}
	
	.profiles-cluster-info .profile :is(.profile-info-blurb) {
		max-width: 355px;
		margin-inline: 0 auto;
	}
}

@media only screen and (min-width: 1200px) {
	.profiles-cluster-slider-thumbnail {
		max-width: 472px;
	}
	
	.profiles-cluster-pagination {
		max-width: 561px;
		margin-top: -11rem;
		margin-inline: auto 0;
	}
	
	.profiles-cluster-pagination :is(.profile-info-name) {
		font-size: 15px;
	}
	
	.profiles-cluster-info :is(.profile) {
		transform: translateY(50px);
		opacity: 0;
		transition: .5s ease-in-out transform .5s, .25s ease-in-out opacity 0s;
	}
	
	.profiles-cluster-info .profile-view {
		--button-height: 60px;
		--button-padding-x: 23px;
		font-size: 16px;
	}
	
	.profiles-cluster-info .profile :is(.profile-container) {
		max-width: 562px;
		margin-top: 0px;
		margin-inline: auto;
	}
	
	.profiles-cluster-info .profile :is(.profile-info-name) {
		font-size: 52px;
		line-height: 1.4;
	}
	
	.profiles-cluster-info .profile :is(.profile-info-position) {
		font-size: 17px;
		line-height: 1;
		--fancy-border-margin-y: 1.5rem;
	}
	
	.profiles-cluster-info .profile :is(.profile-info-blurb) {
		max-width: 580px;
		font-size: 20px;
		line-height: 30px;
	}
	
	.profiles-cluster-info :is(.swiper-slide-visible) :is(.profile) {
		transform: translateY(0px);
		transition: .5s ease-in-out transform 0s, .5s ease-in-out opacity 0s;
		opacity: 1;
	}
}

@media only screen and (min-width: 1400px) {
	.profiles-cluster-slider-thumbnail {
		max-width: 495px;
	}
	
	.profiles-cluster-blocks {
		-moz-column-gap: 60px;
		column-gap: 60px;
	}
	
	.profiles-cluster-thumbnail {
		max-width: 443px;
	}
	
	.profiles-cluster-info {
		margin-top: -1rem;
	}
	
	.profiles-cluster-info .profile :is(.profile-container) {
		max-width: 700px;
		margin-inline: 0 auto;
	}
	
	.profiles-cluster-info .profile :is(.profile-info-blurb) {
		max-width: 690px;
	}
	
	.profiles-cluster-pagination {
		max-width: 690px;
		margin-top: -16rem;
	}
	
	.profiles-cluster-pagination :is(.profile-info-name) {
		font-size: 16px;
	}
}

@media only screen and (min-width: 1920px) {
	.profiles-cluster-thumbnail {
		max-width: 528px;
	}
	
	.profiles-cluster-slider-thumbnail {
		max-width: 580px;
	}
	
	.profiles-cluster-blocks {
		-moz-column-gap: 74px;
		column-gap: 74px;
	}
	
	.profiles-cluster-info .profile :is(.profile-container) {
		max-width: 764px;
	}
	
	.profiles-cluster-info .profile :is(.profile-info-blurb) {
		max-width: 752px;
		font-size: 22px;
		line-height: 32px;
	}
	
	.profiles-cluster-pagination {
		max-width: 800px;
		margin-top: -20rem;
	}
	
	.profiles-cluster-pagination :is(.profile-info-name) {
		font-size: 20px;
	}
}

/* Testimonial https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/includes/repeater/testimonial.md
-------------------------------------------------------------------------------- */

/*
* Testimonial Stars
-------------------------------------------------------------------------------- */
.testimonial-stars {
	font-size: 17px;
	margin-bottom: 12px;
}

@media only screen and (min-width: 768px) {
	.testimonial-stars {
		font-size: 25px;
		margin-bottom: 15px;
	}
}

@media only screen and (min-width: 1200px) {
	.testimonial-stars {
		font-size: 27px;
		margin-bottom: 17px;
	}
}

/*
* Testimonial Highlight / Main quote
-------------------------------------------------------------------------------- */
.testimonial-highlight {
	font-size: 22px;
	line-height: 26px;
	font-family: var(--font-secondary);
	color: var(--color-secondary);
	text-transform: uppercase;
	font-weight: 700;
	text-align: inherit;
	margin-block: 0 12px;
}

@media only screen and (min-width: 768px) {
	.testimonial-highlight {
		font-size: 25px;
		line-height: 30px;
	}
}

@media only screen and (min-width: 1200px) {
	.testimonial-highlight {
		font-size: 28px;
		line-height: 32px;
	}
}

/*
* Testimonial Quote Body / other parts of the quote
-------------------------------------------------------------------------------- */
.testimonial-quote {
	font-size: 17px;
	line-height: 26px;
	margin-block: 0 12px;
}

.testimonial-quote p {
	margin-bottom: 0;
}

@media only screen and (min-width: 768px) {
	.testimonial-quote {
		font-size: 18px;
		line-height: 29px;
	}
}

@media only screen and (min-width: 1200px) {
	.testimonial-quote {
		font-size: 19px;
		line-height: 32px;
		margin-block: 0 28px;
	}
}

/*
* Testimonial Divider - Optional
-------------------------------------------------------------------------------- */

/*
* Testimonial Source + Optional Icon
-------------------------------------------------------------------------------- */
.testimonial-source {
	font-size: 14px;
	font-family: var(--font-secondary);
	color: var(--color-dark-alt);
	letter-spacing: .03em;
	text-transform: none;
	font-weight: normal;
	margin-block: 0;
}

.testimonial-source span {
	display: flex;
}

.testimonial-source span:first-child {
	text-transform: uppercase;
	font-weight: 700;
}

.testimonial-source.testimonial-source-has-first-letter::before {
	content: attr(data-first-letter);
	display: flex;
	align-content: center;
	align-items: center;
	justify-content: center;
	width: 1.75em;
	height: 1.75em;
	border-radius: 999em;
	background: var(--scheme-sp, var(--color-primary));
	font-size: 18px;
	font-family: var(--font-accent);
	color: var(--color-light);
	text-transform: uppercase;
}

:where(.content-palette-dark) .testimonial-source {
	/* modify colors on dark mode. will only apply if there are styles within the selector and a) content-palette-dark and or b) schemes component classes are enabled and dark helpers are applied */
	color: var(--scheme-sp, inherit);
}

@media only screen and (min-width: 768px) {
	.testimonial-source {
		font-size: 17px;
	}
}

@media only screen and (min-width: 1200px) {
	.testimonial-source {
		font-size: 19px;
	}
}

.testimonial-source-icon {
	font-size: 1.25em;
}

/*
* includes/repeater-testimonial
-------------------------------------------------------------------------------- */
.testimonial {
	max-width: 100%;
}

.testimonial, .testimonial-container {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.testimonial-container {
	width: 100%;
	flex: 1 1;
}

.testimonial :not(.testimonial-divider) + .testimonial-source {
	margin-top: auto;
}

:is(.testimonial-highlight, .testimonial-quote):has(+ .testimonial-divider) {
	margin-bottom: 0;
}

.testimonial-container {
	align-items: flex-start;
	align-content: center;
}

.testimonial :where(.testimonial-highlight, .testimonial-quote) {
	margin-left: 0;
	margin-right: auto;
}

/* Video Button - Default (One that doesnt have custom markup in it, just the usual one with a play symbol)
https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/includes/helper/video-button.md
--------------------------------------------------------------- */

/* Video Button Skeletons. No need to edit 
--------------------------------------------------------------- */
@keyframes video-button-default-text-rotate {
	from {
		transform: rotate(0deg);
	}
	
	to {
		transform: rotate(360deg);
	}
}

.video-button-default {
	display: inline-flex;
	width: 1em;
	height: 1em;
	position: relative;
	font-size: var(--video-button-size);
	z-index: 0;
	cursor: pointer;
	align-items: center;
	justify-content: center;
}

.video-button-default:is(.video-button-no-api) {
	pointer-events: none;
}

.video-thumbnail .video-button-default {
	/* customize instances of video button within thumbnail*/
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	--video-button-size: 70px;
}

.video-button-default-image, .video-button-default-text, .video-button-default-text-svg, .video-button-default-text span, .video-button-default::before, .video-button-default::after {
	position: absolute;
	margin: auto;
	pointer-events: none;
}

.video-button-default-text, .video-button-default-image {
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.video-button-default.video-button-default-no-icon::before, .video-button-default.video-button-default-no-icon::after {
	content: "";
	display: block;
}

.video-button-default > .wistia_click_to_play {
	position: static !important;
	width: auto !important;
	height: auto !important;
}

.video-button-default-glyph {
	display: flex;
	align-items: center;
}

.video-button-default-glyph::before {
	content: "";
	display: block;
	width: var(--video-button-glyph-width);
	height: var(--video-button-glyph-height);
	background: var(--video-button-glyph-color, currentColor);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.video-button-default-glyph:not(.video-button-default-glyph-has-text) {
	padding-left: calc(var(--video-button-glyph-width) * .25);
}

.video-button-default-glyph-has-text::before {
	content: none;
}

.video-button-default-text {
	font-size: var(--video-button-glyph-height);
}

.video-button-default-text-svg {
	transform-style: preserve-3d;
	max-width: none;
	top: -100%;
	left: -100%;
	right: -100%;
	bottom: -100%;
	margin: auto;
	font-size: calc(1em * 1 / var(--video-button-text-svg-radius-ratio));
	width: calc(200% * var(--video-button-text-svg-radius-ratio));
	height: calc(200% * var(--video-button-text-svg-radius-ratio));
}

.video-button-default-text-svg-path {
	transform-origin: center center;
}

.video-button-default-text-html span {
	top: 0;
	bottom: 0;
	width: -moz-max-content;
	width: max-content;
	height: -moz-max-content;
	height: max-content;
}

.video-button-default-text-html span:not(.video-button-default-text-html-separator):first-child {
	right: 100%;
	margin-right: 1em;
}

.video-button-default-text-html span:not(.video-button-default-text-html-separator):last-child {
	left: 100%;
	margin-left: 1em;
}

.video-button-default-image-init:not(:only-child), .video-button-default:is(:hover, :focus) .video-button-default-image-hover, .video-pointer-reference:is(:hover, :focus-within) .video-button-default-image-hover {
	opacity: 1;
}

.video-button-default-image-hover, .video-button-default:is(:hover, :focus) .video-button-default-image-init:not(:only-child), .video-pointer-reference:is(:hover, :focus-within) .video-button-default-image-init:not(:only-child) {
	opacity: 0;
}

/* Video Button Customizations: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/includes/helper/video-button.md#css-vars
--------------------------------------------------------------- */
.video-button-default {
	--video-button-size: 80px;
	--video-button-text-svg-radius-ratio: 1.25;
	--video-button-text-svg-start-offset: 50%;
	--video-button-glyph-height: .18em;
	--video-button-glyph-width: .14em;
	--video-button-glyph-color: currentColor;
	color: var(--color-light);
}

.video-button-default, .video-button-default-image, .video-button-default-text, .video-button-default::before, .video-button-default::after, .video-button-default-thumbnail-markup::after {
	transition-duration: .25s;
	transition-timing-function: ease-in-out;
}

.video-button-default, .video-button-default-image, .video-button-default-text, .video-button-default-thumbnail-markup::after {
	transition-property: opacity, left, top, bottom, right, width, height;
}

.video-button-default::before, .video-button-default::after {
	transition-property: all;
}

.video-thumbnail .video-button-default {
	/* customize instances of video button within thumbnail*/
	--video-button-size: 60px;
}

.video-thumbnail .video-button-default:is(:hover, :focus), .video-pointer-reference:is(:hover, :focus-within) .video-thumbnail .video-button-default {
	--video-thumbnail-overlay-opacity: .8;
}

@media only screen and (min-width: 768px) {
	.video-thumbnail .video-button-default {
		--video-button-size: 68px;
	}
}

@media only screen and (min-width: 1200px) {
	.video-thumbnail .video-button-default {
		--video-button-size: 75px;
	}
}

@media only screen and (min-width: 1400px) {
	.video-button-default {
		--video-button-size: 80px;
	}
	
	.video-thumbnail .video-button-default {
		--video-button-size: 80px;
	}
}

.video-button-default-glyph {
	letter-spacing: .05em;
	text-transform: uppercase;
	font-weight: 700;
}

.video-button-default-glyph::before {
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.video-button-default-text {
	font-size: .75rem;
	line-height: 1;
	color: var(--color-neutral);
	letter-spacing: .05em;
	text-transform: uppercase;
	font-weight: 700;
}

.video-button-default-text-separator {
	color: inherit;
}

.video-button-default-text-svg {
	transform: rotate(32deg);
	color: inherit;
}

.video-button-default-text-html > span {
	top: 0;
	bottom: 0;
}

.video-button-default.video-button-default-no-icon {
	/* tru element/background */
	
	/* these are basic styles. overhaul as needed */
	background: rgba(255, 255, 255, .42);
	box-shadow: 0 0 0 0 rgba(255, 255, 255, .42);
}

.video-button-default.video-button-default-no-icon, .video-button-default.video-button-default-no-icon::before, .video-button-default.video-button-default-no-icon::after {
	/* these are basic styles. overhaul as needed */
	border-radius: 999em;
	transform: scale(1);
}

.video-button-default.video-button-default-no-icon::before {
	/* fake extra background */
	
	/* these are basic styles. overhaul as needed */
	background: linear-gradient(to bottom, var(--color-accent-gradient-start), var(--color-accent-gradient-end));
	z-index: -1;
	top: .1em;
	bottom: .1em;
	left: .1em;
	right: .1em;
}

.video-button-default.video-button-default-no-icon::after {
	/* other element for fx */
	
	/* these are basic styles. overhaul as needed */
	top: .15em;
	bottom: .15em;
	left: .15em;
	right: .15em;
}

.video-button-default.video-button-default-no-icon:is(:hover, :focus), .video-pointer-reference:is(:hover, :focus-within) .video-button-default.video-button-default-no-icon {
	/* on hover on itself/ containing repeater/ .video-pointer-reference */
	--video-button-glyph-color: linear-gradient(to bottom, var(--color-light-alt), var(--color-light));
}

.video-button-default.video-button-default-no-icon:is(:hover, :focus)::before, .video-pointer-reference:is(:hover, :focus-within) .video-button-default.video-button-default-no-icon::before {
	/* these are basic styles. overhaul as needed */
	background: var(--color-secondary);
}

.video-button-default.video-button-default-no-icon:is(:hover, :focus)::after, .video-pointer-reference:is(:hover, :focus-within) .video-button-default.video-button-default-no-icon::after {}

.video-thumbnail .video-button-default.video-button-default-no-icon:is(:hover, :focus), .video-pointer-reference:has(.video-thumbnail .video-button-default.video-button-default-no-icon):is(:hover, :focus-within) .video-button-default.video-button-default-no-icon {}

.video-thumbnail .video-button-default.video-button-default-no-icon:is(:hover, :focus)::before, .video-pointer-reference:has(.video-thumbnail .video-button-default.video-button-default-no-icon):is(:hover, :focus-within) .video-button-default.video-button-default-no-icon::before {}

.video-thumbnail .video-button-default.video-button-default-no-icon:is(:hover, :focus)::after, .video-pointer-reference:has(.video-thumbnail .video-button-default.video-button-default-no-icon):is(:hover, :focus-within) .video-button-default.video-button-default-no-icon::after {}

/* Video Pointer Reference
--------------------------------------------------------------- */
.video-pointer-reference {
	cursor: pointer;
}

/* Video Thumbnail https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/includes/helper/video-thumbnail.md
--------------------------------------------------------------- */

/* Video Thumbnail Skeletons. No need to edit 
--------------------------------------------------------------- */
.video-thumbnail {
	--cover-aspect-w: var(--video-thumbnail-aspect-w);
	--cover-aspect-l: var(--video-thumbnail-aspect-l);
	flex: 0 0 auto;
	position: relative;
	background-color: var(--color-dark);
}

.video-thumbnail-markup {
	border-radius: inherit;
	overflow: hidden;
	background-color: var(--color-dark);
}

.video-thumbnail-markup[href]::after, .video-thumbnail-markup.wistia_embed::after {
	/* overlay */
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	pointer-events: none;
	background: var(--video-thumbnail-overlay-background);
	opacity: var(--video-thumbnail-overlay-opacity);
	mix-blend-mode: var(--video-thumbnail-overlay-mix-blend);
	-webkit-backdrop-filter: var(--video-thumbnail-overlay-backdrop-filter);
	backdrop-filter: var(--video-thumbnail-overlay-backdrop-filter);
}

.video-thumbnail-markup-img img {
	max-width: none;
}

/* force object fit cover where we need to, im looking at you wistia
--------------------------------------------------------------- */
:is(.video-thumbnail-markup > *, .video-thumbnail-markup img) {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	position: absolute !important;
	top: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	right: 0 !important;
	-o-object-fit: cover !important;
	object-fit: cover !important;
	margin: 0 !important;
}

/* Video Thumbnail
https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/includes/helper/video-thumbnail.md#css-vars
--------------------------------------------------------------- */
.video-thumbnail {
	--video-thumbnail-aspect-w: 16;
	--video-thumbnail-aspect-l: 9;
	--video-thumbnail-overlay-background: var(--color-dark-alt) linear-gradient(to bottom right, var(--color-dark), var(--color-dark-alt));
	--video-thumbnail-overlay-opacity: 0;
	--video-thumbnail-overlay-backdrop-filter: none;
	--video-thumbnail-overlay-mix-blend: multiply;
	border-radius: 5px;
	box-shadow: 0px 3px 10px var(--color-neutral-lightest);
	margin-bottom: 15px;
}

.video-thumbnail:is(:hover, :focus), .video-pointer-reference:is(:hover, :focus-within) .video-thumbnail {
	--video-thumbnail-overlay-opacity: .8;
}

@media only screen and (min-width: 768px) {
	.video-thumbnail {
		margin-bottom: 20px;
	}
}

@media only screen and (min-width: 1200px) {
	.video-thumbnail {
		margin-bottom: 27px;
	}
}

.video-thumbnail-markup[href]::after, .video-thumbnail-markup.wistia_embed::after {
	/* overlay */
	transition: .25s ease-in-out all;
}

/* includes/repeater-video
--------------------------------------------------------------- */
.video {}

.video {
	max-width: 100%;
}

.video, .video-container {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.video-container {
	width: 100%;
	flex: 1 1;
	gap: 0rem;
}

.video-title {
	flex: 1 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: 18px;
	line-height: 28px;
	color: var(--color-primary);
	letter-spacing: .03em;
	text-transform: uppercase;
	text-align: center;
	margin-block: 0;
}

@media only screen and (min-width: 1920px) {
	.video-title {
		font-size: 19px;
	}
}

.video-description {
	flex: 1 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: 17px;
	line-height: 26px;
	font-family: var(--font-secondary);
	letter-spacing: .03em;
	text-transform: capitalize;
	text-align: center;
	margin-block: 0;
}

@media only screen and (min-width: 1920px) {
	.video-description {
		font-size: 18px;
	}
}

/* ================================================================================
* Parts 
================================================================================ */

/* Review Us Page https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/parts/review-us.md
--------------------------------------------------------------- */
.review-us {
	text-align: center;
}

.review-us-columns {
	--columns-gap-x: 4em;
	--columns-gap-y: 2em;
	align-items: flex-end;
	justify-content: center;
}

.review-us-columns .button {
	margin-top: 1em;
}

.review-us, .review-us-video {
	margin-top: 3em;
}

@media only screen and (min-width: 768px) {
	.review-us-columns {
		--columns-number: 2;
	}
	
	.review-us-columns .button {
		width: 100%;
	}
}

/* Awards https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/parts/awards.md
--------------------------------------------------------------- */

/* ================================================================================
* Header
================================================================================ */

/* Layout Header https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/layout/header.md
Note: The styles will be setup mobile first starting with the smallest device comp where the header menu toggle is no longer visible  (usually initially at md/laptop)
And then Desktop first starting with the largest device comp where the the header toggle is visible (Usually sm/tablet)
Tip: setting up mobile navigation desktop-first starting at sm-max for touch screen styles, and then mobile-first starting at md for desktop styles helps simplify the styles and lessen the need for overrides.
Also Tip: Default styles are set based on its sticky state, and then overriding these styles when no scroll has happened yet (.doc-header-not-sticky). This is to keep styles less repetitive and as simple as possible
--------------------------------------------------------------- */

/* Layout Header Variables
--------------------------------------------------------------- */

/* Tip: placing the css var on :root can allow elements outside of the layout header utilize the variable if needed ie sticky stuff, offsets, jump link scroll etc. */
:root {
	--layout-header-height: 150px;
	--layout-header-offset: 0px;
	--layout-header-logo-height: var(--layout-header-height);
}

@media only screen and (min-width: 1200px) {
	:root {}
}

@media only screen and (min-width: 1400px) {
	:root {
		--layout-header-height: 157px;
	}
}

@media only screen and (max-width: 1199px) {
	:root {
		/* Touch Devices Header Styles Start */
		--layout-header-height: 90px;
	}
}

@media only screen and (max-width: 767px) {
	:root {
		--layout-header-height: 125px;
		--layout-header-logo-height: 80px;
	}
}

.doc-header-not-sticky .header-can-overlap {}

@media only screen and (min-width: 1200px) {
	.doc-header-not-sticky .header-can-overlap {
		/* override logo height apart form the header height on this state only. Adjust as needed */
		--layout-header-logo-height: 150px;
		--layout-header-offset: 20px;
	}
}

@media only screen and (min-width: 1400px) {
	.doc-header-not-sticky .header-can-overlap {
		--layout-header-offset: 20px;
	}
}

@media only screen and (max-width: 1199px) {
	:not(.doc-header-menu-open).doc-header-not-sticky .header-can-overlap {
		/* Touch Devices Header Styles Start */
		
		/* offset: one top value might work for the design. NOTE: adjust ilawyer alertbar settings accordingly if enabled (dynamic margin, offset to bottom on touch devices, position, etc.) */
		--layout-header-offset: 0px;
	}
}

.doc-header-menu-open {}

@media only screen and (max-width: 1199px) {
	.doc-header-menu-open {}
}

/* Offset the scroll by the header height so the element a jump link scrolls to us not underneath the header but instead compensates to the header height and scrolls just next to it
--------------------------------------------------------------- */
html, body {
	scroll-padding: calc(var(--layout-header-height) + var(--layout-header-offset, 0px)) !important;
}

/* Layout Header Overlaps
	NOTE: Classes to use:
		.has-layout-header-offset => the element within the layout that will have the negative margins to overlap itself
--------------------------------------------------------------- */
@media only screen and (min-width: 1200px) {
	.header-can-overlap .has-layout-header-offset:not(:has(.has-layout-header-offset)):is(:is(.template-wrapper > :first-child), :is(.template-wrapper > :first-child) *)::before {
		content: "";
		flex: 0 0 auto;
		grid-column: 1/-1;
		height: var(--layout-header-height);
		display: block;
		width: 100%;
	}
	
	.header-can-overlap:has(.has-layout-header-offset) .layout-header {
		position: fixed;
	}
}

/* Layout Header Itself
--------------------------------------------------------------- */
.layout-header {
	/* Note: position must be set initially, NOT based on whether or not a scroll has occured (sticky vs not-sticky class). This is to prevent layout jumps on scroll */
	position: sticky;
	top: var(--layout-header-offset, 0px);
	left: 0;
	z-index: 999;
	width: 100%;
	background-color: var(--scheme-bg, var(--color-dark-alt));
	color: var(--scheme-fg, var(--color-light));
	transition: .25s top ease-in-out;
	box-shadow: 0 0 10px -5px rgba(0, 0, 0, .8);
}

@media only screen and (min-width: 1200px) {
	.layout-header {}
	
	.layout-header-container {
		--container-gutter: 25px;
	}
}

@media only screen and (min-width: 1400px) {
	.layout-header-container {
		--container-gutter: 30px;
	}
}

@media only screen and (max-width: 1199px) {
	.layout-header {}
	
	.layout-header-container {
		--container-gutter: 22px;
	}
}

@media only screen and (max-width: 767px) {
	.layout-header {
		background: var(--color-neutral-dark);
	}
}

.doc-header-not-sticky .header-can-overlap .layout-header {}

@media only screen and (min-width: 1200px) {
	.doc-header-not-sticky .header-can-overlap .layout-header {
		/* remove background */
		background: transparent;
		box-shadow: none;
	}
}

@media only screen and (max-width: 1199px) {
	:not(.doc-header-menu-open).doc-header-not-sticky .header-can-overlap .layout-header {}
}

.doc-header-not-sticky .layout-header {}

@media only screen and (max-width: 767px) {
	.doc-header-not-sticky .layout-header {
		/* reset offset when no scrolling yet */
		--layout-header-offset: 0;
	}
}

.doc-header-menu-open .layout-header {}

.header-can-overlap .layout-header {}

/* Header Blocks - How elements will be layed out in the header
--------------------------------------------------------------- */
:where(.header-block, .header-blocks) {
	/* uncomment if flex/grid is causing any issues*/
	min-width: 0;
}

.header-blocks {
	justify-content: center;
	align-items: center;
	-moz-column-gap: var(--container-gutter);
	column-gap: var(--container-gutter);
	row-gap: 0rem;
	display: grid;
	min-height: var(--layout-header-height);
}

.header-block:is(.header-logo) {
	grid-area: logo;
	justify-self: self-start;
	height: var(--layout-header-logo-height);
}

.header-block:is(.header-nav) {
	grid-area: nav;
}

.header-block:is(.header-cta) {
	grid-area: cta;
}

.header-block:is(.header-toggle-menu) {
	grid-area: toggle-menu;
	align-self: stretch;
}

@media only screen and (min-width: 1200px) {
	.header-block {}
	
	.header-blocks {
		grid-template-columns: auto 1fr;
		grid-template-rows: 1fr auto;
		grid-template-areas: "logo cta" "logo nav";
		row-gap: 0rem;
	}
	
	.header-block:is(.header-nav) {
		justify-self: self-end;
		align-self: stretch;
	}
	
	.header-block:is(.header-cta) {
		justify-self: self-end;
	}
}

@media only screen and (max-width: 1199px) {
	.header-block {}
	
	.header-blocks {
		margin-inline: calc(var(--container-gutter, 0px) * -1);
		grid-template-columns: auto 1fr auto;
		grid-template-areas: "logo cta toggle-menu";
	}
	
	.header-block:is(.header-cta) {
		justify-self: self-end;
	}
}

@media only screen and (max-width: 767px) {
	.header-blocks {
		grid-template-columns: 1fr auto;
		grid-template-rows: auto 1fr;
		grid-template-areas: "logo toggle-menu" "cta cta";
		-moz-column-gap: 0;
		column-gap: 0;
	}
	
	.header-block:is(.header-logo) {
		justify-self: stretch;
	}
	
	.header-block:is(.header-cta) {
		justify-self: stretch;
		align-self: stretch;
	}
}

.doc-header-not-sticky .header-can-overlap .header-block {}

@media only screen and (min-width: 1200px) {
	.doc-header-not-sticky .header-can-overlap .header-block:is(.header-nav) {
		align-self: self-end;
	}
}

@media only screen and (min-width: 1200px) and (max-width: 1919px) {
	.doc-header-not-sticky .header-can-overlap .header-block:is(.header-nav) {
		align-self: stretch;
	}
}

@media only screen and (max-width: 1199px) {
	:not(.doc-header-menu-open).doc-header-not-sticky .header-can-overlap .header-block {}
}

.doc-header-not-sticky .header-block {}

.header-block .doc-header-menu-open {}

/* Header Logo
--------------------------------------------------------------- */
.header-logo {
	padding-block: 37.5px;
	flex: 0 0 auto;
	position: relative;
}

.header-logo .logo-wrapper-br, .header-logo .logo-wrapper-before-sticky {
	/* hide possible variations of logo */
	display: none;
}

@media only screen and (min-width: 1200px) {
	.header-logo {
		/* Non-touch Devices Header Styles Start */
		margin-left: calc(var(--container-gutter, 0px) * -1);
		padding-inline: calc(var(--container-gutter, 1.5rem) + 10px);
	}
}

@media only screen and (min-width: 1400px) {
	.header-logo {
		padding-block: 32px 33px;
		padding-inline: var(--container-gutter, 1.5rem) 0;
	}
}

@media only screen and (min-width: 1920px) {
	.header-logo {
		padding-block: 28px 32px;
	}
}

@media only screen and (max-width: 1199px) {
	.header-logo {
		/* Touch Devices Header Styles Start */
		padding-block: 14px;
		padding-inline: var(--container-gutter, 1rem);
	}
}

@media only screen and (max-width: 767px) {
	.header-logo {
		padding-block: 12.5px;
		max-width: 100%;
		width: 100%;
		background-color: var(--color-dark-alt);
	}
	
	.header-logo .logo-wrapper-br {
		/* show  */
		display: block;
	}
	
	.header-logo .logo-wrapper-br ~ .logo-wrapper-nonbr {
		display: none;
	}
}

.doc-header-not-sticky .header-can-overlap .header-logo {}

@media only screen and (min-width: 1200px) {
	.doc-header-not-sticky .header-can-overlap .header-logo {
		background-color: transparent;
	}
	
	.doc-header-not-sticky .header-can-overlap .header-logo .logo-wrapper-sticky, .doc-header-not-sticky .header-can-overlap .header-logo .logo-wrapper-before-sticky ~ .logo-wrapper-br {
		/* hide default logo on before sticky */
		display: none;
	}
	
	.doc-header-not-sticky .header-can-overlap .header-logo .logo-wrapper-before-sticky {
		/* show  */
		display: block;
	}
}

@media only screen and (max-width: 1199px) {
	:not(.doc-header-menu-open).doc-header-not-sticky .header-can-overlap .header-logo {}
}

.doc-header-not-sticky .header-logo {}

.doc-header-menu-open .header-logo {}

/* Header Toggle/s - Scaffolding for usual box buttons
--------------------------------------------------------------- */
.header-toggle {
	width: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	flex: 0 0 auto;
	padding: 0;
}

@media only screen and (min-width: 768px) {
	.header-toggle {
		width: 90px;
	}
}

@media only screen and (min-width: 1200px) {
	.header-toggle {}
}

@media only screen and (max-width: 1199px) {
	.header-toggle {}
}

.doc-header-not-sticky .header-can-overlap .header-toggle {}

@media only screen and (max-width: 1199px) {
	:not(.doc-header-menu-open).doc-header-not-sticky .header-can-overlap .header-toggle {}
}

.doc-header-not-sticky .header-toggle {}

@media only screen and (max-width: 1199px) {
	.doc-header-not-sticky .header-toggle {}
}

.doc-header-menu-open .header-toggle {}

@media only screen and (max-width: 1199px) {
	.doc-header-menu-open .header-toggle {}
}

.doc-header-menu-open.doc-header-not-sticky .header-toggle {}

@media only screen and (max-width: 1199px) {
	.doc-header-menu-open.doc-header-not-sticky .header-toggle {}
}

/* Header Toggle - Menu
--------------------------------------------------------------- */
.header-toggle-menu {
	--layout-header-menu-toggle-open-offset: 0px;
	padding-top: .425em;
	background: var(--color-accent) linear-gradient(to right, var(--color-neutral-darkest), var(--color-neutral-darker));
	color: inherit;
	position: relative;
	z-index: 99999;
	top: 0;
	transition: .375s all ease-in-out;
	order: 99;
}

.header-toggle-menu-icon {
	--fancy-icon-menu-width: 46px;
	--fancy-icon-menu-height: 22px;
	--fancy-icon-menu-bar-height: 4px;
}

.header-toggle-menu.open .header-toggle-menu-icon {
	color: inherit;
}

.header-toggle-menu-label {
	font-size: 14px;
	font-family: var(--font-secondary);
	letter-spacing: .1em;
	text-transform: uppercase;
	font-style: normal;
	font-weight: 700;
	text-align: center;
	margin-top: .25em;
	transition: .375s all ease-in-out;
}

.header-toggle-menu.open .header-toggle-menu-label {
	margin-top: -1em;
	opacity: 0;
}

.header-toggle-menu.open .header-toggle-menu-label:nth-last-child(2) {
	display: none;
}

.header-toggle-menu:not(.open) .header-toggle-menu-label:nth-child(3) {
	display: none;
}

@media only screen and (min-width: 768px) {
	.header-toggle-menu-label {
		font-size: 16px;
	}
	
	.header-toggle-menu-icon {
		--fancy-icon-menu-width: 52px;
		--fancy-icon-menu-height: 25px;
		--fancy-icon-menu-bar-height: 4px;
	}
}

@media only screen and (min-width: 1200px) {
	.header-toggle-menu {}
}

@media only screen and (max-width: 1199px) {
	.header-toggle-menu {}
}

@media only screen and (max-width: 767px) {
	.header-toggle-menu {
		--layout-header-menu-toggle-open-offset: calc(var(--layout-header-logo-height) * -1);
	}
}

.doc-header-not-sticky .header-can-overlap .header-toggle-menu {}

@media only screen and (max-width: 1199px) {
	:not(.doc-header-menu-open).doc-header-not-sticky .header-can-overlap .header-toggle-menu {}
}

.doc-header-not-sticky .header-toggle-menu {}

.doc-header-menu-open .header-toggle-menu {}

.doc-header-menu-open.doc-header-not-sticky .header-toggle-menu {}

/* Header Toggle - Other Block toggles
--------------------------------------------------------------- */
@media only screen and (min-width: 1200px) {
	.header-toggle- {}
}

@media only screen and (max-width: 1199px) {
	.header-toggle- {}
}

.doc-header-not-sticky .header-can-overlap .header-toggle- {}

@media only screen and (max-width: 1199px) {
	:not(.doc-header-menu-open).doc-header-not-sticky .header-can-overlap .header-toggle- {}
}

.doc-header-not-sticky .header-toggle- {}

.doc-header-menu-open .header-toggle- {}

.doc-header-menu-open.doc-header-not-sticky .header-toggle- {}

/* Header CTA
--------------------------------------------------------------- */
.header-cta {
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: flex-end;
	text-align: right;
	gap: 1rem;
}

@media only screen and (min-width: 1200px) {
	.header-cta {
		/* Non-touch Devices Header Styles Start */
		flex-direction: row;
		align-items: center;
		padding-inline: 0;
		gap: .5rem;
	}
}

@media only screen and (min-width: 1400px) {
	.header-cta {
		gap: 12px;
	}
}

@media only screen and (min-width: 1920px) {
	.header-cta {
		margin-bottom: 0;
	}
}

@media only screen and (max-width: 1199px) {
	.header-cta {
		/* Touch Devices Header Styles Start */
		gap: 0;
	}
}

@media only screen and (max-width: 767px) {
	.header-cta {
		text-align: center;
		align-items: center;
		flex: 1 1;
		padding-inline: 13px;
		gap: 5px;
		flex-direction: row;
		justify-content: center;
	}
}

.doc-header-not-sticky .header-can-overlap .header-cta {}

@media only screen and (max-width: 1199px) {
	:not(.doc-header-menu-open).doc-header-not-sticky .header-can-overlap .header-cta {}
}

.doc-header-not-sticky .header-cta {}

.doc-header-menu-open .header-cta {}

/* Header CTA - Text
--------------------------------------------------------------- */
.header-cta-text {
	display: flex;
	gap: 6px;
	align-items: center;
	font-size: 14px;
	line-height: 1.5;
	font-family: var(--font-secondary);
	color: var(--color-accent);
	letter-spacing: .03em;
	text-transform: uppercase;
	font-weight: 700;
}

.header-cta-text .content-icon {
	font-size: 13px;
}

@media only screen and (min-width: 768px) {
	.header-cta-text {
		/* Non-touch Devices Header Styles Start */
		font-size: 19px;
	}
	
	.header-cta-text .content-icon {
		font-size: 17px;
	}
}

@media only screen and (min-width: 1200px) {
	.header-cta-text {
		margin-top: 5px;
	}
}

@media only screen and (min-width: 1400px) {
	.header-cta-text {
		font-size: 22px;
	}
	
	.header-cta-text .content-icon {
		font-size: 19px;
	}
}

@media only screen and (max-width: 1199px) {
	.header-cta-text {}
}

.doc-header-not-sticky .header-can-overlap .header-cta-text {}

@media only screen and (min-width: 1200px) {
	.doc-header-not-sticky .header-can-overlap .header-cta-text {
		color: inherit;
	}
}

@media only screen and (max-width: 1199px) {
	:not(.doc-header-menu-open).doc-header-not-sticky .header-can-overlap .header-cta-text {}
}

.doc-header-not-sticky .header-cta-text {}

.doc-header-menu-open .header-cta-text {}

.header-button {
	margin-left: 5px;
}

.header-button .button {
	background: linear-gradient(to right, var(--color-neutral-darkest), var(--color-neutral-darker));
	border: transparent;
}

@media only screen and (min-width: 1920px) {
	.header-button {
		margin-left: 10px;
	}
}

/* Header Number/s
--------------------------------------------------------------- */
.header-numbers {
	display: flex;
	gap: 1rem;
}

.header-numbers .number-link {
	font-size: 22px;
	line-height: 32px;
}

@media only screen and (min-width: 768px) {
	.header-numbers .number-link {
		font-size: 28px;
	}
}

@media only screen and (min-width: 1200px) {
	.header-numbers {}
}

@media only screen and (min-width: 1400px) {
	.header-numbers .number-link {
		font-size: 32px;
	}
}

@media only screen and (max-width: 1199px) {
	.header-numbers {}
}

.doc-header-not-sticky .header-can-overlap .header-numbers {}

@media only screen and (max-width: 1199px) {
	:not(.doc-header-menu-open).doc-header-not-sticky .header-can-overlap .header-numbers {}
}

.doc-header-not-sticky .header-numbers {}

.doc-header-menu-open .header-numbers {}

/* Header Navigation
--------------------------------------------------------------- */
.header-nav {
	--layout-header-menu-touch-offset: 0px;
}

@media only screen and (min-width: 1200px) {
	.header-nav {}
	
	.header-nav {
		display: flex;
		justify-content: center;
		align-self: stretch;
		flex: 1 1;
	}
}

@media only screen and (min-width: 1200px) and (max-width: 1919px) {
	.header-nav {
		justify-content: flex-end;
		flex: 0 0 auto;
	}
}

@media only screen and (max-width: 1199px) {
	.header-nav {
		/* Touch Devices Header Styles Start */
		--layout-header-menu-touch-offset: var(--layout-header-height);
		transition: top .25s ease-in-out, left .5s ease-in-out, opacity .5s ease-in-out;
		width: 100%;
		overflow-x: hidden;
		overflow-y: scroll;
		display: flex;
		flex-wrap: wrap;
		opacity: 0;
		z-index: 9999;
		scrollbar-width: none;
		position: fixed;
		bottom: 0;
		left: 100%;
		top: var(--layout-header-menu-touch-offset);
		box-shadow: inset 0 5px 10px -5px rgba(0, 0, 0, .8);
	}
	
	.header-nav::-webkit-scrollbar {
		display: none;
	}
}

@media only screen and (max-width: 767px) {
	.header-nav {
		--layout-header-menu-touch-offset: var(--layout-header-height);
		box-shadow: none;
	}
}

.doc-header-not-sticky .header-can-overlap .header-nav {}

@media only screen and (min-width: 1200px) {
	.doc-header-not-sticky .header-can-overlap .header-nav {
		color: inherit;
	}
}

@media only screen and (max-width: 1199px) {
	:not(.doc-header-menu-open).doc-header-not-sticky .header-can-overlap .header-nav {}
}

.doc-header-not-sticky .header-nav {}

.doc-header-menu-open .header-nav {}

@media only screen and (max-width: 1199px) {
	.doc-header-menu-open .header-nav {
		left: 0%;
		opacity: 1;
	}
}

.doc-header-menu-open.doc-header-not-sticky .header-nav {}

/* Header Navigation Menu
--------------------------------------------------------------- */
.header-nav .menu {
	--layout-header-menu-touch-menu-padding-x: var(--container-gutter, 2rem);
	--layout-header-menu-nontouch-dropdown-padding-x: 1.875rem;
	--layout-header-menu-nontouch-current-height: 3px;
	font-size: 16px;
	line-height: 1.125;
	font-family: var(--font-secondary);
	color: var(--color-dark);
	text-transform: uppercase;
	font-weight: 700;
}

.header-nav .menu li {
	display: flex;
	flex-wrap: wrap;
}

.header-nav .menu li, .header-nav .menu li > a {
	position: relative;
}

.header-nav .menu li > a {
	padding-block: .625em;
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	transition: .125s ease-in-out all;
	gap: .25em;
	flex: 1 0;
	justify-content: flex-start;
}

.header-nav .menu li:last-child, .header-nav .menu li:last-child > a {
	/* disable border for last items */
	border: none;
}

.header-nav .menu li:is(.menu-item-has-children) > a::after {
	display: inline-block;
	align-self: center;
	flex: 0 0 auto;
	content: "";
	height: .375em;
	width: .75em;
	vertical-align: middle;
	background: var(--color-accent);
	clip-path: polygon(0 0, 50% 100%, 100% 0);
}

.header-nav .menu ul {
	background-color: var(--color-neutral-lighter);
	color: var(--color-dark);
}

.header-nav .menu ul:is(.menu-item-has-children) > a::after {
	color: inherit;
}

@media only screen and (min-width: 768px) {
	.header-nav .menu li > a {
		padding-block: .75em;
	}
}

@media only screen and (min-width: 1200px) {
	.header-nav .menu {
		color: var(--color-light);
		gap: 1.25rem;
		display: flex;
		justify-content: space-between;
		position: relative;
	}
	
	.header-nav .menu li:is(:hover, :focus-within) ~ li > ul, .header-nav .menu li:not(:hover, :focus-within) > ul {
		display: none !important;
	}
	
	.header-nav .menu li {
		position: relative;
		padding-left: var(--layout-header-menu-nontouch-dropdown-padding-x);
		padding-right: var(--layout-header-menu-nontouch-dropdown-padding-x);
	}
	
	.header-nav .menu li > a {
		flex: 1 1;
		justify-content: flex-start;
	}
	
	.header-nav .menu li:is(:hover, :focus-within) > a {
		/* activated styles upon interaction for nontouch */
		color: var(--scheme-sp, var(--color-accent));
	}
	
	.header-nav .menu li:is(.menu-item-special) > ul {
		width: 40em;
		right: -4em;
		left: auto;
	}
	
	.header-nav .menu li:is(.menu-item-special) > ul li {
		flex-direction: column;
		border-block: 0;
	}
	
	.header-nav .menu li:is(.menu-item-special) > ul li.view-all {
		align-items: flex-end;
	}
	
	.header-nav .menu li:is(.menu-item-special) > ul li ul {
		display: block !important;
		position: static;
		background: none;
		box-shadow: none;
		color: inherit;
		padding: 0;
		width: auto;
		-moz-column-count: 3;
		column-count: 3;
		gap: var(--layout-header-menu-touch-menu-padding-x);
	}
	
	.header-nav .menu li:is(.menu-item-special) > ul li ul li > a {
		padding-block: .5em;
	}
	
	.header-nav .menu li:is(.menu-item-special) > ul > li {
		margin-bottom: 2rem;
	}
	
	.header-nav .menu ul {
		width: 240px;
		padding-block: .625rem;
		top: 0;
		left: 100%;
		position: absolute;
		box-shadow: 0 0 10px -5px rgba(0, 0, 0, .8);
		z-index: 1;
	}
	
	.header-nav .menu ul li:is(.menu-item-has-children) > a::after {
		transform-origin: center center;
		color: inherit;
	}
	
	.header-nav .menu > li {
		flex-direction: row;
		padding-left: 0;
		padding-right: 0;
	}
	
	.header-nav .menu > li > a {
		padding-block: .875rem 30px;
		border: none;
	}
	
	.header-nav .menu > li:is(:hover, :focus-within), .header-nav .menu > li:is(:hover, :focus-within) > a {
		/* undo fanciness from non-media query scaffolding for top level menu item and its child a tag */
		border: none;
		background: none;
		color: var(--color-accent);
		margin: 0;
	}
	
	.header-nav .menu > li:is(:hover, :focus-within)::before {}
	
	.header-nav .menu > li:is(.current-menu-item, .current-menu-ancestor) > a {
		color: var(--color-accent);
	}
	
	.header-nav .menu > li:is(.current-menu-item, .current-menu-ancestor)::before {}
	
	.header-nav .menu > li:is(.current-menu-item, .current-menu-ancestor, :hover, :focus-within)::before {
		/* current menu item indicator if active */
		width: 100%;
	}
	
	.header-nav .menu > li:is(.menu-item-has-children) > a::after {
		color: var(--color-accent);
	}
	
	.header-nav .menu > li > ul {
		top: 100%;
		left: 0;
	}
	
	.header-nav .menu > li > ul > li:is(:hover, :focus-within) > a {
		color: var(--color-secondary);
	}
	
	.header-nav .menu > li > ul ul {
		background-color: var(--color-light);
	}
	
	.header-nav .menu > li > ul ul li:is(:hover, :focus-within) > a {
		color: var(--color-secondary);
	}
	
	.header-nav .menu ul ul ul {
		left: calc(var(--layout-header-menu-nontouch-dropdown-padding-x) * 2);
		top: 100%;
		transform: none;
	}
}

@media only screen and (min-width: 1200px) and (max-width: 1919px) {
	.header-nav .menu > li > a {
		padding-top: 0;
	}
	
	.header-nav .menu > li:nth-last-child(-n+2) > ul {
		left: auto;
		transform: none;
		right: 0;
	}
	
	.header-nav .menu > li:nth-last-child(-n+2) > ul ul {
		right: calc(var(--layout-header-menu-nontouch-dropdown-padding-x) * 2);
		left: auto;
	}
}

@media only screen and (min-width: 1400px) {
	.header-nav .menu {
		font-size: 20px;
		gap: 15px;
	}
}

@media only screen and (min-width: 1920px) {
	.header-nav .menu {
		gap: 35px;
	}
	
	.header-nav .menu li > a {
		padding-block: 5px 25px;
	}
	
	.header-nav .menu ul {
		width: 270px;
		padding-block: 1.5rem 0;
	}
}

@media only screen and (max-width: 1199px) {
	.header-nav .menu {
		background: var(--color-light);
		color: var(--color-dark);
		font-size: 20px;
		padding-top: 30px;
		padding-bottom: 30px;
		width: 100%;
		box-shadow: inherit;
	}
	
	.header-nav .menu li:not(.open) > ul {
		display: none;
	}
	
	.header-nav .menu li {
		padding-left: var(--layout-header-menu-touch-menu-padding-x);
		padding-right: var(--layout-header-menu-touch-menu-padding-x);
	}
	
	.header-nav .menu li ul {
		margin-left: calc(var(--layout-header-menu-touch-menu-padding-x) * -1);
		margin-right: calc(var(--layout-header-menu-touch-menu-padding-x) * -1);
	}
	
	.header-nav .menu li > a {
		flex: 1 0 100%;
		justify-content: center;
		text-align: center;
	}
	
	.header-nav .menu li:is(.menu-item-has-children) > a::after {
		margin-right: -1.7ch;
	}
	
	.header-nav .menu li:is(:hover, :focus-within, .open) > a {
		/* activated styles upon interaction for touch */
		color: var(--scheme-sp, var(--color-secondary));
	}
	
	.header-nav .menu li:is(.open) {
		border-bottom: 0;
	}
	
	.header-nav .menu li:is(.open) > a {
		border-bottom: 0;
	}
	
	.header-nav .menu ul {
		position: relative;
		background-color: var(--color-neutral-lighter);
		color: inherit;
		align-self: stretch;
		order: 99;
		flex: 1 0 100%;
	}
	
	.header-nav .menu ul:has(> li:last-child.open) {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
	
	.header-nav .menu > li > ul::before {
		position: relative;
		display: block;
		content: "";
		width: 100%;
		height: 3px;
		background: linear-gradient(to right, var(--color-accent-gradient-start), var(--color-accent-gradient-end));
		margin-bottom: .5rem;
	}
	
	.header-nav .menu > li > ul ul {
		background-color: var(--color-light);
		padding-block: .625rem;
		margin-block: .625rem 0;
	}
}

@media only screen and (max-width: 767px) {
	.header-nav .menu {
		max-width: 100%;
		font-size: 19px;
		padding-top: 1rem;
	}
	
	.header-nav .menu > li > ul {
		margin-block: .625rem;
	}
}

.doc-header-not-sticky .header-can-overlap .header-nav .menu {}

@media only screen and (min-width: 1200px) {
	.doc-header-not-sticky .header-can-overlap .header-nav .menu:after {
		content: "";
		display: block;
		height: 1px;
		width: 100vw;
		background: currentColor;
		opacity: .2;
		position: absolute;
		pointer-events: none;
		top: 100%;
	}
}

@media only screen and (max-width: 1199px) {
	:not(.doc-header-menu-open).doc-header-not-sticky .header-can-overlap .header-nav .menu {}
}

.doc-header-not-sticky .header-nav .menu {}

.doc-header-menu-open .header-nav .menu {}

.doc-header-menu-open.doc-header-not-sticky .header-nav .menu {}

/* Header Form
--------------------------------------------------------------- */
#header-form {
	grid-area: form;
}

#header-form .gform_wrapper {
	position: relative;
}

#header-form .gform_title:last-child {
	margin-bottom: 0;
}

#header-form .gform_description {
	max-width: 80ch;
}

#header-form .gform_body {
	margin-left: auto;
	margin-right: auto;
}

#header-form .gform_footer {
	justify-content: center;
	text-align: center;
}

#header-form .gfield.gfield--type-submit {
	/* dont stretch flex button */
	align-self: flex-start;
}

@media only screen and (max-width: 1199px) {
	#header-form .gform_fields .gfield:not(.gfield-width-full) {
		/* fix gravity forms from deciding to undo the grid columns on mobile instead of tablet now */
		grid-column: 1/-1;
	}
}

/* ================================================================================
* Banner
================================================================================ */

/* Layout Banner https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/layout/banner.md
--------------------------------------------------------------- */

/* Layout Banner Variables
--------------------------------------------------------------- */

/* In case banner is also as crazy as the header */

/* Tip: placing the css var on :root can allow elements outside of the layout header utilize the variable if needed ie sticky stuff, offsets, jump link scroll etc. */
:root {
	--layout-banner-offset: 0px;
}

.banner-has-background-image {}

.banner-no-background-image {}

/* Layout Banner Overlaps
	NOTE: Classes to use:
		.layout-banner-offset-element => the element within the layout that will have the negative margins to overlap itself
		.has-layout-banner-offset => the adjacent layouts/ child of adjacent layouts that will have the pseudo element to adjust itself if the `layout-banner-offset-element` is next to it
--------------------------------------------------------------- */
.banner-can-overlap:has(.has-layout-banner-offset) :is(.layout-banner .layout-banner-offset-element)::after {
	content: "";
	flex: 0 0 auto;
	grid-column: 1/-1;
	height: var(--layout-banner-offset, 0px);
	display: block;
	width: 100%;
}

.banner-can-overlap .has-layout-banner-offset:not(:has(.has-layout-banner-offset)):is(:is(.layout-banner + *), :is(.main, main, .aside, aside):first-child, .layout-banner + :is(.main, main) > :first-child, .layout-banner + :is(.main, main) > :first-child *) {
	isolation: isolate;
}

.banner-can-overlap:has(.has-layout-banner-offset) .layout-banner-offset-element:is(.layout-banner > :last-child, .layout-banner > :last-child *) {
	margin-bottom: calc(( var(--layout-banner-offset, 0px) + var(--overlap-buffer) ) * -1);
}

.banner-can-overlap:has(.has-layout-banner-offset) .layout-banner:has(.layout-banner-offset-element) {
	padding-bottom: var(--overlap-buffer);
}

/* Layout Banner Itself
--------------------------------------------------------------- */
@media only screen and (max-width: 767px) {
	.layout-banner {}
	
	.layout-banner-container {
		--container-gutter: 10px;
	}
}

.banner-has-background-image .layout-banner {}

.banner-no-background-image .layout-banner {}

/* Banner Background
--------------------------------------------------------------- */
.banner-background {
	--responsive-background-overlay-mix-blend: multiply;
	--responsive-background-overlay-opacity: .9;
	--responsive-background-bg-position: center top;
}

/* Banner Main
--------------------------------------------------------------- */
.banner-main {
	padding-block: 2rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}

.banner-main-blocks {
	display: grid;
	grid-template-columns: 100%;
	justify-items: center;
	justify-content: center;
	align-items: center;
	gap: 3rem;
}

.banner-main-block, .banner-main-blocks {
	min-width: 0;
	max-width: 100%;
}

.banner-main-block:only-child {
	flex: 1 1;
	grid-column: 1/-1;
	grid-row: 1/-1;
	justify-self: stretch;
}

.banner-main-left {
	width: 100%;
}

@media only screen and (min-width: 1200px) {
	.banner-main {
		padding-block: 5rem 4rem;
		--banner-background-offset: -210px;
	}
	
	.banner-main-container {
		--container-gutter: 56px;
	}
	
	.banner-main .fancy-angle-vert-main {
		background-color: var(--color-dark);
		--fancy-angle-offset-x: var(--banner-background-offset);
		--fancy-angle-width: 83px;
		z-index: 2;
	}
	
	.banner-main .fancy-angle-vert-main .responsive-background {
		--responsive-background-overlay-mix-blend: multipy;
		--responsive-background-overlay-background: var(--color-dark);
	}
	
	.banner-main .fancy-angle-vert-alt {
		--fancy-angle-offset-x: calc(var(--banner-background-offset) - 19px);
		--fancy-angle-width: 116px;
		z-index: 1;
	}
}

@media only screen and (min-width: 1400px) {
	.banner-main {
		--banner-background-offset: -320px;
	}
	
	.banner-main-container {
		--container-gutter: 50px;
	}
	
	.banner-main-left {
		width: 420px;
		left: 0;
	}
	
	.banner-main-left::before {
		height: 270px;
		left: 0;
	}
	
	.banner-main-image {
		top: 0;
	}
	
	.banner-main-image-source {
		left: 95px;
	}
	
	.banner-main .fancy-angle-vert-main {
		--fancy-angle-width: 120px;
	}
	
	.banner-main .fancy-angle-vert-alt {
		--fancy-angle-offset-x: calc(var(--banner-background-offset) - 25px);
		--fancy-angle-width: 165px;
	}
}

@media only screen and (min-width: 1920px) {
	.banner-main {
		--banner-background-offset: -430px;
	}
	
	.banner-main .fancy-angle-vert-main {
		--fancy-angle-width: 90px;
	}
	
	.banner-main .fancy-angle-vert-alt {
		--fancy-angle-offset-x: calc(var(--banner-background-offset) - 25px);
		--fancy-angle-width: 134px;
	}
	
	.banner-main-container {
		--container-gutter: 222px;
	}
	
	.banner-main-left {
		width: 520px;
		left: 70px;
	}
	
	.banner-main-left::before {
		left: -70px;
		width: calc(100% + 75px);
	}
	
	.banner-main-image {
		top: 0;
	}
	
	.banner-main-image-source {
		left: 85px;
	}
	
	.banner-main-image-source p {
		font-size: 22px;
		line-height: 28px;
	}
	
	.banner-main-image-source p em {
		font-size: 18px;
	}
}

@media only screen and (max-width: 1199px) {
	.banner-main-main-blocks {
		position: relative;
	}
	
	.banner-main-image {
		position: absolute;
		max-width: 350px;
		top: -1.45rem;
		left: 0;
		right: 0;
		margin-inline: auto;
	}
}

@media only screen and (max-width: 767px) {
	.banner-main-image {
		max-width: 265px;
		top: -1.25rem;
	}
}

.banner-has-background-image .banner-main {}

.banner-has-background-image .banner-main {
	padding-block: 32px;
	color: var(--scheme-fg, var(--color-light));
	min-height: 475px;
	justify-content: flex-end;
	position: relative;
}

@media only screen and (min-width: 768px) {
	.banner-has-background-image .banner-main {
		padding-block: 55px;
		min-height: 475px;
	}
}

@media only screen and (min-width: 1200px) {
	.banner-has-background-image .banner-main {
		padding-block: 40px 80px;
		min-height: 417px;
	}
}

@media only screen and (min-width: 1400px) {
	.banner-has-background-image .banner-main {
		padding-block: 45px 110px;
		min-height: 533px;
	}
}

@media only screen and (min-width: 1920px) {
	.banner-has-background-image .banner-main {
		padding-block: 50px 100px;
		min-height: 540px;
	}
}

@media only screen and (max-width: 1199px) {
	.banner-has-background-image .banner-main::before {
		position: absolute;
		display: block;
		content: "";
		width: 100%;
		height: 100%;
		background: linear-gradient(to bottom, transparent 10%, var(--color-neutral-dark) 70%);
		z-index: -1;
		bottom: 0;
	}
}

.banner-has-background-image.header-can-overlap .banner-main {}

.fancy-angle-vert-wrapper .banner-main {}

@media only screen and (min-width: 1200px) {
	.fancy-angle-vert-wrapper .banner-main-left {
		position: relative;
		width: 355px;
		height: 100%;
		left: 55px;
	}
	
	.fancy-angle-vert-wrapper .banner-main-left::before {
		position: absolute;
		display: block;
		content: "";
		width: calc(100% + 1000px);
		height: 225px;
		background: linear-gradient(to bottom, transparent 0%, rgba(26, 35, 49, .95) 80%);
		bottom: 0;
		left: -100px;
		z-index: 1;
	}
	
	.fancy-angle-vert-wrapper .banner-main-image {
		position: absolute;
		left: -2rem;
		top: -10px;
		z-index: 0;
	}
	
	.fancy-angle-vert-wrapper .banner-main-image-source {
		position: absolute;
		z-index: 99;
		bottom: 60px;
		margin-inline: auto;
		left: 80px;
	}
	
	.fancy-angle-vert-wrapper .banner-main-image-source p {
		font-size: 17px;
		line-height: 22px;
		font-family: var(--font-secondary);
		letter-spacing: .03em;
		text-transform: uppercase;
		font-style: normal;
		font-weight: 700;
	}
	
	.fancy-angle-vert-wrapper .banner-main-image-source p em {
		font-style: normal;
		font-weight: 400;
		font-size: 14px;
		line-height: 17px;
	}
}

@media only screen and (min-width: 1400px) {
	.fancy-angle-vert-wrapper .banner-main-left {
		width: 400px;
		left: 5px;
		bottom: -1rem;
	}
	
	.fancy-angle-vert-wrapper .banner-main-left::before {
		height: 270px;
	}
	
	.fancy-angle-vert-wrapper .banner-main-image-source {
		bottom: 105px;
	}
	
	.fancy-angle-vert-wrapper .banner-main-image-source p {
		font-size: 19px;
		line-height: 24px;
	}
	
	.fancy-angle-vert-wrapper .banner-main-image-source p em {
		font-size: 15px;
	}
}

@media only screen and (min-width: 1920px) {
	.fancy-angle-vert-wrapper .banner-main-left {
		width: 450px;
		left: 60px;
		bottom: 0;
	}
	
	.fancy-angle-vert-wrapper .banner-main-left::before {
		height: 270px;
	}
	
	.fancy-angle-vert-wrapper .banner-main-image-source {
		left: 95px;
		bottom: 60px;
	}
	
	.fancy-angle-vert-wrapper .banner-main-image-source p {
		font-size: 22px;
		line-height: 26px;
	}
	
	.fancy-angle-vert-wrapper .banner-main-image-source p em {
		font-size: 18px;
	}
}

/* Banner Body
--------------------------------------------------------------- */
.banner-body, .banner-body-blocks {
	display: grid;
	grid-template-columns: 100%;
	align-items: inherit;
	justify-content: inherit;
	justify-items: inherit;
}

.banner-body-block, .banner-body-blocks {
	min-width: 0;
	max-width: 100%;
}

.banner-body-blocks {
	gap: .75rem;
}

@media only screen and (min-width: 768px) {
	.fancy-angle-vert-wrapper .banner-body-blocks {
		gap: 18px;
	}
}

@media only screen and (min-width: 1200px) {
	.fancy-angle-vert-wrapper .banner-body-blocks {
		margin-inline: auto 0;
		gap: 22px;
	}
}

@media only screen and (min-width: 1920px) {
	.fancy-angle-vert-wrapper .banner-body-blocks {
		gap: 15px;
	}
}

.banner-has-background-image .banner-body {}

.banner-no-background-image .banner-body {}

/* Global Banner Text
--------------------------------------------------------------- */
.banner-has-background-image .banner-text {}

.banner-no-background-image .banner-text {}

/* Global Secondary Heading
--------------------------------------------------------------- */
.secondary-heading {
	font-size: 14px;
	line-height: 22px;
	font-family: var(--font-secondary);
	color: inherit;
	letter-spacing: .03em;
	text-transform: uppercase;
	font-style: normal;
	font-weight: 700;
	text-align: inherit;
}

.secondary-heading em {
	/* emphasized words */
	color: var(--scheme-sp, var(--color-accent));
	letter-spacing: 0em;
	font-style: normal;
}

.secondary-heading::before, .secondary-heading > span::before {
	font-size: .625rem;
	line-height: .65rem;
	color: var(--scheme-sb, var(--color-neutral-light));
	font-style: normal;
}

.secondary-heading > span {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.secondary-heading > span:nth-child(n+2)::before {
	content: "●︎";
}

@media only screen and (min-width: 768px) {
	.secondary-heading {
		font-size: 15px;
		display: flex;
		flex-direction: row;
		gap: 7px;
	}
	
	.secondary-heading > span {
		flex-direction: row;
		gap: 7px;
	}
}

@media only screen and (min-width: 1400px) {
	.secondary-heading {
		font-size: 18px;
		gap: 12px;
	}
	
	.secondary-heading > span {
		gap: 12px;
	}
	
	.secondary-heading > span::before {
		font-size: 1rem;
	}
}

.banner-has-background-image .secondary-heading {}

.banner-no-background-image .secondary-heading {}

.secondary-heading.secondary-heading-default {}

.secondary-heading.secondary-heading-blog {}

.secondary-heading.secondary-heading-blog-posts {}

.secondary-heading.secondary-heading-blog-post {}

/* Global Primary Heading
--------------------------------------------------------------- */

/* Note: default styles are set to custom internal templates w/ no banner background images  (Case Results, Testimonials, etc.) to reduce repetitive styles and or lengthy selectors */
.primary-heading {
	/* Global Styles / custom page template heading styles (Testimonials Grid, Attorney Grid, etc.) */
	font-size: 64px;
	line-height: 59px;
	text-transform: uppercase;
	font-weight: 700;
	text-wrap: balance;
	margin-bottom: 0;
}

.primary-heading em {
	/* emphasized words */
	color: var(--scheme-sp, var(--color-accent));
	font-style: normal;
}

@media only screen and (min-width: 768px) {
	.primary-heading {
		font-size: 100px;
		line-height: 92px;
	}
}

@media only screen and (min-width: 1200px) {
	.primary-heading {
		font-size: 114px;
		line-height: 113px;
	}
}

@media only screen and (min-width: 1400px) {
	.primary-heading {
		font-size: 130px;
		line-height: 122px;
	}
}

@media only screen and (min-width: 1920px) {
	.primary-heading {
		font-size: 140px;
		line-height: 139px;
	}
}

.primary-heading.primary-heading-default {
	/* Styles specific for default template primary heading (Single Post, Single Page, Possibly Blog/ Archive etc.) */
	color: inherit;
	font-size: 55px;
	line-height: 51px;
}

@media only screen and (min-width: 768px) {
	.primary-heading.primary-heading-default {
		font-size: 71px;
		line-height: 66px;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	
	.primary-heading.primary-heading-default em {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
	}
	
	.primary-heading.primary-heading-default em::before, .primary-heading.primary-heading-default em::after {
		display: block;
		content: "";
		width: 90px;
		height: 3px;
		background: var(--color-accent);
	}
}

@media only screen and (min-width: 1200px) {
	.primary-heading.primary-heading-default {
		font-size: 79px;
		line-height: 74px;
		max-width: 815px;
	}
}

@media only screen and (min-width: 1400px) {
	.primary-heading.primary-heading-default {
		font-size: 102px;
		line-height: 96px;
		max-width: 950px;
	}
	
	.primary-heading.primary-heading-default em {
		gap: 20px;
	}
	
	.primary-heading.primary-heading-default em::before, .primary-heading.primary-heading-default em::after {
		width: 127px;
	}
}

@media only screen and (min-width: 1920px) {
	.primary-heading.primary-heading-default {
		font-size: 106px;
		line-height: 100px;
		max-width: 1000px;
	}
}

.primary-heading.primary-heading-default-h1 {
	/* Styles specific for default template primary heading set as an h1 (Single Post, Single Page) */
	font-size: 64px;
	line-height: 59px;
}

@media only screen and (min-width: 768px) {
	.primary-heading.primary-heading-default-h1 {
		font-size: 100px;
		line-height: 92px;
	}
}

@media only screen and (min-width: 1200px) {
	.primary-heading.primary-heading-default-h1 {
		font-size: 114px;
		line-height: 113px;
	}
}

@media only screen and (min-width: 1400px) {
	.primary-heading.primary-heading-default-h1 {
		font-size: 130px;
		line-height: 139px;
	}
}

@media only screen and (min-width: 1920px) {
	.primary-heading.primary-heading-default-h1 {
		font-size: 140px;
	}
}

.primary-heading.primary-heading-blog {}

.primary-heading.primary-heading-blog-posts {}

.primary-heading.primary-heading-blog-post {}

.layout-banner .primary-heading {}

.primary-heading.h1-fallback-heading {
	/* Styles specific for when banner does not exist/ rendered as a helper class for the fallback h1 */
	display: inline-block;
	margin-bottom: 1em;
}

.banner-has-background-image .primary-heading {
	/* Styles specific for when banner has background image */
	color: inherit;
}

.layout-banner .banner-has-background-image .primary-heading {
	text-shadow: 0 2px .125em var(--scheme-bg, var(--color-dark));
}

.banner-no-background-image .primary-heading {}

/* Banner video (Optional depending on comps)
--------------------------------------------------------------- */
.banner-video .video-thumbnail {
	width: 300px;
}

.banner-video-cta.video-button:not(.video-button-default-has-text) {
	display: block;
}

@media only screen and (min-width: 1200px) {
	.banner-video {
		order: 99;
	}
}

.banner-has-background-image .banner-video {}

.banner-no-background-image .banner-video {}

/* Banner Content (Optional depending on comps)
--------------------------------------------------------------- */
.banner-content {
	max-width: 90ch;
	margin-inline: auto;
}

.banner-has-background-image .banner-content {}

.banner-no-background-image .banner-content {}

/* Banner Buttons
--------------------------------------------------------------- */
.banner-buttons {
	display: inline-flex;
	gap: 1rem;
	align-items: inherit;
	text-align: inherit;
	justify-content: inherit;
	margin-top: .25rem;
}

.banner-buttons-touch {
	margin-top: 3.25rem;
	margin-bottom: 4rem;
}

.banner-buttons-touch:first-child {
	margin-top: -1rem;
}

@media only screen and (min-width: 768px) {
	.banner-button-shift .banner-buttons-touch, .banner-has-h1.banner-button-shift .banner-buttons-touch + hr {
		/* hide buttons outside of banner */
		display: none;
	}
}

@media only screen and (min-width: 1920px) {
	.banner-buttons {
		margin-top: 16px;
	}
}

@media only screen and (max-width: 767px) {
	.banner-buttons, .banner-buttons-touch {
		flex-direction: column;
	}
	
	.banner-buttons-touch {
		width: 100%;
		align-items: stretch;
	}
	
	.h1-fallback-heading:has(+ .banner-buttons-touch) {
		margin-bottom: 0;
	}
}

/* Banner Videos
--------------------------------------------------------------- */
.banner-videos {
	position: relative;
	background: var(--color-neutral-lighter);
	--swiper-custom-arrow-offset-x-negate: 0;
	--swiper-custom-arrow-offset-x: 0;
}

.banner-videos .swiper {
	max-width: 246px;
	margin-inline: auto;
}

.banner-videos-border {
	--fancy-border-height: 4px;
}

.banner-videos-container {
	position: relative;
	padding-block: 45px;
}

.banner-videos-heading {
	font-size: 16px;
	line-height: 26px;
	color: var(--scheme-sp, var(--color-primary));
	letter-spacing: .1em;
	text-transform: uppercase;
	text-align: center;
	--fancy-border-margin-y: 0px;
	--fancy-border-width: 110px;
	margin-bottom: 30px;
}

.banner-videos .video {
	max-width: 246px;
	margin-inline: auto;
}

@media only screen and (min-width: 768px) {
	.banner-videos-container {
		min-height: 450px;
		padding-block: 55px 70px;
	}
	
	.banner-videos .swiper {
		max-width: 584px;
		margin-inline: auto;
	}
	
	.banner-videos-heading {
		font-size: 18px;
		line-height: 33px;
		--fancy-border-width: 123px;
		margin-bottom: 55px;
	}
	
	.banner-videos .video {
		max-width: 280px;
	}
}

@media only screen and (min-width: 1200px) {
	.banner-videos-container {
		min-height: 480px;
		padding-block: 70px;
	}
	
	.banner-videos-heading {
		margin-bottom: 42px;
	}
	
	.banner-videos .swiper {
		max-width: 988px;
	}
	
	.banner-videos .video {
		max-width: 311px;
	}
}

@media only screen and (min-width: 1400px) {
	.banner-videos-heading {
		font-size: 20px;
		--fancy-border-width: 135px;
		margin-bottom: 52px;
	}
	
	.banner-videos .swiper {
		max-width: 1073px;
	}
	
	.banner-videos .video {
		max-width: 331px;
	}
}

@media only screen and (min-width: 1920px) {
	.banner-videos-container {
		min-height: 500px;
		padding-block: 65px 75px;
	}
	
	.banner-videos .swiper {
		max-width: 1400px;
	}
}

/* Banner Featured
--------------------------------------------------------------- */
.banner-featured {
	background: linear-gradient(to bottom, var(--color-neutral-dark), transparent);
	--fancy-angle-height: 5.6666667vw;
	height: 710px;
	padding-bottom: 35px;
	z-index: 4;
	--swiper-theme-color: var(--color-light);
	--swiper-pagination-bullet-inactive-color: var(--color-light);
	--swiper-pagination-bottom: 2rem;
}

.banner-featured-blocks {
	position: relative;
}

.banner-featured .fancy-angle-alt {
	--fancy-angle-offset-top: 0px;
	height: 720px;
	--fancy-angle-background-image: linear-gradient(to top, var(--color-accent-gradient-start), var(--color-accent-gradient-end));
}

.banner-featured .fancy-angle-main {
	--fancy-angle-background-image: linear-gradient(to bottom, var(--color-dark-alt), var(--color-dark));
}

.banner-featured-heading {
	font-size: 18px;
	line-height: 26px;
	font-family: var(--font-secondary);
	color: var(--scheme-sp, var(--color-light));
	letter-spacing: .1em;
	text-transform: uppercase;
	font-weight: 700;
	text-align: center;
	--fancy-border-margin-y: 5px;
	--fancy-border-width: 135px;
	margin-bottom: 20px;
}

.banner-featured .fancy-counter-wrapper {
	display: flex;
	flex-direction: column;
	gap: 265px;
}

.banner-featured .fancy-counter-value {
	font-size: 42px;
	font-family: var(--font-secondary);
	color: var(--scheme-sp, var(--color-accent));
	text-transform: uppercase;
	font-weight: 700;
	text-align: center;
}

.banner-featured .fancy-counter-description {
	font-size: 18px;
	line-height: 23px;
	font-family: var(--font-secondary);
	color: var(--scheme-sp, var(--color-light));
	letter-spacing: .025em;
	text-transform: capitalize;
	font-weight: 700;
	text-align: center;
	max-width: 180px;
	margin-inline: auto;
}

.banner-featured .awards {
	position: absolute;
	margin-block: auto;
	top: 40%;
	bottom: auto;
}

@media only screen and (min-width: 768px) {
	.banner-featured {
		--fancy-angle-height: 4.0134375vw;
		padding-bottom: 0;
	}
	
	.banner-featured .fancy-angle-main {
		height: 810px;
	}
	
	.banner-featured .fancy-angle-alt {
		--fancy-angle-offset-top: 16px;
		height: 790px;
	}
	
	.banner-featured-heading {
		margin-top: 3rem;
		font-size: 20px;
		--fancy-border-width: 153px;
	}
	
	.banner-featured .fancy-counter-wrapper {
		gap: 310px;
	}
	
	.banner-featured .fancy-counter-value {
		font-size: 48px;
	}
	
	.banner-featured .fancy-counter-description {
		font-size: 20px;
		line-height: 25px;
	}
}

@media only screen and (min-width: 1200px) {
	.banner-featured {
		background: transparent;
		margin-top: -3.25rem;
		--fancy-angle-height: 4.034375vw;
		--swiper-pagination-bottom: 3.5rem;
	}
	
	.banner-featured .fancy-angle-main {
		height: 500px;
	}
	
	.banner-featured .fancy-angle-alt {
		height: 460px;
		--fancy-angle-offset-top: 21px;
	}
	
	.banner-featured-header {
		margin-top: -16.5rem;
		--fancy-letters-delay: 1s;
	}
	
	.banner-featured-heading {
		margin-top: 0;
	}
	
	.banner-featured-blocks {
		--fancy-letters-delay: 1s;
		margin-top: 3rem;
	}
	
	.banner-featured .awards {
		top: 5%;
		max-width: 250px;
		margin-inline: auto;
		left: 0;
		right: 0;
	}
	
	.banner-featured .fancy-counter-wrapper {
		flex-direction: row;
		justify-content: center;
		align-items: center;
		gap: 450px;
	}
	
	.banner-featured .fancy-counter-value {
		font-size: 50px;
	}
}

@media only screen and (min-width: 1400px) {
	.banner-featured {
		--fancy-angle-height: 4.34375vw;
	}
	
	.banner-featured .fancy-angle-main {
		height: 505px;
	}
	
	.banner-featured .fancy-angle-alt {
		height: 460px;
		--fancy-angle-offset-top: 32px;
	}
}

@media only screen and (min-width: 1920px) {
	.banner-featured {
		--fancy-angle-height: 5.34375vw;
		margin-top: -5.5rem;
	}
	
	.banner-featured .fancy-angle-main {
		height: 605px;
	}
	
	.banner-featured .fancy-angle-alt {
		height: 540px;
		--fancy-angle-offset-top: 33px;
	}
	
	.banner-featured-header {
		margin-top: -14.5rem;
	}
	
	.banner-featured-heading {
		margin-top: 0;
	}
	
	.banner-featured-blocks {
		margin-top: 3rem;
	}
	
	.banner-featured .awards {
		max-width: 685px;
		margin-inline: auto;
		left: 0;
		right: 0;
	}
	
	.banner-featured .fancy-counter-wrapper {
		flex-direction: row;
		justify-content: center;
		align-items: center;
		gap: 1000px;
	}
	
	.banner-featured .fancy-counter-value {
		font-size: 55px;
	}
}

/* Banner Form
--------------------------------------------------------------- */
#banner-form .field-form {
	margin-left: auto;
	margin-right: auto;
}

#banner-form .gform_title:last-child {
	margin-bottom: 0;
}

#banner-form .gform_description {
	max-width: 80ch;
}

#banner-form .gform_body {
	margin-left: auto;
	margin-right: auto;
}

#banner-form .gform_footer {
	justify-content: center;
	text-align: center;
}

#banner-form .gfield.gfield--type-submit {
	/* dont stretch flex button */
	align-self: flex-start;
}

#banner-form .field-form-body {
	position: relative;
	padding-bottom: 2rem;
}

#banner-form.required-message {
	position: absolute;
	left: 0;
	right: 0;
	text-align: center;
	top: 100%;
}

@media only screen and (max-width: 1199px) {
	#banner-form .gform_fields .gfield:not(.gfield-width-full) {
		/* fix gravity forms from deciding to undo the grid columns on mobile instead of tablet now */
		grid-column: 1/-1;
	}
}

@media only screen and (max-width: 767px) {
	#banner-form .field-form-body {
		position: relative;
		padding-bottom: 2rem;
	}
	
	#banner-form .gfield.required-message {
		position: absolute;
		left: 0;
		right: 0;
		text-align: center;
		top: 100%;
	}
}

/* ================================================================================
* Feature
================================================================================ */

/* Layout Feature https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/layout/feature.md
--------------------------------------------------------------- */

/* Layout Feature Variables
--------------------------------------------------------------- */

/* In case feature is also as crazy as the header */

/* Tip: placing the css var on :root can allow elements outside of the layout header utilize the variable if needed ie sticky stuff, offsets, jump link scroll etc. */
:root {
	--layout-feature-offset: 100px;
}

/* Layout Feature Overlaps
	NOTE: Classes to use:
		.layout-feature-offset-element => the element within the layout that will have the negative margins to overlap itself
		.has-layout-feature-offset => the adjacent layouts/ child of adjacent layouts that will have the pseudo element to adjust itself if the `layout-feature-offset-element` is next to it
--------------------------------------------------------------- */
.feature-can-overlap:has(.has-layout-feature-offset) :is(.layout-feature .layout-feature-offset-element)::after {
	content: "";
	flex: 0 0 auto;
	grid-column: 1/-1;
	height: var(--layout-feature-offset, 0px);
	display: block;
	width: 100%;
}

.feature-can-overlap .has-layout-feature-offset:not(:has(.has-layout-feature-offset)):is(:is(.layout-feature + *), :is(.main, main, .aside, aside):first-child, .layout-feature + :is(.main, main) > :first-child, .layout-feature + :is(.main, main) > :first-child *) {
	isolation: isolate;
}

.feature-can-overlap:has(.has-layout-feature-offset) .layout-feature-offset-element:is(.layout-feature > :last-child, .layout-feature > :last-child *) {
	margin-bottom: calc(( var(--layout-feature-offset, 0px) + var(--overlap-buffer) ) * -1);
}

.feature-can-overlap:has(.has-layout-feature-offset) .layout-feature:has(.layout-feature-offset-element) {
	padding-bottom: var(--overlap-buffer);
}

/* Layout Feature Itself
--------------------------------------------------------------- */
.layout-feature {
	background: var(--scheme-bg-contrast, var(--color-dark-alt));
	color: var(--scheme-fg, var(--color-light));
}

/* ================================================================================
* Sidebar
================================================================================ */

/* Layout Sidebar https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/layout/sidebar.md
--------------------------------------------------------------- */

/* Layout Sidebar Variables
--------------------------------------------------------------- */

/* In case banner is also as crazy as the header */

/* Tip: placing the css var on :root can allow elements outside of the layout header utilize the variable if needed ie sticky stuff, offsets, jump link scroll etc. */

/* Layout sidebar Overlaps
	NOTE: Classes to use:
		.layout-sidebar-offset-element => the element within the layout that will have the negative margins to overlap itself
		.has-layout-sidebar-offset => the adjacent layouts/ child of adjacent layouts that will have the pseudo element to adjust itself if the `layout-sidebar-offset-element` is next to it
--------------------------------------------------------------- */
@media only screen and (min-width: 1200px) {
	.sidebar-can-overlap .has-layout-sidebar-offset:not(:has(.has-layout-sidebar-offset)):is(.template-wrapper > *:has(+ * .layout-sidebar-offset-element), .template-wrapper > *:has(+ * .layout-sidebar-offset-element) *)::after {
		content: "";
		flex: 0 0 auto;
		height: var(--layout-sidebar-offset, 0px);
		display: block;
		width: 100%;
	}
	
	.sidebar-can-overlap:has(.has-layout-sidebar-offset) .layout-sidebar-offset-element {
		margin-top: calc(( var(--layout-sidebar-offset, 0px) + var(--overlap-buffer) ) * -1);
	}
	
	.sidebar-can-overlap:has(.has-layout-sidebar-offset) :is(.aside, aside):has(.layout-sidebar-offset-element) {
		padding-top: var(--overlap-buffer);
	}
}

/* Layout Sidebar
--------------------------------------------------------------- */

/* Sidebar Form
--------------------------------------------------------------- */
#sidebar-form {
	background: var(--scheme-bg, var(--color-dark-alt));
	color: var(--scheme-fg, var(--color-light));
	--widget-padding-x: 36px;
	--widget-padding-top: 38px;
	--widget-padding-bottom: calc(var(--widget-padding-top) + 10px);
	--widget-content-margin-top: 0rem;
}

#sidebar-form .gform_heading {
	margin-bottom: 20px;
}

#sidebar-form .gform_title {
	font-size: 22px;
	line-height: 28px;
	letter-spacing: .04em;
	text-transform: uppercase;
}

#sidebar-form .gform_title:last-child {
	margin-bottom: 0;
}

#sidebar-form .gform_description {
	font-size: 38px;
	line-height: 38px;
	font-family: var(--font-secondary);
	font-weight: 700;
	max-width: 80ch;
}

#sidebar-form .gform_description em {
	font-style: normal;
	color: var(--color-accent);
}

#sidebar-form .gform_description p {
	margin-bottom: 0;
}

#sidebar-form .gform_body {
	margin-left: auto;
	margin-right: auto;
}

#sidebar-form .gform_fields {
	gap: 1rem;
}

#sidebar-form .gform_footer {
	justify-content: center;
	text-align: center;
	margin-top: 1rem;
}

#sidebar-form .gfield {
	--field-height: 55px;
}

#sidebar-form .gfield_label {
	font-size: 14px;
}

#sidebar-form .gfield.gfield--type-submit {
	/* dont stretch flex button */
	align-self: flex-start;
}

#sidebar-form .gfield.required-message {
	margin-top: -.75rem;
	font-size: 14px;
	line-height: 22px;
	text-transform: capitalize;
	color: inherit;
	font-weight: 500;
}

#sidebar-form .field-form-body {
	position: relative;
}

@media only screen and (min-width: 1400px) {
	#sidebar-form {
		--widget-padding-x: 50px;
		--widget-padding-top: 60px;
	}
	
	#sidebar-form .gform_heading {
		margin-bottom: 35px;
	}
	
	#sidebar-form .gform_title {
		margin-bottom: 5px;
	}
	
	#sidebar-form .gform_description {
		font-size: 48px;
		line-height: 48px;
		margin-inline: -10px;
	}
	
	#sidebar-form .gform_fields {
		gap: 20px;
	}
	
	#sidebar-form .gfield {
		--field-height: 68px;
		--field-padding-x: 21px;
		font-size: 18px;
	}
	
	#sidebar-form .gfield_label {
		font-size: 17px;
	}
}

@media only screen and (min-width: 1920px) {
	#sidebar-form {
		--widget-padding-x: 46px;
	}
}

/* ================================================================================
Contact Info
================================================================================ */

/* Layout Contact https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/layout/contact.md
-------------------------------------------------------------------------------- */

/* Layout contact Variables
--------------------------------------------------------------- */

/* In case contact is also as crazy as the header */

/* Tip: placing the css var on :root can allow elements outside of the layout header utilize the variable if needed ie sticky stuff, offsets, jump link scroll etc. */
:root {
	--layout-contact-offset: 100px;
}

/* Layout contact Overlaps
	NOTE: Classes to use:
		.layout-contact-offset-element => the element within the layout that will have the negative margins to overlap itself
		.has-layout-contact-offset => the adjacent layouts/ child of adjacent layouts that will have the pseudo element to adjust itself if the `layout-contact-offset-element` is next to it
--------------------------------------------------------------- */
.contact-can-overlap:has(.has-layout-contact-offset) .layout-contact:has(.layout-contact-offset-element) {
	isolation: isolate;
}

.contact-can-overlap .has-layout-contact-offset:not(:has(.has-layout-contact-offset)):is(.footer-top:has(+ .footer-bottom .footer-contact:first-child), .footer-top:has(+ .footer-bottom .footer-contact:first-child) + *, .template-wrapper:has(:is(.main, main) .layout-contact:nth-child(n+2)))::after {
	content: "";
	flex: 0 0 auto;
	grid-column: 1/-1;
	height: var(--layout-contact-offset, 0px);
	display: block;
	width: 100%;
}

.contact-can-overlap:has(.has-layout-contact-offset) .layout-contact-offset-element:is(.layout-contact > :last-child, .layout-contact > :last-child *) {
	margin-top: calc(( var(--layout-contact-offset, 0px) + var(--overlap-buffer) ) * -1);
}

.contact-can-overlap:has(.has-layout-contact-offset) .layout-contact:has(.layout-contact-offset-element), .contact-can-overlap:has(.has-layout-contact-offset) :is(main, .main):has(.layout-contact) {
	padding-top: var(--overlap-buffer) !important;
}

/* Contact Main
-------------------------------------------------------------------------------- */
.contact-main {
	padding-block: 64px;
}

@media only screen and (min-width: 768px) {
	.contact-main {
		padding-block: 80px 105px;
	}
}

@media only screen and (min-width: 1200px) {
	.contact-main {
		padding-block: 5px 0;
	}
}

.footer-no-contact .contact-main {}

.footer-has-contact .contact-main {}

/* Contact  Related Classes

Note: 
This file is for styles applied globally for the contact information globally

For styles applied globally for the contact information, apply styles to layouts/layout-contact.scss
For Contact Page only overrides for the contact informatio, apply styles to templates/template-contact.scss -> #contact-page
For Footer section only overrides for the contact informatio, apply styles to layout/layout-footer.scss -> .footer-contact styles section
-------------------------------------------------------------------------------- */

/* Global Stylees - Numbers (eg. header phone number, footer phone number, etc.)
-------------------------------------------------------------------------------- */
.number-link {
	font-size: 1.25rem;
	line-height: calc(1em + 10px);
	font-family: var(--font-secondary);
	color: inherit;
	text-transform: uppercase;
	font-weight: 700;
	text-decoration: none;
	display: inline-block;
}

/* Global Stylees - Locations
-------------------------------------------------------------------------------- */
.location-title {
	font-size: 26px;
	color: inherit;
	text-transform: uppercase;
	text-align: initial;
	--fancy-border-margin-y: 18px;
	--fancy-border-height: 2px;
	--fancy-border-width: 90px;
	--fancy-border-margin-l: 0;
	--fancy-border-margin-r: auto;
}

.location-address {
	margin-bottom: 22px;
}

@media only screen and (min-width: 1920px) {
	.location-address {
		margin-bottom: 30px;
	}
}

.location-directions {
	margin-bottom: 0;
}

.location-numbers {
	color: var(--color-accent);
	flex-direction: column;
}

.location-number, .location-numbers {
	display: flex;
	gap: .5em;
}

.location-number {
	flex-wrap: wrap;
}

.location-number-label {
	display: block;
	margin: 0;
}

.location-number-link {
	margin-bottom: 0;
	font-size: 26px;
}

.location-open-hour-days {
	font-size: 21px;
	color: var(--color-accent);
	text-transform: capitalize;
}

/* Global Stylees - Social Links (ie. firm social media, blog share icons, etc)
-------------------------------------------------------------------------------- */
.social {
	font-size: 1.5rem;
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .825em;
}

.social li {
	list-style: none;
}

.social li a {
	color: inherit;
}

.social li a svg * {
	fill: currentColor;
}

.social li:is(:hover, :focus) {
	color: var(--scheme-sp, var(--color-accent));
}

/* Confact Info Block - Titles
-------------------------------------------------------------------------------- */
.contact-block-title:not(.contact-block-title-custom) {
	max-width: -moz-max-content;
	max-width: max-content;
}

.contact-block-title:is(.fancy-border-after) {
	margin-bottom: var(--fancy-border-margin-y);
}

/* Confact Info Block - Basic Text Content
-------------------------------------------------------------------------------- */
.contact-block-content {
	flex: 1 1;
}

.contact-block-content:not(.contact-block-content-custom) {
	font-size: 21px;
	line-height: 28px;
	text-align: initial;
}

:where(.contact-block-content:not(.contact-block-content-custom) :where(a)) {
	color: inherit;
	text-decoration: none;
}

:where(.contact-block-content:not(.contact-block-content-custom) :where(a)):where(:hover, :focus) {
	text-decoration: underline;
}

:where(.contact-block-content:not(.contact-block-content-custom) :where(p, address):where(:nth-last-child(n+2))) {
	margin-bottom: 1.25em;
}

/* Confact Info Block - Grid setup
-------------------------------------------------------------------------------- */
.contact-blocks {
	display: grid;
	grid-template-columns: 100%;
	justify-content: space-between;
	grid-auto-flow: dense;
	-moz-column-gap: 4rem;
	column-gap: 4rem;
	row-gap: 4rem;
	align-items: stretch;
}

.contact-block, .contact-blocks {
	min-width: 0;
}

.contact-block {
	width: 100%;
}

.contact-block:is(:only-child, :only-of-type) {
	grid-column: 1/-1;
}

.contact-block-content:not(.contact-block-content-custom) .contact-block {
	display: flex;
	flex-direction: column;
}

.contact-block:is(.contact-special) {
	justify-self: center;
}

@media only screen and (min-width: 768px) {
	.contact-blocks {
		grid-template-columns: repeat(2, auto);
	}
}

@media only screen and (min-width: 1200px) {
	.contact-blocks {
		grid-template-columns: repeat(1, auto);
	}
}

@media only screen and (min-width: 1920px) {
	.contact-blocks {
		grid-template-columns: repeat(2, auto);
		-moz-column-gap: 125px;
		column-gap: 125px;
		justify-content: flex-start;
	}
}

@media only screen and (max-width: 1199px) {
	.contact-blocks {
		width: -moz-max-content;
		width: max-content;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}

@media only screen and (max-width: 767px) {
	.contact-blocks {
		justify-items: center;
		justify-content: center;
		text-align: center;
		flex-direction: column;
	}
	
	.contact-block, .contact-blocks {
		align-items: center;
		align-content: center;
	}
	
	.contact-block:is(.contact-special) {
		justify-self: stretch;
		order: 9999;
	}
}

.contact-block.contact-special {
	text-align: center;
	max-width: 100%;
	align-items: center;
}

.contact-block.contact-special .contact-logo {
	margin: 0 auto;
}

.contact-block:is(.contact-number, .contact-numbers) {}

.contact-block:is(.contact-number, .contact-numbers) .number-title {
	display: block;
}

.contact-block.contact-number {}

.contact-block.contact-numbers {}

.contact-block.contact-numbers .contact-numbers-content {
	flex: 0 0;
	row-gap: 1rem;
	display: grid;
}

.contact-block.contact-location {}

.contact-block.contact-locations {}

.contact-block.contact-locations .contact-locations-content {
	row-gap: 4rem;
	display: grid;
}

.contact-block:is(.contact-list, .contact-lists) {
	max-width: -moz-max-content;
	max-width: max-content;
}

.contact-block:is(.contact-list, .contact-lists) .list-block-items {
	display: flex;
	flex-direction: column;
}

.contact-list-email {
	/* This is an example and can be omitted if not needed. each column added here will be separated by a class named after the block's title, unless the corresponding layout-contact.php markup has been modified.  */
	font-size: 1.5em;
	font-family: var(--font-secondary);
}

.contact-block.contact-lists .contact-lists-content {
	row-gap: 4rem;
	display: grid;
}

/* Contact Form
--------------------------------------------------------------- */
#contact-form .gform_title:last-child {
	margin-bottom: 0;
}

#contact-form .gform_description {
	max-width: 80ch;
}

#contact-form .gfield.gfield--type-submit {}

@media only screen and (max-width: 1199px) {
	#contact-form .gform_fields .gfield:not(.gfield-width-full) {
		/* fix gravity forms from deciding to undo the grid columns on mobile instead of tablet now */
		grid-column: 1/-1;
	}
}

/* ================================================================================
* Footer
================================================================================ */

/* Layout Footer https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/layout/footer.md
--------------------------------------------------------------- */

/* Layout Footer Variables
--------------------------------------------------------------- */

/* In case footer is also as crazy as the header */

/* Tip: placing the css var on :root can allow elements outside of the layout header utilize the variable if needed ie sticky stuff, offsets, jump link scroll etc. */
:root {
	--layout-footer-offset: 100px;
}

/* Layout Footer Overlaps
	NOTE: Classes to use:
		.layout-footer-offset-element => the element within the layout that will have the negative margins to overlap itself
		.has-layout-footer-offset => the adjacent layouts/ child of adjacent layouts that will have the pseudo element to adjust itself if the `layout-footer-offset-element` is next to it
--------------------------------------------------------------- */
.footer-can-overlap:has(.has-layout-footer-offset) .layout-footer:has(.layout-footer-offset-element) {
	isolation: isolate;
}

.footer-can-overlap .has-layout-footer-offset:not(:has(.has-layout-footer-offset)):is(:has(+ .layout-footer), .template-wrapper:has(+ .layout-footer) :is(.template-wrapper:has(+ .layout-footer) > :last-child, :is(.main, main, .aside, aside):last-child, :is(.main, main):last-child > :last-child, :is(.main, main):last-child > :last-child *))::after {
	content: "";
	flex: 0 0 auto;
	grid-column: 1/-1;
	height: var(--layout-footer-offset, 0px);
	display: block;
	width: 100%;
}

@media only screen and (min-width: 1200px) {
	.footer-can-overlap .has-layout-footer-offset:not(:has(.has-layout-footer-offset)):is(:is(.main, main):has(+ :is(.aside, aside):last-child), :is(.main, main):has(+ :is(.aside, aside):last-child) *)::after {
		content: "";
		flex: 0 0 auto;
		grid-column: 1/-1;
		height: var(--layout-footer-offset, 0px);
		display: block;
		width: 100%;
	}
}

.footer-can-overlap:has(.has-layout-footer-offset) .layout-footer-offset-element:is(.layout-footer > :first-child, .layout-footer > :first-child *) {
	margin-top: calc(( var(--layout-footer-offset, 0px) + var(--overlap-buffer) ) * -1);
}

.footer-can-overlap:has(.has-layout-footer-offset) .footer-top:has(.layout-footer-offset-element) {
	padding-top: var(--overlap-buffer);
}

/* Branding logo sizes
--------------------------------------------------------------- */
:is(.ilawyer-legacy, .ilawyer, .onep21, .ihealth) {
	color: inherit;
}

.ilawyer-legacy, .ilawyer {
	font-size: 18px;
}

.onep21 {
	font-size: 50px;
}

.ihealth {
	font-size: 34px;
}

/* Layout Footer
--------------------------------------------------------------- */
.layout-footer {
	color: var(--scheme-fg, var(--color-light));
}

.layout-footer .fancy-angle-alt {
	--fancy-angle-offset-top: 13px;
}

@media only screen and (min-width: 768px) {
	.layout-footer .fancy-angle-alt {
		--fancy-angle-offset-top: 40px;
	}
}

@media only screen and (min-width: 1200px) {
	.layout-footer .fancy-angle-alt {
		--fancy-angle-offset-top: 50px;
	}
}

@media only screen and (min-width: 1400px) {
	.layout-footer .fancy-angle-alt {
		--fancy-angle-offset-top: 57px;
	}
}

@media only screen and (min-width: 1920px) {
	.layout-footer .fancy-angle-alt {
		--fancy-angle-offset-top: 65px;
	}
}

.footer-no-contact .layout-footer {}

.footer-has-contact .layout-footer {}

/* Footer Split - Top
--------------------------------------------------------------- */
.footer-top {
	padding-block: 4.75rem;
}

.footer-top-background {
	max-height: 300px;
	margin-block: 0 auto;
	background: transparent;
	mix-blend-mode: multiply;
}

@media only screen and (min-width: 768px) {
	.footer-top {
		padding-block: 9rem;
	}
	
	.footer-top-background {
		max-height: 605px;
	}
}

@media only screen and (min-width: 1400px) {
	.footer-top {
		padding-block: 12rem;
	}
}

@media only screen and (min-width: 1920px) {
	.footer-top {
		padding-block: 15rem;
	}
}

.footer-no-contact .footer-top {}

.footer-has-contact .footer-top {
	/* Styles/Selectors for when nested layout-contact is hidden*/
	padding-bottom: 0;
}

/* Footer Form
--------------------------------------------------------------- */
#footer-form {
	color: var(--scheme-fg, inherit);
	max-width: 100%;
	margin-inline: auto;
}

#footer-form .gform_title {
	font-size: 22px;
	line-height: 26px;
	color: inherit;
	letter-spacing: .04em;
	text-transform: uppercase;
	font-weight: 700;
	margin-bottom: 14px;
}

#footer-form .gform_description {
	font-size: 48px;
	line-height: 48px;
	font-family: var(--font-secondary);
	margin-inline: -1rem;
}

#footer-form .gform_description em {
	font-style: normal;
	color: var(--color-accent);
}

#footer-form .gform_body {
	margin-left: auto;
	margin-right: auto;
}

#footer-form .gform_footer {
	justify-content: center;
	text-align: center;
}

#footer-form .gfield {
	font-size: 18px;
}

#footer-form .gfield_label {
	font-size: 17px;
}

#footer-form .gfield.gfield--type-submit {
	/* dont stretch flex button */
	align-self: flex-start;
}

#footer-form .gfield.required-message {
	font-size: 14px;
	line-height: 22px;
	text-transform: capitalize;
	color: inherit;
	font-weight: 500;
	margin-top: -.625rem;
}

@media only screen and (min-width: 768px) {
	#footer-form .gform_heading {
		margin-bottom: 50px;
	}
	
	#footer-form .gform_title:is(.fancy-border) {
		--fancy-border-width: 271px;
	}
	
	#footer-form .gform_description {
		font-size: 103px;
		line-height: 103px;
	}
	
	#footer-form .gform_fields {
		row-gap: 1.75rem;
	}
	
	#footer-form .gform_footer {
		justify-content: flex-end;
		margin-top: -1.5rem;
	}
	
	#footer-form .gfield.required-message {
		font-size: 18px;
		margin-top: 0;
	}
}

@media only screen and (min-width: 1200px) {
	.footer-form-body {
		display: grid;
		grid-template-columns: 1fr 685px;
	}
	
	#footer-form .field-form {
		order: 1;
	}
	
	#footer-form .gform_heading {
		margin-bottom: 80px;
	}
	
	#footer-form .gform_title {
		font-size: 25px;
		line-height: 35px;
	}
	
	#footer-form .gform_description {
		font-size: 107px;
		line-height: 107px;
	}
}

@media only screen and (min-width: 1920px) {
	#footer-form .field-form-body {
		margin-top: -305px;
	}
	
	#footer-form .gform_heading {
		margin-inline: 0 auto;
		text-align: left;
		margin-bottom: 50px;
	}
	
	#footer-form .gform_description {
		margin-inline: initial;
	}
	
	#footer-form .gform_fields {
		-moz-column-gap: 25px;
		column-gap: 25px;
	}
	
	#footer-form .gform_footer {
		margin-top: -1rem;
	}
	
	#footer-form .gfield {
		--field-padding-x: 24px;
	}
	
	#footer-form .gfield.required-message {
		margin-top: -.5rem;
	}
}

@media only screen and (max-width: 767px) {
	#footer-form .gform_fields .gfield:not(.gfield-width-full) {
		/* fix gravity forms from deciding to undo the grid columns on mobile instead of tablet now */
		grid-column: 1/-1;
	}
}

.footer-no-contact #footer-form {}

.footer-has-contact #footer-form {}

/* Footer Contact

Note: 
This file is for Footer only overrides for the contact information
For Footer section only overrides for the contact informatio, apply styles to layout/layout-footer.scss -> .footer-contact styles section
For styles applied globally for the contact information, apply styles to layouts/layout-contact.scss
For Contact Page only overrides for the contact informatio, apply styles to templates/template-contact.scss -> #contact-page
--------------------------------------------------------------- */
.footer-contact .contact-block:is(.contact-special) {
	justify-self: center;
}

@media only screen and (max-width: 1199px) {
	.footer-contact .contact-blocks {
		width: 614px;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}

@media only screen and (max-width: 767px) {
	.footer-contact .contact-blocks {
		width: 258px;
	}
}

.footer-contact .contact-block:is(.contact-number, .contact-numbers) {}

.footer-contact .contact-block.contact-numbers {}

.footer-contact .contact-block.contact-number {}

.footer-contact .contact-block.contact-location {}

.footer-contact .contact-block.contact-locations {}

/* Footer Split - Bottom
--------------------------------------------------------------- */
.footer-bottom {}

.footer-bottom-container {
	--container-gutter: 25px;
}

.footer-bottom-background {
	max-height: 626px;
	margin-block: auto 0;
	transform: rotate(180deg);
	background: transparent;
	mix-blend-mode: multiply;
}

@media only screen and (min-width: 768px) {
	.footer-bottom-container {
		--container-gutter: 50px;
	}
	
	.footer-bottom-background {
		max-height: 828px;
	}
}

@media only screen and (min-width: 1200px) {
	.footer-bottom {
		margin-top: 155px;
	}
	
	.footer-bottom-container {
		--container-gutter: 80px;
	}
}

@media only screen and (min-width: 1920px) {
	.footer-bottom {
		margin-top: 165px;
	}
	
	.footer-bottom-container {
		--container-gutter: 88px;
	}
}

.footer-no-contact .footer-bottom {}

.footer-has-contact .footer-bottom {}

/* Footer Sitemap
--------------------------------------------------------------- */
.footer-no-contact .footer-sitemap {}

.footer-has-contact .footer-sitemap {}

/* Footer utility
--------------------------------------------------------------- */
.footer-utility {}

.footer-utility {
	padding-block: 36px;
	border-top: 1px solid rgba(255, 255, 255, .2);
	font-size: 12px;
	line-height: 20px;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.footer-utility-blocks {
	display: grid;
	row-gap: 1rem;
	-moz-column-gap: 2rem;
	column-gap: 2rem;
	align-items: center;
}

.footer-utility-block:only-child {
	grid-column: 1/-1;
}

.footer-utility-content :is(li) {
	display: inline;
	margin: 0;
}

.footer-utility-content :is(li):nth-child(n+2)::before {
	content: " | ";
	display: inline-block;
	margin: 0 .5em 0 .25em;
}

.footer-utility .footer-copyright span::before {
	content: " | ";
	display: inline-block;
	margin: 0 .5em 0 .25em;
}

@media only screen and (min-width: 768px) {
	.footer-utility-content :is(p:not(.footer-disclaimer), ul) {
		display: inline;
		margin: 0;
	}
	
	.footer-utility-content :is(p:not(.footer-disclaimer), ul):nth-child(n+2)::before {
		content: " | ";
		display: inline-block;
		margin: 0 .5em 0 .25em;
	}
}

@media only screen and (min-width: 1200px) {
	.footer-utility {
		padding-block: 45px;
	}
	
	.footer-utility-blocks {
		grid-template-columns: auto 1fr auto;
	}
	
	.footer-utility-content {
		text-align: center;
	}
	
	.footer-utility-content:first-child:nth-last-child(2) {
		grid-column: span 2;
	}
	
	.footer-utility .social {
		justify-content: flex-start;
	}
	
	.footer-utility .social::before {
		content: none;
	}
	
	.footer-utility :is(.ilawyer-legacy, .ilawyer, .onep21, .ihealth) {
		order: 99;
		justify-self: self-end;
		align-self: center;
	}
}

@media only screen and (min-width: 1920px) {
	.footer-utility-content {
		text-align: left;
	}
}

@media only screen and (max-width: 1199px) {
	.footer-utility-blocks {
		text-align: center;
		justify-content: center;
		justify-items: center;
	}
}

.footer-no-contact .footer-utility {}

.footer-has-contact .footer-utility {}

/* Footer logo
--------------------------------------------------------------- */
@media only screen and (min-width: 1200px) {
	.footer-brand-logo {
		justify-self: self-end;
	}
}

/* Footer disclaimer
--------------------------------------------------------------- */
.footer-disclaimer {
	margin-top: 1em;
}

/* ================================================================================
* Internals/ Default
================================================================================ */

/*!
* Default Sections: Main + Aside: Can also be reused on other templates with similar wireframes (eg. Profile Page, etc.)
-------------------------------------------------------------------------------- */

/* Default Sections: Main + Aside: Skeletons - no need to edit
--------------------------------------------------------------- */
.default-sections {
	gap: var(--default-gap-y) var(--default-gap-x);
}

.default-sections, .default-section, .default-section-main, .default-section-sidebar {
	min-width: 0;
	max-width: 100%;
}

.default-section-main {
	width: 100%;
}

.default-section-sidebar {
	width: var(--default-sidebar-width);
}

.default-sections.default-sections-float :where(.default-section, .default-section-main, .default-section-sidebar) {
	margin-left: auto;
	margin-right: auto;
}

.default-sections.default-sections-float :where(.default-section, .default-section-main, .default-section-sidebar):where(:nth-last-child(n+2)) {
	margin-bottom: var(--default-gap-y);
}

.default-sections:is(.default-sections-split, .default-sections-full) {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.default-sections.default-sections-grid {
	display: grid;
	grid-template-columns: 100%;
	justify-content: center;
}

@media only screen and (min-width: 1200px) {
	.default-section {}
	
	.default-section-main {
		max-width: calc(var(--comp) - var(--default-sidebar-width) - var(--container-gutter, 0px) * 2 - var(--default-gap-x));
	}
	
	.default-section-sidebar {
		order: 9;
	}
	
	.default-sections:is(.default-sections-split, .default-sections-full) {
		flex-direction: row;
		align-items: normal;
		justify-content: center;
	}
	
	.default-sections.default-sections-reverse .default-section-sidebar {
		order: -1;
	}
	
	.default-sections.default-sections-reverse .default-section-main {
		order: 9;
	}
	
	.default-sections.default-sections-float::after {
		content: "";
		font-size: 0;
		visibility: hidden;
		height: 0;
		clear: both;
		display: table;
		width: 100%;
		flex: 0 0 auto;
	}
	
	.default-sections.default-sections-float .default-section-sidebar {
		float: right;
		clear: right;
	}
	
	.default-sections.default-sections-float .default-section-main {
		float: left;
		clear: left;
		width: calc(100% - ( var(--default-sidebar-width) ) - var(--default-gap-x));
	}
	
	.default-sections.default-sections-float .default-section-main:only-child {
		/* no sidebar adjust */
		float: none;
	}
	
	.default-sections.default-sections-float.default-sections-reverse .default-section-sidebar {
		float: left;
		clear: left;
	}
	
	.default-sections.default-sections-float.default-sections-reverse .default-section-main {
		float: right;
		clear: right;
	}
	
	.default-sections:is(.default-sections-split, .default-sections-full) .default-section-sidebar {
		flex: 0 0 auto;
	}
	
	.default-sections:is(.default-sections-split, .default-sections-full) .default-section-main {
		flex: 1 1;
	}
	
	.default-sections.default-sections-full {
		--default-gap-x: 0px;
	}
	
	.default-sections.default-sections-full .default-section-main {
		margin-left: auto;
		margin-right: auto;
	}
	
	.default-sections.default-sections-grid {
		grid-template-columns: 1fr var(--default-sidebar-width);
		grid-column-gap: var(--default-gap-x);
	}
	
	.default-sections.default-sections-grid .default-section-main {
		justify-self: center;
		grid-column: 1;
	}
	
	.default-sections.default-sections-grid:not(.default-sections-no-autocenter) .default-section-main:not(:has(~ .default-section-sidebar)) {
		/* no sidebar adjust */
		grid-column: 1/-1 !important;
	}
	
	.default-sections.default-sections-grid .default-section-sidebar {
		grid-column: 2;
	}
	
	.default-sections.default-sections-grid .default-section-main, .default-sections.default-sections-grid .default-section-sidebar {
		width: 100%;
		min-width: 0;
		min-height: 0;
	}
	
	.default-sections.default-sections-grid.default-sections-reverse {
		grid-template-columns: var(--default-sidebar-width) 1fr;
	}
	
	.default-sections.default-sections-grid.default-sections-reverse .default-section-main {
		grid-column: 2;
	}
	
	.default-sections.default-sections-grid.default-sections-reverse .default-section-sidebar {
		grid-column: 1;
	}
}

@media only screen and (max-width: 1199px) {
	.default-sections.default-sections-full .default-section-sidebar {
		align-self: stretch;
		width: 100%;
	}
	
	.default-sections:not(.default-sections-full) > .default-section:is(aside, .aside):not(:only-child) {
		padding-top: 0;
	}
	
	.default-sections:not(.default-sections-full) > .default-section:is(main, .main):not(:only-child) {
		padding-bottom: 0;
	}
}

/* Default Sections Customizations
--------------------------------------------------------------- */
.default-sections {
	--default-sidebar-width: 100%;
	--default-gap-x: 60px;
	--default-gap-y: 36px;
}

@media only screen and (min-width: 768px) {
	.default-sections {
		--default-gap-y: 50px;
	}
}

@media only screen and (min-width: 1200px) {
	.default-sections {
		--default-sidebar-width: 325px;
		--default-gap-x: 70px;
	}
}

@media only screen and (min-width: 1400px) {
	.default-sections {
		--default-sidebar-width: 400px;
		--default-gap-y: 55px;
	}
}

@media only screen and (min-width: 1920px) {
	.default-sections {
		--default-gap-x: 217px;
		--default-gap-y: 65px;
	}
}

@media only screen and (min-width: 1200px) {
	.default-sections.default-sections-split .default-section-sidebar-container {
		--container-gutter: 1rem;
	}
}

.default-sections.default-sections-full .default-section-sidebar {
	background: var(--scheme-bg, var(--color-light-alt));
}

@media only screen and (min-width: 1200px) {
	.default-sections.default-sections-full .default-section-main-container {
		--container-gutter: 120px;
	}
}

@media only screen and (min-width: 1920px) {
	.default-sections.default-sections-full .default-section-main-container {
		--container-gutter: 250px;
	}
}

@media only screen and (max-width: 1199px) {
	.default-sections.default-sections-full {
		--default-gap-y: 0rem;
	}
}

/* Entry Skeletons. No need to edit 
--------------------------------------------------------------- */
.entry-thumbnail {
	--cover-aspect-w: var(--entry-thumbnail-aspect-w);
	--cover-aspect-l: var(--entry-thumbnail-aspect-l);
	flex: 0 0 auto;
	background-color: var(--color-light-alt);
}

/* Default Entries
-------------------------------------------------------------------------------- */
.entry-thumbnail {
	--entry-thumbnail-aspect-w: 648;
	--entry-thumbnail-aspect-l: 260;
	margin-bottom: 2rem;
}

.entry-thumbnail:nth-child(n+2) {
	margin-top: 2rem;
}

.entry-thumbnail:is(a) {
	color: inherit;
}

.entry-thumbnail:empty::after {
	content: "No Image Available";
	opacity: .2;
	font-size: 1.5rem;
	line-height: 1.125;
	font-family: var(--font-secondary);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	padding: 2em;
}

.entry-thumbnail img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: 50% 30%;
	object-position: 50% 30%;
	z-index: 1;
}

.entry-meta {
	font-size: 17px;
	line-height: 22px;
	font-family: var(--font-secondary);
	letter-spacing: .07em;
	text-transform: uppercase;
}

.entry-meta a:is(:hover, :focus) {
	text-decoration: underline;
}

.entry-meta > span:nth-child(n+2):before {
	content: "|";
	margin-inline: .5em .125em;
}

.entry-meta-category a:not(:hover, :focus) {
	color: var(--color-secondary);
}

.entry-meta-time a:not(:hover, :focus) {
	color: var(--color-secondary);
}

.entry-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.entry-button.button {
	justify-content: flex-start;
	font-size: 17px;
}

.entries .entry {
	display: grid;
	justify-content: space-between;
	-moz-column-gap: 3rem;
	column-gap: 3rem;
	row-gap: 2rem;
}

.entries .entry:nth-child(n+2) {
	padding-top: 3rem;
	margin-top: 3rem;
	border-top: 2px solid rgba(19, 29, 47, .15);
}

.entries .entry-thumbnail {
	margin-bottom: 0;
}

.entries .entry-thumbnail, .entries .entry-body {
	/* grid fix */
	min-width: 0;
}

@media only screen and (min-width: 1400px) {
	.entries .entry {
		grid-template-columns: 250px 1fr;
	}
	
	.entries .entry:nth-child(n+2) {
		padding-top: 60px;
		margin-top: 60px;
	}
	
	.entries .entry-thumbnail {
		--entry-thumbnail-aspect-w: 300;
		--entry-thumbnail-aspect-l: 150;
	}
	
	.entries .entry-body {
		align-self: center;
	}
	
	.entries .entry-body:only-child {
		grid-column: 1/-1;
	}
}

@media only screen and (max-width: 1199px) {
	.entry-thumbnail {
		--entry-thumbnail-aspect-w: 648;
		--entry-thumbnail-aspect-l: 260;
	}
}

/*!
* Default Header
-------------------------------------------------------------------------------- */
.default-header {
	margin-bottom: 25px;
}

@media only screen and (min-width: 768px) {
	.default-header {
		margin-bottom: 40px;
	}
}

@media only screen and (min-width: 1200px) {
	.default-header {
		margin-bottom: 30px;
	}
}

@media only screen and (min-width: 1400px) {
	.default-header {
		margin-bottom: 35px;
	}
}

@media only screen and (min-width: 768px) {
	.banner-has-h1.banner-button-shift .default-header {
		margin-bottom: 0;
	}
}

/*
* Default Layout/Template https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/layout/default.md
-------------------------------------------------------------------------------- */
@media only screen and (max-width: 1199px) {
	.layout-default-sections-simple .layout-default-aside {
		max-width: var(--default-sidebar-width);
	}
}

@media only screen and (max-width: 767px) {
	.layout-default-sections-simple {
		--default-sidebar-width: auto;
	}
	
	.layout-default-sections-simple .layout-default-aside {
		max-width: none;
	}
	
	.layout-default-sections-simple .layout-default-aside .widget {
		margin-bottom: 0;
		border-inline: 0;
		border-bottom: 0;
	}
}

/*!
* Default Heading
-------------------------------------------------------------------------------- */
.default-heading:last-child {
	margin-bottom: 0;
}

/*!
* Default Divider - Optional
-------------------------------------------------------------------------------- */
.default-divider {
	--fancy-border-margin-y: 22px;
	--fancy-border-height: 4px;
}

@media only screen and (min-width: 768px) {
	.default-divider {
		--fancy-border-margin-y: 30px;
	}
}

@media only screen and (min-width: 1200px) {
	.default-divider {
		--fancy-border-margin-y: 25px;
	}
}

.onep21-default .layout-banner {
	overflow: hidden;
}

/*!
* Search Form
* Although optional, some builds may include this OR request this in the long run. Since it's built in to wordpress, we might as well at least give it some basic styles. Overhaul as needed
-------------------------------------------------------------------------------- */
.searchform {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: stretch;
}

.searchform:nth-last-child(n+2) {
	margin-bottom: 2rem;
}

.searchform-field {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.searchform-button {
	order: 99;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
	.onep21-blog .aside {
		padding-bottom: 0;
	}
}

/* ================================================================================
* Home Template
================================================================================ */

/* Template Home https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/template/home.md
-------------------------------------------------------------------------------- */

/*
* Home Related Classes
-------------------------------------------------------------------------------- */
:where(.home-section) {
	padding-block: 35px;
}

:where(.home-section) .section-header, :where(.home-section) .section-footer {
	/* set centering as a scaffolding setting for all sections */
	max-width: -moz-max-content;
	max-width: max-content;
	margin-inline: auto;
}

:where(.home-section) .section-header:where(:nth-last-child(n+2):not(.section-block)) {
	margin-bottom: 2rem;
}

:where(.home-section) .section-header:where(:nth-last-child(n+2):not(.section-block)):where(.fancy-border-after) {
	margin-bottom: var(--fancy-border-margin-y, 2rem);
}

:where(.home-section) .section-header > :where(:last-child) {
	margin-bottom: 0;
}

:where(.home-section) .section-lead {
	font-size: 25px;
	line-height: 35px;
	font-family: var(--font-secondary);
	text-align: center;
	margin-bottom: 20px;
}

:where(.home-section) .section-blocks {
	gap: 2rem;
}

:where(.home-section) .section-block:where(:only-child) {
	grid-column: 1/-1;
}

:where(.home-section) .section-block, :where(.home-section) .section-blocks {
	min-width: 0;
}

:where(.home-section) .section-footer:where(:nth-child(n+2):not(.section-block)) {
	margin-top: 2rem;
}

:where(.home-section) .section-footer > :where(:first-child) {
	margin-bottom: 0;
}

:where(.home-section) .section-heading {
	font-size: 53px;
	line-height: 58px;
	font-family: var(--font-secondary);
	color: var(--color-primary);
	text-transform: uppercase;
	font-weight: 700;
}

:where(.home-section) .section-heading em {
	font-style: normal;
	color: var(--color-accent);
	font-size: 78px;
	line-height: 70px;
}

@media only screen and (min-width: 768px) {
	:where(.home-section) .section-heading {
		font-size: 77px;
		line-height: 84px;
	}
	
	:where(.home-section) .section-heading em {
		font-size: 99px;
		line-height: 82px;
	}
	
	:where(.home-section) .section-lead {
		font-size: 26px;
		line-height: 38px;
	}
}

@media only screen and (min-width: 1200px) {
	:where(.home-section) .section-lead {
		font-size: 28px;
		line-height: 43px;
	}
}

@media only screen and (min-width: 1400px) {
	:where(.home-section) .section-lead {
		font-size: 29px;
		line-height: 41px;
	}
}

@media only screen and (max-width: 767px) {
	:where(.home-section) .section-header, :where(.home-section) .section-footer {
		/* set centering as a scaffolding setting for all sections */
		text-align: center;
		justify-self: center;
		align-self: center;
	}
}

/*
* Home Template
-------------------------------------------------------------------------------- */
body.onep21-template-home {}

body.onep21-template-home .layout-footer {
	padding-top: 220px;
}

@media only screen and (min-width: 768px) {
	body.onep21-template-home .layout-footer {
		padding-top: 160px;
	}
}

@media only screen and (min-width: 1200px) {
	body.onep21-template-home .layout-footer {
		padding-top: 37rem;
	}
}

@media only screen and (min-width: 1400px) {
	body.onep21-template-home .layout-footer {
		padding-top: 38rem;
	}
}

@media only screen and (min-width: 1920px) {
	body.onep21-template-home .layout-footer {
		padding-top: 12rem;
	}
}

#home-banner .banner-main {
	min-height: 520px;
	justify-content: flex-end;
	padding-block: 0 35px;
}

#home-banner .banner-main-blocks {
	max-width: 310px;
	margin-inline: auto;
}

#home-banner .banner-body-blocks {
	gap: 5px;
}

#home-banner .secondary-heading {
	order: 3;
	margin-block: 15px 10px;
}

#home-banner .primary-heading {
	font-size: 109px;
	line-height: 32px;
	word-wrap: normal;
	width: 100%;
	order: 0;
}

#home-banner .primary-heading span {
	font-size: 25px;
}

#home-banner .primary-heading span:first-child {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 13px;
}

#home-banner .primary-heading span:first-child:after {
	display: inline-block;
	content: "";
	width: 100%;
	height: 2px;
	background: var(--color-accent);
}

#home-banner .primary-heading span:last-child {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	text-wrap: nowrap;
	margin-top: 1.75rem;
}

#home-banner .primary-heading span:last-child:before {
	display: inline-block;
	content: "";
	width: 100%;
	height: 2px;
	background: var(--color-accent);
}

#home-banner .banner-content h3 {
	order: 1;
	font-size: 14px;
	line-height: 20px;
	text-transform: uppercase;
	letter-spacing: .1em;
}

#home-banner .banner-buttons {
	order: 4;
}

@media only screen and (min-width: 768px) {
	#home-banner .banner-main {
		min-height: 785px;
		padding-bottom: 67px;
	}
	
	#home-banner .banner-main-blocks {
		max-width: 556px;
	}
	
	#home-banner .banner-main-image {
		max-width: 450px;
		top: -1.45rem;
		left: 0;
		right: 0;
		margin-inline: auto;
	}
	
	#home-banner .banner-body-blocks {
		gap: 10px;
	}
	
	#home-banner .secondary-heading {
		font-size: 18px;
		line-height: 20px;
		flex-wrap: wrap;
		justify-content: center;
		-moz-column-gap: 10px;
		column-gap: 10px;
		margin-block: .5rem 1.5rem;
	}
	
	#home-banner .secondary-heading span {
		gap: 10px;
	}
	
	#home-banner .secondary-heading span::before {
		font-size: 1rem;
	}
	
	#home-banner .primary-heading {
		font-size: 200px;
		line-height: 55px;
	}
	
	#home-banner .primary-heading span {
		font-size: 48px;
		width: 100%;
	}
	
	#home-banner .primary-heading span:first-child {
		gap: 24px;
	}
	
	#home-banner .primary-heading span:first-child:after {
		height: 3px;
	}
	
	#home-banner .primary-heading span:last-child {
		gap: 12px;
		margin-top: 4rem;
	}
	
	#home-banner .primary-heading span:last-child:before {
		width: 83px;
		height: 3px;
	}
	
	#home-banner .banner-content h3 {
		font-size: 23px;
		line-height: 33px;
		margin-inline: -3rem;
	}
	
	#home-banner .banner-buttons .button {
		--button-height: 75px;
		--button-padding-x: 36px;
		font-size: 18px;
	}
}

@media only screen and (min-width: 1200px) {
	#home-banner .banner-main {
		min-height: 785px;
		padding-bottom: 80px;
		justify-content: center;
		text-align: initial;
		--banner-background-offset: -80px;
	}
	
	#home-banner .banner-main .fancy-angle-vert-main {
		--fancy-angle-width: 118px;
	}
	
	#home-banner .banner-main .fancy-angle-vert-alt {
		--fancy-angle-offset-x: calc(var(--banner-background-offset) - 35px);
		--fancy-angle-width: 176px;
	}
	
	#home-banner .banner-main-image {
		max-width: 600px;
	}
	
	#home-banner .banner-main-left {
		width: 510px;
		left: 25px;
		--fancy-letters-factor: 0;
	}
	
	#home-banner .banner-main-left::before {
		width: calc(100% + 1000px);
		left: -200px;
		height: 325px;
	}
	
	#home-banner .banner-main-image {
		position: absolute;
		left: -2rem;
		top: 0;
		z-index: 0;
	}
	
	#home-banner .banner-main-image-source {
		bottom: 130px;
		left: 130px;
		text-align: center;
	}
	
	#home-banner .banner-main-image-source p {
		font-size: 22px;
		line-height: 1.2;
	}
	
	#home-banner .banner-main-image-source p em {
		font-size: 17px;
		line-height: 26px;
	}
	
	#home-banner .banner-main-container {
		--container-gutter: 80px;
	}
	
	#home-banner .banner-main-blocks {
		margin-inline: auto 0;
		justify-items: start;
		justify-content: start;
		align-items: start;
	}
	
	#home-banner .banner-body {
		transform: translateY(-50px);
		opacity: 0;
		transition: transform var(--ilawyer-transform-duration) var(--ilawyer-cubic-bezier), opacity 1000ms ease-in-out, color 200ms ease-in-out, background 200ms ease-in-out;
	}
	
	.visible#home-banner .banner-body {
		opacity: 1;
		transform: translate(0);
		transition-delay: 0ms, 0ms, 0ms, 0ms;
	}
	
	#home-banner .primary-heading {
		font-size: 214px;
		line-height: 60px;
		margin-bottom: .5rem;
	}
	
	#home-banner .primary-heading span {
		font-size: 53px;
	}
	
	#home-banner .banner-content h3 {
		margin-inline: -1rem;
		text-wrap: nowrap;
	}
	
	#home-banner .banner-buttons {
		margin-inline: auto;
	}
}

@media only screen and (min-width: 1400px) {
	#home-banner .banner-main {
		padding-bottom: 50px;
		--banner-background-offset: -150px;
	}
	
	#home-banner .banner-main .fancy-angle-vert-main {
		--fancy-angle-width: 160px;
	}
	
	#home-banner .banner-main .fancy-angle-vert-alt {
		--fancy-angle-offset-x: calc(var(--banner-background-offset) - 32px);
		--fancy-angle-width: 216px;
	}
	
	#home-banner .banner-main-left {
		left: 25px;
		width: 520px;
	}
	
	#home-banner .banner-main-left::before {
		height: 405px;
	}
	
	#home-banner .banner-main-image {
		position: absolute;
		left: -2rem;
		top: 0;
		z-index: 0;
	}
	
	#home-banner .banner-main-image-source {
		bottom: 130px;
		left: 130px;
		text-align: center;
	}
	
	#home-banner .banner-main-image-source p {
		font-size: 24px;
	}
	
	#home-banner .banner-main-image-source p em {
		font-size: 19px;
	}
	
	#home-banner .banner-main-blocks {
		max-width: 690px;
	}
	
	#home-banner .banner-main-container {
		--container-gutter: 88px;
	}
	
	#home-banner .primary-heading {
		font-size: 242px;
		line-height: 65px;
	}
	
	#home-banner .primary-heading span {
		font-size: 61px;
	}
	
	#home-banner .primary-heading span:last-child:before {
		width: 100px;
	}
	
	#home-banner .banner-content h3 {
		margin-inline: auto;
		font-size: 26px;
		line-height: 41px;
	}
	
	#home-banner .banner-buttons .button {
		font-size: 20px;
		--button-height: 84px;
		--button-padding-x: 44px;
	}
}

@media only screen and (min-width: 1920px) {
	#home-banner .banner-main {
		min-height: 850px;
		--banner-background-offset: -175px;
	}
	
	#home-banner .banner-main .fancy-angle-vert-main {
		--fancy-angle-width: 160px;
	}
	
	#home-banner .banner-main .fancy-angle-vert-alt {
		--fancy-angle-offset-x: calc(var(--banner-background-offset) - 37px);
		--fancy-angle-width: 230px;
	}
	
	#home-banner .banner-main-left {
		left: 125px;
		width: 620px;
	}
	
	#home-banner .banner-main-image {
		max-width: 700px;
	}
	
	#home-banner .banner-main-image-source {
		bottom: 120px;
		left: 195px;
	}
	
	#home-banner .banner-main-blocks {
		max-width: 802px;
	}
	
	#home-banner .banner-main-container {
		--container-gutter: 180px;
	}
	
	#home-banner .secondary-heading {
		margin-block: 0 1rem;
	}
	
	#home-banner .primary-heading {
		font-size: 281px;
		line-height: 77px;
		margin-bottom: 1rem;
	}
	
	#home-banner .primary-heading span {
		font-size: 72px;
	}
	
	#home-banner .primary-heading span:first-child {
		margin-left: 2rem;
	}
	
	#home-banner .primary-heading span:first-child::after {
		width: 80.5%;
	}
	
	#home-banner .primary-heading span:last-child {
		margin-left: 2.5rem;
		margin-top: 5.25rem;
	}
	
	#home-banner .primary-heading span:last-child:before {
		width: 115px;
	}
	
	#home-banner .banner-content h3 {
		font-size: 28px;
		line-height: 44px;
	}
}

:is(.home-page, #home-page) {
	padding-top: 0;
	padding-bottom: 0;
}

/*
* Home Section 1
-------------------------------------------------------------------------------- */

/*
* Section Offset Demo: For overlapping the section or parts of it to adjacent sections/layouts Feel free to copy/paste/comment out as needed. Find and replace `home-section-1` to rename variables and sections appropriately
Example of usage: PQL36
-------------------------------------------------------------------------------- */
:root {
	--home-section-1-offset: 0px;
}

/*
* Section Offset Demo: Overlap this section and adjust it siblings and or the siblings' contents to it
	NOTE: To reuse on other elements, copy this css and replace `home-section-1` with `home-section-[DESIRED_NUMBER]`
	NOTE: Classes to use:
		.home-section-1-offset-element => the element within the section that will have the negative margins to overlap itself
		.has-home-section-1-offset => the adjacent sections/ child of adjacent sections that will have the pseudo element to adjust itself if the `home-section-1-offset-element` is next to it
-------------------------------------------------------------------------------- */
.home-section-1:nth-child(n+2) {
	position: relative;
	z-index: 2;
}

.template-wrapper:has(:is(main, .main) > .home-section-1) .has-home-section-1-offset:is(.home-section:not(.home-section-1):has(+ .home-section-1), .home-section:not(.home-section-1):has(+ .home-section-1) *)::after {
	content: "";
	height: var(--home-section-1-offset);
	display: block;
	flex: 0 0 auto;
	width: 100%;
}

.template-wrapper:has(:is(main, .main) > .home-section-1) .home-section-1:nth-child(n+2) {
	padding-top: var(--overlap-buffer);
}

.template-wrapper:has(:is(main, .main) > .home-section-1) .home-section-1:nth-child(n+2) .home-section-1-offset-element {
	margin-top: calc(( var(--home-section-1-offset) + var(--overlap-buffer) ) * -1);
}

.home-section-1:nth-last-child(n+2) {
	position: relative;
	z-index: 2;
}

.template-wrapper:has(:is(main, .main) > .home-section-1) .has-home-section-1-offset:is(.home-section-1 + .home-section:not(.home-section-1), .home-section-1 + .home-section:not(.home-section-1) *)::before {
	content: "";
	height: var(--home-section-1-offset);
	display: block;
	flex: 0 0 auto;
	width: 100%;
}

.template-wrapper:has(:is(main, .main) > .home-section-1) .home-section-1:nth-last-child(n+2) {
	padding-bottom: var(--overlap-buffer);
}

.template-wrapper:has(:is(main, .main) > .home-section-1) .home-section-1:nth-last-child(n+2) .home-section-1-offset-element {
	margin-bottom: calc(( var(--home-section-1-offset) + var(--overlap-buffer) ) * -1);
}

:is(.home-section-1, #home-section-1) {
	padding-block: 50px 0;
	--swiper-pagination-bottom: 0rem;
	--swiper-custom-arrow-offset-x-negate: 1.5rem;
	--swiper-custom-arrow-offset-x: 50px;
}

:is(.home-section-1, #home-section-1) .section-slider {
	position: relative;
	margin-bottom: 45px;
}

:is(.home-section-1, #home-section-1) .section-slider .button-style-slider {
	top: 33%;
	font-size: 1rem;
}

:is(.home-section-1, #home-section-1) .section-slider .button-style-slider.prev {
	left: -15px;
}

:is(.home-section-1, #home-section-1) .section-slider .button-style-slider.next {
	right: -15px;
}

:is(.home-section-1, #home-section-1) .section-border {
	position: relative;
	z-index: 1;
	--fancy-border-height: 6px;
}

:is(.home-section-1, #home-section-1) .section-header {
	position: relative;
	z-index: 5;
}

:is(.home-section-1, #home-section-1) .section-blocks {
	position: relative;
	padding-block: 12.5rem 2rem;
}

:is(.home-section-1, #home-section-1) .section-heading {
	margin-bottom: 16px;
}

:is(.home-section-1, #home-section-1) .section-image {
	position: absolute;
	z-index: 1;
	top: -2.5rem;
	left: 0;
	right: 0;
	margin-inline: auto;
	width: 290px;
}

:is(.home-section-1, #home-section-1) .section-image::after {
	background: linear-gradient(to bottom, transparent 40%, var(--color-light) 78%);
	position: absolute;
	display: block;
	content: "";
	width: calc(100% + 767px);
	left: -360px;
	height: 100%;
	z-index: 3;
	bottom: 0;
}

:is(.home-section-1, #home-section-1) .section-content {
	font-size: 22px;
	line-height: 32px;
	font-family: var(--font-secondary);
}

:is(.home-section-1, #home-section-1) .responsive-background {
	height: 380px;
}

:is(.home-section-1, #home-section-1) .video-title {
	font-size: 16px;
}

:is(.home-section-1, #home-section-1) .video-description {
	font-size: 15px;
}

@media only screen and (min-width: 768px) {
	:is(.home-section-1, #home-section-1) {
		margin-top: 7rem;
	}
	
	:is(.home-section-1, #home-section-1) .section-slider {
		margin-bottom: 55px;
	}
	
	:is(.home-section-1, #home-section-1) .section-slider .button-style-slider {
		font-size: 1.5rem;
	}
	
	:is(.home-section-1, #home-section-1) .section-slider .button-style-slider.prev {
		left: -30px;
	}
	
	:is(.home-section-1, #home-section-1) .section-slider .button-style-slider.next {
		right: -30px;
	}
	
	:is(.home-section-1, #home-section-1) .section-heading {
		text-align: center;
	}
	
	:is(.home-section-1, #home-section-1) .section-image {
		width: 420px;
	}
	
	:is(.home-section-1, #home-section-1) .section-image::after {
		background: linear-gradient(to bottom, transparent 0%, var(--color-light) 35%);
		position: absolute;
		display: block;
		content: "";
		width: calc(100% + 1400px);
		left: -768px;
		height: 120%;
		bottom: -25rem;
	}
	
	:is(.home-section-1, #home-section-1) .section-blocks {
		padding-block: 24rem 3.5rem;
	}
	
	:is(.home-section-1, #home-section-1) .section-content {
		font-size: 25px;
		line-height: 36px;
		text-align: center;
	}
	
	:is(.home-section-1, #home-section-1) .responsive-background {
		height: 990px;
	}
	
	:is(.home-section-1, #home-section-1) .video-title {
		font-size: 19px;
	}
	
	:is(.home-section-1, #home-section-1) .video-description {
		font-size: 18px;
	}
}

@media only screen and (min-width: 1200px) {
	:is(.home-section-1, #home-section-1) {
		margin-top: -10rem;
	}
	
	:is(.home-section-1, #home-section-1)::after {
		background: linear-gradient(to right, transparent 70%, var(--color-light) 100%);
		position: absolute;
		display: block;
		content: "";
		right: 0;
		top: 0;
		width: 100%;
		height: 100%;
	}
	
	:is(.home-section-1, #home-section-1) .section-container::after {
		background: linear-gradient(to bottom, transparent 0%, var(--color-light) 60%);
		position: absolute;
		display: block;
		content: "";
		bottom: 0;
		width: calc(100% + 1400px);
		height: 100%;
		left: -768px;
	}
	
	:is(.home-section-1, #home-section-1) .section-blocks {
		padding-block: 11rem 3.5rem;
	}
	
	:is(.home-section-1, #home-section-1) .section-header {
		max-width: 675px;
		margin-right: 0;
		--fancy-letters-delay: 1s;
	}
	
	:is(.home-section-1, #home-section-1) .section-heading {
		text-align: left;
	}
	
	:is(.home-section-1, #home-section-1) .section-slider {
		margin-bottom: 80px;
	}
	
	:is(.home-section-1, #home-section-1) .section-image {
		width: 540px;
		margin-left: -6rem;
	}
	
	:is(.home-section-1, #home-section-1) .section-image::after {
		background: linear-gradient(to bottom, transparent 60%, var(--color-light) 90%);
		position: absolute;
		display: block;
		content: "";
		width: calc(100% + 1400px);
		left: -868px;
		height: 100%;
		bottom: 0px;
	}
	
	:is(.home-section-1, #home-section-1) .section-content {
		text-align: left;
		font-size: 28px;
		line-height: 40px;
	}
	
	:is(.home-section-1, #home-section-1) .responsive-background {
		height: 955px;
	}
}

@media only screen and (min-width: 1400px) {
	:is(.home-section-1, #home-section-1) {
		margin-top: -13rem;
		--swiper-custom-arrow-offset-x: 30px;
	}
	
	:is(.home-section-1, #home-section-1) .section-container {
		--container-gutter: 100px;
	}
	
	:is(.home-section-1, #home-section-1) .section-header {
		max-width: 815px;
	}
	
	:is(.home-section-1, #home-section-1) .section-heading {
		font-size: 95px;
		line-height: 92px;
	}
	
	:is(.home-section-1, #home-section-1) .section-heading em {
		font-size: 115px;
	}
	
	:is(.home-section-1, #home-section-1) .section-blocks {
		padding-bottom: 5.5rem;
	}
	
	:is(.home-section-1, #home-section-1) .section-slider {
		margin-inline: 1.5rem;
	}
	
	:is(.home-section-1, #home-section-1) .section-image {
		top: 0;
		width: 580px;
	}
	
	:is(.home-section-1, #home-section-1) .section-content {
		max-width: 710px;
		font-size: 30px;
		line-height: 40px;
	}
	
	:is(.home-section-1, #home-section-1) .responsive-background {
		height: 990px;
	}
}

@media only screen and (min-width: 1920px) {
	:is(.home-section-1, #home-section-1) {
		margin-top: -5rem;
	}
	
	:is(.home-section-1, #home-section-1) .section-container {
		--container-gutter: 188px;
	}
	
	:is(.home-section-1, #home-section-1) .section-header {
		max-width: 850px;
		margin-right: 6rem;
	}
	
	:is(.home-section-1, #home-section-1) .section-heading {
		font-size: 99px;
		line-height: 85px;
	}
	
	:is(.home-section-1, #home-section-1) .section-heading em {
		font-size: 126px;
		line-height: 1;
	}
	
	:is(.home-section-1, #home-section-1) .section-image {
		margin-left: 2.5rem;
	}
	
	:is(.home-section-1, #home-section-1) .section-slider {
		margin-bottom: 155px;
	}
	
	:is(.home-section-1, #home-section-1) .section-content {
		max-width: 840px;
	}
	
	:is(.home-section-1, #home-section-1) .responsive-background {
		height: 1020px;
	}
}

/*
* Home Section 2
-------------------------------------------------------------------------------- */
:is(.home-section-2, #home-section-2) {
	padding-block: 65px 0;
	color: var(--scheme-fg, var(--color-light));
	background-color: var(--scheme-bg-contrast, var(--color-primary-alt));
}

:is(.home-section-2, #home-section-2) .section-top-background {
	max-height: 450px;
	margin-block: 0 auto;
	background: transparent;
	mix-blend-mode: multiply;
}

:is(.home-section-2, #home-section-2) .section-bottom-background {
	max-height: 450px;
	margin-block: auto 0;
	transform: rotate(180deg);
	background: transparent;
	mix-blend-mode: multiply;
}

:is(.home-section-2, #home-section-2) .section-header {
	--fancy-border-width: 100px;
	--fancy-border-height: 2px;
	margin-bottom: 30px;
}

:is(.home-section-2, #home-section-2) .section-heading {
	font-size: 34px;
	line-height: 1.1;
	color: var(--color-light);
	margin-inline: -1rem;
}

:is(.home-section-2, #home-section-2) .section-heading em {
	font-size: inherit;
	line-height: 1;
}

:is(.home-section-2, #home-section-2) .section-images {
	margin-block: 40px;
}

:is(.home-section-2, #home-section-2) .section-image img {
	border-radius: 5px;
}

:is(.home-section-2, #home-section-2) .section-subheading {
	font-size: 50px;
	line-height: 52px;
	font-family: var(--font-secondary);
	color: var(--color-light);
	text-transform: uppercase;
	font-weight: 700;
	text-align: center;
	margin-bottom: 16px;
}

:is(.home-section-2, #home-section-2) .section-subheading em {
	color: var(--color-accent);
	font-style: normal;
}

:is(.home-section-2, #home-section-2) .section-lead {
	color: inherit;
	margin-bottom: 20px;
}

:is(.home-section-2, #home-section-2) .section-body h3 {
	color: var(--color-light);
}

:is(.home-section-2, #home-section-2) .section-body-bottom ul li strong {
	color: var(--color-accent);
}

:is(.home-section-2, #home-section-2) .section-button {
	text-align: center;
}

:is(.home-section-2, #home-section-2) .section-bottom {
	padding-block: 20px 95px;
}

@media only screen and (min-width: 768px) {
	:is(.home-section-2, #home-section-2) {
		padding-block: 120px 0;
	}
	
	:is(.home-section-2, #home-section-2) .section-header {
		--fancy-border-width: 126px;
		--fancy-border-margin-y: 3rem;
		margin-bottom: 4rem;
	}
	
	:is(.home-section-2, #home-section-2) .section-heading {
		font-size: 74px;
		text-align: center;
	}
	
	:is(.home-section-2, #home-section-2) .section-subheading {
		font-size: 75px;
		line-height: 78px;
		margin-bottom: 2rem;
	}
	
	:is(.home-section-2, #home-section-2) .section-images {
		margin-block: 75px 70px;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
	}
	
	:is(.home-section-2, #home-section-2) .section-lead {
		margin-bottom: 40px;
	}
	
	:is(.home-section-2, #home-section-2) .section-button .button {
		--button-height: 84px;
		--button-padding-x: 42px;
		font-size: 20px;
	}
	
	:is(.home-section-2, #home-section-2) .section-bottom {
		padding-block: 4rem 8rem;
	}
}

@media only screen and (min-width: 1200px) {
	:is(.home-section-2, #home-section-2) {
		padding-block: 150px 0;
	}
	
	:is(.home-section-2, #home-section-2) .section-top-background, :is(.home-section-2, #home-section-2) .section-bottom-background {
		max-height: 1000px;
	}
	
	:is(.home-section-2, #home-section-2) .section-heading {
		font-size: 92px;
		line-height: 1.05;
	}
	
	:is(.home-section-2, #home-section-2) .section-subheading {
		margin-inline: -1rem;
		margin-bottom: 1rem;
	}
	
	:is(.home-section-2, #home-section-2) .section-images {
		margin-block: 75px;
		grid-template-columns: repeat(3, 1fr);
	}
	
	:is(.home-section-2, #home-section-2) .section-image-left {
		--fancy-letters-delay: 2.25s;
	}
	
	:is(.home-section-2, #home-section-2) .section-image-middle {
		--fancy-letters-delay: 2.75s;
	}
	
	:is(.home-section-2, #home-section-2) .section-image-right {
		--fancy-letters-delay: 3.5s;
	}
	
	:is(.home-section-2, #home-section-2) .section-lead {
		max-width: 855px;
		margin-inline: auto;
	}
	
	:is(.home-section-2, #home-section-2) .section-body-top, :is(.home-section-2, #home-section-2) .section-body-bottom {
		max-width: 800px;
		margin-inline: auto;
	}
	
	:is(.home-section-2, #home-section-2) .section-body-top {
		--fancy-letters-delay: 1.25s;
	}
	
	:is(.home-section-2, #home-section-2) .section-body-bottom {
		--fancy-letters-delay: 4s;
	}
	
	:is(.home-section-2, #home-section-2) .section-bottom {
		padding-block: 8rem;
	}
	
	:is(.home-section-2, #home-section-2) .section-bottom .container {
		transform: translateY(50px);
		opacity: 0;
		transition: transform var(--ilawyer-transform-duration) var(--ilawyer-cubic-bezier), opacity 1000ms ease-in-out, color 200ms ease-in-out, background 200ms ease-in-out;
	}
	
	:is(.home-section-2, #home-section-2) .section-bottom .container.visible {
		opacity: 1;
		transform: translate(0);
		transition-delay: 0ms, 0ms, 0ms, 0ms;
	}
}

@media only screen and (min-width: 1400px) {
	:is(.home-section-2, #home-section-2) .section-container {
		--container-gutter: 86px;
	}
	
	:is(.home-section-2, #home-section-2) .section-subheading {
		font-size: 83px;
		margin-bottom: 1.75rem;
	}
	
	:is(.home-section-2, #home-section-2) .section-lead {
		max-width: 886px;
	}
	
	:is(.home-section-2, #home-section-2) .section-bottom {
		padding-block: 7rem 12rem;
	}
}

@media only screen and (min-width: 1920px) {
	:is(.home-section-2, #home-section-2) {
		padding-block: 180px 0;
	}
	
	:is(.home-section-2, #home-section-2) .section-top-background, :is(.home-section-2, #home-section-2) .section-bottom-background {
		max-height: 1070px;
	}
	
	:is(.home-section-2, #home-section-2) .section-container {
		--container-gutter: 300px;
	}
	
	:is(.home-section-2, #home-section-2) .section-images {
		margin-block: 105px;
	}
	
	:is(.home-section-2, #home-section-2) .section-heading {
		font-size: 110px;
		line-height: 114px;
	}
	
	:is(.home-section-2, #home-section-2) .section-subheading {
		font-size: 95px;
	}
}

/*
* Home Section 3
-------------------------------------------------------------------------------- */
:is(.home-section-3, #home-section-3) {
	padding-block: 65px 0;
	background: linear-gradient(to bottom, transparent, var(--color-neutral-lighter));
	margin-top: -3rem;
	color: var(--scheme-fg, var(--color-dark));
	--fancy-angle-height: 7.6666667vw;
}

:is(.home-section-3, #home-section-3) .fancy-angle-main {
	--fancy-angle-background-color: var(--color-neutral-lighter);
}

:is(.home-section-3, #home-section-3) .fancy-angle-alt {
	--fancy-angle-background-image: linear-gradient(to top, var(--color-accent-gradient-start), var(--color-accent-gradient-end));
}

:is(.home-section-3, #home-section-3) .section-header {
	margin-block: 55px 40px;
}

:is(.home-section-3, #home-section-3) .section-heading {
	max-width: 310px;
	margin-inline: auto;
	margin-bottom: 1.75rem;
}

:is(.home-section-3, #home-section-3) .section-content {
	display: flex;
	flex-wrap: wrap;
	gap: 45px;
}

:is(.home-section-3, #home-section-3) .sp {
	display: flex;
	justify-content: center;
	text-align: center;
}

:is(.home-section-3, #home-section-3) .sp-character {
	--character-border-size: 26px;
	--character-size: 62px;
	position: relative;
	justify-self: center;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color-secondary);
	color: var(--color-light);
	border-radius: 9999px;
	width: var(--character-size);
	height: var(--character-size);
	font-size: 27px;
	margin-inline: auto;
	margin-bottom: 1.75rem;
}

:is(.home-section-3, #home-section-3) .sp-character::before {
	position: absolute;
	display: block;
	content: "";
	width: calc(var(--character-size) + var(--character-border-size));
	height: calc(var(--character-size) + var(--character-border-size));
	border-radius: 9999px;
	background: #d4d8e0;
	margin: auto;
	top: 0;
	bottom: 0;
	z-index: -1;
}

:is(.home-section-3, #home-section-3) .sp-subtitle {
	text-transform: uppercase;
	font-size: 20px;
}

:is(.home-section-3, #home-section-3) .sp-title {
	text-transform: uppercase;
	font-size: 28px;
	line-height: 35px;
	color: var(--color-dark);
	letter-spacing: .025em;
	--fancy-border-width: 50px;
	--fancy-border-height: 2px;
	--fancy-border-margin-y: 12px;
}

:is(.home-section-3, #home-section-3) .sp-description {
	font-size: 17px;
	line-height: 26px;
}

:is(.home-section-3, #home-section-3) .sp-description {
	scrollbar-width: none !important;
	-ms-overflow-style: none !important;
}

:is(.home-section-3, #home-section-3) .sp-description::-webkit-scrollbar {
	display: none !important;
}

:is(.home-section-3, #home-section-3) .responsive-background {
	height: 355px;
	top: auto;
	bottom: 140px;
}

:is(.home-section-3, #home-section-3) .responsive-background::before {
	background: linear-gradient(to bottom, var(--color-neutral-lighter), transparent, var(--color-neutral-lighter));
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	z-index: -1;
}

@media only screen and (min-width: 768px) {
	:is(.home-section-3, #home-section-3) {
		padding-block: 7.5rem 0;
	}
	
	:is(.home-section-3, #home-section-3) .section-header {
		margin-block: 6.5rem 4rem;
	}
	
	:is(.home-section-3, #home-section-3) .section-heading {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		max-width: none;
		font-size: 51px;
		text-align: center;
		margin-bottom: 1.5rem;
	}
	
	:is(.home-section-3, #home-section-3) .section-heading em {
		font-size: 112px;
	}
	
	:is(.home-section-3, #home-section-3) .section-content {
		justify-content: center;
		-moz-column-gap: 105px;
		column-gap: 105px;
		row-gap: 47px;
	}
	
	:is(.home-section-3, #home-section-3) .section-lead {
		font-size: 28px;
		line-height: 42px;
		max-width: 670px;
		margin-inline: auto;
	}
	
	:is(.home-section-3, #home-section-3) .section-button {
		text-align: center;
	}
	
	:is(.home-section-3, #home-section-3) .section-button .button {
		--button-padding-x: 42px;
		--button-height: 84px;
		font-size: 20px;
	}
	
	:is(.home-section-3, #home-section-3) .sp {
		position: relative;
		z-index: 0;
	}
	
	:is(.home-section-3, #home-section-3) .sp:nth-child(3) .sp-wrapper, :is(.home-section-3, #home-section-3) .sp:nth-child(5) .sp-wrapper {
		margin-inline: auto 0;
	}
	
	:is(.home-section-3, #home-section-3) .sp:nth-child(3) .sp-character::after, :is(.home-section-3, #home-section-3) .sp:nth-child(5) .sp-character::after {
		display: none;
	}
	
	:is(.home-section-3, #home-section-3) .sp:is(:hover, :focus) {
		z-index: 1;
	}
	
	:is(.home-section-3, #home-section-3) .sp:is(:hover, :focus) .sp {
		z-index: -1;
	}
	
	:is(.home-section-3, #home-section-3) .sp:is(:hover, :focus) .sp-wrapper {
		pointer-events: auto;
		z-index: -1;
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		bottom: 109px;
		margin-block: auto 0;
		background: linear-gradient(to bottom, var(--color-secondary-gradient-start), var(--color-secondary-gradient-end));
		width: 436px;
		height: 342px;
		padding: 54px 50px;
		border-radius: 5px;
		transition: opacity .6s ease;
		opacity: 1;
	}
	
	:is(.home-section-3, #home-section-3) .sp:is(:hover, :focus) .sp-wrapper-title {
		color: var(--color-light);
		text-align: left;
		--fancy-border-margin-l: 0;
	}
	
	:is(.home-section-3, #home-section-3) .sp:is(:hover, :focus) .sp-subtitle {
		color: var(--color-accent);
		text-align: left;
	}
	
	:is(.home-section-3, #home-section-3) .sp:is(:hover, :focus) .sp-description {
		color: var(--color-light);
		text-align: left;
		overflow-y: auto;
		max-height: 40%;
		scroll-behavior: smooth;
		padding-bottom: 1rem;
		mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
		-webkit-mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
	}
	
	:is(.home-section-3, #home-section-3) .sp:is(:hover, :focus) .sp-character {
		order: 1;
		background: linear-gradient(to bottom, var(--color-accent-gradient-start), var(--color-accent-gradient-end));
		--character-border-size: 38px;
	}
	
	:is(.home-section-3, #home-section-3) .sp:is(:hover, :focus) .sp-character::before {
		background: rgba(186, 192, 204, .4);
	}
	
	:is(.home-section-3, #home-section-3) .sp:is(:hover, :focus) .sp-character::after {
		z-index: -2;
	}
	
	:is(.home-section-3, #home-section-3) .sp-container {
		display: grid;
	}
	
	:is(.home-section-3, #home-section-3) .sp-wrapper {
		opacity: 0;
		position: absolute;
		pointer-events: none;
	}
	
	:is(.home-section-3, #home-section-3) .sp-title {
		order: 3;
	}
	
	:is(.home-section-3, #home-section-3) .sp-character {
		order: 3;
	}
	
	:is(.home-section-3, #home-section-3) .sp-character::after {
		display: block;
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		left: 100px;
		bottom: 0;
		margin-block: auto;
		width: 105px;
		height: 1px;
		background: var(--color-accent);
	}
	
	:is(.home-section-3, #home-section-3) .sp-title-alt {
		font-size: 17px;
		line-height: 20px;
		max-width: 150px;
	}
	
	:is(.home-section-3, #home-section-3) .responsive-background {
		height: 430px;
	}
}

@media only screen and (min-width: 1200px) {
	:is(.home-section-3, #home-section-3) {
		padding-block: 10rem 0;
	}
	
	:is(.home-section-3, #home-section-3) .section-container {
		--container-gutter: 50px;
	}
	
	:is(.home-section-3, #home-section-3) .section-header {
		--fancy-letters-delay: 1.25s;
		margin-block: 7.5rem 86px;
	}
	
	:is(.home-section-3, #home-section-3) .section-heading {
		font-size: 83px;
		margin-bottom: 0;
	}
	
	:is(.home-section-3, #home-section-3) .section-heading em {
		font-size: 180px;
		line-height: 1;
	}
	
	:is(.home-section-3, #home-section-3) .section-content {
		-moz-column-gap: 99px;
		column-gap: 99px;
	}
	
	:is(.home-section-3, #home-section-3) .section-lead {
		max-width: 815px;
	}
	
	:is(.home-section-3, #home-section-3) .responsive-background {
		height: 526px;
		bottom: 80px;
	}
	
	:is(.home-section-3, #home-section-3) .sp:nth-child(3) .sp-wrapper {
		margin-inline: auto;
	}
	
	:is(.home-section-3, #home-section-3) .sp:nth-child(3) .sp-character::after {
		display: block;
	}
	
	:is(.home-section-3, #home-section-3) .sp:nth-child(4) .sp-wrapper {
		margin-inline: auto 0;
	}
	
	:is(.home-section-3, #home-section-3) .sp-wrapper-title {
		margin-right: 2rem;
		--fancy-border-margin-y: 12px;
	}
}

@media only screen and (min-width: 1400px) {
	:is(.home-section-3, #home-section-3) {
		margin-top: -5rem;
		padding-block: 9rem 0;
	}
	
	:is(.home-section-3, #home-section-3) .section-header {
		margin-block: 10.5rem 100px;
	}
	
	:is(.home-section-3, #home-section-3) .section-heading {
		font-size: 94px;
	}
	
	:is(.home-section-3, #home-section-3) .section-heading em {
		font-size: 203px;
	}
	
	:is(.home-section-3, #home-section-3) .section-lead {
		font-size: 33px;
		line-height: 50px;
		max-width: 1005px;
	}
	
	:is(.home-section-3, #home-section-3) .section-content {
		-moz-column-gap: 142px;
		column-gap: 142px;
	}
	
	:is(.home-section-3, #home-section-3) .sp:is(:hover, :focus) .sp-wrapper {
		width: 490px;
		height: 390px;
		padding: 58px 64px;
	}
	
	:is(.home-section-3, #home-section-3) .sp:is(:hover, :focus) .sp-wrapper-title {
		font-size: 29px;
		line-height: 33px;
		margin-top: .5rem;
	}
	
	:is(.home-section-3, #home-section-3) .sp:is(:hover, :focus) .sp-description {
		max-height: 50%;
	}
	
	:is(.home-section-3, #home-section-3) .sp-description {
		font-size: 18px;
		line-height: 26px;
	}
	
	:is(.home-section-3, #home-section-3) .sp-character::after {
		width: 153px;
	}
	
	:is(.home-section-3, #home-section-3) .responsive-background {
		height: 613px;
	}
}

@media only screen and (min-width: 1920px) {
	:is(.home-section-3, #home-section-3) {
		margin-top: -6.5rem;
	}
	
	:is(.home-section-3, #home-section-3) .section-header {
		margin-top: 14rem;
	}
	
	:is(.home-section-3, #home-section-3) .section-heading {
		font-size: 124px;
	}
	
	:is(.home-section-3, #home-section-3) .section-heading em {
		font-size: 258px;
	}
	
	:is(.home-section-3, #home-section-3) .section-content {
		-moz-column-gap: 167px;
		column-gap: 167px;
	}
	
	:is(.home-section-3, #home-section-3) .sp:is(:hover, :focus) .sp-wrapper {
		left: -177px;
	}
	
	:is(.home-section-3, #home-section-3) .sp:nth-child(4) .sp-wrapper, :is(.home-section-3, #home-section-3) .sp:nth-child(5) .sp-wrapper {
		margin-inline: auto;
	}
	
	:is(.home-section-3, #home-section-3) .responsive-background {
		height: 847px;
		bottom: -10px;
	}
}

/*
* Home Section 4
-------------------------------------------------------------------------------- */
:is(.home-section-4, #home-section-4) {
	padding-block: 0 90px;
	background-color: var(--scheme-bg, var(--color-neutral-lighter));
	--swiper-pagination-bottom: -2.25rem;
}

:is(.home-section-4, #home-section-4) .section-container {
	position: relative;
}

:is(.home-section-4, #home-section-4) .sp {
	border-radius: 5px;
	background: var(--color-light);
	padding: 40px 28px 20px;
	min-height: 280px;
}

:is(.home-section-4, #home-section-4) .sp-pointer-reference:is(:hover, :focus) {
	background: var(--color-dark);
	color: var(--color-light);
}

:is(.home-section-4, #home-section-4) .sp-pointer-reference:is(:hover, :focus) .sp-character {
	color: rgba(233, 234, 236, .2);
	margin-bottom: 0px;
}

:is(.home-section-4, #home-section-4) .sp-pointer-reference:is(:hover, :focus) .sp-title {
	color: inherit;
	--fancy-border-margin-y: 15px;
	margin-block: -25px 15px;
}

:is(.home-section-4, #home-section-4) .sp-pointer-reference:is(:hover, :focus) .sp-description {
	display: block;
}

:is(.home-section-4, #home-section-4) .sp-character {
	text-align: right;
	font-size: 49px;
	color: var(--color-neutral-lighter);
	margin-bottom: 70px;
}

:is(.home-section-4, #home-section-4) .sp-title {
	font-size: 30px;
	line-height: 35px;
	color: var(--color-primary);
	margin-bottom: 0;
	--fancy-border-margin-y: 1.25rem;
}

:is(.home-section-4, #home-section-4) .sp-description {
	display: none;
	font-size: 14px;
	line-height: 22px;
}

@media only screen and (min-width: 768px) {
	:is(.home-section-4, #home-section-4) .sp-pointer-reference:is(:hover, :focus) .sp-character {
		margin-bottom: 0px;
	}
	
	:is(.home-section-4, #home-section-4) .sp-pointer-reference:is(:hover, :focus) .sp-title {
		color: inherit;
		--fancy-border-margin-y: 15px;
		margin-block: -25px 15px;
		font-size: 28px;
	}
	
	:is(.home-section-4, #home-section-4) .sp-pointer-reference:is(:hover, :focus) .sp-description {
		display: block;
	}
}

@media only screen and (min-width: 1200px) {
	:is(.home-section-4, #home-section-4) {
		padding-block: 0 125px;
	}
	
	:is(.home-section-4, #home-section-4) .section-body {
		--fancy-letters-delay: .25s;
	}
	
	:is(.home-section-4, #home-section-4) .sp {
		padding-inline: 35px;
		min-height: 325px;
	}
	
	:is(.home-section-4, #home-section-4) .sp-character {
		margin-bottom: 120px;
	}
}

@media only screen and (min-width: 1400px) {
	:is(.home-section-4, #home-section-4) {
		padding-block: 0 140px;
	}
	
	:is(.home-section-4, #home-section-4) .sp {
		padding: 40px 40px 0;
		min-height: 340px;
	}
	
	:is(.home-section-4, #home-section-4) .sp-pointer-reference:is(:hover, :focus) .sp-character {
		margin-bottom: 0px;
	}
	
	:is(.home-section-4, #home-section-4) .sp-pointer-reference:is(:hover, :focus) .sp-title {
		font-size: 32px;
		line-height: 36px;
		margin-top: 0;
	}
	
	:is(.home-section-4, #home-section-4) .sp-title {
		font-size: 34px;
		line-height: 38px;
	}
	
	:is(.home-section-4, #home-section-4) .sp-character {
		font-size: 58px;
	}
	
	:is(.home-section-4, #home-section-4) .sp-description {
		font-size: 16px;
		line-height: 25px;
	}
}

@media only screen and (min-width: 1920px) {
	:is(.home-section-4, #home-section-4) {
		padding-block: 0 200px;
	}
	
	:is(.home-section-4, #home-section-4) .section-container {
		--container-gutter: 260px;
	}
	
	:is(.home-section-4, #home-section-4) .sp {
		min-height: 390px;
		padding: 55px 50px 0;
	}
	
	:is(.home-section-4, #home-section-4) .sp-pointer-reference:is(:hover, :focus) .sp-character {
		margin-bottom: 0px;
	}
	
	:is(.home-section-4, #home-section-4) .sp-pointer-reference:is(:hover, :focus) .sp-title {
		font-size: 34px;
		line-height: 40px;
		--fancy-border-margin-y: 1.25rem;
		margin-block: -5px 1.5rem;
	}
	
	:is(.home-section-4, #home-section-4) .sp-title {
		font-size: 36px;
		line-height: 42px;
		--fancy-border-height: 4px;
		--fancy-border-margin-y: 1.5rem;
	}
	
	:is(.home-section-4, #home-section-4) .sp-character {
		font-size: 68px;
	}
	
	:is(.home-section-4, #home-section-4) .sp-description {
		font-size: 18px;
		line-height: 28px;
	}
}

/*
* Home Section 5
-------------------------------------------------------------------------------- */
:is(.home-section-5, #home-section-5) {
	padding-block: 0;
}

:is(.home-section-5, #home-section-5) .swiper {
	padding-block: 65px 90px;
	--swiper-pagination-bottom: 60px;
}

:is(.home-section-5, #home-section-5) .section-border {
	--fancy-border-height: 6px;
}

@media only screen and (min-width: 768px) {
	:is(.home-section-5, #home-section-5) .swiper {
		padding-block: 60px;
		--swiper-pagination-bottom: 60px;
	}
}

@media only screen and (min-width: 1400px) {
	:is(.home-section-5, #home-section-5) .swiper {
		padding-block: 70px;
	}
}

@media only screen and (min-width: 1920px) {
	:is(.home-section-5, #home-section-5) .section-container {
		--container-gutter: 100px;
	}
}

/*
* Home Section 6
-------------------------------------------------------------------------------- */
:is(.home-section-6, #home-section-6) {
	padding-block: 65px 0;
	color: var(--scheme-fg, var(--color-light));
	background-color: var(--scheme-bg-contrast, var(--color-primary-alt));
}

:is(.home-section-6, #home-section-6) .section-top-background {
	max-height: 450px;
	margin-block: 0 auto;
	background: transparent;
	mix-blend-mode: multiply;
}

:is(.home-section-6, #home-section-6) .section-bottom-background {
	max-height: 450px;
	margin-block: auto 0;
	transform: rotate(180deg);
	background: transparent;
	mix-blend-mode: multiply;
}

:is(.home-section-6, #home-section-6) .section-border {
	--fancy-border-height: 6px;
}

:is(.home-section-6, #home-section-6) .section-heading {
	position: relative;
	z-index: 11;
	margin-block: -5.5rem 20px;
	font-size: 23px;
	line-height: 24px;
	color: inherit;
	text-align: center;
}

:is(.home-section-6, #home-section-6) .section-heading em {
	font-size: 48px;
	line-height: 1.1;
}

:is(.home-section-6, #home-section-6) .section-images {
	margin-block: 50px;
	text-align: center;
}

:is(.home-section-6, #home-section-6) .section-image {
	position: relative;
	width: 350px;
	margin-inline: auto;
}

:is(.home-section-6, #home-section-6) .section-image img {
	margin-left: -25px;
}

:is(.home-section-6, #home-section-6) .section-image::after {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 200px;
	bottom: 0;
	background: linear-gradient(to bottom, transparent, var(--color-primary-alt));
}

:is(.home-section-6, #home-section-6) .section-icon {
	font-size: 206px;
	margin-bottom: 30px;
}

:is(.home-section-6, #home-section-6) .section-logo {
	--fancy-circle-logo-size: 166px;
	background: linear-gradient(135deg, var(--color-secondary-gradient-start), var(--color-secondary-gradient-end));
	position: absolute;
	width: var(--fancy-circle-logo-size);
	height: var(--fancy-circle-logo-size);
	border-radius: 99999px;
	box-shadow: 3px 3px 20px var(--color-neutral-lightest);
	right: 0;
	left: 0;
	bottom: -83px;
	margin-inline: auto;
	z-index: 100;
}

:is(.home-section-6, #home-section-6) .section-logo:after {
	--fancy-circle-icon-size: 62px;
	position: absolute;
	margin: auto;
	margin: auto;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	display: block;
	content: "";
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	background-image: url("https://cdn-ildoaab.nitrocdn.com/JzadSxRbeRwMrDuuSWJpqUXPeNBEBfkB/assets/images/optimized/rev-183cb1b/www.khamolaw.com/wp-content/uploads/2025/05/logo-K.svg");
	width: var(--fancy-circle-icon-size);
	height: var(--fancy-circle-icon-size);
}

:is(.home-section-6, #home-section-6) .section-body {
	position: relative;
	z-index: 0;
	margin-bottom: 2rem;
}

:is(.home-section-6, #home-section-6) .sp-container {
	display: grid;
	text-align: center;
	justify-content: center;
}

:is(.home-section-6, #home-section-6) .sp-character {
	--character-border-size: 24px;
	--character-size: 61px;
	position: relative;
	justify-self: center;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-light);
	border-radius: 9999px;
	width: var(--character-size);
	height: var(--character-size);
	font-size: 28px;
	margin-inline: auto;
	margin-bottom: 1.25rem;
}

:is(.home-section-6, #home-section-6) .sp-character::before {
	position: absolute;
	display: block;
	content: "";
	width: calc(var(--character-size) + var(--character-border-size));
	height: calc(var(--character-size) + var(--character-border-size));
	border-radius: 9999px;
	background: rgba(255, 255, 255, .08);
	margin: auto;
	top: 0;
	bottom: 0;
	z-index: -1;
}

:is(.home-section-6, #home-section-6) .sp-title {
	color: inherit;
	font-size: 30px;
	line-height: 45px;
	text-transform: uppercase;
	margin-bottom: 20px;
	--fancy-border-width: 62px;
	--fancy-border-height: 2px;
	--fancy-border-margin-y: 10px;
}

:is(.home-section-6, #home-section-6) .sp-description {
	font-size: 16px;
	line-height: 24px;
	margin-bottom: 40px;
}

:is(.home-section-6, #home-section-6) .sp-description {
	scrollbar-width: none !important;
	-ms-overflow-style: none !important;
}

:is(.home-section-6, #home-section-6) .sp-description::-webkit-scrollbar {
	display: none !important;
}

@media only screen and (min-width: 768px) {
	:is(.home-section-6, #home-section-6) {
		padding-block: 90px 0;
		z-index: 3;
	}
	
	:is(.home-section-6, #home-section-6) .swiper {
		padding-block: 65px 90px;
		--swiper-pagination-bottom: 60px;
	}
	
	:is(.home-section-6, #home-section-6) .section-top-background, :is(.home-section-6, #home-section-6) .section-bottom-background {
		max-height: 590px;
	}
	
	:is(.home-section-6, #home-section-6) .section-images {
		margin-block: 0px 50px;
		position: relative;
	}
	
	:is(.home-section-6, #home-section-6) .section-icon {
		z-index: 2;
		position: absolute;
		top: 180px;
		left: 40px;
	}
	
	:is(.home-section-6, #home-section-6) .section-image {
		width: 560px;
	}
	
	:is(.home-section-6, #home-section-6) .section-image img {
		margin-inline: auto;
	}
	
	:is(.home-section-6, #home-section-6) .section-logo {
		--fancy-circle-logo-size: 281px;
		bottom: -140px;
	}
	
	:is(.home-section-6, #home-section-6) .section-logo::before {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(-135deg, var(--color-secondary-gradient-start) 10%, var(--color-secondary-gradient-end));
		opacity: 0;
		transition: opacity .75s ease;
		z-index: -1;
		border-radius: 99999px;
	}
	
	:is(.home-section-6, #home-section-6) .section-logo:hover::before, :is(.home-section-6, #home-section-6) .section-logo:focus::before {
		opacity: 1;
	}
	
	:is(.home-section-6, #home-section-6) .section-logo:after {
		--fancy-circle-icon-size: 104px;
	}
	
	:is(.home-section-6, #home-section-6) .section-heading {
		z-index: 1;
		margin-block: -7rem 5px;
		font-size: 51px;
		line-height: 50px;
	}
	
	:is(.home-section-6, #home-section-6) .section-heading em {
		font-size: 99px;
	}
	
	:is(.home-section-6, #home-section-6) .sp-wrapper {
		position: absolute;
		opacity: 0;
	}
	
	:is(.home-section-6, #home-section-6) .sp:nth-child(3) .sp-wrapper, :is(.home-section-6, #home-section-6) .sp:nth-child(5) .sp-wrapper {
		margin-inline: auto 0;
	}
	
	:is(.home-section-6, #home-section-6) .sp-description {
		position: relative;
		color: var(--color-light);
		overflow-y: auto;
		max-height: 66%;
		scroll-behavior: smooth;
		padding-bottom: 1.5rem;
		mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
		-webkit-mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
	}
	
	:is(.home-section-6, #home-section-6) .sp:nth-child(4) .sp-description {
		max-height: 52%;
	}
	
	:is(.home-section-6, #home-section-6) .sp-pointer-reference:is(:hover, :focus) {
		z-index: 1;
	}
	
	:is(.home-section-6, #home-section-6) .sp-pointer-reference:is(:hover, :focus) .sp {
		z-index: -1;
	}
	
	:is(.home-section-6, #home-section-6) .sp-pointer-reference:is(:hover, :focus) .sp-wrapper {
		z-index: -1;
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		left: -25px;
		bottom: 45px;
		margin-block: auto 0;
		background: linear-gradient(to bottom, var(--color-secondary-gradient-start), var(--color-secondary-gradient-end));
		width: 289px;
		height: 327px;
		padding: 45px 30px;
		border-radius: 5px;
		transition: opacity .6s ease;
		opacity: 1;
	}
	
	:is(.home-section-6, #home-section-6) .sp-pointer-reference:is(:hover, :focus) .sp-wrapper-title {
		color: var(--color-light);
		text-align: center;
		font-size: 32px;
		line-height: 33px;
		--fancy-border-margin-y: 1rem;
		margin-bottom: 1rem;
	}
	
	:is(.home-section-6, #home-section-6) .sp-pointer-reference:is(:hover, :focus) .sp-character {
		order: 1;
	}
	
	:is(.home-section-6, #home-section-6) .sp-pointer-reference:is(:hover, :focus) .sp-character::after {
		z-index: -2;
	}
}

@media only screen and (min-width: 1200px) {
	:is(.home-section-6, #home-section-6) {
		padding-block: 130px 0;
	}
	
	:is(.home-section-6, #home-section-6) .section-heading {
		font-size: 75px;
	}
	
	:is(.home-section-6, #home-section-6) .section-heading em {
		font-size: 144px;
		line-height: 1.25;
	}
	
	:is(.home-section-6, #home-section-6) .section-blocks {
		display: grid;
		grid-template-columns: 458px 1fr;
		gap: 58px;
	}
	
	:is(.home-section-6, #home-section-6) .section-icon {
		top: 110px;
		left: 0;
	}
	
	:is(.home-section-6, #home-section-6) .section-top {
		margin-bottom: 10rem;
	}
	
	:is(.home-section-6, #home-section-6) .section-images {
		margin-block: 0 auto;
		--fancy-letters-delay: 1s;
	}
	
	:is(.home-section-6, #home-section-6) .section-image {
		top: -4rem;
		right: -2rem;
	}
	
	:is(.home-section-6, #home-section-6) .section-body {
		margin-bottom: 3rem;
		transform: translateY(50px);
		opacity: 0;
		transition: transform var(--ilawyer-transform-duration) var(--ilawyer-cubic-bezier), opacity 1000ms ease-in-out, color 200ms ease-in-out, background 200ms ease-in-out;
	}
	
	:is(.home-section-6, #home-section-6) .section-body.visible {
		opacity: 1;
		transform: translate(0);
		transition-delay: 2s, 2s, 0ms, 0ms;
	}
	
	:is(.home-section-6, #home-section-6) .sp-character {
		font-size: 25px;
	}
	
	:is(.home-section-6, #home-section-6) .sp-pointer-reference:is(:hover, :focus) .sp-wrapper {
		width: 339px;
		height: 384px;
		padding: 50px 35px 70px;
		left: -140px;
		margin-inline: auto;
	}
	
	:is(.home-section-6, #home-section-6) .sp-pointer-reference:is(:hover, :focus) .sp-wrapper-title {
		font-size: 39px;
		line-height: 45px;
	}
	
	:is(.home-section-6, #home-section-6) .sp-description {
		max-width: 266px;
		font-size: 18px;
		line-height: 26px;
	}
}

@media only screen and (min-width: 1400px) {
	:is(.home-section-6, #home-section-6) {
		padding-block: 200px 0;
	}
	
	:is(.home-section-6, #home-section-6) .section-blocks {
		grid-template-columns: 564px 1fr;
		gap: 100px;
	}
	
	:is(.home-section-6, #home-section-6) .section-top {
		margin-bottom: 8rem;
	}
	
	:is(.home-section-6, #home-section-6) .section-heading {
		font-size: 78px;
	}
	
	:is(.home-section-6, #home-section-6) .section-heading em {
		font-size: 150px;
	}
	
	:is(.home-section-6, #home-section-6) .section-logo {
		--fancy-circle-logo-size: 300px;
		bottom: -150px;
	}
	
	:is(.home-section-6, #home-section-6) .section-logo:after {
		--fancy-circle-icon-size: 111px;
	}
	
	:is(.home-section-6, #home-section-6) .section-image {
		top: -7rem;
		right: 2rem;
		width: 660px;
	}
}

@media only screen and (min-width: 1920px) {
	:is(.home-section-6, #home-section-6) .section-container {
		--container-gutter: 260px;
	}
	
	:is(.home-section-6, #home-section-6) .section-blocks {
		grid-template-columns: 611px 1fr;
		gap: 170px;
	}
	
	:is(.home-section-6, #home-section-6) .section-logo {
		--fancy-circle-logo-size: 330px;
		bottom: -165px;
	}
	
	:is(.home-section-6, #home-section-6) .section-logo:after {
		--fancy-circle-icon-size: 123px;
	}
	
	:is(.home-section-6, #home-section-6) .section-image {
		right: 2.5rem;
	}
	
	:is(.home-section-6, #home-section-6) .section-heading {
		font-size: 83px;
	}
	
	:is(.home-section-6, #home-section-6) .section-heading em {
		font-size: 157px;
	}
	
	:is(.home-section-6, #home-section-6) .sp-character {
		--character-size: 72px;
		font-size: 30px;
	}
}

/*
* Home Section 7
-------------------------------------------------------------------------------- */
:is(.home-section-7, #home-section-7) {
	position: relative;
	z-index: 0;
	padding-block: 7rem 250px;
	background: transparent;
}

:is(.home-section-7, #home-section-7) .section-lead {
	color: var(--color-secondary);
	text-transform: uppercase;
	font-weight: 700;
	--fancy-border-width: 190px;
	--fancy-border-margin-y: 40px;
	margin-bottom: 50px;
}

:is(.home-section-7, #home-section-7) .section-lead em {
	color: var(--color-accent);
	font-style: normal;
}

:is(.home-section-7, #home-section-7) .responsive-background {
	top: auto;
	height: 315px;
}

:is(.home-section-7, #home-section-7) .responsive-background::before {
	background: linear-gradient(to top, transparent 0%, var(--color-light) 100%);
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	z-index: -1;
	bottom: 0;
}

@media only screen and (min-width: 768px) {
	:is(.home-section-7, #home-section-7) {
		padding-block: 190px 245px;
	}
	
	:is(.home-section-7, #home-section-7) .section-lead {
		font-size: 32px;
		line-height: 50px;
	}
	
	:is(.home-section-7, #home-section-7) .responsive-background {
		height: 346px;
	}
}

@media only screen and (min-width: 1200px) {
	:is(.home-section-7, #home-section-7) {
		padding-block: 200px 500px;
	}
	
	:is(.home-section-7, #home-section-7) .section-blocks {
		display: grid;
		grid-template-columns: 458px 521px;
		gap: 60px;
		align-items: center;
	}
	
	:is(.home-section-7, #home-section-7) .section-content-bottom {
		margin-top: 45px;
		max-width: 800px;
		margin-inline: auto;
	}
	
	:is(.home-section-7, #home-section-7) .section-lead {
		margin-bottom: 0;
	}
	
	:is(.home-section-7, #home-section-7) .responsive-background {
		height: 640px;
	}
	
	:is(.home-section-7, #home-section-7) .responsive-background::before {
		background: linear-gradient(to top, transparent 0%, var(--color-light) 90%);
	}
}

@media only screen and (min-width: 1400px) {
	:is(.home-section-7, #home-section-7) {
		padding-block: 220px 500px;
	}
	
	:is(.home-section-7, #home-section-7) .section-container {
		--container-gutter: 100px;
	}
	
	:is(.home-section-7, #home-section-7) .section-blocks {
		grid-template-columns: 514px 610px;
		justify-content: space-between;
	}
	
	:is(.home-section-7, #home-section-7) .section-lead {
		--fancy-border-margin-y: 2.75rem;
		--fancy-border-width: 300px;
	}
}

@media only screen and (min-width: 1920px) {
	:is(.home-section-7, #home-section-7) {
		padding-block: 270px 600px;
	}
	
	:is(.home-section-7, #home-section-7) .section-container {
		--container-gutter: 260px;
	}
	
	:is(.home-section-7, #home-section-7) .section-lead {
		--fancy-border-margin-y: 3rem;
		margin-block: auto;
	}
	
	:is(.home-section-7, #home-section-7) .section-blocks {
		grid-template-columns: 514px 728px;
	}
	
	:is(.home-section-7, #home-section-7) .responsive-background {
		height: 690px;
	}
}

/*
* Home Section 8
-------------------------------------------------------------------------------- */
:is(.home-section-8, #home-section-8) {
	margin-top: -2rem;
	padding-bottom: 0;
	background: linear-gradient(to bottom, transparent, var(--color-light-alt));
	--swiper-pagination-bottom: 27px;
}

:is(.home-section-8, #home-section-8) .fancy-angle-wrapper {
	--fancy-angle-height: 10.5555555556vw;
}

:is(.home-section-8, #home-section-8) .fancy-angle-alt {
	--fancy-angle-offset-top: 13px;
	height: 499px;
}

:is(.home-section-8, #home-section-8) .fancy-angle-main {
	height: 512px;
}

:is(.home-section-8, #home-section-8) .section-header {
	padding-block: 2rem 0;
	margin-bottom: 2.75rem;
}

:is(.home-section-8, #home-section-8) .section-heading {
	font-size: 43px;
	line-height: 48px;
	color: inherit;
	margin-bottom: 10px;
}

:is(.home-section-8, #home-section-8) .section-heading em {
	font-size: inherit;
	line-height: inherit;
}

:is(.home-section-8, #home-section-8) .testimonial {
	position: relative;
	box-shadow: 0 3px 6px var(--color-neutral-lightest);
	background: var(--color-light);
	color: var(--color-dark);
	border-radius: 5px;
	padding: 47px 36px;
	margin-bottom: 4rem;
}

:is(.home-section-8, #home-section-8) .testimonial-highlight {
	--clamp-text-cap: 2;
}

:is(.home-section-8, #home-section-8) .testimonial-quote {
	--clamp-text-cap: 6;
}

:is(.home-section-8, #home-section-8) .testimonial-source-icon {
	position: absolute;
	top: 30px;
	right: 30px;
	font-size: 23px;
}

:is(.home-section-8, #home-section-8) .swiper {
	--swiper-custom-arrow-offset-x: 50vw;
}

@media only screen and (min-width: 768px) {
	:is(.home-section-8, #home-section-8) {
		margin-top: -4.25rem;
		--swiper-pagination-bottom: 5px;
	}
	
	:is(.home-section-8, #home-section-8) .fancy-angle-alt {
		--fancy-angle-offset-top: 40px;
		height: 499px;
	}
	
	:is(.home-section-8, #home-section-8) .fancy-angle-main {
		height: 611px;
	}
	
	:is(.home-section-8, #home-section-8) .section-header {
		padding-block: 7rem 1.5rem;
	}
	
	:is(.home-section-8, #home-section-8) .section-heading {
		font-size: 62px;
		margin-bottom: 2rem;
	}
	
	:is(.home-section-8, #home-section-8) .section-body {
		width: 431px;
	}
	
	:is(.home-section-8, #home-section-8) .section-button {
		text-align: center;
	}
	
	:is(.home-section-8, #home-section-8) .section-button .button {
		--button-height: 80px;
		--button-padding-x: 32px;
		font-size: 20px;
	}
	
	:is(.home-section-8, #home-section-8) .testimonial {
		min-height: 532px;
		padding: 74px 50px 50px;
		margin-bottom: 1rem;
	}
	
	:is(.home-section-8, #home-section-8) .testimonial-source-icon {
		position: absolute;
		top: 42px;
		right: 42px;
		font-size: 33px;
	}
}

@media only screen and (min-width: 1200px) {
	:is(.home-section-8, #home-section-8) {
		margin-top: -8rem;
	}
	
	:is(.home-section-8, #home-section-8) .fancy-angle-main {
		height: 680px;
	}
	
	:is(.home-section-8, #home-section-8) .fancy-angle-alt {
		height: 585px;
		--fancy-angle-offset-top: 50px;
		--fancy-angle-offset-bottom: 430px;
	}
	
	:is(.home-section-8, #home-section-8) .section-header {
		padding-block: 10rem 2.75rem;
	}
	
	:is(.home-section-8, #home-section-8) .section-heading {
		font-size: 85px;
		margin-bottom: 3.5rem;
	}
	
	:is(.home-section-8, #home-section-8) .section-body {
		width: 892px;
		--fancy-letters-delay: 1s;
	}
}

@media only screen and (min-width: 1400px) {
	:is(.home-section-8, #home-section-8) .section-heading {
		font-size: 90px;
	}
	
	:is(.home-section-8, #home-section-8) .testimonial-highlight {
		--clamp-text-cap: 3;
	}
	
	:is(.home-section-8, #home-section-8) .testimonial-quote {
		--clamp-text-cap: 5;
	}
}

@media only screen and (min-width: 1920px) {
	:is(.home-section-8, #home-section-8) {
		margin-top: -6.5vw;
	}
	
	:is(.home-section-8, #home-section-8) .fancy-angle-main {
		height: 890px;
	}
	
	:is(.home-section-8, #home-section-8) .fancy-angle-alt {
		height: 780px;
	}
	
	:is(.home-section-8, #home-section-8) .section-heading {
		font-size: 95px;
	}
	
	:is(.home-section-8, #home-section-8) .section-body {
		width: 1353px;
	}
}

/*
* Home Section 9
-------------------------------------------------------------------------------- */
:is(.home-section-9, #home-section-9) {
	padding-bottom: 0;
	background-color: var(--color-neutral-lighter);
}

:is(.home-section-9, #home-section-9) .section-background {
	max-height: 500px;
	margin-block: auto 0;
	transform: rotate(180deg);
	background: transparent;
	opacity: .75;
}

:is(.home-section-9, #home-section-9) .section-background::before {
	background: linear-gradient(to bottom, rgba(233, 234, 236, .75) 0%, var(--color-neutral-lighter));
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	z-index: -1;
	bottom: 0;
}

:is(.home-section-9, #home-section-9) .section-border {
	--fancy-border-height: 6px;
}

:is(.home-section-9, #home-section-9) .section-header {
	max-width: 310px;
}

:is(.home-section-9, #home-section-9) .section-heading {
	font-size: 30px;
	line-height: 30px;
}

:is(.home-section-9, #home-section-9) .section-heading em {
	font-size: 42px;
	line-height: 42px;
}

:is(.home-section-9, #home-section-9) .profiles-cluster {
	padding-bottom: 75px;
}

:is(.home-section-9, #home-section-9) .profiles-cluster-blocks {
	row-gap: 3rem;
}

@media only screen and (min-width: 768px) {
	:is(.home-section-9, #home-section-9) {
		padding-block: 70px 0;
	}
	
	:is(.home-section-9, #home-section-9) .section-background {
		max-height: 660px;
	}
	
	:is(.home-section-9, #home-section-9) .section-background::after {
		background: linear-gradient(to top, transparent 0%, var(--color-neutral-lighter) 50%, transparent);
	}
	
	:is(.home-section-9, #home-section-9) .section-header {
		max-width: none;
		margin-bottom: 50px;
	}
	
	:is(.home-section-9, #home-section-9) .section-heading {
		margin-inline: auto;
		text-align: center;
		font-size: 42px;
		line-height: 1.3;
	}
	
	:is(.home-section-9, #home-section-9) .section-heading em {
		font-size: 85px;
		line-height: .95;
	}
	
	:is(.home-section-9, #home-section-9) .profiles-cluster {
		padding-bottom: 100px;
	}
}

@media only screen and (min-width: 1200px) {
	:is(.home-section-9, #home-section-9) .section-header {
		margin-bottom: 100px;
	}
	
	:is(.home-section-9, #home-section-9) .section-heading {
		font-size: 55px;
		margin-inline: -2rem;
	}
	
	:is(.home-section-9, #home-section-9) .section-heading em {
		display: block;
		font-size: 92px;
	}
	
	:is(.home-section-9, #home-section-9) .profiles-cluster {
		--fancy-letters-delay: 1.25s;
		padding-bottom: 150px;
	}
}

@media only screen and (min-width: 1400px) {
	:is(.home-section-9, #home-section-9) {
		padding-block: 100px 0;
	}
	
	:is(.home-section-9, #home-section-9) .section-background {
		max-height: 817px;
	}
	
	:is(.home-section-9, #home-section-9) .section-heading {
		font-size: 70px;
	}
	
	:is(.home-section-9, #home-section-9) .section-heading em {
		font-size: 108px;
	}
	
	:is(.home-section-9, #home-section-9) .profiles-cluster {
		padding-bottom: 180px;
	}
}

@media only screen and (min-width: 1920px) {
	:is(.home-section-9, #home-section-9) {
		padding-block: 180px 0;
	}
	
	:is(.home-section-9, #home-section-9) .section-background {
		max-height: 1110px;
	}
	
	:is(.home-section-9, #home-section-9) .section-container {
		--container-gutter: 260px;
	}
	
	:is(.home-section-9, #home-section-9) .section-heading {
		font-size: 80px;
	}
	
	:is(.home-section-9, #home-section-9) .section-heading em {
		font-size: 120px;
	}
}

@media only screen and (max-width: 767px) {
	:is(.home-section-9, #home-section-9) {
		padding-top: 0;
	}
}

/*
* Home Section 10
-------------------------------------------------------------------------------- */
:is(.home-section-10, #home-section-10) {
	position: relative;
	z-index: 100;
	padding-block: 55px;
	margin-bottom: -18rem;
	background: linear-gradient(to bottom, var(--color-light), transparent 50%);
	--swiper-theme-color: var(--color-light);
	--swiper-pagination-bullet-inactive-color: var(--color-light);
}

:is(.home-section-10, #home-section-10) .section-header {
	margin-bottom: 3rem;
}

:is(.home-section-10, #home-section-10) .section-heading {
	margin-bottom: 1.25rem;
	font-size: 50px;
	line-height: 50px;
}

:is(.home-section-10, #home-section-10) .section-heading em {
	font-size: inherit;
	line-height: inherit;
}

:is(.home-section-10, #home-section-10) .section-button .button {
	--button-height: 65px;
	--button-padding-x: 1rem;
	font-size: 18px;
}

:is(.home-section-10, #home-section-10) .sp {
	--sp-height: 387px;
	position: relative;
	width: 310px;
	height: var(--sp-height);
	margin-inline: auto;
}

:is(.home-section-10, #home-section-10) .sp-pointer-reference:is(:hover, :active) .sp-image::after {
	opacity: 1;
	mix-blend-mode: normal;
	background: linear-gradient(to top, var(--color-secondary), var(--color-dark));
}

:is(.home-section-10, #home-section-10) .sp-pointer-reference:is(:hover, :active) .sp-title {
	margin-top: 0;
	top: 40px;
}

:is(.home-section-10, #home-section-10) .sp-pointer-reference:is(:hover, :active) .sp-title::after {
	display: block;
	content: "";
	width: 60px;
	height: 2px;
	background: var(--color-accent);
	margin-inline: auto;
	margin-block: 1rem;
}

:is(.home-section-10, #home-section-10) .sp-pointer-reference:is(:hover, :active) .sp-title i {
	display: none;
}

:is(.home-section-10, #home-section-10) .sp-pointer-reference:is(:hover, :active) .sp-description {
	margin-top: auto;
	top: 130px;
	left: 0;
	right: 0;
	text-align: center;
	color: var(--color-light);
	font-size: 15px;
	line-height: 23px;
	position: absolute;
	display: block;
	width: 256px;
	margin-inline: auto;
}

:is(.home-section-10, #home-section-10) .sp-pointer-reference:is(:hover, :active) .sp-link {
	display: block;
	position: absolute;
	margin-block: auto 0;
	margin-inline: auto;
	top: 0;
	right: 0;
	left: 0;
	bottom: 30px;
	height: 58px;
	width: 170px;
	line-height: 1.25;
}

:is(.home-section-10, #home-section-10) .sp-pointer-reference:is(:hover, :active) .sp-link:hover {
	background-image: linear-gradient(to right, var(--color-accent-gradient-start) 0%, var(--color-accent-gradient-end) 100%);
}

:is(.home-section-10, #home-section-10) .sp-pointer-reference:is(:hover, :active) .sp-link:hover::before {
	opacity: 0;
}

:is(.home-section-10, #home-section-10) .sp-image {
	position: relative;
}

:is(.home-section-10, #home-section-10) .sp-image img {
	border-radius: 5px;
}

:is(.home-section-10, #home-section-10) .sp-image::after {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: var(--sp-height);
	top: 0;
	border-radius: 5px;
	background: var(--color-dark);
	opacity: .7;
	transition: opacity .6s ease;
	mix-blend-mode: multiply;
}

:is(.home-section-10, #home-section-10) .sp-title {
	position: absolute;
	margin: auto;
	top: 4rem;
	right: 0;
	bottom: 0;
	left: 0;
	width: -moz-max-content;
	width: max-content;
	height: -moz-max-content;
	height: max-content;
	text-transform: uppercase;
	text-align: center;
	color: var(--color-light);
	font-size: 27px;
	line-height: 29px;
}

:is(.home-section-10, #home-section-10) .sp-title i {
	display: block;
	margin-top: 30px;
}

:is(.home-section-10, #home-section-10) .sp-title i::before, :is(.home-section-10, #home-section-10) .sp-title i::after {
	display: inline-block;
	order: 9;
	align-self: center;
	flex: 0 0 auto;
	content: "";
	height: .38em;
	width: .65em;
	vertical-align: middle;
	background: var(--color-accent);
	clip-path: polygon(0 0, 50% 100%, 100% 0);
	font-size: 18px;
	transform: rotate(-90deg);
}

:is(.home-section-10, #home-section-10) .sp-description {
	display: none;
}

:is(.home-section-10, #home-section-10) .sp-link {
	display: none;
}

@media only screen and (min-width: 768px) {
	:is(.home-section-10, #home-section-10) {
		padding-block: 90px;
		margin-bottom: -21rem;
		--swiper-pagination-bottom: 2.5rem;
	}
	
	:is(.home-section-10, #home-section-10) .section-header {
		margin-bottom: 4.5rem;
	}
	
	:is(.home-section-10, #home-section-10) .section-heading {
		font-size: 62px;
		line-height: 73px;
		margin-bottom: 1rem;
	}
	
	:is(.home-section-10, #home-section-10) .section-button {
		text-align: center;
	}
	
	:is(.home-section-10, #home-section-10) .section-button .button {
		--button-padding-x: 30px;
		--button-height: 80px;
		font-size: 20px;
	}
	
	:is(.home-section-10, #home-section-10) .sp {
		width: 326px;
		--sp-height: 407px;
	}
	
	:is(.home-section-10, #home-section-10) .sp-title {
		font-size: 28px;
		line-height: 31px;
	}
	
	:is(.home-section-10, #home-section-10) .sp-pointer-reference:is(:hover, :active) .sp-title {
		top: 45px;
	}
	
	:is(.home-section-10, #home-section-10) .sp-pointer-reference:is(:hover, :active) .sp-description {
		top: 140px;
	}
	
	:is(.home-section-10, #home-section-10) .sp-pointer-reference:is(:hover, :active) .sp-link {
		bottom: 45px;
	}
}

@media only screen and (min-width: 1200px) {
	:is(.home-section-10, #home-section-10) {
		padding-block: 105px;
		margin-bottom: -49rem;
	}
	
	:is(.home-section-10, #home-section-10) .section-header {
		margin-bottom: 100px;
	}
	
	:is(.home-section-10, #home-section-10) .section-heading {
		font-size: 85px;
		line-height: 1.45;
	}
	
	:is(.home-section-10, #home-section-10) .section-body {
		--fancy-letters-delay: 1.25s;
	}
	
	:is(.home-section-10, #home-section-10) .sp {
		width: 337px;
		--sp-height: 420px;
	}
}

@media only screen and (min-width: 1400px) {
	:is(.home-section-10, #home-section-10) {
		margin-bottom: -54rem;
	}
	
	:is(.home-section-10, #home-section-10) .section-heading {
		font-size: 90px;
	}
	
	:is(.home-section-10, #home-section-10) .sp {
		width: 385px;
		--sp-height: 480px;
	}
	
	:is(.home-section-10, #home-section-10) .sp-pointer-reference:is(:hover, :active) .sp-title {
		top: 55px;
	}
	
	:is(.home-section-10, #home-section-10) .sp-pointer-reference:is(:hover, :active) .sp-title::after {
		margin-block: 1.1rem;
	}
	
	:is(.home-section-10, #home-section-10) .sp-pointer-reference:is(:hover, :active) .sp-description {
		font-size: 18px;
		line-height: 28px;
		top: 157px;
		width: 295px;
	}
	
	:is(.home-section-10, #home-section-10) .sp-pointer-reference:is(:hover, :active) .sp-link {
		bottom: 55px;
	}
	
	:is(.home-section-10, #home-section-10) .sp-title {
		font-size: 30px;
		line-height: 34px;
	}
	
	:is(.home-section-10, #home-section-10) .sp-title i {
		margin-top: 50px;
	}
}

@media only screen and (min-width: 1920px) {
	:is(.home-section-10, #home-section-10) {
		padding-block: 134px;
		margin-bottom: -28rem;
	}
	
	:is(.home-section-10, #home-section-10) .section-container {
		--container-gutter: 102px;
	}
	
	:is(.home-section-10, #home-section-10) .section-header {
		margin-bottom: 86px;
	}
	
	:is(.home-section-10, #home-section-10) .section-heading {
		font-size: 95px;
	}
	
	:is(.home-section-10, #home-section-10) .sp {
		width: 401px;
		--sp-height: 500px;
	}
	
	:is(.home-section-10, #home-section-10) .sp-title {
		font-size: 32px;
		line-height: 36px;
	}
	
	:is(.home-section-10, #home-section-10) .sp-pointer-reference:is(:hover, :active) .sp-title {
		top: 60px;
	}
	
	:is(.home-section-10, #home-section-10) .sp-pointer-reference:is(:hover, :active) .sp-title::after {
		margin-block: 1.5rem;
	}
	
	:is(.home-section-10, #home-section-10) .sp-pointer-reference:is(:hover, :active) .sp-description {
		top: 180px;
		width: 295px;
	}
	
	:is(.home-section-10, #home-section-10) .sp-pointer-reference:is(:hover, :active) .sp-link {
		bottom: 60px;
	}
}

/* ================================================================================
Contact Template
================================================================================ */

/* Template Contact  https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/template/contact.md
-------------------------------------------------------------------------------- */

/*
Note: 
This file is for Contact Page only overrides for the contact information
For Contact Page only overrides for the contact informatio, apply styles to templates/template-contact.scss -> #contact-page
For styles applied globally for the contact information, apply styles to layouts/layout-contact.scss
For Footer section only overrides for the contact informatio, apply styles to layout/layout-footer.scss -> .footer-contact styles section
-------------------------------------------------------------------------------- */
body.onep21-template-contact {
	/* body selector for contact template */
	--layout-banner-offset: 160px;
}

@media only screen and (min-width: 768px) {
	body.onep21-template-contact {
		--layout-banner-offset: 200px;
	}
}

@media only screen and (min-width: 1200px) {
	body.onep21-template-contact {
		--layout-banner-offset: 100px;
	}
}

@media only screen and (min-width: 1400px) {
	body.onep21-template-contact {
		--layout-banner-offset: 200px;
	}
}

@media only screen and (min-width: 1920px) {
	body.onep21-template-contact {
		--layout-banner-offset: 250px;
	}
}

#contact-banner {}

#contact-banner .banner-main {
	background: var(--color-light);
	color: var(--color-primary);
	min-height: 375px;
	padding-block: 40px 0;
	justify-content: flex-start;
}

#contact-banner .banner-main::before {
	background: linear-gradient(to bottom, transparent 0%, var(--color-light) 100%);
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	z-index: -1;
	bottom: 0;
}

#contact-banner .banner-buttons {
	margin-bottom: 10px;
}

#contact-banner .banner-background {
	z-index: -2;
}

@media only screen and (min-width: 768px) {
	#contact-banner .banner-main {
		padding-block: 65px 20px;
		min-height: 525px;
	}
	
	#contact-banner .banner-body-blocks {
		gap: 20px;
	}
}

@media only screen and (min-width: 1200px) {
	#contact-banner .banner-main {
		padding-block: 100px 0;
		min-height: 400px;
	}
	
	#contact-banner .banner-buttons {
		margin-bottom: 30px;
	}
}

@media only screen and (min-width: 1400px) {
	#contact-banner .banner-main {
		min-height: 430px;
	}
}

@media only screen and (min-width: 1920px) {
	#contact-banner .banner-main {
		padding-block: 150px 0;
		min-height: 750px;
	}
	
	#contact-banner .banner-main::before {
		background: linear-gradient(to bottom, transparent 0%, var(--color-light) 100%);
	}
}

@media only screen and (max-width: 767px) {
	#contact-banner .primary-heading {
		font-size: 52px;
	}
}

:is(.contact-page, #contact-page) {
	/* template main styles */
	padding-block: 50px;
}

:is(.contact-page, #contact-page) .contact-main {
	padding-block: 0;
}

@media only screen and (min-width: 768px) {
	:is(.contact-page, #contact-page) {
		padding-block: 75px;
	}
}

@media only screen and (min-width: 1200px) {
	:is(.contact-page, #contact-page) {
		padding-block: 100px;
	}
	
	:is(.contact-page, #contact-page) .layout-contact {
		--fancy-letters-delay: 1s;
	}
}

:is(.contact-page, #contact-page) .contact-block {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

:is(.contact-page, #contact-page) .contact-block-title {
	text-align: center;
	--fancy-border-margin-l: auto;
	color: var(--color-primary);
}

:is(.contact-page, #contact-page) .contact-block-content {
	text-align: center;
}

:is(.contact-page, #contact-page) .contact-block-content .location-number {
	justify-content: center;
	color: var(--color-accent-alt);
}

:is(.contact-page, #contact-page) .contact-block-content .location-open-hour-days {
	color: var(--color-accent-alt);
}

:is(.contact-page, #contact-page) .contact-block:is(.contact-special) {
	justify-self: center;
}

@media only screen and (min-width: 1200px) {
	:is(.contact-page, #contact-page) .contact-blocks {
		grid-template-columns: repeat(2, auto);
		max-width: 700px;
		margin-inline: auto;
	}
}

@media only screen and (min-width: 1400px) {
	:is(.contact-page, #contact-page) .contact-blocks {
		max-width: 800px;
	}
}

@media only screen and (min-width: 1920px) {
	:is(.contact-page, #contact-page) .contact-blocks {
		justify-content: space-between;
		max-width: 993px;
	}
}

@media only screen and (max-width: 1199px) {
	:is(.contact-page, #contact-page) .contact-blocks {
		width: -moz-max-content;
		width: max-content;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}

:is(.contact-page, #contact-page) .contact-block.contact-number {}

:is(.contact-page, #contact-page) .contact-block.contact-numbers {}

:is(.contact-page, #contact-page) .contact-block.contact-location {}

:is(.contact-page, #contact-page) .contact-block.contact-locations {}

/* ================================================================================
* 404
================================================================================ */

/* Template 404 https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/template/404.md
-------------------------------------------------------------------------------- */

/*
* 404 Related Classes
-------------------------------------------------------------------------------- */

/*
* 404 Page
-------------------------------------------------------------------------------- */
body.error404 {}

#error404-banner .banner-background {
	z-index: -2;
}

:is(.error404-page, #error404-page) {
	padding-block: 4rem 2rem;
	margin-bottom: -1rem;
	text-align: center;
}

:is(.error404-page, #error404-page)::after {
	background: linear-gradient(to bottom, transparent 0%, var(--color-light) 100%);
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	z-index: -1;
	bottom: 0;
}

:is(.error404-page, #error404-page) .section-heading {
	margin-bottom: 1rem;
}

@media only screen and (min-width: 768px) {
	:is(.error404-page, #error404-page) {
		padding-block: 6rem 3rem;
	}
	
	:is(.error404-page, #error404-page) .section-heading {
		margin-bottom: 1.5rem;
	}
}

@media only screen and (min-width: 1200px) {
	:is(.error404-page, #error404-page) {
		padding-block: 7rem;
		margin-bottom: -4rem;
	}
	
	:is(.error404-page, #error404-page) .section-heading {
		margin-bottom: 2rem;
	}
}

@media only screen and (min-width: 1400px) {
	:is(.error404-page, #error404-page) {
		padding-block: 9rem;
		margin-bottom: -5rem;
	}
}

@media only screen and (min-width: 1920px) {
	:is(.error404-page, #error404-page) {
		padding-block: 9rem 10rem;
		margin-bottom: -6rem;
	}
}

/* ================================================================================
* About Template
================================================================================ */

/* Template About https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/template/about.md
-------------------------------------------------------------------------------- */

/*
* About Related Classes
-------------------------------------------------------------------------------- */
.about-section .section-heading:last-child:not(.primary-heading) {
	margin-bottom: 0;
}

/*
* About Template
-------------------------------------------------------------------------------- */
body.onep21-template-about {}

#about-banner {}

#about-banner .banner-main {
	background: var(--color-light);
	color: var(--color-primary);
	min-height: 830px;
	padding-block: 37px;
}

#about-banner .banner-main::before {
	background: linear-gradient(to bottom, transparent 15%, var(--color-light) 45%);
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	z-index: -1;
	bottom: 0;
}

#about-banner .banner-main-image {
	top: -1rem;
	max-width: 330px;
	z-index: -1;
}

#about-banner .primary-heading {
	max-width: none;
}

#about-banner .primary-heading::after {
	display: block;
	content: "";
	background: var(--color-neutral-light);
	width: 183px;
	height: 3px;
	margin-block: 23px;
	margin-inline: auto;
}

#about-banner .banner-content {
	font-family: var(--font-secondary);
	font-size: 24px;
	line-height: 33px;
}

#about-banner .banner-background {
	height: 580px;
	z-index: -2;
}

@media only screen and (min-width: 768px) {
	#about-banner .banner-main {
		padding-block: 60px;
		min-height: 980px;
	}
	
	#about-banner .banner-main-image {
		max-width: 440px;
	}
	
	#about-banner .banner-body-blocks {
		gap: 10px;
	}
	
	#about-banner .primary-heading::after {
		width: 297px;
		margin-block: 30px 20px;
	}
	
	#about-banner .banner-content {
		font-size: 30px;
		line-height: 42px;
	}
	
	#about-banner .banner-buttons {
		margin-top: 20px;
	}
	
	#about-banner .banner-buttons .button {
		--button-padding-x: 51px;
		--button-height: 84px;
		font-size: 19px;
	}
	
	#about-banner .banner-background {
		min-height: 685px;
	}
}

@media only screen and (min-width: 1200px) {
	#about-banner .banner-main {
		padding-block: 110px;
		min-height: 1000px;
	}
	
	#about-banner .banner-main::before {
		background: linear-gradient(to bottom, transparent 25%, var(--color-light) 60%);
	}
	
	#about-banner .banner-main-image {
		max-width: 520px;
		margin-inline: auto;
	}
	
	#about-banner .banner-body-blocks {
		margin-inline: auto;
		--fancy-letters-delay: 1s;
	}
	
	#about-banner .banner-content {
		max-width: 890px;
	}
	
	#about-banner .banner-background {
		min-height: 720px;
	}
}

@media only screen and (min-width: 1400px) {
	#about-banner .banner-main {
		padding-block: 100px;
		min-height: 1050px;
	}
	
	#about-banner .banner-main-left {
		width: 100%;
	}
	
	#about-banner .banner-main-image {
		max-width: 575px;
	}
	
	#about-banner .banner-body-blocks {
		gap: 15px;
	}
	
	#about-banner .banner-content {
		max-width: 1000px;
	}
	
	#about-banner .banner-background {
		min-height: 650px;
	}
}

@media only screen and (min-width: 1920px) {
	#about-banner .banner-main {
		padding-block: 130px;
		min-height: 1090px;
	}
	
	#about-banner .banner-background {
		min-height: 670px;
	}
}

:is(.about-page, #about-page) {
	padding-block: 0;
}

/*
* About Section 1
-------------------------------------------------------------------------------- */
:is(.about-section-1, #about-section-1) {
	padding-block: 2.75rem 2rem;
	background-color: var(--scheme-bg, var(--color-primary-alt));
}

:is(.about-section-1, #about-section-1) .responsive-background {
	max-height: 426px;
	margin-block: 0 auto;
	background: transparent;
	mix-blend-mode: multiply;
}

:is(.about-section-1, #about-section-1) .section-blocks {
	display: grid;
	row-gap: 20px;
}

:is(.about-section-1, #about-section-1) .section-content li strong {
	color: var(--color-accent);
	text-transform: uppercase;
}

:is(.about-section-1, #about-section-1) .video-title, :is(.about-section-1, #about-section-1) .video-description {
	color: var(--color-light);
}

@media only screen and (min-width: 768px) {
	:is(.about-section-1, #about-section-1) {
		padding-block: 4rem;
	}
	
	:is(.about-section-1, #about-section-1) .section-slider {
		padding-inline: 80px;
	}
	
	:is(.about-section-1, #about-section-1) .section-blocks {
		row-gap: 50px;
	}
	
	:is(.about-section-1, #about-section-1) .responsive-background {
		max-height: 650px;
	}
}

@media only screen and (min-width: 1200px) {
	:is(.about-section-1, #about-section-1) {
		padding-block: 6rem;
	}
	
	:is(.about-section-1, #about-section-1) .section-blocks {
		grid-template-columns: 617px 341px;
		gap: 84px;
	}
	
	:is(.about-section-1, #about-section-1) .section-slider {
		margin-top: 4rem;
		max-height: 583px;
	}
	
	:is(.about-section-1, #about-section-1) .video {
		min-width: 341px;
	}
	
	:is(.about-section-1, #about-section-1) .responsive-background {
		max-height: 824px;
	}
}

@media only screen and (min-width: 1400px) {
	:is(.about-section-1, #about-section-1) {
		padding-block: 125px;
	}
	
	:is(.about-section-1, #about-section-1) .section-blocks {
		grid-template-columns: 656px 418px;
		gap: 106px;
	}
	
	:is(.about-section-1, #about-section-1) .section-slider {
		margin-top: 3rem;
		max-height: 730px;
	}
	
	:is(.about-section-1, #about-section-1) .video {
		min-width: 418px;
	}
	
	:is(.about-section-1, #about-section-1) .video-title {
		font-size: 19px;
	}
	
	:is(.about-section-1, #about-section-1) .video-description {
		font-size: 18px;
	}
	
	:is(.about-section-1, #about-section-1) .video-thumbnail .video-button-default {
		--video-button-size: 101px;
	}
}

@media only screen and (min-width: 1920px) {
	:is(.about-section-1, #about-section-1) .section-container {
		--container-gutter: 260px;
	}
	
	:is(.about-section-1, #about-section-1) .section-blocks {
		grid-template-columns: 678px 418px;
		gap: 250px;
	}
	
	:is(.about-section-1, #about-section-1) .section-slider {
		margin-top: 3rem;
		max-height: 730px;
	}
}

/*
* About Section 2
-------------------------------------------------------------------------------- */
:is(.about-section-2, #about-section-2) {
	padding-block: 55px 40px;
	background-color: var(--scheme-bg, var(--color-neutral-lighter));
}

:is(.about-section-2, #about-section-2) .awards-slider {
	padding-bottom: 40px;
	--carousel-height: 113px;
	--swiper-pagination-bottom: .5rem;
}

@media only screen and (min-width: 768px) {
	:is(.about-section-2, #about-section-2) {
		padding-block: 80px 40px;
	}
	
	:is(.about-section-2, #about-section-2) .awards-slider {
		padding-bottom: 65px;
	}
}

@media only screen and (min-width: 1200px) {
	:is(.about-section-2, #about-section-2) {
		padding-bottom: 0;
	}
	
	:is(.about-section-2, #about-section-2) .awards-slider {
		padding-bottom: 104px;
		--swiper-pagination-bottom: 45px;
	}
}

@media only screen and (min-width: 1400px) {
	:is(.about-section-2, #about-section-2) .awards-slider {
		--carousel-height: 123px;
	}
	
	:is(.about-section-2, #about-section-2) .section-container {
		--container-gutter: 154px;
	}
}

@media only screen and (min-width: 1920px) {
	:is(.about-section-2, #about-section-2) .awards-slider {
		padding-bottom: 90px;
	}
}

/*
* About Section 3
-------------------------------------------------------------------------------- */
:is(.about-section-3, #about-section-3) {
	padding-block: 55px 0;
}

:is(.about-section-3, #about-section-3) .section-bottom {
	margin-top: 1.75rem;
}

@media only screen and (min-width: 768px) {
	:is(.about-section-3, #about-section-3) {
		padding-block: 70px 20px;
	}
	
	:is(.about-section-3, #about-section-3) .section-lead {
		max-width: 640px;
		margin-inline: auto;
		--fancy-border-width: 300px;
	}
}

@media only screen and (min-width: 1200px) {
	:is(.about-section-3, #about-section-3) {
		padding-block: 105px 30px;
	}
	
	:is(.about-section-3, #about-section-3) .section-lead {
		margin-bottom: 0;
	}
	
	:is(.about-section-3, #about-section-3) .section-blocks {
		grid-template-columns: initial;
	}
	
	:is(.about-section-3, #about-section-3) .section-content, :is(.about-section-3, #about-section-3) .section-bottom {
		max-width: 850px;
		margin-inline: auto;
	}
	
	:is(.about-section-3, #about-section-3) .section-bottom {
		margin-top: .5rem;
	}
}

@media only screen and (min-width: 1400px) {
	:is(.about-section-3, #about-section-3) {
		padding-block: 125px 50px;
	}
	
	:is(.about-section-3, #about-section-3) .section-blocks {
		grid-template-columns: 436px 632px;
	}
	
	:is(.about-section-3, #about-section-3) .section-lead {
		--fancy-border-width: 210px;
	}
	
	:is(.about-section-3, #about-section-3) .section-content {
		max-width: 632px;
		margin-inline: 0 auto;
		margin-bottom: 80px;
	}
	
	:is(.about-section-3, #about-section-3) .section-lead {
		margin-block: auto;
	}
}

@media only screen and (min-width: 1920px) {
	:is(.about-section-3, #about-section-3) .section-container {
		--container-gutter: 233px;
	}
	
	:is(.about-section-3, #about-section-3) .section-blocks {
		grid-template-columns: 569px 728px;
		gap: 132px;
		justify-content: center;
	}
}

/* ================================================================================
FAQs Template
================================================================================ */

/* Template FAQs https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/template/faqs.md
-------------------------------------------------------------------------------- */
body.onep21-template-faqs {}

#faqs-banner {}

:is(.faqs-page, #faqs-page) {}

/* ================================================================================
* Practice Areas Template
================================================================================ */

/* Template Practice Areas https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/template/practice-areas.md
-------------------------------------------------------------------------------- */

/*
* Practice Areas Grid Template
-------------------------------------------------------------------------------- */
body.onep21-template-practice-areas {
	/* body selector for practice-areas template */
	--layout-banner-offset: 160px;
}

@media only screen and (min-width: 768px) {
	body.onep21-template-practice-areas {
		--layout-banner-offset: 200px;
	}
}

@media only screen and (min-width: 1200px) {
	body.onep21-template-practice-areas {
		--layout-banner-offset: 0px;
	}
}

#practice-areas-banner {}

#practice-areas-banner .banner-main {
	background: var(--color-light);
	color: var(--color-primary);
	min-height: 375px;
	padding-block: 40px 0;
	justify-content: flex-start;
}

#practice-areas-banner .banner-main::before {
	background: linear-gradient(to bottom, transparent 0%, var(--color-light) 100%);
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	z-index: -1;
	bottom: 0;
}

#practice-areas-banner .banner-background {
	z-index: -2;
}

@media only screen and (min-width: 768px) {
	#practice-areas-banner .banner-main {
		padding-block: 65px 20px;
		min-height: 525px;
	}
	
	#practice-areas-banner .banner-body-blocks {
		gap: 20px;
	}
	
	#practice-areas-banner .banner-buttons .button {
		--button-padding-x: 51px;
		--button-height: 84px;
		font-size: 19px;
	}
}

@media only screen and (min-width: 1200px) {
	#practice-areas-banner .banner-main {
		padding-block: 100px 0;
		min-height: 400px;
	}
}

@media only screen and (min-width: 1400px) {
	#practice-areas-banner .banner-main {
		min-height: 430px;
	}
}

@media only screen and (min-width: 1920px) {
	#practice-areas-banner .banner-main {
		padding-block: 150px 0;
		min-height: 513px;
	}
}

:is(.practice-areas-page, #practice-areas-page) {
	/* template main styles */
	padding-bottom: 65px;
}

:is(.practice-areas-page, #practice-areas-page) .practice-area-menu:is(.columns) {
	--columns-gap-x: 4rem;
	justify-content: center;
	justify-items: center;
}

:is(.practice-areas-page, #practice-areas-page) .practice-area:nth-last-child(n+2) {
	margin-bottom: 2.75rem;
}

@media only screen and (min-width: 768px) {
	:is(.practice-areas-page, #practice-areas-page) .practice-area-menu:is(.columns) {
		--columns-number: 2;
	}
	
	:is(.practice-areas-page, #practice-areas-page) .practice-area:nth-last-child(n+2) {
		margin-bottom: 60px;
	}
	
	:is(.practice-areas-page, #practice-areas-page) .practice-area-menu li:nth-child(-n+2) {
		border-top: 0;
	}
}

@media only screen and (min-width: 1200px) {
	:is(.practice-areas-page, #practice-areas-page) {
		padding-block: 20px 50px;
	}
	
	:is(.practice-areas-page, #practice-areas-page) .practice-area-menu:is(.columns) {
		--columns-number: 3;
	}
	
	:is(.practice-areas-page, #practice-areas-page) .practice-areas {
		--fancy-letters-delay: 1s;
	}
	
	:is(.practice-areas-page, #practice-areas-page) .practice-area:nth-last-child(n+2) {
		margin-bottom: 80px;
	}
	
	:is(.practice-areas-page, #practice-areas-page) .practice-area-menu li:nth-child(-n+3) {
		border-top: 0;
	}
}

@media only screen and (min-width: 1920px) {
	:is(.practice-areas-page, #practice-areas-page) {
		padding-bottom: 110px;
	}
	
	:is(.practice-areas-page, #practice-areas-page) .practice-area-menu:is(.columns) {
		--columns-gap-x: 100px;
	}
	
	:is(.practice-areas-page, #practice-areas-page) .practice-area-menu li:nth-child(-n+4) {
		border-top: 0;
	}
	
	:is(.practice-areas-page, #practice-areas-page) .section-container {
		--container-gutter: 260px;
	}
}

@media only screen and (max-width: 767px) {
	:is(.practice-areas-page, #practice-areas-page) {
		padding-inline: 0;
	}
	
	:is(.practice-areas-page, #practice-areas-page) .practice-area {
		margin-left: calc(var(--container-gutter) * -1);
		margin-right: calc(var(--container-gutter) * -1);
		padding-left: var(--container-gutter);
		padding-right: var(--container-gutter);
		width: auto;
		max-width: none;
		text-align: center;
	}
}

/* ================================================================================
* Case Results Template
================================================================================ */

/* Template Results https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/template/results.md
-------------------------------------------------------------------------------- */

/*
* Results Template
-------------------------------------------------------------------------------- */
body.onep21-template-results {
	/* body selector for results template */
	background: var(--color-neutral-lighter);
}

#results-banner {}

#results-banner .banner-main {
	background: var(--color-light);
	color: var(--color-primary);
	min-height: 305px;
	padding-block: 40px 0;
	justify-content: flex-start;
}

#results-banner .banner-main::before {
	background: linear-gradient(to bottom, transparent 0%, var(--color-light) 100%);
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	z-index: -1;
	bottom: 0;
}

#results-banner .banner-featured {
	background: transparent;
	margin-top: -2.5rem;
	--fancy-angle-height: 7.34375vw;
}

#results-banner .banner-featured .fancy-angle-alt {
	--fancy-angle-background-image: linear-gradient(to bottom, var(--color-accent-gradient-start) 0%, var(--color-accent-gradient-end) 100%);
}

#results-banner .banner-featured .fancy-angle-main::after {
	background: linear-gradient(to bottom, transparent, var(--color-dark-alt) 50%);
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	z-index: -1;
	bottom: 0;
}

#results-banner .banner-featured .responsive-background {
	--responsive-background-overlay-background: var(--fancy-angle-background-color, var(--scheme-bg-contrast, var(--color-dark-alt)));
	--responsive-background-overlay-mix-blend: multiply;
	--responsive-background-overlay-opacity: 1;
	height: 500px;
}

#results-banner .primary-heading {
	color: var(--color-primary);
}

#results-banner .banner-background {
	z-index: -2;
}

@media only screen and (min-width: 768px) {
	#results-banner .banner-main {
		padding-block: 65px 20px;
		min-height: 430px;
	}
	
	#results-banner .banner-featured .responsive-background {
		height: 600px;
	}
	
	#results-banner .banner-buttons .button {
		--button-padding-x: 51px;
		--button-height: 84px;
		font-size: 19px;
	}
}

@media only screen and (min-width: 1200px) {
	#results-banner .banner-main {
		padding-block: 100px 0;
		min-height: 440px;
	}
	
	#results-banner .banner-featured {
		margin-top: -4rem;
	}
	
	#results-banner .fancy-angle-main {
		height: 600px;
	}
	
	#results-banner .fancy-angle-alt {
		height: 560px;
	}
}

@media only screen and (min-width: 1400px) {
	#results-banner .banner-main {
		min-height: 470px;
	}
	
	#results-banner .banner-featured {
		height: 750px;
	}
}

@media only screen and (min-width: 1920px) {
	#results-banner .banner-main {
		min-height: 640px;
		padding-block: 160px 0px;
	}
	
	#results-banner .banner-featured {
		margin-top: -9rem;
		--fancy-angle-height: 9.34375vw;
	}
	
	#results-banner .banner-featured .responsive-background {
		height: 440px;
	}
	
	#results-banner .fancy-angle-main {
		height: 730px;
	}
	
	#results-banner .fancy-angle-alt {
		height: 680px;
	}
}

:is(.results-page, #results-page) {
	/* template main styles */
	padding-bottom: 4rem;
	position: relative;
	z-index: 8;
}

:is(.results-page, #results-page) .results:is(.columns) {
	--columns-gap-x: 3rem;
	--columns-gap-y: 35px;
	justify-content: center;
	justify-items: center;
}

:is(.results-page, #results-page) .result {
	background: var(--color-light);
	border-radius: 5px;
	padding-inline: 2rem;
	padding-block: 4rem;
	width: 600px;
}

:is(.results-page, #results-page) .result-pointer-reference:is(:hover, :focus-within) {}

@media only screen and (min-width: 768px) {
	:is(.results-page, #results-page) {
		padding-block: 10rem 5rem;
	}
}

@media only screen and (min-width: 1200px) {
	:is(.results-page, #results-page) {
		margin-top: -16rem;
		padding-block: 0 5em;
	}
	
	:is(.results-page, #results-page) .results:is(.columns) {
		--columns-number: 2;
		--columns-gap-x: 35px;
	}
}

@media only screen and (min-width: 1400px) {
	:is(.results-page, #results-page) {
		margin-top: -18rem;
	}
	
	:is(.results-page, #results-page) .results:is(.columns) {
		--columns-number: 3;
	}
	
	:is(.results-page, #results-page) .result {
		width: 426px;
	}
}

@media only screen and (min-width: 1920px) {
	:is(.results-page, #results-page) {
		margin-top: -14.5rem;
	}
	
	:is(.results-page, #results-page) .section-container {
		--container-gutter: 287px;
	}
}

/* ================================================================================
* Profiles/ Team Grid Template
================================================================================ */

/* Template Team https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/template/team.md
-------------------------------------------------------------------------------- */

/*
* Team/Profiles Groups - Optional
-------------------------------------------------------------------------------- */
.team-group:nth-child(n+2) {
	margin-top: 4rem;
}

@media only screen and (min-width: 1200px) {
	.team-groups {
		--fancy-letters-delay: 1s;
	}
}

.team-group-title {
	margin-bottom: 2rem;
}

/*
* Team/Profiles Page
-------------------------------------------------------------------------------- */
body.onep21-template-team {
	/* body selector for team template */
	--layout-banner-offset: 120px;
}

@media only screen and (min-width: 768px) {
	body.onep21-template-team {
		--layout-banner-offset: 100px;
	}
}

@media only screen and (min-width: 1200px) {
	body.onep21-template-team {
		--layout-banner-offset: 0px;
	}
}

#team-banner {}

#team-banner .banner-main {
	background: var(--color-light);
	color: var(--color-primary);
	min-height: 375px;
	padding-block: 40px 0;
	justify-content: flex-start;
}

#team-banner .banner-main::before {
	background: linear-gradient(to bottom, transparent 0%, var(--color-light) 100%);
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	z-index: -1;
	bottom: 0;
}

#team-banner .primary-heading {
	color: var(--color-primary);
	max-width: none;
	margin-inline: -1rem;
}

#team-banner .banner-background {
	z-index: -2;
}

@media only screen and (min-width: 768px) {
	#team-banner .banner-main {
		padding-block: 65px;
		min-height: 525px;
	}
	
	#team-banner .banner-body-blocks {
		gap: 20px;
	}
	
	#team-banner .banner-buttons .button {
		--button-padding-x: 51px;
		--button-height: 84px;
		font-size: 19px;
	}
}

@media only screen and (min-width: 1200px) {
	#team-banner .banner-main {
		padding-block: 100px 0;
		min-height: 400px;
	}
}

@media only screen and (min-width: 1400px) {
	#team-banner .banner-main {
		min-height: 430px;
	}
}

@media only screen and (min-width: 1920px) {
	#team-banner .banner-main {
		padding-block: 150px 0;
		min-height: 525px;
	}
}

:is(.team-page, #team-page) {
	/* template main styles */
	padding-block: 25px 50px;
}

:is(.team-page, #team-page) .profiles:is(.columns) {
	--columns-gap-x: 3rem;
	--columns-gap-y: 3rem;
	justify-content: center;
	justify-items: center;
}

:is(.team-page, #team-page) .profile {
	width: 288px;
}

@media only screen and (min-width: 768px) {
	:is(.team-page, #team-page) .profiles:is(.columns) {
		--columns-number: 2;
		--columns-gap-x: 48px;
	}
}

@media only screen and (min-width: 1200px) {
	:is(.team-page, #team-page) .profiles:is(.columns) {
		--columns-number: 3;
	}
}

@media only screen and (min-width: 1400px) {
	:is(.team-page, #team-page) .profile {
		width: 345px;
	}
}

@media only screen and (min-width: 1920px) {
	:is(.team-page, #team-page) .profiles:is(.columns) {
		--columns-gap-x: 56px;
		--columns-gap-y: 75px;
	}
	
	:is(.team-page, #team-page) .section-container {
		--container-gutter: 386px;
	}
}

@media only screen and (max-width: 1199px) {
	:is(.team-page, #team-page) .section-container {
		--container-gutter: 73px;
	}
}

@media only screen and (max-width: 767px) {
	:is(.team-page, #team-page) .section-container {
		--container-gutter: 36px;
	}
}

/* ================================================================================
* Testimonials Template
================================================================================ */

/* Template Testimonials Areas https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/template/testimonials.md
-------------------------------------------------------------------------------- */

/*
* Testimonials Template
-------------------------------------------------------------------------------- */
body.onep21-template-testimonials {
	/* body selector for testimonials template */
	--layout-banner-offset: 10px;
}

@media only screen and (min-width: 1200px) {
	body.onep21-template-testimonials {
		--layout-banner-offset: 0px;
	}
}

#testimonials-banner {}

#testimonials-banner .banner-main {
	background: var(--color-light);
	color: var(--color-primary);
	min-height: 375px;
	padding-block: 40px 0;
	justify-content: flex-start;
}

#testimonials-banner .banner-main::before {
	background: linear-gradient(to bottom, transparent 0%, var(--color-light) 100%);
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	z-index: -1;
	bottom: 0;
}

#testimonials-banner .banner-testimonial-videos {
	background-color: transparent;
}

#testimonials-banner .banner-testimonial-videos .container {
	padding-bottom: 0;
}

#testimonials-banner .banner-testimonial-videos .prev, #testimonials-banner .banner-testimonial-videos .next {
	top: 45%;
}

#testimonials-banner .primary-heading::after {
	display: block;
	content: "";
	background: var(--color-neutral-light);
	width: 183px;
	height: 3px;
	margin-block: 23px;
	margin-inline: auto;
}

#testimonials-banner .banner-content {
	font-family: var(--font-secondary);
	font-size: 24px;
	line-height: 33px;
	max-width: 668px;
}

#testimonials-banner .banner-background {
	z-index: -2;
}

@media only screen and (min-width: 768px) {
	#testimonials-banner .banner-main {
		padding-block: 65px 0;
		min-height: 525px;
	}
	
	#testimonials-banner .banner-videos-container {
		min-height: auto;
	}
	
	#testimonials-banner .primary-heading::after {
		width: 297px;
		margin-block: 30px 20px;
	}
	
	#testimonials-banner .banner-content {
		font-size: 30px;
		line-height: 42px;
	}
	
	#testimonials-banner .banner-buttons .button {
		--button-padding-x: 51px;
		--button-height: 84px;
		font-size: 19px;
	}
}

@media only screen and (min-width: 1200px) {
	#testimonials-banner .banner-main {
		padding-block: 100px 0;
		min-height: 400px;
	}
	
	#testimonials-banner .banner-content {
		max-width: 838px;
		margin-bottom: 10px;
	}
	
	#testimonials-banner .banner-testimonial-videos {
		--fancy-letters-delay: 1s;
	}
	
	#testimonials-banner .banner-testimonial-videos .swiper {
		max-width: 647px;
	}
	
	#testimonials-banner .banner-testimonial-videos .prev, #testimonials-banner .banner-testimonial-videos .next {
		top: 48%;
	}
}

@media only screen and (min-width: 1400px) {
	#testimonials-banner .banner-main {
		min-height: 430px;
	}
	
	#testimonials-banner .banner-testimonial-videos .swiper {
		max-width: 690px;
	}
}

@media only screen and (min-width: 1920px) {
	#testimonials-banner .banner-main {
		padding-block: 150px 0;
		min-height: 525px;
	}
	
	#testimonials-banner .banner-testimonial-videos .swiper {
		max-width: 840px;
	}
	
	#testimonials-banner .banner-testimonial-videos .video {
		max-width: 440px;
	}
}

@media only screen and (max-width: 767px) {
	#testimonials-banner .primary-heading {
		font-size: 43px;
		line-height: 50px;
	}
	
	#testimonials-banner .primary-heading::after {
		margin-block: 15px 10px;
	}
}

:is(.testimonials-page, #testimonials-page) {
	/* template main styles */
	padding-block: 35px 50px;
}

:is(.testimonials-page, #testimonials-page) .testimonials:is(.columns) {
	--columns-gap-x: 3rem;
	--columns-gap-y: 3rem;
	justify-content: center;
	justify-items: center;
}

:is(.testimonials-page, #testimonials-page) .testimonials:is(.columns):nth-child(n+2) {
	margin-top: var(--columns-gap-y);
}

:is(.testimonials-page, #testimonials-page) .swiper {
	--swiper-custom-arrow-offset-x: 50vw;
}

:is(.testimonials-page, #testimonials-page) .testimonials-featured {
	padding-block: 4rem 0;
	--swiper-pagination-bottom: 27px;
}

:is(.testimonials-page, #testimonials-page) .testimonials-featured .fancy-angle-wrapper {
	--fancy-angle-height: 10.5555555556vw;
}

:is(.testimonials-page, #testimonials-page) .testimonials-featured .fancy-angle-main {
	height: 512px;
}

:is(.testimonials-page, #testimonials-page) .testimonials-featured .fancy-angle-alt {
	--fancy-angle-offset-top: 13px;
	height: 499px;
}

:is(.testimonials-page, #testimonials-page) .testimonials-featured-heading {
	text-align: center;
	margin-inline: -1rem;
	margin-bottom: 40px;
	font-size: 43px;
	line-height: 48px;
	font-family: var(--font-secondary);
	color: var(--color-light);
	letter-spacing: 0em;
	text-transform: uppercase;
	font-style: normal;
	font-weight: 700;
}

:is(.testimonials-page, #testimonials-page) .testimonials-featured-heading em {
	font-style: normal;
	color: var(--color-accent);
}

:is(.testimonials-page, #testimonials-page) .testimonials-featured .testimonial {
	position: relative;
	box-shadow: 0 3px 6px var(--color-neutral-lightest);
	background: var(--color-light);
	color: var(--color-dark);
	border-radius: 5px;
	padding: 47px 36px;
	margin-bottom: 4rem;
}

:is(.testimonials-page, #testimonials-page) .testimonials-featured .testimonial-quote {
	--clamp-text-cap: 6;
}

:is(.testimonials-page, #testimonials-page) .testimonials-featured .testimonial-source-icon {
	position: absolute;
	top: 30px;
	right: 30px;
	font-size: 23px;
}

:is(.testimonials-page, #testimonials-page) .testimonials-body {
	position: relative;
	z-index: -1;
	margin-top: -340px;
	padding-block: 370px 0;
}

:is(.testimonials-page, #testimonials-page) .testimonials-body::before {
	background: linear-gradient(to bottom, transparent 0%, var(--color-light) 20%);
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	z-index: -1;
	top: 340px;
	max-height: 300px;
	bottom: 0;
}

:is(.testimonials-page, #testimonials-page) .testimonials-body .responsive-background {
	height: 400px;
	z-index: -2;
}

:is(.testimonials-page, #testimonials-page) .testimonial:nth-last-child(n+2) {
	padding-bottom: calc(var(--columns-gap-y) + .25rem);
	border-bottom: 1px solid rgba(19, 29, 47, .15);
}

@media only screen and (min-width: 768px) {
	:is(.testimonials-page, #testimonials-page) {
		padding-block: 50px 75px;
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials-featured {
		--swiper-pagination-bottom: 0rem;
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials-featured .fancy-angle-wrapper {
		--fancy-angle-height: 10.2864583333vw;
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials-featured .fancy-angle-main {
		height: 640px;
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials-featured .fancy-angle-alt {
		--fancy-angle-offset-top: 42px;
		--fancy-angle-offset-bottom: 312px;
		height: auto;
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials-featured-heading {
		font-size: 62px;
		line-height: 1;
		margin-inline: 6rem;
		margin-block: 3rem;
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials-featured .testimonial {
		padding: 74px 42px 50px 50px;
		min-height: 532px;
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials-featured .testimonial-source-icon {
		top: 42px;
		right: 42px;
		font-size: 32px;
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials-body {
		padding-block: 420px 0;
	}
	
	:is(.testimonials-page, #testimonials-page) .section-body {
		width: 431px;
	}
}

@media only screen and (min-width: 1200px) {
	:is(.testimonials-page, #testimonials-page) {
		padding-block: 75px 50px;
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials:is(.columns) {
		max-width: 900px;
		margin-inline: auto;
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials-featured {
		padding-block: 8rem 0;
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials-featured .fancy-angle-wrapper {
		--fancy-angle-height: 10vw;
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials-featured .fancy-angle-alt {
		--fancy-angle-offset-top: 50px;
		--fancy-angle-offset-bottom: 430px;
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials-featured-heading {
		font-size: 85px;
		margin-inline: -1rem;
		margin-bottom: 85px;
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials-featured .swiper {
		--swiper-custom-arrow-offset-x: 100vw;
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials-body {
		margin-top: -480px;
		padding-block: 575px 0;
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials-body::before {
		max-height: 200px;
		top: 345px;
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials-body .testimonial {
		padding-inline: 35px;
	}
	
	:is(.testimonials-page, #testimonials-page) .section-body {
		--fancy-letters-delay: 1s;
		width: 892px;
	}
}

@media only screen and (min-width: 1920px) {
	:is(.testimonials-page, #testimonials-page) .testimonials-featured {
		padding-block: 9.5rem 0;
		--swiper-pagination-bottom: -1rem;
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials-featured .fancy-angle-main {
		height: 890px;
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials-featured .fancy-angle-alt {
		--fancy-angle-offset-bottom: 330px;
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials-featured-heading {
		font-size: 95px;
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials-body {
		margin-top: -380px;
		padding-block: 505px 0;
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials-body::before {
		background: linear-gradient(to bottom, transparent 0%, var(--color-light) 85%);
	}
	
	:is(.testimonials-page, #testimonials-page) .testimonials-body .responsive-background {
		height: 520px;
	}
	
	:is(.testimonials-page, #testimonials-page) .section-body {
		width: 1353px;
	}
}

/* ================================================================================
* Videos Template
================================================================================ */

/* Template Videos https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/template/videos.md
-------------------------------------------------------------------------------- */

/*
* Videos Template
-------------------------------------------------------------------------------- */
body.onep21-template-videos {
	/* body selector for videos template */
	--layout-banner-offset: 120px;
}

@media only screen and (min-width: 768px) {
	body.onep21-template-videos {
		--layout-banner-offset: 100px;
	}
}

@media only screen and (min-width: 1200px) {
	body.onep21-template-videos {
		--layout-banner-offset: 0px;
	}
}

#videos-banner {}

#videos-banner .banner-main {
	background: var(--color-light);
	color: var(--color-primary);
	min-height: 310px;
	padding-block: 40px 0;
	justify-content: flex-start;
}

#videos-banner .banner-main::before {
	background: linear-gradient(to bottom, transparent 0%, var(--color-light) 100%);
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	z-index: -1;
	bottom: 0;
}

#videos-banner .banner-background {
	z-index: -2;
}

@media only screen and (min-width: 768px) {
	#videos-banner .banner-main {
		padding-block: 65px 0;
		min-height: 355px;
	}
	
	#videos-banner .banner-body-blocks {
		gap: 20px;
	}
}

@media only screen and (min-width: 1200px) {
	#videos-banner .banner-main {
		padding-block: 100px 0;
		min-height: 400px;
	}
}

@media only screen and (min-width: 1400px) {
	#videos-banner .banner-main {
		min-height: 430px;
	}
}

@media only screen and (min-width: 1920px) {
	#videos-banner .banner-main {
		padding-block: 150px 0;
		min-height: 513px;
	}
}

:is(.videos-page, #videos-page) {}

:is(.videos-page, #videos-page) .videos:is(.columns) {
	--columns-gap-x: 2.5rem;
	--columns-gap-y: 2.75rem;
	justify-content: center;
	justify-items: center;
	max-width: -moz-max-content;
	max-width: max-content;
	margin-inline: auto;
}

:is(.videos-page, #videos-page) .video {
	width: 310px;
}

@media only screen and (min-width: 768px) {
	:is(.videos-page, #videos-page) .videos:is(.columns) {
		--columns-number: 2;
	}
}

@media only screen and (min-width: 1200px) {
	:is(.videos-page, #videos-page) {
		padding-top: 15px;
	}
	
	:is(.videos-page, #videos-page) .videos:is(.columns) {
		--columns-number: 3;
		--columns-gap-y: 55px;
		--fancy-letters-delay: 1s;
	}
	
	:is(.videos-page, #videos-page) .video {
		width: 500px;
	}
}

@media only screen and (min-width: 1400px) {
	:is(.videos-page, #videos-page) .videos:is(.columns) {
		--columns-gap-x: 60px;
	}
	
	:is(.videos-page, #videos-page) .video-button-default {
		--video-button-size: 80px;
	}
}

@media only screen and (min-width: 1920px) {
	:is(.videos-page, #videos-page) .video-button-default {
		--video-button-size: 104px;
	}
	
	:is(.videos-page, #videos-page) .section-container {
		--container-gutter: 260px;
	}
}

/* ================================================================================
* Profile Detail Template
================================================================================ */

/* Template Profile Areas https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/template/profile.md
-------------------------------------------------------------------------------- */

/*
* Profile Contact Info
-------------------------------------------------------------------------------- */
.profile-contact {
	color: inherit;
	color: inherit;
	text-decoration: none;
	font-size: 17px;
	line-height: 20px;
	font-family: var(--font-secondary);
	letter-spacing: .025em;
}

@media only screen and (min-width: 1400px) {
	.profile-contact {
		font-size: 21px;
	}
}

.profile-contact-list {
	display: flex;
}

@media only screen and (min-width: 768px) {
	.profile-contact-list {
		justify-content: center;
		gap: 7rem;
	}
}

@media only screen and (min-width: 1200px) {
	.profile-contact-list {
		justify-content: flex-start;
		gap: 5rem;
	}
}

@media only screen and (max-width: 767px) {
	.profile-contact-list {
		flex-direction: column;
		gap: 30px;
	}
}

.profile-contact-list-item {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 8px;
}

@media only screen and (min-width: 768px) {
	.profile-contact-list-item {
		justify-content: flex-start;
		gap: 16px;
	}
}

@media only screen and (min-width: 1200px) {
	.profile-contact-list-item {
		align-items: flex-start;
	}
}

.profile-contact-list-item-label {
	font-size: 14px;
	line-height: 20px;
	font-family: var(--font-secondary);
	color: inherit;
	letter-spacing: .025em;
	text-transform: uppercase;
	text-decoration: underline;
	text-decoration-color: var(--color-neutral-light);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

@media only screen and (min-width: 768px) {
	.profile-contact-list-item-label {
		text-underline-offset: 8px;
	}
}

@media only screen and (min-width: 1400px) {
	.profile-contact-list-item-label {
		font-size: 16px;
	}
}

/*
* Profile Detail Template
-------------------------------------------------------------------------------- */
body.onep21-template-single-profile {}

#profile-banner {}

:is(.profile-page, #profile-page) {}

:is(.profile-page, #profile-page) .responsive-background {
	max-height: 445px;
}

:is(.profile-page, #profile-page) .responsive-background::before {
	background: linear-gradient(to bottom, transparent 0%, var(--color-light) 100%);
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	z-index: -1;
	bottom: 0;
}

:is(.profile-page, #profile-page) .section-card {
	background: var(--color-light);
	box-shadow: 5px 5px 20px var(--color-neutral-lightest);
	padding: 122px 15px 50px;
	margin-bottom: 50px;
}

:is(.profile-page, #profile-page) .section-heading {
	max-width: none;
	margin-bottom: 5px;
}

:is(.profile-page, #profile-page) .section-image {
	margin-bottom: -93px;
}

:is(.profile-page, #profile-page) .section-subheader {
	margin-bottom: 1rem;
}

:is(.profile-page, #profile-page) .section-subheading {
	font-size: 16px;
	line-height: 20px;
	color: var(--color-accent-alt);
	font-weight: 700;
	margin-inline: 5px;
	margin-bottom: 13px;
}

:is(.profile-page, #profile-page) .section-divider {
	--fancy-border-margin-y: var(--default-gap-y);
}

:is(.profile-page, #profile-page) .section-lead {
	font-size: 19px;
	line-height: 30px;
	text-align: center;
}

:is(.profile-page, #profile-page) .section-body .accordion-wrapper {
	margin-top: 40px;
}

:is(.profile-page, #profile-page) .section-body .accordion-wrapper .list {
	margin-bottom: 30px;
}

:is(.profile-page, #profile-page) .section-body .accordion-wrapper .list:last-child {
	margin-bottom: 0;
}

:is(.profile-page, #profile-page) .section-body .accordion-wrapper .list:last-child ul {
	margin-bottom: 0;
}

:is(.profile-page, #profile-page) .section-body .accordion-wrapper .list-title {
	margin-bottom: 10px;
}

:is(.profile-page, #profile-page) .section-button {
	text-align: center;
	margin-bottom: 35px;
}

@media only screen and (min-width: 768px) {
	:is(.profile-page, #profile-page) .responsive-background {
		max-height: 700px;
	}
	
	:is(.profile-page, #profile-page) .section-card {
		padding: 106px 75px 70px;
		margin-bottom: 55px;
	}
	
	:is(.profile-page, #profile-page) .section-heading {
		font-size: 53px;
		margin-bottom: 5px;
	}
	
	:is(.profile-page, #profile-page) .section-image {
		margin-bottom: -73px;
	}
	
	:is(.profile-page, #profile-page) .section-subheading {
		font-size: 17px;
		line-height: 26px;
	}
	
	:is(.profile-page, #profile-page) .section-lead {
		font-size: 20px;
		line-height: 32px;
		margin-bottom: 20px;
		margin-inline: 1rem;
	}
	
	:is(.profile-page, #profile-page) .section-button {
		margin-bottom: 40px;
	}
}

@media only screen and (min-width: 1200px) {
	:is(.profile-page, #profile-page) {
		padding-block: 125px 50px;
	}
	
	:is(.profile-page, #profile-page) .responsive-background {
		max-height: 900px;
	}
	
	:is(.profile-page, #profile-page) .profile-image {
		border-radius: 5px 0 0 5px;
	}
	
	:is(.profile-page, #profile-page) .section-banner {
		display: grid;
		grid-template-columns: 1fr auto;
	}
	
	:is(.profile-page, #profile-page) .section-image {
		width: 426px;
	}
	
	:is(.profile-page, #profile-page) .section-card {
		min-height: 520px;
		border-radius: 0 5px 5px 0;
		padding: 50px 48px 0;
		margin-bottom: 90px;
	}
	
	:is(.profile-page, #profile-page) .section-lead {
		text-align: left;
		margin-inline: 0 2rem;
	}
	
	:is(.profile-page, #profile-page) .section-body {
		max-width: 900px;
		margin-inline: auto;
		--fancy-letters-delay: 1s;
	}
	
	:is(.profile-page, #profile-page) .section-button {
		text-align: left;
	}
}

@media only screen and (min-width: 1400px) {
	:is(.profile-page, #profile-page) {
		padding-block: 135px 50px;
	}
	
	:is(.profile-page, #profile-page) .responsive-background::before {
		background: linear-gradient(to bottom, transparent 0%, var(--color-light) 80%);
	}
	
	:is(.profile-page, #profile-page) .section-heading {
		font-size: 62px;
		margin-bottom: 10px;
	}
	
	:is(.profile-page, #profile-page) .section-image {
		width: 492px;
	}
	
	:is(.profile-page, #profile-page) .section-card {
		min-height: 584px;
		padding: 60px 50px 0px 55px;
	}
	
	:is(.profile-page, #profile-page) .section-subheading {
		font-size: 21px;
		line-height: 33px;
		letter-spacing: .07em;
	}
	
	:is(.profile-page, #profile-page) .section-lead {
		font-size: 22px;
		line-height: 33px;
	}
	
	:is(.profile-page, #profile-page) .section-button {
		margin-bottom: 50px;
	}
}

@media only screen and (min-width: 1920px) {
	:is(.profile-page, #profile-page) .responsive-background {
		max-height: 1080px;
	}
	
	:is(.profile-page, #profile-page) .default-sections {
		--default-sidebar-width: 560px;
		--default-gap-x: 120px;
	}
	
	:is(.profile-page, #profile-page) .section-container {
		--container-gutter: 260px;
	}
	
	:is(.profile-page, #profile-page) .section-heading {
		font-size: 74px;
	}
	
	:is(.profile-page, #profile-page) .section-card {
		padding: 75px 115px 0px 98px;
		margin-bottom: 120px;
	}
	
	:is(.profile-page, #profile-page) .section-subheading {
		font-size: 23px;
	}
	
	:is(.profile-page, #profile-page) .section-lead {
		margin-inline: 0 -2rem;
	}
	
	:is(.profile-page, #profile-page) .section-button {
		margin-bottom: 55px;
	}
}

@media only screen and (max-width: 1199px) {
	:is(.profile-page, #profile-page) .section-image {
		max-width: 353px;
		margin-inline: auto;
	}
	
	:is(.profile-page, #profile-page) .section-awards:not(.widget), :is(.profile-page, #profile-page) .section-header {
		text-align: center;
	}
}

@media only screen and (max-width: 767px) {
	:is(.profile-page, #profile-page) .section-image {
		max-width: 266px;
	}
	
	:is(.profile-page, #profile-page) .section-button .button {
		--button-padding-x: 22px;
		font-size: 13px;
	}
}

@media only screen and (min-width: 1200px) {
	:is(.profile-page, #profile-page).profile-page-simple .default-section-main:has(+ .default-section-sidebar:last-child) {
		margin-bottom: 0;
	}
}

:is(.profile-page, #profile-page).profile-page-sections {
	padding-block: 0;
	--profile-image-offset: -70px;
}

:is(.profile-page, #profile-page).profile-page-sections #profile-section-2 {
	position: relative;
	z-index: 1;
}

:is(.profile-page, #profile-page).profile-page-sections #profile-section-1 {
	padding-bottom: 1px;
}

@media only screen and (min-width: 1200px) {
	:is(.profile-page, #profile-page).profile-page-sections {
		--profile-image-offset: 200px;
		--profile-sidebar-offset: 0px;
	}
	
	:is(.profile-page, #profile-page).profile-page-sections #profile-section-1 .section-block.default-section-sidebar {
		margin-bottom: var(--profile-image-offset);
	}
	
	:is(.profile-page, #profile-page).profile-page-sections #profile-section-2 .section-block.default-section-sidebar {
		margin-top: calc(var(--profile-sidebar-offset) * -1);
	}
	
	:is(.profile-page, #profile-page).profile-page-sections #profile-section-2 .section-block.default-section-sidebar::before {
		content: "";
		display: block;
		height: 1px;
		margin-top: calc(( var(--profile-image-offset) - 1px ) * -1);
	}
}

@media only screen and (min-width: 1400px) {
	:is(.profile-page, #profile-page).profile-page-sections {
		--profile-image-offset: -110px;
	}
}

@media only screen and (max-width: 1199px) {
	:is(.profile-page, #profile-page).profile-page-sections #profile-section-1 {
		padding-bottom: 1px;
	}
	
	:is(.profile-page, #profile-page).profile-page-sections #profile-section-1 .section-container {
		margin-bottom: var(--profile-image-offset);
	}
	
	:is(.profile-page, #profile-page).profile-page-sections #profile-section-2 .section-container {
		margin-top: calc(( var(--profile-image-offset) ) * -1);
	}
}

#profile-section-1 {
	padding-top: 3rem;
	position: relative;
	z-index: 1;
	color: var(--scheme-fg, var(--color-light));
	background: var(--scheme-bg, var(--color-dark-alt));
}

#profile-section-1 .section-blocks {
	grid-template-rows: 1fr auto;
}

@media only screen and (min-width: 1200px) {
	#profile-section-1 {
		padding-top: 6rem;
	}
	
	#profile-section-1 .default-section-sidebar {
		align-self: end;
	}
	
	#profile-section-1 .default-section-main {
		align-self: center;
	}
	
	#profile-section-1 .section-image {
		grid-row: 1/-1;
	}
}

@media only screen and (max-width: 1199px) {
	#profile-section-1 {
		text-align: center;
	}
}

@media only screen and (min-width: 1200px) {
	#profile-section-2 .section-lists {
		padding-top: 0;
	}
}

:is(.profile-page, #profile-page).profile-page-full {
	padding-block: 0;
}

:is(.profile-page, #profile-page).profile-page-full .section-block:where(:nth-last-child(n+2)) {
	margin-bottom: 2rem;
}

/*! 
ADD POST LIVE CSS HERE 

Add date and tag with changes description eg:

// 4/20/19 - Sam: Header fix or something
// and then css

*/

/* Reviews - mm/dd/yy */
.review-container {
	width: 100%;
}

.review-container h2 {
	text-align: center;
}

.review-container h3 {
	text-align: center;
	padding-bottom: 30px;
}

.review-left {
	width: 48%;
	float: left;
	margin-right: 4%;
}

.review-right {
	width: 48%;
	float: right;
	margin-right: 0;
}

.review-bottom {
	width: 48%;
	float: none;
	margin: 0 auto;
}

.review-left img {
	display: block;
	margin: 0 auto;
	padding-bottom: 5px;
	height: 54px;
	width: auto;
}

.review-right img {
	display: block;
	margin: 0 auto;
	padding-bottom: 5px;
	height: 54px;
	width: auto;
}

.review-bottom img {
	display: block;
	margin: 0 auto;
	padding-bottom: 5px;
	width: auto;
	padding-top: 20px;
}

.review-bottom {
	clear: both;
}

.review-button {
	width: 100%;
	display: block;
	font-size: 14px;
	color: var(--brand-color-light);
	border-radius: 6px;
	background-color: var(--brand-color-primary);
	text-align: center;
	padding: 20px 0;
	text-decoration: none;
}

a.review-button:hover {
	color: var(--brand-color-light);
	background-color: var(--brand-color-dark);
}

a.review-button {
	color: var(--brand-color-light) !important;
}

.wistia-review {
	padding-top: 40px;
}

@media (max-width:767px) {
	.review-left {
		width: 100%;
		float: none;
		margin-right: 0;
	}
	
	.review-right {
		width: 100%;
		float: none;
	}
	
	.review-bottom {
		width: 100%;
	}
	
	.review-right img {
		padding-top: 30px;
	}
	
	.review-bottom img {
		padding-top: 30px;
	}
}

/*! Lity - v2.3.1 - 2018-04-20
* http://sorgalla.com/lity/
* Copyright (c) 2015-2018 Jan Sorgalla; Licensed MIT */
.lity {
	z-index: 9990;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	white-space: nowrap;
	background: #0b0b0b;
	background: rgba(0, 0, 0, .9);
	outline: none !important;
	opacity: 0;
	-webkit-transition: opacity .3s ease;
	-o-transition: opacity .3s ease;
	transition: opacity .3s ease;
}

.lity.lity-opened {
	opacity: 1;
}

.lity.lity-closed {
	opacity: 0;
}

.lity * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.lity-wrap {
	z-index: 9990;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	text-align: center;
	outline: none !important;
}

.lity-wrap:before {
	content: "";
	display: inline-block;
	height: 100%;
	vertical-align: middle;
	margin-right: -.25em;
}

.lity-loader {
	z-index: 9991;
	color: #fff;
	position: absolute;
	top: 50%;
	margin-top: -.8em;
	width: 100%;
	text-align: center;
	font-size: 14px;
	font-family: Arial, Helvetica, sans-serif;
	opacity: 0;
	-webkit-transition: opacity .3s ease;
	-o-transition: opacity .3s ease;
	transition: opacity .3s ease;
}

.lity-loading .lity-loader {
	opacity: 1;
}

.lity-container {
	z-index: 9992;
	position: relative;
	text-align: left;
	vertical-align: middle;
	display: inline-block;
	white-space: normal;
	max-width: 100%;
	max-height: 100%;
	outline: none !important;
}

.lity-content {
	z-index: 9993;
	width: 100%;
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
	-webkit-transition: -webkit-transform .3s ease;
	transition: -webkit-transform .3s ease;
	transition: transform .3s ease;
	transition: transform .3s ease, -webkit-transform .3s ease, -o-transform .3s ease;
	-o-transition: -o-transform .3s ease;
}

.lity-loading .lity-content, .lity-closed .lity-content {
	-webkit-transform: scale(.8);
	-ms-transform: scale(.8);
	-o-transform: scale(.8);
	transform: scale(.8);
}

.lity-content:after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	display: block;
	right: 0;
	width: auto;
	height: auto;
	z-index: -1;
	-webkit-box-shadow: 0 0 8px rgba(0, 0, 0, .6);
	box-shadow: 0 0 8px rgba(0, 0, 0, .6);
}

.lity-close {
	z-index: 9994;
	width: 35px;
	height: 35px;
	position: fixed;
	right: 0;
	top: 0;
	-webkit-appearance: none;
	cursor: pointer;
	text-decoration: none;
	text-align: center;
	padding: 0;
	color: #fff;
	font-style: normal;
	font-size: 35px;
	font-family: Arial, Baskerville, monospace;
	line-height: 35px;
	text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
	border: 0;
	background: none;
	outline: none;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.lity-close::-moz-focus-inner {
	border: 0;
	padding: 0;
}

.lity-close:hover, .lity-close:focus, .lity-close:active, .lity-close:visited {
	text-decoration: none;
	text-align: center;
	padding: 0;
	color: #fff;
	font-style: normal;
	font-size: 35px;
	font-family: Arial, Baskerville, monospace;
	line-height: 35px;
	text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
	border: 0;
	background: none;
	outline: none;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.lity-close:active {
	top: 1px;
}

.lity-image img {
	max-width: 100%;
	display: block;
	line-height: 0;
	border: 0;
}

.lity-iframe .lity-container, .lity-youtube .lity-container, .lity-vimeo .lity-container, .lity-facebookvideo .lity-container, .lity-googlemaps .lity-container {
	width: 100%;
	max-width: 964px;
}

.lity-iframe-container {
	width: 100%;
	height: 0;
	padding-top: 56.25%;
	overflow: auto;
	pointer-events: auto;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-overflow-scrolling: touch;
}

.lity-iframe-container iframe {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-box-shadow: 0 0 8px rgba(0, 0, 0, .6);
	box-shadow: 0 0 8px rgba(0, 0, 0, .6);
	background: #000;
}

.lity-hide {
	display: none;
}
