
.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-60cba65/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: 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-60cba65/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: 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-60cba65/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: 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-60cba65/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: 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-60cba65/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: 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-60cba65/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-60cba65/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-60cba65/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-60cba65/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-60cba65/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: 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-60cba65/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-60cba65/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;
	/* Design Reference: Comps/Design Sizes based on given XD Files' artboards */
	--comp: 360px;
	/* unit in case for padding to push to negative margins (ie overlaps). Best to keep as tiny as possible */
	--overlap-buffer: 1px;
	/* Styleguide - Fonts */
	--font-primary: OpenSans, Adjusted Tahoma Fallback;
	--font-secondary: Saira, Adjusted Arial Fallback;
	--font-accent: var(--font-primary);
	--font-monospace: monospace;
	/* Styleguide - colors */
	--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;
	/* cascade global font family, color, and background to reduce appearance of broken styles */
	font-family: var(--font-primary);
	font-weight: 400;
	color: var(--scheme-fg, var(--color-dark));
	background: var(--scheme-bg, var(--color-light));
	/* make sure there are no edge case words that overflow the layout or make blocks too wide*/
	word-wrap: break-word;
	/* smoothen scroll */
	scroll-behavior: smooth;
	/* mobile viewport bug fix */
	min-height: 100vh;
	min-height: -webkit-fill-available;
	/* accent color for form stuff */
	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 */
	box-sizing: border-box;
	/* font fixes */
	-webkit-font-smoothing: antialiased;
	/* Firefox 25*/
	-moz-osx-font-smoothing: grayscale;
}

/* 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;
	/* border width. This will be accounted for in calculating the form field height as well */
	--field-border-width: 1px;
	/* duh */
	--field-border-radius: 3px;
	/* horizontal padding for the form field */
	--field-padding-x: 1rem;
	/* color for required indicators */
	--field-required-color: var(--color-accent);
	/* color for errors */
	--field-error-color: var(--color-accent);
	/* Note: this value has to be unitless for calc values to work.
  * modify this value if the font seems a little too high or low in vertical alignment. 1 moves the text to the very top. 0 moves the text to the very bottom. 0.5 will center it based on the fonts' basline alignment */
	--field-baseline-offset: .5;
	/* Note: this value has to be unitless for calc values to work
  * Formula is line-height-px / font-size-px */
	--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;
	flex: 0 0 auto;
	content: "";
	font-size: .5rem;
	transform-origin: 67% 67%;
	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;
	/* Take care of edge case overflowing labels */
	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;
	/* top and bottom border width */
	--table-border-width-y: 1px;
	/* table container color */
	--table-border-color: var(--scheme-md-bg, var(--color-neutral-lighter));
	/* background color for cells */
	--table-cell-background: var(--scheme-bg, var(--color-light));
	/* border color for left and right */
	--table-cell-border-color-x: var(--scheme-bg-contrast, rgba(127, 127, 127, .3));
	/* border color fortop and bottom */
	--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;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	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;
	/* ideal height of the button including the `var(--button-border-width)` on both top and bottom, vertical padding and the line height times the set `var(--button-lines)`. Designs will have buttons setup by a height. This makes it easier on our end to support. */
	--button-border-width: 2px;
	/* border width. This will be accounted for in calculating the button height as well */
	--button-border-radius: 5px;
	/* button radius */
	--button-padding-x: 1.25em;
	/* horizontal padding */
	--button-lines: 1;
	/* Number of lines to compensate for the button height.
  * NOTE: this value has to be unitless for calc values to work. */
	--button-baseline-offset: .5;
	/* Let's say the font on your build has its baseline a little too low or high so inside a button, it doesn't seem vertically centered and makes our designer pals sad. Modify this value to shift that alignment and make the button as pretty as it can be again.
  * 1 moves the text to the very bottom.
  * 0 moves the text to the very top.
  * 0.5 will center it based on the fonts' baseline alignment
  * NOTE: this value has to be unitless for calc values to work. */
	--button-line-height: 1.125;
	/* line height
  * Usually there's no need to modify this unless a multiline button is present in the design and has a line height drastically different to what is set (currently 1.125).
  * NOTE: this value has to be unitless for calc values to work.
  * Formula is line-height-px / font-size-px 
  * font-size 16px and line-height at 20px
  * 20/16 = 1.25 (Note: Unitless value) */
	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, :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);
	/* Solid color on hover */
	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, :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, :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;
	/* slider glyph border arrow styles */
	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;
	/* widths*/
	max-width: 100%;
	width: calc(100% - max(var(--container-gutter) - min(var(--container-fallback), var(--container-gutter)), 0rem) * 2);
	min-width: 0;
	/* flex stuff */
	flex: 0 0 auto;
	grid-column: 1/-1;
	/* container query support */
	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;
	/* customizeable distance. Set as the `--container-fallback` by default. Can be customized depending on the design of a given section though 20px - 30px should be enough */
	--container-size-reference: var(--comp);
	/* window width or section width. you wont usually need to manipulate this value  unless complex split layout designs */
	--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;
	/* Number of columns desired for the layout */
	--columns-gap-y: 0rem;
	/* distance between columns horizontally */
	--columns-number: 1;
	/* distance between columns vertically */
	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;
	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;
	display: flex;
	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;
	/* Horizontal padding between the widgets' edges and its contents
  NOTE: the .widget, title, li, and ul/content block use this variable to adjust paddings and negative margins to align to value
  NOTE: li is being padded with --widget-padding-x to align the padding perfectly with the title, li, and uls/content block */
	--widget-padding-top: 0;
	/* Yes */
	--widget-padding-bottom: var(--widget-padding-top);
	/* Yes */
	--widget-dropdown-padding-top: 0rem;
	/* Yes  */
	--widget-dropdown-padding-bottom: var(--widget-dropdown-padding-top);
	/* Yes
  * will also be used to calculate negative margins for dropdowns within the last child for consistent spacing  */
	--widget-dropdown-margin-top: 0rem;
	/* dropdown margin top. used to distance from previous sibling link */
	--widget-dropdown-margin-bottom: var(--widget-dropdown-margin-top);
	/* dropdown margin bottom. used to distance from parent li's next sibling */
	--widget-item-height: 62px;
	/* ideal height of widget list item. designers will prefer to design widget list items 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 widget list items */
	--widget-item-border-width: 2px;
	/* border width. This will be accounted for in calculating the widget list item height as well */
	--widget-item-lines: 1;
	/* Note: this value has to be unitless for calc values to work. 
  Number of lines to compensate for the widget list item height */
	--widget-item-padding-x: 0px;
	/* Padding to distance between only the anchor tags' and parent widget li item.
  Not affected by `--widget-padding-x` */
	--widget-dropdown-margin-x: calc(var(--widget-padding-x) * -1);
	/* margin to offset dropdown. set to negative paddix x to flush, 0 to contain, whatever
  not affected by --widget-padding-x */
	--widget-dropdown-padding-x: 0;
	/* padding for dropdow
  not affected by --widget-padding-x */
	--widget-dropdown-offset: 2em;
	/* indent padding for dropdown. designers will prefer this if contrasting dropdown background is not set */
	
	/* Set to 0rem if not needed */
	--widget-dropdown-item-offset: 0em;
	/* indent padding for dropdown items. designers will prefer this if contrasting dropdown background is not set */
	
	/* Set to 0rem if not needed */
	--widget-title-padding-x: 0;
	/* Note: this value has to be unitless for calc values to work.
  * modify this value if the font seems a little too high or low in vertical alignment. 1 moves the text to the very top. 0 moves the text to the very bottom. 0.5 will center it based on the fonts' basline alignment */
	--widget-content-margin-top: 0rem;
	/* margin distance between the widget title and the widget contents */
	--widget-content-margin-bottom: 0rem;
	/* margin distance between the widget title and the widget contents */
	--widget-content-padding-top: 0rem;
	/* margin distance between the widget title and the widget contents
  Note: if the widget accordion is closed, this hides along with the contents, meaning it wont affect the `--widget-padding-bottom` */
	--widget-content-padding-bottom: var(--widget-content-padding-top);
	/* margin distance between the widget title and the widget contents
  Tip: setting to `calc(var(--widget-padding-bottom) * -1)` can compensate the `--widget-padding-bottom` without affecting it when the widget is collapsed
  Note: if the widget accordion is closed, this hides along with the contents, meaning it wont affect the `--widget-padding-bottom` */
	--widget-item-baseline-offset: .5;
	/* Note: this value has to be unitless for calc values to work.
  modify this value if the font seems a little too high or low in vertical alignment.
  * 1 moves the text to the very top.
  * 0 moves the text to the very bottom.
  * 0.5 will center it based on the fonts' basline alignment
  */
	--widget-item-line-height: 1.5;
	/* Note: this value has to be unitless for calc values to work. Usually there's no need to modify this unless a multiline widget list item is present in the design.
  * Formula is line-height-px / font-size-px */
	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;
	/* prevent elements from getting in the way of interacteable elements */
	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;
	pointer-events: none;
	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 will be applied to the pseudo element */
	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;
	/* prevent elements from getting in the way of interacteable elements */
	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;
	/* make contents remain centered if contents are shorter than the angle height to even out vertical spacing specially for 2560 and above */
	display: flex !important;
	flex-wrap: nowrap !important;
	flex-direction: column !important;
	justify-content: center !important;
	/* background will be applied to the pseudo element */
	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);
	/* Note: Best practice to add fallback background-colors to your background images */
	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;
	/* height of practice area item. designers will prefer to design buttons 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 buttons */
	--pa-item-height: 4.375rem;
	/* ideal height of menu items */
	--pa-item-lines: 1;
	/* Note: this value has to be unitless for calc values to work.
  	* Number of lines to compensate for the item height */
	--pa-item-baseline-offset: .5;
	/* Note: this value has to be unitless for calc values to work.
  	* 1 moves the text to the very bottom. 0 moves the text to the very top */
	--pa-item-line-height: 1.5;
	/* Note: this value has to be unitless for calc values to work.
  	* Formula is line-height-px / font-size-px */
	--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;
	/* size of video button by height and or width */
	--video-button-text-svg-radius-ratio: 1.25;
	/*  ratio of svg path for rounded text. */
	--video-button-text-svg-start-offset: 50%;
	/*  offset of svg text */
	--video-button-glyph-height: .18em;
	/* height for video play triangle glyph*/
	
	/* Tip: set as ems so the play symbol scales along with the actual button */
	--video-button-glyph-width: .14em;
	/* width for video play triangle glyph*/
	
	/* Tip: set as ems so the play symbol scales along with the actual button */
	--video-button-glyph-color: currentColor;
	/* color of the video button glyph. Used as a background-color so it can take gradients too */
	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;
	/* height of the whole header at a given state or layout */
	--layout-header-offset: 0px;
	/* How far off the header is from the top of the viewport. This is specially useful for .header-can-overlap styles before sticky-ing */
	--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;
		/* remove dropdown shadow on all devices when not scrolling yet */
		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;
	/* support logo offseting on overlay banner + not sticky state. comment if not needed */
	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;
	/* How far off the toggle is from its original position. useful for mobile when the layout of the header shifts around and the toggle is positioned weird over the menu when it's open */
	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);
	/* horizontal padding for menu items and accordion/dropdowns */
	--layout-header-menu-nontouch-dropdown-padding-x: 1.875rem;
	/* horizontal padding for menu items and accordion/dropdowns
  NOTE: Keep horizontal padding on the li items instead of the containing ul/dropdown to maintain hover hitspace or so that the next level of dropdown does not disappear while you hover to it */
	--layout-header-menu-nontouch-current-height: 3px;
	/* current item border indicator height */
	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;
	/* comment out if borders are not desired */
	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;
		/* flush dropdown indicator and text to the left */
		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%;
		/* Take dropdowns out of doc flow + setup for hover/focus effects */
		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%;
		/* distance both dropdown indicator and menu text to the edge */
		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;
	/* grid/flex fixes*/
	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: 0s;
	}
	
	: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: 0;
	}
	
	:is(.home-section-2, #home-section-2) .section-image-middle {
		--fancy-letters-delay: 1s;
	}
	
	:is(.home-section-2, #home-section-2) .section-image-right {
		--fancy-letters-delay: 2s;
	}
	
	: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: .75s;
	}
	
	:is(.home-section-2, #home-section-2) .section-body-bottom {
		--fancy-letters-delay: 2s;
	}
	
	: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;
	/* Firefox */
	-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;
	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-60cba65/www.khamolaw.com/wp-content/uploads/2025/05/logo-K.svg");
	margin: auto;
	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;
	/* Firefox */
	-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: 1s, 1s, 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;
	text-decoration: none;
	font-size: 17px;
	line-height: 20px;
	font-family: var(--font-secondary);
	color: inherit;
	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;
	-o-transition: -o-transform .3s ease;
	transition: transform .3s ease;
	transition: transform .3s ease, -webkit-transform .3s ease, -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;
}
