/* Homepage layout */
.kf-home-content {
	margin-top:20px;
	margin-bottom:80px; /*20px;*/
}
.kf-home-banner img.desktop {
	aspect-ratio:calc(1460/500);
	max-height:500px;
	display:none;
}
.kf-home-banner img.mobile {
	aspect-ratio:1.0;
}
@media (min-width: 769px) {
	.kf-home-banner img.desktop {
		display:block;
	}
	.kf-home-banner img.mobile {
		display:none;
	}
}


/* Customise map on contact page */
.contact-index-index .contacts-layout-split .contacts-first-block {
	display:flex;
	background-color:transparent;
}
.contact-index-index .contacts-layout-split .contacts-form-block {
	padding-left:0;
	padding-right:0;
}
@media (max-width: 767px) {
	.contact-index-index .contacts-layout-split .contacts-first-block {
		min-height:350px;
	}
}
@media (min-width: 768px) {
	.contact-index-index .contacts-layout-split .contacts-form-block {
		padding:0;
	}
}
@media (min-width: 768px) and (max-width: 1200px) {
	.contact-index-index .contacts-layout-split .contacts-form-block {
		padding-left:15px;
	}
}
.contact-map-wrapper {
	width:100%;
	height:100%;
}
.contact-map-wrapper > iframe {
	width:100%;
	height:100%;
	border:none;
}

/* Customise form on contact page */
.contact-details-area {
	margin-bottom:10px!important;
	line-height:22px;
}
@media (max-width: 767px) {
	.contact-details-area {
		margin-bottom:15px!important;
	}
}
.contact-details-area .contact-icon-detail-pair {
	display:flex;
	flex-flow:row nowrap;
	align-items:stretch;
}
.contact-details-area .contact-icon-detail-pair .icon-wrapper {
	flex:0 1 32px;
	display:flex;
	flex-flow:column nowrap;
	align-items:center;
	justify-content:center;
	color:#888;
}
.contact-details-area .contact-icon-detail-pair .icon-wrapper.align-top {
	justify-content:start;
	padding-top:2px;
}
.contact-details-area .contact-icon-detail-pair .content-wrapper {
	flex:1 1 auto;
}


/* Footer layout */
.kf-footer {
	display:flex;
	flex-flow:column nowrap; /* horizontal layout */
	align-items:stretch; /* stretch children to fill height of row */
}
.kf-footer-left {
	width:100%; /* 100% width on mobile */
	
	display:flex;
	flex-flow:column nowrap;
	align-items:center;
	
	margin-bottom:15px;
}
.kf-footer-right {
	width:100%; /* 100% width on mobile */
	
	display:flex;
	flex-flow:column nowrap;
	align-items:stretch;
}
.kf-footer-right-upper {
	display:flex;
	flex-flow:row wrap;
}
.kf-footer-right-lower {
	display:flex;
	flex-flow:row wrap;
	align-items:stretch;
}
.kf-footer-right-col {
	flex:0 0 100%; /* 100% width on mobile */
	margin-top:30px;
	
	display:flex;
	flex-flow:column nowrap;
}
.footer.content .kf-footer-right-col ul {
	margin-bottom:0;
}
@media (min-width: 769px) {
	.kf-footer {
		display:flex;
		flex-flow:row nowrap; /* vertical layout */
		align-items:stretch; /* stretch children to fill width of column */
	}
	.kf-footer-left {
		width:25%; /* 25% width on mobile */
		margin-bottom:0;
	}
	.kf-footer-right {
		width:75%; /* 75% width on mobile */
	}
	.kf-footer-right-lower {
		margin-top:30px;
	}
	.kf-footer-right-col {
		flex:0 0 33.33%; /*3 columns on desktop */
		margin-top:0;
	}
}


/* Footer logo, swap between mobile and desktop */
.kf-footer-desktop-logo {
	display:none;
}
@media (min-width: 769px) {
	.kf-footer-desktop-logo {
		display:block;
		/*margin-top:-7px;*/
	}
}
.kf-footer-mobile-logo {
	display:block;
}
@media (min-width: 769px) {
	.kf-footer-mobile-logo {
		display:none;
	}
}


/* Appearance of blocks above footer */
.footer-blocks-banner {
	/*min-height:134px;*/
	flex-flow:row nowrap;
	align-items:stretch;
	justify-content:stretch;
}
.footer-blocks-banner .block-banner-item {
	flex:0 0 25%;
	position:relative;
	padding:25px clamp(2px,1vw,50px);
	display:flex;
	flex-flow:column nowrap;
	align-items:center;
	justify-content:start;
}
.footer-blocks-banner .block-banner-item::after {
	position:absolute;
	content:'';
	display:blook;
	left:0;
	top:0;
	width:1px;
	height:100%;
	background:rgba(121,121,121,0.18);
}
.footer-blocks-banner .block-banner-item:first-child::after {
	content:none;
}
.footer-blocks-banner .block-banner-item .icon-wrapper {
	aspect-ratio:1.0;
	width:100%;
	max-height:50px;
	display:flex;
	flex-flow:column nowrap;
	align-items:center;
	justify-content:center;
}
.footer-blocks-banner .block-banner-item .content-wrapper {
	text-align:center;
}
@media (max-width:479px) {
	.footer-blocks-banner .block-banner-item .content-wrapper {
		font-size:clamp(0.8rem,3.5vw,1.4rem);
	}
	.footer-blocks-banner .block-banner-item .content-wrapper > h6 {
		font-size:inherit;
	}
}


/* Fix owl carousel prodouct slider - alignment of add to cart, background of images, carousel navigation */
.kf-home-product-slider-force-nav .owl-stage-outer {
	display:flex;
	flex-flow:row nowrap;
}
.kf-home-product-slider-force-nav .owl-stage-outer .owl-stage {
	display:flex;
	flex-flow:row nowrap;
	align-items:stretch;
}
.kf-home-product-slider-force-nav .owl-stage .product-item {
	height:100%;
}
.kf-home-product-slider-force-nav .owl-stage .product-item .product-item-info {
	display:flex;
	flex-flow:column nowrap;
	height:100%;
}
.kf-home-product-slider-force-nav .owl-stage .product-item .product-item-info .product-grid__image-wrapper {
	background:none;
}
.kf-home-product-slider-force-nav .owl-stage .product-item .product-item-info .product-item-details {
	flex:1;
	display:flex;
	flex-flow:column wrap;
}
.kf-home-product-slider-force-nav .owl-stage .product-item .product-item-info .product-item-details .product-item-actions {
	padding-top:5px;
	margin-top:auto;
}
.kf-home-product-slider-force-nav .owl-carousel.widget-product-grid .owl-nav,
.kf-home-product-slider-force-nav .owl-carousel.widget-product-grid:hover .owl-nav {
	visibility: visible!important;
	opacity: 1!important;
	display:block!important;
}
.kf-home-product-slider-force-nav .owl-carousel.widget-product-grid .owl-nav button.owl-prev {
	left:0!important;
	transform: translateX(0) translateY(calc(-50% - 28px)) !important;
}
.kf-home-product-slider-force-nav .owl-carousel.widget-product-grid .owl-nav button.owl-next {
	right:0!important;
	transform: translateX(0) translateY(calc(-50% - 28px)) !important;
}


/* Fix customer photos slider thumbs */
.customer-photos {
	height:304px;
	margin-bottom:82px; /*2px;*/
}
.customer-photos .fotorama__thumb__arr {
	position:absolute;
	top: calc(50% - 15px);
	z-index:1;
}
.customer-photos .fotorama__thumb__arr.fotorama__thumb__arr--left {
	left:0;
}
.customer-photos .fotorama__thumb__arr.fotorama__thumb__arr--right {
	right:0;
}
.customer-photos .fotorama__thumb-border {
	border-bottom:none;
}
.customer-photos .fotorama__thumb--icon {
	width:40px;
	height:56px;
}
.customer-photos .fotorama__thumb--icon::after, .fotorama__thumb--icon::before {
	left: 20px;
	top: 20px;
}
.customer-photos .fotorama__thumb--icon::after {
	top: 25px;
}

/* Fix customer photos title */
.customer-photos-title {
	margin-bottom:0!important;
}
.customer-photos-title .block-title {
	margin-bottom:30px!important;
}

/*Fix alignment of columns in Specifications tab */
.product.info.detailed .additional-attributes .col.label {
	width:fit-content;
	white-space:nowrap;
	display:table-cell!important;
	padding:8px 15px 8px 0!important;
}
.product.info.detailed .additional-attributes .col.data {
	width:auto;
	max-width:100%;
	display:table-cell!important;
	padding:8px 15px!important;
}
.product.info.detailed .additional-attributes tr {
	display: table-row!important;
}
@media (max-width: 639px) {
	.product.info.detailed .additional-attributes tr td[data-th]::before {
		content: none !important;
	}
}


/* Fix background of product image on product pages */
.product.media .fotorama__stage {
	background:none!important;
}


/* Fix padding of very bottom footer */
.copyright-footer {
	padding:10px 0;
}
@media (max-width: 768px) {
	.copyright-footer .row {
		flex-flow:row nowrap;
		align-items:center;
	}
}


/* Fix spacing on checkout */
.payment-method-content .actions-toolbar {
	margin-top:30px;
}

/* Fix appearance of eway fields */
.payment-method-content .securefields-title {
	font-weight:800!important;
	text-transform:uppercase!important;
	font-size:13px!important;
	margin-bottom:5px!important;
}
.payment-method-content .securefields-wrapper {
	/*height:2.71em;*/
	height:38px!important;
}


/* Fix background of login / register pages */
.customer-account-create .page-main, .customer-account-forgotpassword .page-main, .customer-account-login .page-main {
	background:transparent!important;
}
