html.overflow-hidden {
	overflow: hidden;
}

.variations tr.pa_function {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.variations tr.pa_function .wcvs-swatch-image {
    border-radius: 4px;
    border: 2px solid rgba(196, 154, 108, .4) !important;
    transition: .2s;
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
    text-align: left;
    padding: 15px;
    opacity: 1;
    width: 100%;
    margin: 0;
}

.variations tr.pa_function .swatch_wrapper {
    display: flex;
    flex-flow: unset;
}

.variations tr.pa_function .wc-ever-swatches {
    display: flex;
    flex-direction: column;
    row-gap: 10px;
    margin-top: 10px;
}

.variations tr.pa_function .wcvs-swatch-image.selected {
    border: 2px solid rgba(196, 154, 108, 1) !important;
}

.variations tr.pa_function .wcvs-color-tooltip {
    visibility: visible;
    width: auto;
    position: static;
    padding: 0;
    border-radius: 0;
    margin: 0;
    opacity: 1;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 5px;
}

.variations tr.pa_function .wcvs-color-tooltip:after {
    display: none;
}

.variations tr.pa_function .desc-wrap {
    display: flex;
}

.variations tr.pa_function .desc-wrap .variation_check {
    width: 150px;
    height: 75px;
    margin-right: 15px;
    background-size: contain !important;
    background-repeat: no-repeat !important;
}

.variations tr.pa_function .desc-wrap .desc {
    white-space: break-spaces;
}
/*
.variations .custom-select select, .variations .custom-select .select-selected {
    display: none !important;
}

.variations tr.pa_backset, .variations tr.pa_handing {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.variations .custom-select  {
    margin-top: 10px;
}

.variations .custom-select .select-items {
    display: flex;
    column-gap: 10px;
}

.variations .custom-select .select-items>div {
    border-radius: 4px;
    border: 2px solid rgba(196, 154, 108, .4);
    transition: .2s;
    padding: 10px 15px;
    font-weight: 700;
}

.variations .custom-select .select-items>div.same-as-selected {
    border: 2px  solid rgba(196, 154, 108, 1);
} */

.single_variation_wrap {
    display: flex;
    flex-direction: column;
}

div.product form.cart table#addon_total {
    display: none !important;
}

/* Extra Product Options for WooCommerce */

.epofw_addon_html {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.75);
    display: flex;
    opacity: 0;
    z-index: -1;
    /*opacity: 1;*/
    /*z-index: 10000;*/
}

.epofw_addon_html.active {
    opacity: 1;
    z-index: 10000;
}

.epofw_fields_table {
    order: -1;
    /*margin: 0 !important;*/
    margin: auto !important;
    max-width: 850px;
    padding: 0 145px;
    background: #FFFFFF;
    border: 2px solid #C49A6C;
    float: unset !important;
    border-collapse: unset;
}

.epofw_fields_table tbody.epofw_middle_tg {
    overflow-y: auto;
}

div.product form.cart table.epofw_fields_table tr {
    display: flex;
    flex-direction: column;
    padding: 8px 0;
    /*border-bottom: 1px solid #C49A6C;*/
}

div.product form.cart table.epofw_fields_table td {
    border: unset !important;
    padding: 0 !important;
}

.epofw__modal__title__wrap section {
	padding: 30px 0 20px 0;
	border-bottom: 1px solid #C49A6C;
}

.epofw__modal__title__wrap .epofw_td_label {
	margin-bottom: 15px;
}

.epofw__modal__title__wrap .description {
	margin-bottom: 0;
	text-align: center;
}

.epofw__submit__wrap section {
	padding-bottom: 50px;
	text-align: center;
}

tr.epofw__submit__wrap td.epofw__submit__td:first-child,
tr.epofw__modal__title__wrap td.epofw__title__td:first-child {
	width: 100% !important;
}

div.product form.cart table.epofw_fields_table td.epofw_td_label {
    width: 100% !important;

    /*padding: 0 0 10px 0 !important;*/
    padding: 0 !important;
}

div.product form.cart table.epofw_fields_table td.epofw_td_label label,
h2.epofw_td_label {
    font-weight: 300;
    text-transform: uppercase;
    font-size: 17px;
    text-align: center;
    line-height: 1.2 !important;
    color: #241F21;
}

div.product form.cart table.epofw_fields_table td.epofw_td_value {
    display: flex;
    column-gap: 10px;
}

div.product form.cart table.epofw_fields_table td.epofw_td_value input {
    display: none;
}

div.product form.cart table.epofw_fields_table td.epofw_td_value label {
    position: relative;

    border-radius: 4px;
    /*border: 2px solid rgba(196, 154, 108, .4);*/
    border: 2px solid transparent;
    transition: .2s;
    /*padding: 10px 15px;*/
    padding-top: 155px;

    font-weight: 700;
    cursor: pointer;
    font-size: 10px;
	text-align: center;

    flex-basis: calc(100% / 3);
}

div.product form.cart table.epofw_fields_table td.epofw_td_value label:first-child {
    display: none;
}

div.product form.cart table.epofw_fields_table td.epofw_td_value label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 150px;
    background-repeat: no-repeat;
    background-size: cover;
}

div.product form.cart table.epofw_fields_table #epofw_checkboxgroup_1 td.epofw_td_value label:nth-child(2)::before {
    background-image: url('../img/doorstops/wall-mounted.jpg');
}
div.product form.cart table.epofw_fields_table #epofw_checkboxgroup_1 td.epofw_td_value label:nth-child(3)::before {
    background-image: url('../img/doorstops/floor-mounted.jpg');
}
div.product form.cart table.epofw_fields_table #epofw_checkboxgroup_1 td.epofw_td_value label:nth-child(4)::before {
    background-image: url('../img/doorstops/floor-mounted magnetic.jpg');
}

/* one image for all Hinges */
div.product form.cart table.epofw_fields_table #epofw_checkboxgroup_89260337 td.epofw_td_value label::before {
    background-image: url('../img/hinges/hinge-1.jpg');
}

div.product form.cart table.epofw_fields_table td.epofw_td_value label.active {
    border: 2px solid rgba(196, 154, 108, 1);
}

div.product form.cart table.epofw_fields_table td.epofw_td_value label.active::after {
    content: '';
    position: absolute;
    right: 10px;
    top: 10px;
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='13' height='13' rx='6.5' fill='white'/%3E%3Cg clip-path='url(%23clip0_45_313)'%3E%3Cpath d='M9.87446 4.7407C10.0418 4.92817 10.0418 5.23262 9.87446 5.42009L6.44627 9.25949C6.27888 9.44697 6.00703 9.44697 5.83964 9.25949L4.12554 7.33979C3.95815 7.15232 3.95815 6.84787 4.12554 6.6604C4.29294 6.47293 4.56478 6.47293 4.73217 6.6604L6.14362 8.23965L9.26917 4.7407C9.43656 4.55323 9.7084 4.55323 9.87579 4.7407H9.87446Z' fill='%23C49A6C'/%3E%3C/g%3E%3Crect x='0.5' y='0.5' width='13' height='13' rx='6.5' stroke='%23C49A6C'/%3E%3Cdefs%3E%3CclipPath id='clip0_45_313'%3E%3Crect width='6' height='6' fill='white' transform='translate(4 4)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
}

.epofw__submit__wrap.woocommerce-variation-add-to-cart button.button {
	margin-top: 15px !important;
}

.epofw__title__body .close__wrap {
	text-align: right;
}

.epofw__title__body .close__wrap .close {
	display: inline-block;
	cursor: pointer;
}

/* LOCKTYPE */

tr.pa_lock-type {
	display: block;
}

tr.pa_lock-type td.label label {
	display: block;
	margin-bottom: 18px;
}

tr.pa_lock-type .wc-ever-swatches {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	gap: 14px;
	width: 100%;
}

tr.pa_lock-type .wcvs-swatch-image {
	width: 100%;
	border-radius: 0;
	margin: 0;
	padding: 0;
	border: 2px solid transparent;

	opacity: 1;
	z-index: auto;
}

tr.pa_lock-type .wcvs-swatch-image.selected {
	border-color: #C49A6C;
}

tr.pa_lock-type .wcvs-swatch-image.selected::after {
	content: '';
	position: absolute;
	top: 10px;
	right: 10px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256' xml:space='preserve'%3E%3Cg style='stroke:none;stroke-width:0;stroke-dasharray:none;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;fill:none;fill-rule:nonzero;opacity:1'%3E%3Cpath d='M89.328 2.625C87.627-.234 83.6-.526 81.504 2.057L46.532 45.173a2.044 2.044 0 0 1-3.262-.115l-8.382-11.97c-2.852-4.073-8.789-4.335-11.989-.531a7.567 7.567 0 0 0-.408 9.211L39.648 66.27c2.088 2.982 6.507 2.977 8.588-.011l4.925-7.07L89.135 7.813a4.784 4.784 0 0 0 .193-5.188z' style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;fill:%23c49a6c;fill-rule:nonzero;opacity:1' transform='matrix(2.81 0 0 2.81 1.407 1.407)'/%3E%3Cpath d='M45 90C20.187 90 0 69.813 0 45S20.187 0 45 0c6.072 0 11.967 1.19 17.518 3.538a4 4 0 0 1-3.117 7.368A36.773 36.773 0 0 0 45 8C24.598 8 8 24.598 8 45s16.598 37 37 37 37-16.598 37-37c0-3.248-.42-6.469-1.249-9.573a4 4 0 0 1 7.728-2.064A45.103 45.103 0 0 1 90 45c0 24.813-20.187 45-45 45z' style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;fill:%23c49a6c;fill-rule:nonzero;opacity:1' transform='matrix(2.81 0 0 2.81 1.407 1.407)'/%3E%3C/g%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: cover;
}

tr.pa_lock-type .wcvs-swatch-image .wcvs-color-tooltip {
	visibility: visible;
	opacity: 1;
	bottom: 10px;
	width: auto;
	min-width: 120px;
	transform: translateX(-50%);
	margin: 0;
	padding: 1px 5px;
	font-weight: 400;
	font-size: 10px;
	line-height: 1.2;
	color: #241F21;
	border: 1px solid #241F21;
	border-radius: 10px;
}

tr.pa_lock-type .wcvs-swatch-image.selected .wcvs-color-tooltip {
	background-color: #241F21;
	color: #fff;
}

tr.pa_lock-type .wcvs-swatch-image .wcvs-color-tooltip::after {
	content: none;
}

tr.pa_lock-type .variation_check {
	width: 100%;
	height: 200px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}

/* LOCKTYPE OVERLAY */

.pa_lock-type .desc-wrap > .desc {
	position: fixed;
	top: 0;
	left: 0;
	display: none;
	flex-direction: row-reverse;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	transition: .3s;
	z-index: 10000;
}

.pa_lock-type .desc-wrap > .desc.active {
	display: flex;
}

.locktype-popup {
	width: 760px;
	padding: 56px 50px;
	background-color: #fff;
	transform: translateX(100%);
	transition-property: transform;
	transition-delay: 3s;
	transition-duration: .3s;
	overflow-y: auto;
}

.locktype-popup img {
	margin-left: 0 !important;
}

.locktype-popup.active {
	transform: translateX(0%);
}

.locktype-popup .head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 18px;
	padding-bottom: 18px;
	border-bottom: 1px solid #C49A6C;
}

.locktype-popup .title,
.set__popup .title {
	font-weight: 300;
	font-size: 24px;
	line-height: 1.2;
	text-transform: uppercase;
	color: #241F21;
}

.locktype-popup .body > * {
	margin-bottom: 24px;
}

.locktype-popup .body > :last-child {
	margin-bottom: 0;
}

.locktype-popup .body .description p {
	font-weight: 300;
}


.locktype-popup .used__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(50px, 80px));
	justify-content: space-between;
	gap: 20px;
}

.used__img__wrap {
	max-width: 60px;
	margin: 0 auto;
}

.locktype-popup .used__img__wrap img {
	width: 100%;
	height: auto;
}

.locktype-popup .used__items h3 {
	text-align: center;
	font-weight: 400;
}

.locktype-popup .set {
	border: 2px solid #C49A6C;
}

.locktype-popup .set__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 20px;
	background-color: #C49A6C;
}

.locktype-popup .set__header .set__title {
	font-size: 20px;
	color: #fff;
}

.locktype-popup .set__header .set__info {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	width: 23px;
	height: 23px;
	font-size: 10px;
	line-height: 1.2;
	background-color: #fff;
	border: 1px solid #6C6C6C;
	border-radius: 50%;
}

.locktype-popup .set__body {
	padding: 20px;
}

.set__body__img__wrap {
	max-width: 350px;
	margin: 0 auto;
}

.locktype-popup .set__footer {
	padding: 20px;
}

.locktype-popup .set__footer__text__wrap {
	margin-bottom: 18px;
}

.locktype-popup .set__footer__text__wrap p {
	padding-bottom: 8px;
	font-weight: 400;
	text-align: left;
	text-transform: uppercase;
}

.locktype-popup .set__footer__text__wrap p span {
	font-weight: 600;
	color: #C49A6C;
}

.locktype-popup .set__footer__text__wrap p:last-child {
	padding-bottom: 0;
}

.locktype-popup .set__footer__list {
	text-align: left;
}

.locktype-popup .set__footer__list li {
	position: relative;
	padding-left: 11px;
	text-transform: uppercase;
}

.locktype-popup .set__footer__list li::before {
	content: "";
	position: absolute;
	top: 8px;
	left: 0;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	font-weight: bold;
	background-color: #C49A6C;
}

.set__popup__overlay {
	position: fixed;
	left: 0;
	top: 0;
	display: flex;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.75);
	overflow-y: auto;
	opacity: 0;
	z-index: -1;
	/*opacity: 1;*/
	/*z-index: 10000;*/
}

.set__popup__overlay.active {
	opacity: 1;
	z-index: 10000;
}

.set__popup {
	position: relative;
	width: 100%;
	max-width: 1040px;
	margin: auto;
	padding: 40px;
	background-color: #fff;
}

.set__popup__title {
	margin-bottom: 18px;
}

.set__popup__desc {
	margin-bottom: 40px;
}

.set__popup__img__wrap {
	max-width: 600px;
	margin: 0 auto;
}

.set__popup__img__wrap img {
	margin-left: 0 !important;
}

.set__popup__body {
	position: relative;
}

.set__popup__close {
	position: absolute;
	right: 40px;
	top: 40px;
}


/* Overlay */

.overlay-confirm {
    opacity: 0;
    z-index: -1;
    background: rgba(0, 0, 0, 0.6);
    transition: .3s;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.overlay-confirm.active {
    opacity: 1;
    z-index: 99999;
}

.overlay-confirm .confirmation-wrap {
    background: #fff;
    padding: 40px;
    min-height: 300px;
    width: 600px;
    display: flex;
}

.overlay-confirm .confirmation-wrap .step {
    display: none;
}

.overlay-confirm .confirmation-wrap .step.active {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
}

.overlay-confirm .confirmation-wrap .step .title {
    font-weight: 500;
    font-size: 24px;
    line-height: 30px;
    letter-spacing: 0.09em;
    color: #6C6C6C;
    padding-bottom: 8px;
    margin-bottom: 8px;
    border-bottom: 1px solid #C49A6C;
}

.overlay-confirm .confirmation-wrap .step .text {
    font-size: 14px;
    line-height: 17px;
    color: #6C6C6C;
}

.overlay-confirm .confirmation-wrap .step .buttons {
    display: flex;
    column-gap: 30px;
    padding-top: 32px;;
}

.overlay-confirm .confirmation-wrap .step .buttons>* {
    cursor: pointer;
    width: 100%;
    transition: .2s;
    background: #C49A6C;
    border-radius: 2px;
    font-weight: bold;
    font-size: 14px;
    line-height: 18px;
    color: #FFFFFF;
    text-transform: uppercase;
    padding: 20px 30px;
    text-align: center;
    border: 2px solid #C49A6C;
}

.overlay-confirm .confirmation-wrap .step .buttons>*:hover {
    background: transparent;
    color: #C49A6C;
}

.summary>.price-wrap  {
    margin-bottom: 10px;
}

.summary>.price-wrap .price {
    font-size: 1.4em !important;
    color: #C49A6C !important;
    font-weight: bold;
}

.image-wrap .additional_info {
    margin: 0;
}

.summary .additional_info {
    /*display: none;*/
}

@media(max-width: 1024px) {
    .image-wrap .additional_info {
        display: none;
    }

    .summary .additional_info {
        display: block;
    }

    .epofw_fields_table {
        padding: 50px 50px 50px;
    }


    div.product form.cart table.epofw_fields_table td.epofw_td_value {
        flex-wrap: wrap;
		justify-content: center;
        row-gap: 10px;
    }

    div.product form.cart table.epofw_fields_table td.epofw_td_value label {
        flex-basis: auto;
    }

	.epofw__title__body .close__wrap .close {
		margin-right: 20px;
	}
}

@media(max-width: 991px) {
    .epofw_fields_table {
        border-collapse: collapse;
    }

    .epofw_fields_table tbody.epofw_middle_tg {
        display: inline-block;
		width: 100%;
        height: 100vh;
    }
}

@media(max-width: 991px) {
	.locktype-popup {
		padding: 56px 20px;
	}

	.set__popup__close {
		top: 15px;
		right: 15px;
	}

	.locktype-popup .title,
	.set__popup .title {
		font-size: 18px;
	}

	.locktype-popup .set__header .set__title {
		font-size: 16px;
	}

	.used__img__wrap {
		max-width: 40px;
	}
}
