/* CSS Document */

/* Services */

table.im-services tbody {
	background-color: transparent;
	border: none; 
}
table.im-services {
	width: 100%;
}
table.im-services tbody tr:nth-child(2n) {
	background-color: transparent; 
}
.serv_wrapper .serv_subcat_desc p {
	padding-left: 0;
	text-transform: none; 
}
.serv_wrapper .serv_subcat_disclaimer {
	margin-bottom: 50px;
}
.serv_wrapper .serv_subcat_disclaimer p {
	padding-left: 0;
	text-transform: none; 
	font-style: italic;
}
table.im-services {
	margin: 0 0 50px; 
}
table.im-services thead {
	background-color: transparent;
	border: none; 
}
table.im-services thead tr th {
	background: transparent;
	font-weight: 500;
	color: var(--primary);
	text-align: left;
	padding: 0;
	vertical-align: bottom;
	font-size: 1.5rem;
	text-transform: uppercase; 
}
table.im-services tbody tr { 
	border-bottom: none;
}
table.im-services tbody tr td {
	padding: 5px 0; 
}
table.im-services tbody tr td.serv-col {
	padding: 2px 20px 10px 0;
}
table.im-services tbody tr td.serv-col:first-child {
	padding-right: 30px; 
}
table.im-services tbody tr td.serv-desc {
	padding: 0 0 0.625rem;
	text-transform: none;
	letter-spacing: normal;
	width: 100% !important; 
}
table.im-services tbody tr td:is(.serv-title, .serv-price) {
	font-weight: bold;
	line-height: 1.3;
}
@media screen and (max-width: 39.9375em) {
	.show-for-medium {
	    display: none!important;
	}
	.service_levels .serv-title {
		font-weight: 400;
	}
	.service_levels .serv-header, .service_levels .serv-price {
		font-weight: normal;
		display:grid;
		grid-template-columns: 65%;
		grid-auto-columns: 1fr;
		grid-auto-flow: column;
	}
}
@media screen and (min-width: 40em) {
	.hide-for-medium {
	    display: none!important;
	}
	table.im-services tbody tr.has-description td.serv-col {
		padding-bottom: 0;
	}
}


/* new styles */
.serv_wrapper { margin-bottom: 4rem; }

h3.im-services-subhead {
	font-size: clamp(1.25rem, 3vw, 1.6rem);
	color: var(--primary);
	font-weight: 400;
}

/* HAS TIERS */
.serv_wrapper .im-service-row.serv-title-row.service-has-tiers,
.serv_wrapper .tier-headers {
	display: grid;
	grid-template-columns: 1fr;
	grid-auto-columns: 1fr;
	grid-auto-flow: row;
	padding-bottom: 0.1rem;
}

/* NO TIERS */
.serv_wrapper .im-service-row.serv-title-row,
.serv_wrapper .tier-headers {
	display: grid;
	grid-template-columns: 65%;
	grid-auto-columns: 1fr;
	grid-auto-flow: column;
	padding-bottom: 0.1rem;
}

@media (min-width: 40em) {
	.serv_wrapper .im-service-row.serv-title-row,
	.serv_wrapper .im-service-row.serv-title-row.service-has-tiers,
	.serv_wrapper .tier-headers {
		grid-template-columns: 65%;
		grid-auto-flow: column;
	}
}
.serv_wrapper .im-service-row.serv-title-row .serv-title {
	font-size: 1rem;
	text-transform: uppercase;
}
.serv_wrapper .tier-headers .tier-header {
	font-size: .9rem;;
	font-weight: bold;
	text-transform: uppercase;
	color: var(--primary);
}

.serv_wrapper .im-service-row .serv-price {
	font-weight: 700;
	font-size: 1rem;
}

@media (min-width: 40em) {
	.serv_wrapper .im-service-row .im-serv-col {
		font-weight: 700;
	}
}

.serv_wrapper .im-service-row.serv-title-row .serv-title {
	padding-right: 1rem;
}

@media (min-width: 40em) {
	.serv_wrapper .im-service-row.serv-title-row .serv-title {
		padding-right: 2rem;
	}
}

.im-service-row.serv-desc-row { padding-right: 1rem; }

.serv_wrapper .im-service-row.has-description + .im-service-row.serv-desc-row,
.serv_wrapper .im-service-row.has-no-description {
	margin-bottom: 1rem;
}

.serv_subcat_disclaimer { font-style: italic; }

.im-serv-col.serv-price:empty { display: none; }