/*
Theme Name: ms_novosan

WooCommerce styles override
*/

/**
 * Shop tables
 */

div.shop_table_responsive .cart_item > div {
	display: block;
	text-align: right;
	clear: both;
}

div.shop_table_responsive .cart_item > div::before {
	content: attr(data-title) ": ";
	float: left;
}

div.shop_table_responsive .cart_item > div.product-thumbnail::before,
div.shop_table_responsive .cart_item > div.product-remove::before,
div.shop_table_responsive .cart_item > div.actions::before,
div.shop_table_responsive .cart_item > div.download-actions::before {
	display: none;
}

div.shop_table_responsive .cart_item > div.download-actions .button {
	display: block;
	text-align: center;
}

@media screen and (min-width: 768px) {

	div.shop_table_responsive .cart_item > div {
		text-align: left;
	}

	div.shop_table_responsive .cart_item > div::before {
		display: none;
	}
}

/**
 * Products
 */
ul.products {
	margin: 0;
	padding: 0;
}

ul.products li.product {
	list-style: none;
	position: relative;
	margin-bottom: 2em;
}

ul.products li.product img {
	display: block;
}

ul.products li.product .button {
	display: block;
}

@media screen and (min-width: 48em) {

	ul.products li.product {
		width: 30.79667%;
		float: left;
		margin-right: 3.8%;
	}

	ul.products li.product.first {
		clear: both;
	}

	ul.products li.product.last {
		margin-right: 0;
	}

	ul.products.columns-1 li.product {
		float: none;
		width: 100%;
	}

	ul.products.columns-2 li.product {
		width: 48.1%;
	}

	ul.products.columns-3 li.product {
		width: 30.79667%;
	}

	ul.products.columns-4 li.product {
		width: 22.15%;
	}

	ul.products.columns-5 li.product {
		width: 16.96%;
	}

	ul.products.columns-6 li.product {
		width: 13.49333%;
	}
}

/**
 * Single product
 */
.single-product div.product {
	position: relative;
}

.single-product div.product .woocommerce-product-gallery {
	position: relative;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 2em;
	right: 1em;
	display: block;
	z-index: 99;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport {
	margin-bottom: 40px;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
	margin: 0;
	padding: 0;
	max-width: calc(100% - 18px);
}
@media(max-width:1199px) {
	.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
		max-width: 100%;
	}
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
	list-style: none;
	float: left;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
	opacity: 0.5;
	width: 86%;
	cursor: pointer;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
	opacity: 1;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img:hover {
	opacity: 1;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li {
	width: 48.1%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n+1) {
	clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li {
	width: 33%;
	margin-bottom: 6%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n+1) {
	clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n+2) {
	text-align: center;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n+3) {
	text-align: right;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li {
	width: 22.15%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n+1) {
	clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li {
	width: 16.96%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n+1) {
	clear: both;
}

.stock:empty::before {
	display: none;
}

.stock.in-stock {
	color: #0f834d;
}

.stock.out-of-stock {
	color: #e2401c;
}

.single-product .woocommerce-price-suffix { display: block; }

/**
 * Checkout
 */

.woocommerce .col2-set .col-1, .woocommerce-page .col2-set .col-1,.woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-2 {
	max-width: unset;
}

/**
 * General WooCommerce components
 */

 /**
  * Header cart
  */
  #user-cart .fal { font-size: 39px; }

 .site-header-cart {
 	position: relative;
 	margin: 0;
 	padding: 0;
 	content: "";
 	display: inline-block;
 	list-style: none;
 }

 .site-header-cart .cart-contents {
 	text-decoration: none;
 }

 .site-header-cart .widget_shopping_cart {
 	display: none;
 }

 .site-header-cart .product_list_widget {
 	margin: 0;
 	padding: 0;
 }

 .woocommerce-mini-cart__empty-message {
 	margin: -20px 0 0;
 }

 #shop-menu-wrap ul {
 	list-style: none;
 }
 #shop-menu-wrap ul li {
 	display: inline;
 }

 #site-header-cart .cart-contents {
	/* content: '\f07a'; */
	display: block;
	position: relative;
	/* width: 44px;
	height: 39px; */
 }

 #site-header-cart span.amount {
 	display: none;
 }
 #site-header-cart .widget_shopping_cart span.amount {
 	display: inline-block;
 }

 #site-header-cart a.cart-contents .count {
	text-indent: 1px;
	display: block;
	position: absolute;
	bottom: unset;
	top: -8px;
	right: -8px;
	width: 18px;
	height: 18px;
	line-height: 16px;
	color: #fff;
	background: #000;
	font-size: 12px;
	font-weight: 400;
	border-radius: 100%;
	text-align: center;
	overflow: hidden;
 }

 #site-header-cart > li { margin:0!important; }
 #site-header-cart ul li { display:block; float:none; margin:0; position:relative; padding:5px 85px 5px 50px; font-size: 14px; }
 #site-header-cart .widget_shopping_cart_content { display: block; box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2); border:1px solid #fff; background:#fff; padding:40px 20px 20px 20px; }

 #site-header-cart .mini_cart_item {font-weight: 400;}
 #site-header-cart .mini_cart_item img { width:40px; height:auto; position:absolute; top:5px; left: 0; }
 #site-header-cart .mini_cart_item .quantity.price-hidden { font-size: 12px; color: #7b7b7b; }
 #site-header-cart .mini_cart_item .quantity.price-hidden .woocommerce-Price-amount.amount {display:none;}
 #site-header-cart .mini_cart_item .woocommerce-Price-amount.amount { padding-top: 5px; position: absolute; top: 0; right: 0; font-weight: 600; }
 #site-header-cart small.tax_label, .woocommerce-cart small.tax_label {display:none;}
 #site-header-cart .mini_cart_item .quantity { display:block; }
 #site-header-cart .mini_cart_item .quantity:lang(fi):before { content: 'MÃ¤Ã¤rÃ¤: '; }
 #site-header-cart .mini_cart_item .quantity:lang(fi):after { content: 'kpl'; }
 #site-header-cart .mini_cart_item .remove_from_cart_button { position:absolute; top:5px; left:0px; display:none; }
 #site-header-cart .woocommerce-mini-cart__total .woocommerce-Price-amount.amount { position: absolute; right: 0; padding-right: 20px; }
 #site-header-cart .woocommerce-mini-cart__total { margin:15px 0 0 0; font-size: 14px; font-weight: bold;}
 #site-header-cart .woocommerce-mini-cart__total strong { font-weight: bold; }
 #site-header-cart .woocommerce-mini-cart__total .shipping-mini-cart:lang(fi):before { content: 'Toimitus: '; }
 #site-header-cart .woocommerce-mini-cart__buttons { margin:0; }
 #site-header-cart .woocommerce-mini-cart__buttons a { display:block; background:#cfd8ca; color:#3e574e; font-size:14px; font-weight:bold; text-transform: uppercase; padding:10px 20px; margin-top:15px; text-align: center; }

 #site-header-cart a.button.wc-forward { background-color: #57A047; margin-top: 15px; text-decoration:none; color: #fff; }
 #site-header-cart a.button.checkout.wc-forward { background-color: #335F2A; color: #fff; margin-top: 5px; text-decoration:none;}
 #site-header-cart a.button.wc-forward:hover, #site-header-cart a.button.checkout.wc-forward:hover {opacity:0.7;}

 #site-header-cart a.cart-contents { text-indent:0; }
 #site-header-cart a.cart-contents .amount { display:none; }

 .cart-empty .widget_shopping_cart {display:none!important;}

 @media screen and (min-width: 992px) {

 	.site-header-cart .widget_shopping_cart {
 		position: absolute;
 		top: 100%;
 		width: 100%;
 		z-index: 999999;
 		left: -999em;
 		display: block;
 		box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
 		width: 350px;
 	}

 	/* .site-header-cart:hover .widget_shopping_cart,
 	.site-header-cart.focus .widget_shopping_cart {
 		left: auto;
 		right: 0;
 		display: block;
 	} */
 }

/**
 * Star rating
 */
.star-rating {
	overflow: hidden;
	position: relative;
	height: 1.618em;
	line-height: 1.618;
	width: 5.3em;
	font-family: star;
	font-weight: 400;
}

.star-rating::before {
	content: "\53\53\53\53\53";
	opacity: 0.25;
	float: left;
	top: 0;
	left: 0;
	position: absolute;
}

.star-rating span {
	overflow: hidden;
	float: left;
	top: 0;
	left: 0;
	position: absolute;
	padding-top: 1.5em;
}

.star-rating span::before {
	content: "\53\53\53\53\53";
	top: 0;
	position: absolute;
	left: 0;
	color: #4169e1;
}

p.stars a {
	position: relative;
	height: 1em;
	width: 1em;
	text-indent: -999em;
	display: inline-block;
	text-decoration: none;
	margin-right: 1px;
	font-weight: 400;
}

p.stars a::before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1em;
	height: 1em;
	line-height: 1;
	font-family: star;
	content: "\53";
	color: #404040;
	text-indent: 0;
	opacity: 0.25;
}

p.stars a:hover ~ a::before {
	content: "\53";
	color: #404040;
	opacity: 0.25;
}

p.stars:hover a::before {
	content: "\53";
	color: #4169e1;
	opacity: 1;
}

p.stars.selected a.active::before {
	content: "\53";
	color: #4169e1;
	opacity: 1;
}

p.stars.selected a.active ~ a::before {
	content: "\53";
	color: #404040;
	opacity: 0.25;
}

p.stars.selected a:not(.active)::before {
	content: "\53";
	color: #4169e1;
	opacity: 1;
}

/**
 * Tabs
 */
.woocommerce-tabs ul.tabs {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: left;
}

.woocommerce-tabs ul.tabs li {
	display: block;
	margin: 0;
	position: relative;
}

.woocommerce-tabs ul.tabs li a {
	padding: 1em 0;
	display: block;
}

.woocommerce-tabs .panel h2:first-of-type {
	margin-bottom: 1em;
}

/**
 * Password strength meter
 */
.woocommerce-password-strength {
	text-align: right;
}

.woocommerce-password-strength.strong {
	color: #0f834d;
}

.woocommerce-password-strength.short {
	color: #e2401c;
}

.woocommerce-password-strength.bad {
	color: #e2401c;
}

.woocommerce-password-strength.good {
	color: #3d9cd2;
}

/**
 * Forms
 */
.form-row.woocommerce-validated input.input-text {
	box-shadow: inset 2px 0 0 #0f834d;
}

.form-row.woocommerce-invalid input.input-text {
	box-shadow: inset 2px 0 0 #e2401c;
}

.required {
	color: #f00;
}

/**
 * Notices
 */
 @media (min-width:576px) {
 	.woocommerce-notices-wrapper { max-width: 540px; }
 }
 @media (min-width:768px) {
 	.woocommerce-notices-wrapper { max-width: 720px; }
 }
 @media (min-width:992px) {
 	.woocommerce-notices-wrapper { max-width: 960px; }
 }
 @media (min-width:1200px) {
 	.woocommerce-notices-wrapper { max-width: 1040px; }
 }

.woocommerce-notices-wrapper {
  margin-right: auto;
  padding: 0 15px;
  margin-left: auto;
	color: #fff;
	margin-bottom: 15px;
	text-align: center;
}
.woocommerce-cart .woocommerce-notices-wrapper, .woocommerce-checkout .woocommerce-notices-wrapper { padding: 0; }
.woocommerce-notices-wrapper a { color: #fff; text-decoration: underline; display: block; }
.woocommerce-notices-wrapper a:hover { opacity: 0.8; }
.woocommerce-notices-wrapper ul { list-style: none; padding-left: 0; margin: 0; }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
	background-color: #f4f0ed;
	clear: both;
	padding: 20px 15px;
	color: #000;
}

.woocommerce-message a,
.woocommerce-error a,
.woocommerce-message a:visited,
.woocommerce-info a:visited,
.woocommerce-error a:visited,
.woocommerce-noreviews a:visited {
	color: #000;
}
.woocommerce-info a, .woocommerce-noreviews a { color: #000; }

.woocommerce-message a:hover,
.woocommerce-info a:hover,
.woocommerce-error a:hover,
.woocommerce-noreviews a:hover {
	opacity: 0.7;
}

.woocommerce-error {
	background-color: #e2401c;
	list-style: none;
	margin: 0;
	color: #fff;
}
.woocommerce-error a { color: #fff; }

/* @media screen and (min-width: 48em) { */

	/**
	 * Header cart
	 */
	/* .site-header-cart .widget_shopping_cart {
		position: absolute;
		top: 100%;
		width: 100%;
		z-index: 999999;
		left: -999em;
		display: block;
		box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	}

	.site-header-cart:hover .widget_shopping_cart,
	.site-header-cart.focus .widget_shopping_cart {
		left: 0;
		display: block;
	}
} */

/**
 * WooCommerce widgets
 */

/**
 * WooCommerce Price Filter
 */
.widget_price_filter .price_slider {
	margin-bottom: 1.5em;
}

.widget_price_filter .price_slider_amount {
	text-align: right;
	line-height: 2.4;
}

.widget_price_filter .price_slider_amount .button {
	float: left;
}

.widget_price_filter .ui-slider {
	position: relative;
	text-align: left;
}

.widget_price_filter .ui-slider .ui-slider-handle {
	position: absolute;
	z-index: 2;
	width: 1em;
	height: 1em;
	cursor: ew-resize;
	outline: none;
	background: #4169e1;
	box-sizing: border-box;
	margin-top: -0.25em;
	opacity: 1;
}

.widget_price_filter .ui-slider .ui-slider-handle:last-child {
	margin-left: -1em;
}

.widget_price_filter .ui-slider .ui-slider-handle:hover,
.widget_price_filter .ui-slider .ui-slider-handle.ui-state-active {
	box-shadow: 0 0 0 0.25em rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider .ui-slider-range {
	position: absolute;
	z-index: 1;
	display: block;
	border: 0;
	background: #4169e1;
}

.widget_price_filter .price_slider_wrapper .ui-widget-content {
	background: rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider-horizontal {
	height: 0.5em;
}

.widget_price_filter .ui-slider-horizontal .ui-slider-range {
	height: 100%;
}

/*** Cart & Checkout Bootstrap -tyylit ***/

.woocommerce-cart .woocommerce-shipping-totals.shipping { display: none; }

.title {
	text-transform: uppercase;
	font-weight: bold;
	color: #000;
}
	.title > small {
		font-weight: 400;
		text-transform: none;
	}
.form-title-row .title, .woocommerce-account .title { font-size: 14px; }

.separator::before {
	content: "";
    display: block;
    border-bottom: 1px solid #dedede;
}

.woocommerce-cart .form-row, .woocommerce-checkout .form-row, .woocommerce-account .form-row {
	margin-left: unset;
	margin-right: unset;
	display: block;
}

.woocommerce-checkout label > input {
	display: block;
}
	.woocommerce-checkout label > input[type="checkbox"] {
		display: inline-block;
	}

.woocommerce-form__label-for-checkbox, input[type="checkbox"] {
	cursor: pointer;
}

.woocommerce-checkout .woocommerce-button.button.woocommerce-form-login__submit {
	display: block;
}

.woocommerce-cart input[type="text"], .woocommerce-cart input[type="email"], .woocommerce-cart input[type="url"], .woocommerce-cart input[type="password"], .woocommerce-cart input[type="number"], .woocommerce-cart input[type="tel"], .woocommerce-cart textarea, .woocommerce-checkout input[type="text"], .woocommerce-checkout input[type="email"], .woocommerce-checkout input[type="url"], .woocommerce-checkout input[type="password"], .woocommerce-checkout input[type="number"], .woocommerce-checkout input[type="tel"], .woocommerce-checkout textarea, .woocommerce-account input[type="text"], .woocommerce-account input[type="email"], .woocommerce-account input[type="url"], .woocommerce-account input[type="password"], .woocommerce-account input[type="number"], .woocommerce-account input[type="tel"], .woocommerce-account textarea{
	width: 100%;
}
.woocommerce-cart input[name="coupon_code"], .woocommerce-checkout input[name="coupon_code"] {
	max-width: 250px;
	height: unset;
	padding-top: 12.5px;
	padding-bottom: 12.5px;
}
button[name="apply_coupon"] { height: 51px; }

.woocommerce-cart .cart_totals {
	max-width: 600px;
	margin: 0 auto;
}

ul#shipping_method {
	list-style: none;
	margin: 0;
	padding-left: 0;
}
#shipping_method > li, #order_review #payment > ul > li { display: block;  position:relative; padding-left:25px; text-align:left; }
#shipping_method > li input, #order_review #payment > ul > li > input { display:block; position:absolute; left:0; top:6px; width: auto; }
#shipping_method label { cursor:pointer; display:block; }
label[for="shipping_method_0_ms_delivery_checkout_3"] span.woocommerce-Price-amount.amount { float: none!important; position: absolute; top: 0; right: 0; }
#shipping_method label[for="shipping_method_0_ms_delivery_checkout_3"] small { top: 20px; }

.woocommerce-order-received .woocommerce-order-details {
	margin-bottom: 1.5em;
}

.product-remove a { font-size: 14px; }

.page-template-default #primary .woocommerce-cart-form a, .page-template-default #primary .woocommerce-cart-form a:visited  { text-decoration: none; }

.woocommerce-cart div.quantity, .woocommerce-cart div.quantity input.qty { max-width: 100%; margin-right: 0; }
.woocommerce-cart div.quantity input.qty { /*padding: 8px 15px 8px 20px;*/ width: 100px; /*height: 60px;*/ font-size: 16px; }
.woocommerce-cart div.quantity .quantity-nav { padding-top: 5px; }

.woocommerce-cart .order-total .includes_tax { display: block; }


.woocommerce-checkout .woocommerce-form-login > .row > .col-12 > .row > .col-12 p { margin-bottom: 10px; }
.woocommerce-checkout .woocommerce-form-login { margin-top: 1.5em; }

.woocommerce-checkout .woocommerce-info { background: #f4f0ed; }
.woocommerce-checkout .woocommerce-message { background: #335F2A; margin-top: 10px; }
.woocommerce-form-coupon-toggle .woocommerce-error { background: unset; color: red; padding: 10px 15px; margin-top: 10px; }

form.checkout.woocommerce-checkout .woocommerce-NoticeGroup { margin-bottom: 3rem; }
.woocommerce form .form-row .required { text-decoration: none; }
.select2-container--default .select2-selection--single { height: 60px; border-radius: 0; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 60px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 60px; }
.woocommerce-checkout textarea { min-height: 150px; }

.woocommerce-checkout .includes_tax, .woocommerce-checkout .tax_label { display: block; }
#order_review #shipping_method li label > span { margin-right: 5px; }
.woocommerce-checkout .order-total strong { font-weight: unset; }

.payment_box > p { font-size: 14px; padding: 0 10px 0 19px; }

.woocommerce-cart .cross-sells { margin-top: 80px; }

/*** Account Bootstrap ***/
/* Login/Registration */
.woocommerce-account .woocommerce-button.button.woocommerce-form-login__submit {
	display: block;
}

/* Dashboard/My Account */
.account-nav { border-left: 1px solid #dedede; }
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding-left: 0;
	margin: 0;
}
.page-template-default #primary .woocommerce-MyAccount-navigation li a { font-weight: 600; text-decoration: none; }

.woocommerce-account.woocommerce-view-order .woocommerce-MyAccount-content > section { margin-bottom: 20px; }
.woocommerce-orders-table__cell-order-actions > a { display: block; }


/* Edit Account */
.woocommerce-edit-account fieldset {
	padding: 0;
}

@media (max-width:991px) {
	.woocommerce-MyAccount-navigation ul {
		margin-bottom: 15px;
	}

	#shipping_method li label small.tax_label { display: unset; }

	.account-nav { border-left: none; }
	}

@media (max-width:767px) {
	.woocommerce-account .order-titles, .woocommerce-account .download-titles {
		display: none;
	}

	.woocommerce-account .order-items .order, .woocommerce-account .download-items .download-item {
		margin-bottom: 15px;
	}

	div.shop_table_responsive .cart_item > div.product-thumbnail img { max-width: 200px; }

	.woocommerce-cart .product-thumbnail, .woocommerce-cart .product-name, .woocommerce-cart .product-price, .woocommerce-cart .product-quantity, .woocommerce-cart .product-subtotal { margin-bottom: 10px; }

	#order_review #shipping_method li label > span { margin-right: 0; }
}

@media (min-width:320px) {
	#order_review #shipping_method li { padding-right:55px; }
	#shipping_method li label small { position:absolute; right:0; top: 0; }
	#order_review #shipping_method li label > span { float:right; }
	#order_review #shipping_method li label:after { content:" "; display:block; clear:both; }
}


/*** Custom ***/
.archive .breadcrumb-wrap { margin-bottom: 120px; }
.archive.tax-product_cat .breadcrumb-wrap { margin-bottom: 70px; }

.price del { color: #a9a9a9; font-size: 16px; }
.price ins { display: block; }

.onsale { display: none!important; }

/*Product archive / Shop & References landing*/
.archive .ingressi p, .page-template-template_references .ingressi { max-width: none; margin: 80px auto 140px; }
.archive.tax-product_cat .ingressi p { max-width: none; margin: 0 auto 100px; }
#block-banner { margin-bottom: 120px; }
#block-banner .ingressi p { margin: 70px auto; max-width: 800px; }
#block-banner.color-wrap > div:last-child > *:last-child { margin-bottom:0; }

.subcats { margin-top: 60px; margin-bottom: 30px; }
.subcats > div { margin-top: 10px; margin-bottom: 10px; }
.subcats a { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 18px; line-height: 24px; padding: 15px 10px; }
.subcats .linkbtn.current-cat a { background: #000; color: #fff; }

.products .product, .references .reference { margin-bottom: 65px; }
.products .product:nth-of-type(3n+1), .references .reference:nth-of-type(3n+1), .post-hl:nth-of-type(3n+1), .employee:nth-of-type(3n+1) { padding-left: 1.4430%; padding-right: 3.0453%; }
.products .product:nth-of-type(3n+2), .references .reference:nth-of-type(3n+2), .post-hl:nth-of-type(3n+2), .employee:nth-of-type(3n+2) { padding-left: 2.244%; padding-right: 2.244%; }
.products .product:nth-of-type(3n+3) , .references .reference:nth-of-type(3n+3), .post-hl:nth-of-type(3n+3), .employee:nth-of-type(3n+3) { padding-left: 3.0453%; padding-right: 1.4430%; }

.cat-thumb { padding-top: 100%; position: relative; transition: transform ease-in-out .5s; }
.woocommerce-loop-category__title, .woocommerce-loop-product__title, .reference h2, #more-info .product h2 { font-size: 19px; font-weight: 400; line-height: 35px; margin: 25px 0; text-align: center; }
.reference h2, #more-info .product h2 { margin-bottom: 4px; }
.reference h2 { line-height: 26px; margin-top: 20px; }
.reference h2 > span { display: block; white-space: nowrap; }
.products .product > a, .references .reference > a { text-decoration: none; }
.products .product > a:hover, .references .reference > a:hover { text-decoration: underline; }
.products .product .price, .products .product .add_to_cart_button, .products .product.product-type-variable > .woocommerce-LoopProduct-link + a.button.product_type_variable, .single-product #more-info .upsells > .products .product .price > .woocommerce-price-suffix { display: none; }
.single-product #more-info .upsells > .products .product .price, .single-product #more-info .upsells > .products .product .add_to_cart_button { display: block; }
.single-product #more-info .upsells > .products .product .price { margin: 0; text-align: center; }
.single-product #more-info .upsells > .products .product .add_to_cart_button {
    background: #000;
    color: #fff;
    max-width: 190px;
    width: 100%;
    text-transform: none;
    font-size: 14px;
    font-weight: 600;
    border-radius: 0;
    vertical-align: top;
	margin: 10px auto 0;
/*    margin-top: 45px;*/
	text-align: center;
	padding: 12px 15px;
}
.single-product .upsells .add_to_cart_button.ajax_add_to_cart + a.added_to_cart.wc-forward { display: none!important; }
.single-product .upsells .add_to_cart_button.ajax_add_to_cart { position: relative; }
.single-product .upsells .add_to_cart_button.ajax_add_to_cart::before { content: '\f00c'; font-family: 'Font Awesome 5 Pro'; font-weight: 500; position: absolute; left: 20px; opacity: 0; }
.single-product .upsells .add_to_cart_button.ajax_add_to_cart.added::before { opacity: 1; transition: opacity .5s; }

#prod-downloads .dl-group { font-size: 14px; line-height: 24px; }
.dl-group-title strong { display: block; border-bottom: 1px solid #f4f0ed; font-weight: 500; }
#prod-downloads .dl-group a { text-decoration: none; }
#prod-downloads .dl-group a:hover { opacity: 0.5; }
#prod-downloads .dl-group a > i { margin-right: 7px; }
#prod-downloads .filesize { font-weight: 400; font-size: 12px; color: #a9a9a9; }

.color-overlay { display: block; position: absolute; height: 100%; width: 100%; top: 0; left: 0; z-index: 1; background-color: #f4f0ed; opacity: 0; transition: opacity ease-in-out .5s; }
.cat-thumb-wrap { overflow: hidden; }
.overlay > a:hover .cat-thumb { transform: scale(1.1); transition: transform ease-in-out.51s; }
.overlay > a:hover .color-overlay { opacity: 0.65; transition: opacity ease-in-out .5s; }

@media (max-width:991px) {
	.products .product, .references .reference { margin-bottom: 40px; }
	.single-product #more-info .products .product { margin-bottom: 40px; }
	.reference h2, #more-info .product h2 { margin-top: 10px; }
	/* .products .product:nth-of-type(3n+1), .references .reference:nth-of-type(3n+1) { padding-left: 15px; padding-right: 15px; }
	.products .product:nth-of-type(3n+2), .references .reference:nth-of-type(3n+2)  { padding-left: 15px; padding-right: 15px; }
	.products .product:nth-of-type(3n+3), .references .reference:nth-of-type(3n+3)  { padding-left: 15px; padding-right: 15px; }
	.products .product:nth-of-type(2n+1), .references .reference:nth-of-type(3n+1)  { padding-left: 15px; padding-right: 27.50px; }
	.products .product:nth-of-type(2n+2), .references .reference:nth-of-type(3n+2)  { padding-left: 27.50px; padding-right: 15px; } */
}
@media (max-width:767px) {
	.products .product, .references .reference { margin-bottom: 20px; }
	.single-product #more-info .products .product { margin-bottom: 40px; }
	/* .products .product:nth-of-type(2n+1), .references .reference:nth-of-type(2n+1)  { padding-right: 15px; }
	.products .product:nth-of-type(2n+2), .references .reference:nth-of-type(2n+2)  { padding-left: 15px; } */
	.products .product:nth-of-type(3n+1), .references .reference:nth-of-type(3n+1), .post-hl:nth-of-type(3n+1), .employee:nth-of-type(3n+1) { padding-left: 15px; padding-right: 15px; }
	.products .product:nth-of-type(3n+2), .references .reference:nth-of-type(3n+2), .post-hl:nth-of-type(3n+2), .employee:nth-of-type(3n+2) { padding-left:15px; padding-right:15px; }
	.products .product:nth-of-type(3n+3) , .references .reference:nth-of-type(3n+3), .post-hl:nth-of-type(3n+3), .employee:nth-of-type(3n+3) { padding-left: 15px; padding-right: 15px; }
	.products .product, .references .reference, .employee { max-width: 280px; margin-left: auto; margin-right: auto; }
	.woocommerce-loop-category__title { font-size: 16px; line-height: 30px; margin: 15px 0; }
}
@media(max-width:575px) {
	.products .product, .references .reference { margin-bottom: 15px; }
}

/*Product*/
.single-product .breadcrumb-wrap { margin-bottom: 50px; }

.single-product .entry-summary { padding-top: 55px; }
.single-product .brand { font-size: 12px; }
.single-product h1.product_title { font-size: 21px; font-weight: 400; margin-bottom: 25px; }
.single-product .product_title + .sku { margin-top: -18px; }
.single-product .sku { margin-bottom: 30px; }
.single-product .sku, .single-product .sku p, .single-product .sku span { font-size: 14px; }
.single-product .price { font-size: 18px; font-weight: 600; margin-bottom: 55px; }
.variations { margin-bottom: 4px; }
.variations tr td { padding-bottom: 15px; vertical-align: top; }
.variations .reset_variations { display: none!important; }
.variations .label, .quantity-label { font-size: 14px; width: 128px; }
.quantity-label { display: inline-block; }
.variations select { border: 1px solid #000; height: 30px; font-size: 14px; width: 100%; max-width: 208px; }
.single_variation { margin-top: 19px; }
.woocommerce-product-details__short-description p { font-size: 14px; margin-top: 35px; margin-bottom: 30px; }
a[href="#more-info"] { font-size: 14px; }

.prod-desc-wrap.transition { transition: height 500ms; }
.prod-desc-read-more { position: relative; }
.prod-desc-read-more::before { position: absolute; z-index: 1; content: ''; background: linear-gradient(180deg, rgba(2,0,36,0) 0%, rgba(255,255,255,1) 100%); left: 0; right: 0; height: 100%; top: -100%; }
.prod-desc-read-more button { border: none!important; font-size: 14px!important; padding: 0!important; text-decoration: underline!important; }
.prod-desc-read-more button:hover, .prod-desc-read-more button:active, .prod-desc-read-more button:focus { background: transparent!important; color: #000!important; }

img.cert { display: inline-block; width: 62px; border: 1px solid #000; margin: 0 5px 5px 0; }

#more-info, .single-product .references { margin-top: 58px; margin-bottom: 100px; }
	.single-product .references { margin-top: 0; }
#more-info h2, .single-product .ref-title h2 { margin-bottom: 22px; }

.prod-contact-hl, .contact-block { background: #f4f0ed; padding: 144px 60px; }
.prod-contact-hl p:last-of-type, .contact-block p:last-of-type { margin-bottom: 0; }

/*----Quantity buttons and Add To Cart button----*/
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type=number] { -moz-appearance:textfield; }

.single .cart {
	position: relative;
}

div.quantity {
	display: inline-block;
	position: relative;
	margin-right: 10px;
	border: none;
	margin-left: 1px;
}
.woocommerce-cart div.quantity { max-width: 100%; }
input.qty, .woocommerce-cart input.qty {
	padding: 0 34px;
	width: 130px;
	height: 30px;
	border: 1px solid #000;
	border-radius: 0;
	color: #2c2c2c;
	font-size: 14px;
	font-weight: 400;
	text-align: center;
}
.single .cart input.qty:active, .single .cart input.qty:focus,
.woocommerce-cart div.quantity input.qty:active, .woocommerce-cart div.quantity input.qty:focus {
	outline: none;
}

.quantity-button {
	position: absolute;
	top: 0;
	left: 0;
    width: 35px;
    height: 29px;
    margin: 0;
    padding: 0;
    cursor: pointer;
	font-size: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.quantity-button.quantity-up { left: unset; right: 0; }

.woocommerce div.product form.cart .button {
	background: #000;
	color: #fff;
	max-width: 320px;
	width: 100%;
	text-transform: none;
	font-size: 14px;
	font-weight: 600;
	border-radius: 0;
	vertical-align: top;
	display: block;
	margin-top: 45px;
}
.woocommerce div.product form.cart .button:hover,
.woocommerce div.product form.cart .button:active,
.woocommerce div.product form.cart .button:focus {
	background: #fff;
	color: #000;
}

.woocommerce-account h3 { margin: 10px auto; }
/*----Quantity buttons and Add To Cart button----*/

#more-info .info-row *:not(h2) { font-size: 14px; font-weight: 400; line-height: 24px; }
#more-info .woocommerce-product-attributes p { margin-bottom: 0; }
#more-info .woocommerce-product-attributes-item__label { width: 180px; vertical-align: top; }
#more-info #tab-additional_information { padding-right: 30px; }
#more-info .upsells > .products { padding: 0; }

/*Cart & Checkout*/
.woocommerce-page h1.page-title { font-size: 50px; margin: 0 0 10px; }
.woocommerce-cart .breadcrumb-wrap, .woocommerce-checkout .breadcrumb-wrap, .woocommerce-account .breadcrumb-wrap { margin-bottom: 20px; }
.woocommerce-cart p, .woocommerce-checkout p { font-size: 16px; }

.woocommerce-cart #primary a { text-decoration: none; }

#billing_country ~ .select2-container--default .select2-selection--single { height: 48px; border-radius: 0; border-color: #000; }
#billing_country ~ .select2-container--default .select2-selection--single .select2-selection__rendered { height: 48px; line-height: 48px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 48px; }
.woocommerce-checkout .required { text-decoration: none; }
.woocommerce-checkout textarea { height: 100px; }

#primary .wc-proceed-to-checkout button, #primary button#place_order { background: #000; color: #fff; }
#primary .wc-proceed-to-checkout button:hover, #primary .wc-proceed-to-checkout button:active, .wc-proceed-to-checkout button:focus,
#primary button#place_order:hover, #primary button#place_order:active, #primary button#place_order:focus { background: #fff; color: #000; }

/*Cart & product print styles*/
img.cart-print-logo, .prod-print-logo { display: none; }
.d-print { display: none; }
.print-prod { margin-top: 12px; }
.print-prod button { background: #000; color: #fff; border-color: #000; font-size: 14px; font-weight: 600; }

@media print {
	.ch2-icon, body.woocommerce-cart .woocommerce-notices-wrapper, body.single-product .woocommerce-notices-wrapper, #sf-chat-tool { display: none!important; }
	
	/*Cart*/
	body.woocommerce-cart #masthead > .container > .row > .col-6:last-child,
	body.woocommerce-cart .breadcrumb-wrap,
	body.woocommerce-cart .pagetitle,
	body.woocommerce-cart .row.actions,
	body.woocommerce-cart .cart-collaterals,
	body.woocommerce-cart #colophon,
	body.woocommerce-cart .woocommerce-cart-form > .row.form-title-row,
	body.woocommerce-cart .woocommerce-cart-form .col-12.col-md-2.product-quantity,
	body.woocommerce-cart .woocommerce-cart-form .col-12.col-md-1.product-remove { display: none!important; }

	body.woocommerce-cart img.cart-print-logo, body.woocommerce-cart .container, body.woocommerce-cart .row, body.woocommerce-cart .col, body.woocommerce-cart .col-12, .d-print { display: block; }
	body.woocommerce-cart img.cart-print-logo { margin-bottom: 40px; }
	body.woocommerce-cart .woocommerce-cart-form .row.woocommerce-cart-form__cart-item.cart_item { display: table; width: 100%; }
	body.woocommerce-cart .woocommerce-cart-form .col-12.col-md-2.product-thumbnail, body.woocommerce-cart .woocommerce-cart-form .col-12.col-md-3.product-name { display: table-cell; }
	body.woocommerce-cart .woocommerce-cart-form .col-12.col-md-3.product-name a { font-weight: bold; font-size: 20px; display: block; margin-bottom: 20px; }
	body.woocommerce-cart .woocommerce-cart-form .col-12.col-md-2.product-thumbnail { width: 100%; max-width: 30%; }
	body.woocommerce-cart .woocommerce-cart-form .col-12.col-md-3.product-name { width: 100%; max-width: 70%; align-content: center; }
	body.woocommerce-cart .woocommerce-cart-form div.shop_table_responsive .cart_item > div::before { content: none; }
	body.woocommerce-cart .woocommerce-cart-form div.shop_table_responsive .cart_item > div { text-align: left; }

	body.woocommerce-cart .woocommerce-cart-form .print-attributes { margin-bottom: 0; }
	body.woocommerce-cart .woocommerce-cart-form .print-attributes th, body.woocommerce-cart .woocommerce-cart-form .print-attributes td { vertical-align: top; word-break: break-word; }
	body.woocommerce-cart .woocommerce-cart-form .print-attributes th { width: 41%; padding-right: 12px; }
	body.woocommerce-cart .woocommerce-cart-form .print-attributes td { width: 59%; }
	
	/*Product*/
	body.single-product #masthead, body.single-product .breadcrumb-wrap, body.single-product #colophon, body.single-product .flex-control-nav, body.single-product form.cart, body.single-product .entry-summary > a, body.single-product .print-prod, body.single-product .up-sells, body.single-product #prod-downloads, body.single-product .prod-contact-hl, body.single-product .woocommerce-product-details__short-description img, .prod-desc-read-more { display: none!important; }
	
	body.single-product .product-info-container .product > .row { display: none; }
	body.single-product .prod-print-logo, body.single-product .container, body.single-product .row, body.single-product .col, body.single-product .col-12, body.single-product .d-print, body.single-product .product-info-container .product > .row:first-child { display: block; }
	
	body.single-product .product-info-container .product > .row > .col-12 { width: 100%; max-width: 35%; float: left; }
	body.single-product .product-info-container .product > .row > .col-12#more-info { width: 100%; max-width: 100%; float: none; }
	body.single-product .product-info-container .product > .row > .col-12.entry-summary { width: 100%; max-width: 65%; float: right; }
	
	body.single-product .woocommerce-product-gallery__wrapper { width: 300px!important; }
	body.single-product .woocommerce-product-gallery__wrapper > div, body.single-product .woocommerce-product-gallery__wrapper > div * { display: none; width: 100%!important; max-width: 100%!important; }
	body.single-product .woocommerce-product-gallery__wrapper > div:first-child, body.single-product .woocommerce-product-gallery__wrapper > div:first-child * { display: block; }
	
	body.single-product img.cert { border: none!important; }

	body.single-product .info-row { display: table; padding-top: 60px; }
	body.single-product .info-row > .col-12 { width: 50%; max-width: 50%; display: table-cell; }
	
	body.single-product .prod-desc-wrap.transition { height: unset!important; overflow: unset!important; }
}

/*Media Queries*/
@media (max-width:991px) {
	figure > .woocommerce-product-gallery__image { text-align: center; }
}

@media (max-width:767px) {
	.archive .ingressi p, .page-template-template_references .ingressi { margin: 40px auto; }

	.subcats a { font-size: 16px; line-height: 22px; }
	
	.single-product h1.product_title { margin-bottom: 15px; }
	.single-product .sku { margin-bottom: 15px; }
	.variations .label, .quantity-label { width: 108px; }
	.single-product .price { margin-bottom: 30px; }
	.woocommerce div.product form.cart .button { margin-top: 35px; }
	#more-info, .single-product .references { margin-top: 45px; margin-bottom: 20px; }
		.single-product .ref-title h2 { margin-bottom: 0; }
	#more-info .woocommerce-product-attributes-item__label { width: 100px; }
	.prod-contact-hl, .contact-block { padding: 50px 15px; }

	.references .reference { margin-bottom: 40px; }
	.reference h2 { font-size: 16px; line-height: 26px; margin: 11px 0 6px; }
	.reference h2 + p { font-size: 14px; line-height: 18px; }

	.woocommerce-account p { font-size: 16px; line-height: 26px; margin-bottom: 20px; }
	
	#block-banner { margin-bottom: 40px; }
}

@media (max-width:575px) {
	.woocommerce div.product form.cart .button { max-width: 200px; }
	
	button.print-cart { display: table; margin-top: 10px; }
	
	.subcats { margin-top: 40px; margin-bottom: 15px; }
	.subcats > div { margin-top: 5px; margin-bottom: 5px; }
	.subcats > div:nth-of-type(2n+1) { padding-right: 5px; }	
	.subcats > div:nth-of-type(2n+2) { padding-left: 5px; padding-right: 15px; }	
}

/*Quote changes*/
.woocommerce-cart .woocommerce-cart-form .product-price, .woocommerce-cart .woocommerce-cart-form .product-subtotal { display: none; }
@media (min-width:768px) {
	.woocommerce-cart .woocommerce-cart-form .col-md-5.product-name { max-width: 50%; flex: 0 0 50%; }
	.woocommerce-cart .woocommerce-cart-form .col-md-3.product-name { max-width: 33.333333%; flex: 0 0 33.333333%; }
}
.woocommerce-cart .cart-collaterals { padding-top: 0!important; }
.woocommerce-cart .cart-collaterals > .cart_totals > *:not(.row):not(.mt-3) { display: none; }
/*.single-product .sku, .single-product .price, .woocommerce-checkout .row.cart-subtotal, .woocommerce-checkout .col-4.product-total, .woocommerce-checkout .order-total { display: none; }*/
.single-product .price, .woocommerce-checkout .row.cart-subtotal, .woocommerce-checkout .col-4.product-total, .woocommerce-checkout .order-total { display: none; }
.woocommerce-checkout .col-8.title, .woocommerce-checkout .col-8.product-name { max-width: 100%; flex: 0 0 100%; }
.woocommerce-checkout .woocommerce-shipping-totals.shipping { margin-top: 20px; }
.woocommerce-checkout:not(.woocommerce-order-pay) #payment .wc_payment_methods.payment_methods.methods,
.woocommerce-checkout:not(.woocommerce-order-received) #payment .wc_payment_methods.payment_methods.methods { display: none!important; }
.woocommerce-checkout.woocommerce-order-pay #payment .wc_payment_methods.payment_methods.methods { display: block!important; }
.woocommerce-checkout #payment .wc_payment_methods.payment_methods.methods { padding-left: 0; margin-left: 0; }
.woocommerce-checkout #payment .wc_payment_methods.payment_methods.methods label[for="payment_method_cod"] { font-weight: 700; }
.woocommerce-checkout #payment .wc_payment_methods.payment_methods.methods .payment_box.payment_method_cod > p { padding-left: 4px; line-height: 20px; font-size: 15px; }
.woocommerce-order-received .woocommerce-order-overview__total.total, .woocommerce-order-received .woocommerce-order-overview__payment-method.method, .woocommerce-order-received .order_details .product-total { display: none; }
@media(min-width:576px) { .woocommerce-order-received .order_details .product-name { max-width: 100%; flex: 0 0 100%; } }
.woocommerce-order-received .order_details > .col-12:last-of-type > .row:first-child, .woocommerce-order-received .order_details > .col-12:last-of-type > .row:nth-child(3), .woocommerce-order-received .order_details > .col-12:last-of-type > .row:nth-child(4) { display: none; }
