.layout-boxed .block-contact-details {
	max-width: var(--max-width-x-large);
	margin: auto;
	border-radius: var(--border-radius);
}

.block-contact-details-inner {
	width: 100%;
	max-width: var(--max-width-x-large);
	display: flex;
	flex-wrap: wrap;
	column-gap: var(--column-gap-x-large);
	row-gap: var(--row-gap);
	margin: auto;
}

.block-contact-details.has-background {
	padding: var(--spacing-x-large) var(--side-spacing) var(--spacing-medium);
}

.block-contact-details.bg-color-white {
	padding: 0 var(--side-spacing);
}

.block-contact-details.bg-color-white,
.block-contact-details .block-form-container.bg-color-white {
	background-color: var(--color-white);
}

.block-contact-details.bg-light,
.block-contact-details .block-form-container.bg-light {
	background-color: var(--color-background-light);
}

.block-contact-details.bg-dark,
.block-contact-details .block-form-container.bg-dark {
	background-color: var(--color-background-dark);
	color: #fff;
}

.block-contact-details.bg-dark .block-form-container.bg-dark {
	background-color: var(--color-background-dark-pair);
}

.block-contact-details.bg-dark .block-form-container.bg-light,
.block-contact-details.bg-dark .block-form-container.bg-white {
	color: var(--color-text);
}

.block-contact-details.bg-dark h2,
.block-contact-details.bg-dark .subheader,
.block-contact-details.bg-dark .detail-card h3,
.block-contact-details.bg-dark .detail-card .standout-detail, 
.block-contact-details.bg-dark .detail-card .standout-detail a {
	color: #fff;
}

/* top content */

.block-contact-details .content-top {
	flex-basis: 100%;
	width: 100%;
	margin-bottom: 50px;
}

.block-contact-details .content-top > * {
	max-width: 66%;
}

.block-contact-details .content-top .subheader {
	font-weight: var(--font-weight-normal);
}

.block-contact-details .content-top > :last-child {
	margin-bottom: 0;
}

/* contact cards */

.block-contact-details .contact-cards {
	flex-basis: calc(55% - var(--column-gap-x-large));
	align-self: flex-start;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	column-gap: var(--column-gap-large);
	row-gap: var(--row-gap-medium);
}

.block-contact-details .detail-card {
	flex-basis: calc(50% - (var(--column-gap-large) / 2));
	max-width: calc(50% - (var(--column-gap-large) / 2));
	box-sizing: border-box;
}

.block-contact-details .detail-card .contact-icon {
	width: 30px;
	height: 30px;
	position: relative;
	margin-bottom: 25px;
}

.block-contact-details .detail-card .contact-icon svg {
	object-fit: contain;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}

.block-contact-details .detail-card .contact-icon svg path {
	stroke: var(--color-primary);
}

.block-contact-details.bg-dark .detail-card .contact-icon svg path {
	stroke: rgba(255,255,255,0.5);
}

.block-contact-details .detail-card h3 {
	font-size: var(--font-size-large);
	color: var(--color-text);
	margin-bottom: 10px;
}

.block-contact-details .detail-card p {
  line-height: var(--line-height-large);
  margin-bottom: 15px;
}

.block-contact-details .detail-card .standout-detail,
.block-contact-details .detail-card .standout-detail a {
	font-weight: var(--font-weight-medium);
	color: var(--color-primary);
}

.block-contact-details .detail-card > *:last-child {
	margin-bottom: 0;
}

/* form */

.block-contact-details .block-form-container {
	flex-basis: 45%;
	flex-shrink: 0;
	padding: 0 var(--side-spacing-large);
	box-sizing: border-box;
	border-radius: var(--border-radius);
}

.block-contact-details .block-form-container.has-background {
	flex-basis: 45%;
	flex-shrink: 0;
	padding: var(--spacing-medium) var(--side-spacing-large);
	box-sizing: border-box;
	border-radius: var(--border-radius);
}

.block-contact-details .block-form-container.bg-dark .gform-theme--framework {
	--gf-ctrl-label-color-primary: #fff !important;
}

body .block-contact-details .block-form-container.bg-dark .gform_wrapper.gform-theme--framework input[type="submit"] {
	background-color: var(--gf-ctrl-btn-bg-color-secondary);
	color: var(--gf-ctrl-btn-color-secondary);
	border-width: var(--gf-ctrl-btn-border-width-secondary);
	border-color: var(--gf-ctrl-btn-border-color-secondary);
}

body .block-contact-details .block-form-container.bg-dark .gform_wrapper.gform-theme--framework input[type="submit"]:hover {
	background-color: var(--gf-ctrl-btn-bg-color-hover-secondary);
	color: var(--gf-ctrl-btn-color-hover-secondary);
	border-color: var(--gf-ctrl-btn-border-color-hover-secondary);
}

body .block-contact-details .block-form-container.bg-dark .gform_wrapper.gform-theme--framework input[type="submit"]:focus {
	background-color: var(--gf-ctrl-btn-bg-color-focus-secondary);
	color: var(--gf-ctrl-btn-color-focus-secondary);
	border-color: var(--gf-ctrl-btn-border-color-focus-secondary);
}




@media screen and (max-width: 1100px) {

	.block-contact-details .contact-cards,
	.block-contact-details .block-form-container,
	.block-contact-details .block-form-container.has-background {
		flex-basis: 100%;
	}

	.block-contact-details .block-form-container {
		padding: var(--spacing-medium) 0;
	}

	.block-contact-details .block-form-container.has-background .gform_wrapper {
		max-width: var(--max-width-x-small);
		margin-left: auto;
		margin-right: auto;
	}

}

@media screen and (max-width: 900px) {

	.block-contact-details .content-top > * {
		max-width: 100%;
	}

}

@media screen and (max-width: 600px) {

	.layout-boxed:has(.block-contact-details) {
		padding-left: 0;
		padding-right: 0;
	}

	.layout-fullwidth + .layout-boxed:has(.block-contact-details) {
		margin-top: 0;
	}

	.block-contact-details .block-form-container {
		padding: var(--spacing-small) 0;
	}

	.block-contact-details .block-form-container.has-background {
		padding: var(--spacing-small) var(--side-spacing);
	}

	.block-contact-details .content-top {
		margin-bottom: 10px;
	}

	.block-contact-details .contact-cards {
		row-gap: 40px;
	}

	.block-contact-details .detail-card {
		flex-basis: 100%;
		max-width: 100%;
	}

	.block-contact-details .detail-card .contact-icon {
		margin-bottom: 20px;
	}

	.block-contact-details .detail-card p {
		margin-bottom: 5px;
	}

}

