.price {
	color: #333333;
	font-size: 23px;
	font-weight: normal;
}
@media only screen and (max-width: 40em) {
	.price {
		font-size: 28px;
	}
}
.price.price_offer {
	color: #DA2127 !important;
}

.checklist_box_container {
	position: relative;
	padding: 0 0px;
}

.checklist_box {
	position: relative;
	overflow: hidden;
}

.checklist_box > img {
	max-width: 40px;
	max-height: 40px;
}

#freebie_container {
	background-color: var(--section-background-color);
	border: var(--section-border);
	border-radius: var(--section-border-radius);
	padding: 10px;
	margin-top: 15px;
}

.complete_button {
	height:38px;
	cursor: pointer;
	padding:6px;
	position: relative;
	overflow:hidden;
	background-color:#e2e2e2;
	color: #3d3d3d;
	margin: 0 0 0px 0px;
	font-size: 14px;
	display: flex;
	justify-content: center;
	align-content: center;
	flex-direction: column;
}

.checklist_box>table {
	height:62px;
	background-color:#ffffff;
	width: 100%;
}
.checklist_box>table td:first-child {
	padding:5px 5px 5px 10px;
	max-width: 0;
}

.checklist_box>table td:nth-child(2) {
	background-color: #FFF;
	width:20%;
	text-align: center;
}

/*
.checklist_box.optional>table {
	border:1px dashed #dfdede;
}

.checklist_box.optional {
	background-color:#f1f1f1;
	color: rgba(61,61,61,.35);//#3d3d3d 35%;
}
*/
.checklist_box.inactive {
	cursor:default !important;
	background-color:#f1f1f1;
	color: rgba(61,61,61,.35);//#3d3d3d 35%;
	font-size: 14px;
}

.checklist_box.active {
	background-color:#e2e2e2;
	border: 2px solid #689b5d;
	color: #3d3d3d;
	font-size: 14px;
}

.checklist_box.active>table  {
	cursor:pointer;
}

.checklist_box.show_parts>table  {
	color: #3d3d3d;
}

.checklist_box .header {
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}
.checklist_box .price {
	font-size:10px;
}

.checklist_box .checkmark {
	position: absolute;
	bottom:0;
	right: 52px;
	fill:#358F3E;
	width: 60px;
	height: 60px;
	opacity: 0.2;
}

.optional_header {
	position: absolute;
	top: -2px;
	background-color: #3d3d3d;
	color: #FFF;
	padding: 2px 14px !important;
	border-radius: 6px;
	font-size: 9px;
	left: -3px;
	box-shadow: 2px 2px 3px rgba(0,0,0,0.2);
	line-height: 15px;
}

#build_progress_parts {
	margin-top: 10px;
}

#continue_button {
	width: 100%;
}

.optional_header.inactive {
	background-color: #C8C8C8;
}

.optional_delete {
	color: #676767;
	font-size: 24px;
	position: absolute;
	top: 4px;
	right: 4px;
	cursor: pointer;
	background-color: rgba(255, 255, 255, 0.4);
	height: 17px;
	width: 17px;
	border-radius: 5px;
	line-height: 16px;
	text-align: center;
	padding: 0 !important;
}

#build_image {
	border:1px solid #dfdede;
	border-radius: 53px;
}

.build_image_container {
	position: relative;
	display: inline-block;
}

/* This is to emulate the rounded border, when the image is scaled - because the border-radius will cut out some of the border from the image. */
/* It's generally a really bad idea having the images dictate styling, because of the scaling issues depending on screensize */
.build_image_container::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	box-shadow: inset 0 0 0 5px #F5A28D;
	border-radius: 53px;
}

.selector_image {
	max-width:40px;
	max-height:40px;
}

.clickarea {
	position: absolute;
	cursor:pointer;
}

.tooltip {
	position: absolute;
	background: #da2127;
	padding:5px 10px;
	color:#FFF;
	box-shadow: 2px 2px 2px rgba(0,0,0,.2);
	transform: translateX(-50%) translateY(-100%);
	cursor:pointer;
	animation: shake 0.80s cubic-bezier(.36,.07,.19,.97) both;
}
.tooltip:after {
	top: 100%;
	left: 50%;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border: 6px solid rgba(50, 174, 122, 0);
	border-top-color: #da2127;
	margin-left: -6px;
}

.tooltip:before {
	content: unset;
}

@keyframes shake {
	10%, 90% {
		/*transform: translate3d(calc(-50% - 1px), -50%, 0);*/
		transform: translateX(calc(-50% - 1px)) translateY(-100%);
	}

	20%, 80% {
		/*transform: translate3d(calc(-50% + 2px), -50%, 0);*/
		transform: translateX(calc(-50% + 2px)) translateY(-100%);
	}

	30%, 50%, 70% {
		/*transform: translate3d(calc(-50% - 4px), -50%, 0);*/
		transform: translateX(calc(-50% - 4px)) translateY(-100%);
	}

	40%, 60% {
		/*transform: translate3d(calc(-50% + 4px), -50%, 0);*/
		transform: translateX(calc(-50% + 4px)) translateY(-100%);
	}
}
.color_circle {
	line-height: 32px;
	cursor: pointer;
	float: left;
	height: 30px;
	width: 30px;
	border-radius: 50%;
	margin: 5px;
}

/*Customizer popup overlay for filter to avoid doubble reveal.*/

.filter_content {
	position:absolute;
	top: 60px;
	left: 50%;
	transform: translateX(-50%);
	z-index:999;
	width:640px;
	max-width: 640px;
	box-shadow: 0 0 10px rgba(0,0,0,.5);
	background-color: #FFF;
	border-top: 1px solid #DDD;
	border-bottom: 1px solid #DDD;
	padding: 15px;
}
.filter_content .checkbox {
	background-color: #FFF;
}
.filter_content h2 {
	margin: 0 0 25px 0;
}
.filter_close {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 20px;
	height: 20px;
	text-align: center;
	line-height: 20px;
	font-size: 36px;
	cursor:pointer;
}

#filter_list {
	padding: 0;
}

@media only screen and (max-width: 40em) {
	.filter_content{
		left: 0;
		transform: none;
		width: 100%;
	}
}


.reveal {
	background-color: #F0F0F0;
}

#items_compatible {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	grid-gap: 20px;
}

#items_compatible > div {
	background-color: #FFF;
	padding: 20px;
	border-radius: var(--section-border-radius);
	border: var(--section-border);
}

@media only screen and (min-width: 40.0625em) {
	#items_compatible {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media only screen and (min-width: 78.1875em) {
	#items_compatible {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.checklist_box > div:not(.optional_header) {
	overflow: hidden;
}

.service_container {
	margin-bottom: 10px;
	background-color: #FFF !important;
	padding: 10px;
}

.customizer_section_article li {
	font-size: 1rem;
	line-height: 26px;
}

.breadcrumb {
	margin-top: 10px;
}