/*
//____________________________________________________________________
//
// prise_css_template.css - PRISE Template CSS
// Copyright (c) 2007-2025 by Manfred Baumeister, Dublin, Ireland
//____________________________________________________________________
//
// Automatically included in PRISE pages if available at
//
//	[templatedir/]prise_css_template.css
//
//____________________________________________________________________
*/

/*____________________________________________________________________*/
/* Bootstrap customization */

@import url("prise_css_template_bs5.css");
@import url("prise_css_template_bs5_btn.css");

/*____________________________________________________________________*/
/* PRISE template CSS configuration */

:root {
	/* Colors */
	--prise-box-border-color:#2080a0;
/*	--prise-box-border-color:#3399cc;	*/
	--prise-spacing:1.5rem;
	/* Font families */
	--prise-fontfamily:Arial,Helvetica,Verdana,sans,sans-serif;
	--prise-fontfamily-monospace:Courier New,Courier,Monospace;
	/* Font sizes */
	--prise-fontsize-frontend:12px;
	--prise-fontsize-backend:12px;
	--prise-fontsize:1rem;
	--prise-fontsize-md:var(--prise-fontsize);
	--prise-fontsize-lg:1.5rem;
	--prise-fontsize-sm:0.75rem;
	/* Box layout */
	--prise-aside-width:320px;
	--prise-box-width:320px;
	/* Product listings */
	--prise-product-img-width:120px;
	}

/*____________________________________________________________________*/
/* Margin, padding, spacing */

*:first-child {
	margin-top:0;
	}

h1,h2,h3,h4,h5,h6,p {
	margin:1rem 0;
	}

/*____________________________________________________________________*/
/* Typography */

html {
	font-size:var(--prise-fontsize-frontend);
	}
html.prise_backend {
	font-size:var(--prise-fontsize-backend);
	}
body {
	font-family:var(--prise-fontfamily);
	line-height:normal;		/* Override Bootstrap style to force height alignment of input.form-control and btn in btn-group's */
	}
html.prise_backend body {
	line-height:var(--prise-lineheight-backend);
	}
code,tt,pre {
	font-family:var(--prise-fontfamily-monospace);
	}

body,
p,
h6,
h5 { font-size:var(--prise-fontsize); }
h4 { font-size:1.15rem; }
h3 { font-size:1.30rem; }
h2 { font-size:1.45rem; }
h1 { font-size:1.60rem; }

h1,h2,h3,h4,h5,h6 {
	font-weight:700;
	}

.xs,
.xsc,
.xsb,
.xsbc,
.xsi { font-size:0.90rem; }
.xxs { font-size:0.80rem; }
.xxxs { font-size:0.75rem; }

/*____________________________________________________________________*/
/* Bootstrap dropdown style tweaks */

div.dropdown div.box_rc {
	border-radius:0.25rem;
	width:320px;
	}
div.dropdown div.box_rc_head {
	border-radius:0.25rem 0.25rem 0 0;
	width:320px;
	}
div.dropdown div.box_rc_body {
	border-radius:0 0 0.25rem 0.25rem;
	width:320px;
	}
div.dropdown div.box_rc,
div.dropdown div.box_rc_body {
	margin-bottom:0px !important;
	}

/*____________________________________________________________________*/
/* Form control styles */

.prise_datatable input.radio,
.prise_datatable input.checkbox,	
.prise_infobox_content input.radio,
.prise_infobox_content input.checkbox,
.checkbox-inline,
.radio-inline {
	display:inline-block;	/* Override Bootstrap "display:block;" setting */
	vertical-align:middle;
	padding:0;
	margin:0;
	}

/*____________________________________________________________________*/
/* PRISE page wrapper */

.p_wrapper {
	display:flex;
	flex-flow:row wrap;
	gap:var(--prise-spacing); 
	}

/* All items within wrapper 100% width via flex-base */
.p_wrapper > * {
	flex:1 100%;
	}
	
/* Rely on HTML source order for mobile-first positioning
   1. p_header
   2. p_main article
   3. p_aside-1
   4. p_aside-2
   5. p_footer
*/

/* Medium size screens */
@media all and (min-width:768px) {
	/* Both sidebars share a row */
/*
	.p_aside {
		flex:1 auto;
		}
*/
	}
	
/* Medium size screens */
@media all and (max-width:991px) {
	.p_aside-2	{ order:1; }
	.p_main		{ order:2; }
	.p_aside-1	{ order:3; }
	.p_footer	{ order:4; }
	.p_aside > * {
		flex:1 100%;
		}
/*
	.p_aside aside	{
		display:flex;
		flex-flow:row wrap;
		}
*/
/*
	.p_aside-1 > div,
	.p_aside-2 > div {
		max-width:240px;
		border:dotted red 2px;
		}
*/
	}

/*
	.p_aside > aside {
		flex:initial 0px;
		display:flex;
		flex-flow:row;
		flex-wrap:wrap;
		}
*/

/* Large screens */
@media all and (min-width:991px) {
	/* Invert order of first sidebar and main */
	/* Main element to take twice as much width as other two sidebars */
	.p_main		{
		flex:2 0px;
		}
	.p_aside-1	{ order:1; }
	.p_main		{ order:2; }
	.p_aside-2	{ order:3; }
	.p_footer	{ order:4; }
	.p_aside-1,
	.p_aside-2 {
		max-width:230px;
/*		border:dotted red 2px;	*/
		}
	}
	
/*____________________________________________________________________*/
/* Product info/listing/boxes styles */

/* Product add to cart form controls */
.priseshop input.addtocart-quantity {
	min-width:3em;
	max-width:6em;
/*	width:100%;	*/
	width:calc(100vw - (100vw - 100%));		/* Set width to viewport width minus scrollbar width; element must be direct descendent of body */
	}

.priseshop div.product_box div.product_addtocart form.form-inline div.input-group {
/*	display:flex;	*/
	justify-content:center;
	}
	
div.bme_tabpage {
	padding:var(--prise-spacing);
	}
.bme_tabpage p:first-child {
	margin-bottom:1em;
	}
div.bme_tabpage > *:first-child {
	margin-top:0;
	}

/*__________________________________________________________________*/
/* PRISE product thumbwraps, thumbs, boxes */

div.product_carousel {
	position:relative;
	width:100%;
/*	max-width:1280px;	*/
	box-sizing:border-box;
	}

div.product_grid_flex {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	gap:var(--prise-spacing);
	justify-content:flex-start;
	}

div.product_list_hd button.icon_list,
div.product_grid_hd button.icon_grid {
	color:var(--bs-btn-disabled-color);
	pointer-events:none;
	background-color:var(--bs-btn-disabled-bg);
	border-color:var(--bs-btn-disabled-border-color);
	opacity:var(--bs-btn-disabled-opacity);
	background-image:none;
	}
	
div.product_list,
div.product_grid {
	/* Bootstrap 5 styling */
	margin-top: 0.5rem; !important;
	margin-bottom: 0.5rem; !important;
	padding-top: 1.5rem; !important;
	padding-bottom: 1.5rem; !important;
	border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color); !important;
	border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color); !important;	
	display:grid;
	grid-gap:var(--prise-spacing);
	}
div.product_list {
	grid-template-columns:repeat(auto-fill,minmax(100%,1fr));
	}
div.product_grid {
	grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
	}
	
div.product_carousel div.product_grid {
	flex-wrap:nowrap;
	overflow:hidden;
/*	max-width:100%;	*/
/*	width:100%;		*/
	flex:0 0 auto;
	}

.priseshop .bme_tabpages div.product_box,
div.prise_product_thumbs div.prise_product_thumb,
div.prise_product_thumbs div.product_box {
/*	min-width:220px;	*/
/*	max-width:220px;	*/
	}
	
div.product_box {
	position:relative;
	display:flex;
	flex-direction:column;
	flex-wrap:wrap;
	align-content:center;
	justify-content:space-between;
	align-items:stretch;
	background:white;
	background-clip:border-box;
	border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
	border-radius:var(--bs-border-radius);
	box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);
	padding:var(--prise-spacing);
	gap:var(--prise-spacing);
	min-width:0;
	word-wrap:break-word;
	}

div.product_grid_flex div.product_box {
	flex:2 1 220px;
	}

div.prise_product_thumbs div.prise_product_thumb,
div.prise_product_thumbs div.product_box,
.product_carousel div.product_box {
	justify-content:space-between;
	align-items:flex-start;
	}

div.product_carousel div.product_grid div.product_box {
	flex:0 0 220px;
	}

div.product_box .product_img,
div.product_box .product_name,
div.product_box .product_price {
	margin:0 auto;
	}

div.product_list div.product_box .product_img {
	margin-left:auto;
	margin-right:auto;
	}
div.product_list div.product_box .product_img,
div.product_grid div.product_box .product_img {
	width:var(--prise-product-img-width);
	max-width:var(--prise-product-img-width);
	text-align:center;
	}
div.product_grid div.product_box .product_img a,
div.product_list div.product_box .product_img a {
	aspect-ratio:1/1;
	display:flex;
	align-items:center;
	text-align:center;
	margin:auto;
	padding:0.5rem;
	}
div.product_list div.product_box .product_img a img,
div.product_grid div.product_box .product_img a img {
	margin:auto;
	max-width:100%;
	height:auto;
	}
div.product_list div.product_box .product_img a.more_info div,
div.product_grid div.product_box .product_img a.more_info div {
	margin:auto;
	max-width:100%;
/*	height: auto;	*/
	}

div.product_list div.product_box .product_name,
div.product_grid div.product_box .product_name {
	flex-grow:2;
	line-height:1.5em;
	text-align:center;
	}
div.product_list div.product_box .product_name {
	width:100%;
	max-width:100%;
	}
div.product_grid div.product_box .product_name a:first-child,
div.product_list div.product_box .product_name a:first-child {
	font-weight:bold;
	font-size:1.1rem;
	}
div.product_list div.product_box .product_description_short,
div.product_grid div.product_box .product_description_short {
	line-height:1.3em;
	text-align:center;
	margin-top:0.8rem;
	}
div.product_grid div.product_box .product_description_short * {
	text-align:inherit;
	}
div.product_list div.product_box .product_pack,
div.product_grid div.product_box .product_pack {
	font-size:0.8rem;
	}

div.product_list div.product_box .product_price,
div.product_grid div.product_box .product_price {
	align-self:flex-end;
	text-align:right;
	display:flex;
	flex-direction:column;
	flex-wrap:wrap;
	justify-content:flex-end;
	align-content:flex-end;
	align-items:center;
	gap:0.5rem;
	}
div.product_list div.product_box .product_price .product_price_old,
div.product_grid div.product_box .product_price .product_price_old {
	font-size:1.0rem;
	font-weight:normal;bold;
	}
div.product_list div.product_box .product_price .product_price_short,
div.product_grid div.product_box .product_price .product_price_short,
div.product_list div.product_box .product_price .product_price_special,
div.product_grid div.product_box .product_price .product_price_special {
	font-size:1.6rem;
	font-weight:bold;
	}
div.product_list div.product_box .product_price .product_price_tax,
div.product_grid div.product_box .product_price .product_price_tax,
div.product_list div.product_box .product_price .product_price_vpe,
div.product_grid div.product_box .product_price .product_price_vpe {
	font-size:0.8rem;
	font-weight:normal;
	}

/* Non-small viewport product list product box styling */
@media (min-width: 768px) {
	div.product_list div.product_box {
		flex-direction:row;
		align-items:flex-start;
		}
	div.product_list div.product_box .product_img {
		flex:1 0 0%;
		}
	div.product_list div.product_box div.more_info {
		display:block;
		visibility:visible;
		}
	div.product_list div.product_box .product_name {
		flex:2 0 100%;
		align-self:stretch;
		max-width:calc(100% - 340px);
		text-align:left;
		}
	div.product_list div.product_box .product_description_short {
		text-align:left;
		}
	div.product_list div.product_box .product_price {
		flex:1 0 0%;
		display:flex;
		flex-direction:column;
		align-self:flex-start;
		justify-content:flex-start;
		align-content:flex-end;
		align-items:flex-end;
		}
	}

div.product_tabs {
	margin-top:var(--prise-spacing);
	}

/*__________________________________________________________________*/
/* Override PRISE standard styles / add template-specific styles */

.priseshop {
/*	max-width:1280px;			*/
/*	max-width:100%;				*/
/*	width:calc(100% - 2rem);	*/
/*	box-sizing:border-box;		*/
	padding:0;
	margin:0;
	border:0;
	}

div.prise_pageheader {
	font-size:1rem;				/*TODO: Adapt "font-size:10px;" in prise_css.css */
	}

.prise_frontend_headerbar {
	background:#31ceff; /* Old browsers */
	background:-moz-linear-gradient(left, #ffffff 0%, #31ceff 50%, #ffff00 100%);	/* FF3.6+ */
	background:-webkit-gradient(linear, left top, right top, color-stop(0%,#31ceff), color-stop(50%,#ffff00), color-stop(100%,#ffff00));	/* Chrome,Safari4+ */
	background:-webkit-linear-gradient(left, #ffffff 0%,#31ceff 50%,#ffff00 100%);	/* Chrome10+,Safari5.1+ */
	background:-o-linear-gradient(left, #ffffff 0%,#31ceff 50%,#ffff00 100%);		/* Opera 11.10+ */
	background:-ms-linear-gradient(left, #ffffff 0%,#31ceff 50%,#ffff00 100%);		/* IE10+ */
	background:linear-gradient(to right, #ffffff 0%,#31ceff 50%,#ffff00 100%);		/* W3C */
	filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#31ceff', endColorstr='#ffff00',GradientType=1); /* IE6-9 */
	}

.welcome_headerbar {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	margin:0;
	padding:0.75rem var(--prise-spacing);
	gap:var(--prise-spacing);
	background-color:white;
	border-bottom:solid #ccc 1px;
	}
.welcome_hdgreeting,
.welcome_hdcontact {
	}

.logo_headerbar {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	min-height:90px;
	/* */
	margin:0;
	padding:0.75rem var(--prise-spacing);
	gap:var(--prise-spacing);
	}
.logo_headerbar > div {
	margin:0;
	min-width:160px;
	text-align:center;
	max-width:250px;
	}
.logo_headerbar div.header_account_buttons {
	min-width:170px;
	}
@media (max-width:925px) {
	.logo_headerbar {
		justify-content:center;
		}
	.logo_headerbar > div.hdmenu {
		order:2;
		}	
	.logo_headerbar > div.hdbanner {
		order:3;
		}	
	}

p.prise_main {
	font-size:1.1rem;
	margin:1rem 0;
	}

/* Change #main-menu alignment from right to left to line up adjacently to the right of the p.nav-brand home page button */
@media (min-width:960px) {
	nav.main-nav p.nav-brand {
/*		float:left;		*/
		}
	#main-menu {
/*	    float:right;	*/
		float:left;
		}
	}
	
/* Search bar with favourites and shopping cart dropdowns */
	
.prise_searchbar {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	align-items:stretch;
	justify-content:space-between;
	padding:var(--prise-spacing);
	gap:var(--prise-spacing);
	}
.prise_searchbar .prise_searchbar_favourites,
.prise_searchbar .prise_searchbar_shoppingcart {
	flex:0 1 calc(50% -0.75rem);
	}
.prise_searchbar .prise_searchbar_search {
	flex:0 1 100%;
	}
@media (min-width:992px) {
	.prise_searchbar .prise_searchbar_favourites {
		order:1;
		flex:0 1 320px;
		}
	.prise_searchbar .prise_searchbar_shoppingcart {
		order:3;
		flex:0 1 320px;
		}
	.prise_searchbar .prise_searchbar_search {
		order:2;
		flex:1 1 auto;
		}
	}
	
/* Breadcrumb menu */

nav.prise_breadcrumb {
	margin:var(--prise-spacing);
	margin-top:0;
	}
nav.prise_breadcrumb div.prise_breadcrumbmenu {
	margin:0;
	}	

/* Footer */

footer div.aos_footerboxes {
	border-top:solid #cccccc 1px;
	border-bottom:solid #cccccc 1px;
	background:#f0f0f0;
	padding:var(--prise-spacing);
	
	display:flex;
	flex-direction:column;
	flex-wrap:wrap;
	justify-content:center;
	align-items:stretch;
	gap:var(--prise-spacing);
	}
	
.footer_banner_groups {
	margin:0;
	display:flex;
	justify-content:center;
	align-items:stretch;
	flex-wrap:wrap;
	gap:var(--prise-spacing);
	}
.footer_banner_groups > div {
	border:solid #999999 1px;
	margin:0;
	padding:0;

	min-width:140px;
	max-width:160px;
	width:auto;
background-color:white;
	}

footer div.aos_footer_copyright {
	background:#ffffff;
	text-align:center;
	padding:0.75rem var(--prise-spacing);
	}
	
.prise_productinfo_ul {
	margin-top:1rem;
	}
	
table.prise_shoppingcart,
table.prise_shoppingcart th,
table.prise_shoppingcart td {
	border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);	/* Bootstrap 5 .border style */
	}
	
div.login_openaccount {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	align-items:stretch;
	justify-content:flex-start;
	justify-content:space-between;
	justify-items:stretch;
	margin:var(--prise-spacing);
	gap:var(--prise-spacing);
/*	border:solid purple 1px;		*/
	}
div.login_openaccount > div {
	min-width:320px;
	flex:2 2 25%;
/*	flex:1 1 33%;	*/
	}

/*__________________________________________________________________*/
/* Boxes */

.box_rc_head,
div.box_rc_head,
.prise_rectbox_head {
	background-color:var(--prise-box-border-color);
	}
main section > .box_rc_head,
article > .box_rc_head {
	font-size:1.1rem;
	line-height:1.5;
	}
.box_rc,
.box_rc_head,
.box_rc_body,
div.box_rc,
div.box_rc_head,
div.box_rc_body,
.prise_rectbox,
.prise_rectbox_head,
.prise_rectbox_body {
	border-color:var(--prise-box-border-color);
	}
.box_rc_head {
	padding:0.75rem var(--prise-spacing) !important;
	}
.box_rc,
.box_rc_body {
	padding:var(--prise-spacing) !important;
	}

aside {
	display:flex;
	flex-direction:column;
	gap:var(--prise-spacing);
	justify-content:flex-start;
	align-items:stretch;
	}
aside > .box_rc_head {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	gap:var(--prise-spacing);
	justify-content:space-between;
	align-items:center;
	}
aside .box_rc_head .prise_block_left,
aside .box_rc_head .prise_block_right {
	display:block;
	font-size:1.1rem;
	line-height:1.5;
	}

/* [20200106|MB] Set margin-top:0 for first child elements of .box_rc containers (to prevent gap at top of box_rc caused by Bootstrap CSS for h1, etc.) */
.box_rc > *:first-child { margin-top:0; }

/*__________________________________________________________________*/
/* Navigation */

div.prise_breadcrumbmenu {
	margin-left:0;
	font-weight:bold;
	font-size:1.2rem;
	text-align:left;
	}

.bmemenu_h001 .sub li,
.bmemenu_h001 .sub li a.btn,
.bmemenu_h001 .sub li a.btn-sm,
.bmemenu_h001 .sub li a.btn-xs {
	line-height:normal;
	}
.sidemenu a {
	line-height:1.4em;
	}

/*_________________________________________________________________*/

span.product_price_special {
	font-size:1.5rem;
	}
product_price_discount,
span.product_price_discount {
	font-size:1.0em;
	}

/*_________________________________________________________________*/
/* Hide Bootstrap carousel indicators & shadow */	

.carousel-indicators li {
	visibility:hidden;
	}
.carousel-control.left,
.carousel-control.right {
	background-image:none !important;
	filter:none !important;
	}

/*__________________________________________________________________*/
/* PRISE admin info */
/*##[20220923|MB] ADDED */

.admininfo {
	background-color:#e8e8e8;
	}
.admininfo::before {
	content: "[ADMININFO] ";
	}

/*__________________________________________________________________*/
/* PRISE product slider */
/*##[20201109|MB] ADDED */

div.product_slide,
table.product_slide,
td.slide_center,
td.slide_center div.slide_wrapper,
td.slide_center div.slide_container,
div.slide_box {
/*	height:200px;	*/
	height:240px;
	}
div.slide_box {
	width:180px;
	}
div.slide_box div.product_image {
	height:115px;
/*	height:130px; */
	}

/*__________________________________________________________________*/
/* PRISE category thumbwraps, thumbs, boxes */
/*##[20210102|MB] ADDED */

div.prise_category_thumbs_flex {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	gap:var(--prise-spacing);
	justify-content:flex-start;
	gap:var(--prise-spacing);
	}
div.prise_category_thumbs {
	display:grid;
/*	width:100%;	*/
	grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
	grid-gap:var(--prise-spacing);
	}
/* Category sub-category thumbs */
div.prise_category_thumbs .prise_category_thumb {
	display:flex;
	flex-direction:column;
	gap:var(--prise-spacing);
/*	padding:var(--prise-spacing) !important;	*/
	padding:var(--prise-spacing);
	gap:0.5rem;
	padding:0.5rem;
	max-width:100%;
	width:auto;
	}

.prise_category_thumb * {
	line-height:1.15em;
	}

div.prise_category_thumbs .prise_category_thumb .img_container {
	width:100%;
	height:120px;
	display:flex;
	}
div.prise_category_thumbs .prise_category_thumb img {
	max-height:100%;	/* .img-fluid (Bootstrap 4) */
	display:block;
	max-width:100%;
	width:auto;
	height:auto;
	margin:auto;
	}
/* Product list sub-category thumbs */	
div.prise_product_listing div.prise_category_thumbs .prise_category_thumb {
	overflow:hidden;
	min-height:90px;
	min-width:110px;
/*	width:110px;	*/
	}
div.prise_product_listing div.prise_category_thumbs .prise_category_thumb .img_container {
	width:100%;
	height:90px;
	}

div.prise_category_boxes ul.bme_thumbwrap li {
	text-align:center;
	width:200px;
	margin:0.25rem;
	padding:0.75rem;
	}
div.prise_category_boxes ul.bme_thumbwrap li a.topcatimg img,
div.prise_category_boxes ul.bme_thumbwrap li img.topcatimg {
	height:auto;	120px;
	max-width:120px;
	margin:0.25rem auto;
	}
	
div.prise_category_boxes div.bme_tooltip {
	width:500px !important;
	}

/*__________________________________________________________________*/
/* PRISE product listings */
/*##[20210308|MB] ADDED */
/*##TODO## Remove from here once defined on PRISE system prise_css.css */

div.product-image {
	max-height:180px;
	}

div.product-image .img-fluid {
/*	max-width:160px;	*/
	max-height:min(100%,180px);
	}

div.product_images {
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
	grid-gap:var(--prise-spacing);
	}
div.product_images a.highslide,
div.product_images a.highslide > img {
	width:100%;
	margin:0;
	padding:0;
/*	border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;	*/	/* Bootstrap 5 .border */
	}

/*__________________________________________________________________*/
/* PRISE catalog box modifications */
/*##[20230515|MB] ADDED */

div.issuu {
	margin:0;
	margin-top:var(--prise-spacing);
	margin-bottom:var(--prise-spacing);
	}
div.issuu > ul {
	text-align:left
	}

/*____________________________________________________________________*/
/* CSS code end */
