/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Template: generatepress
Author: Tom Usborne
Author URI: https://tomusborne.com
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 15kb (gzipped) to your page size. We take full advantage of the new block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS and is translated into over 25 languages by our amazing community of users. A few of our many features include microdata integration, 9 widget areas, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover) and navigation color presets. Learn more and check out our powerful premium version at https://generatepress.com
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 2.4.2.1593430457
Updated: 2020-06-29 14:34:17

*/

.elementor-19 .elementor-element.elementor-element-3a442d1 .elementor-posts-container .elementor-post__thumbnail{
	padding-bottom: 0;
}

/*Sidebar navigation styling*/
/* Main layout containers */
body {
	margin: 0;
	padding: 0;
	overflow-x: hidden;
	background-image: none !important;
}

.site-container {
	margin-left: 250px;
	width: calc(100% - 250px);
	transition: margin 0.3s ease;
}

/* Navigation sidebar */
.nav-sidebar {
	position: fixed;
	top: 0;
	left: 0;
	width: 250px;
	height: 100vh;
	background-color: #383838;
	color: #ffffff;
	z-index: 9999;
	overflow-y: auto;
	transition: transform 0.3s ease;
}
@media (min-width: 1921px) {
	.nav-sidebar {
		width: 370px !important;
	}
}

/* Hide original header */
.site-header {
	display: none !important;
}

/* Logo styling */
.sidebar-logo {
	padding: 20px;
	text-align: center;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.sidebar-logo img {
	max-width: 80%;
	height: auto;
}

/* Widget styling */
.nav-sidebar .widget {
	margin-bottom: 0;
	padding: 10px 12px;
	border-bottom: none;
}

.nav-sidebar .widget-title {
	color: #ffffff;
	font-size: 16px;
	margin-top: 0;
	margin-bottom: 10px;
}

/* Menu styling */
.sidebar-menu {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.sidebar-menu li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	padding: 0 !important;
	margin: 0 !important;
	position: relative;
}

.sidebar-menu li a {
	display: block;
	padding: 12px 20px;
	color: #ffffff !important;
	text-decoration: none !important;
	transition: all 0.2s ease;
}

.sidebar-menu li a:hover {
	background-color: rgba(255, 255, 255, 0.1);
	padding-left: 25px;
}

/* Submenu styling */
.sidebar-menu .sub-menu {
	background-color: #1a1a1a;
	padding-left: 0 !important;
	list-style: none !important;
	display: none;
}

.sidebar-menu .menu-item-has-children>a:after {
	content: "+";
	position: absolute;
	right: 20px;
	top: 12px;
}

.sidebar-menu .menu-item-has-children.active>a:after {
	content: "-";
}

.sidebar-menu .sub-menu li a {
	padding-left: 30px;
	font-size: 14px;
}

/* Custom widgets styling */
.nav-sidebar .widget_search form {
	display: flex;
}

.nav-sidebar .widget_search input[type="search"] {
	flex-grow: 1;
	background-color: rgba(255, 255, 255, 0.1);
	border: none;
	padding: 8px 12px;
	color: #ffffff;
	border-radius: 4px 0 0 4px;
}

.nav-sidebar .widget_search input[type="submit"] {
	background-color: #FF6600;
	color: #ffffff;
	border: none;
	padding: 8px 15px;
	cursor: pointer;
	border-radius: 0 4px 4px 0;
}

/* WooCommerce widgets */
.nav-sidebar .widget_shopping_cart {
	color: #ffffff;
}

.nav-sidebar .widget_shopping_cart a {
	color: #ffffff !important;
}

.nav-sidebar .widget_shopping_cart .woocommerce-mini-cart__buttons a {
	display: block;
	background-color: #FF6600;
	text-align: center;
	padding: 10px;
	margin-bottom: 5px;
	border-radius: 4px;
}

/* Mobile toggle button */
.mobile-nav-toggle {
	display: none;
	position: fixed;
	top: 15px;
	right: 15px;
	background-color: #000;
	color: #ffffff;
	border: none;
	width: 40px;
	height: 40px;
	border-radius: 4px;
	z-index: 99999;
	cursor: pointer;
}

.mobile-nav-toggle .active {
	background-color: #FF6600;
}

.toggle-icon {
	display: block;
	position: relative;
	width: 20px;
	height: 2px;
	background-color: #ffffff;
	margin: 0 auto;
}

.toggle-icon:before,
.toggle-icon:after {
	content: '';
	position: absolute;
	width: 20px;
	height: 2px;
	background-color: #ffffff;
	left: 0;
}

.toggle-icon:before {
	top: -6px;
}

.toggle-icon:after {
	bottom: -6px;
}

/* Mobile styles */
@media (max-width: 980px) {
	.nav-sidebar {
		transform: translateX(-100%);
	}

	.nav-sidebar.active {
		transform: translateX(0);
	}

	.site-container {
		margin-left: 0;
		width: 100%;
		padding-top: 0 !important;
	}

	.mobile-nav-toggle {
		display: block;
	}

	body.nav-active .site-container {
		position: relative;
		left: 250px;
	}
}

.nav-sidebar .widget_product_categories {
	padding: 20px 12px;
}
.nav-sidebar .widget_product_categories ul li {
	font-size: 14px;
	padding-bottom: 10px;
	word-wrap: break-word;
}
.nav-sidebar .widget_product_categories ul li:last-child {
	padding-bottom: 0;
}

.nav-sidebar .widget_product_categories ul li a {
	color: #fff;
}
.nav-sidebar .widget_product_categories ul li a:hover {
	font-weight: 400 !important;
}
.nav-sidebar .widget_product_categories ul li .children {
	padding: 20px 15px;
    background-color: #505050;
    margin-top: 10px;
	margin-left: 0;
}
.nav-sidebar .widget_product_categories ul li .children li .children {
	padding: 20px 15px;
	background-color: #6b6b6b;
	margin-top: 10px;
	margin-left: 0;
}

.nav-sidebar {
	width: 265px;
}

.nav-sidebar .widget_nav_menu,
.nav-sidebar .widget_shopping_cart,
.nav-sidebar .dgwt-wcas-widget,
.nav-sidebar .widget_product_categories,
.nav-sidebar .widget_media_image,
.nav-sidebar .widget_purkukolmio_cart_widget {
	background-color: #383838;
}
.nav-sidebar .widget_purkukolmio_cart_widget {
	padding: 0 !important;
}
.nav-sidebar #media_image-3 {
	background-color: #000000;
	padding: 30px 20px;
}
.nav-sidebar #media_image-4 {
	background-color: transparent;
	padding: 0;
	margin-top: -30px;
	overflow-x: hidden;
}
.nav-sidebar #media_image-4 img {
	transform: scale(2.3);
}
.nav-sidebar #nav_menu-3 .menu-menu-1-container {
	padding: 10px 12px !important;
}
.nav-sidebar #nav_menu-3 .menu-menu-1-container .menu li a {
	color: #ffffff;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.nav-sidebar #nav_menu-3 .menu-menu-1-container .menu .cart--link a {
	color: #fff !important;
	background-color: #fc6000 !important;
	border-radius: 5px;
	text-align: center;
}
.nav-sidebar #nav_menu-3 .menu-menu-1-container .menu .cart--link a:hover {
	color: #fc6000 !important;
	background-color: #fff !important;
}

.nav-sidebar .dgwt-wcas-search-input {
	width: 100% !important;
}



/* Custom scrollbar styling for the sidebar */
.nav-sidebar::-webkit-scrollbar {
	width: 6px;
	/* Thin scrollbar width */
}

.nav-sidebar::-webkit-scrollbar-track {
	background: #2a2a2a;
	/* Slightly lighter than sidebar background */
}

.nav-sidebar::-webkit-scrollbar-thumb {
	background-color: #444;
	/* Dark gray scrollbar */
	border-radius: 10px;
	/* Rounded scrollbar */
	border: 2px solid #2a2a2a;
	/* Border around the scrollbar thumb */
}

.nav-sidebar::-webkit-scrollbar-thumb:hover {
	background-color: #555;
	/* Slightly lighter on hover */
}

/* Firefox scrollbar styling */
.nav-sidebar {
	scrollbar-width: thin;
	/* "auto" or "thin" */
	scrollbar-color: #444 #2a2a2a;
	/* thumb and track color */
}

/* Hide scrollbar when not in use but keep functionality */
.nav-sidebar {
	-ms-overflow-style: none;
	/* Internet Explorer and Edge */
	scrollbar-width: thin;
	/* Firefox */
}

/* Make scrollbar semi-transparent when not actively scrolling */
.nav-sidebar:not(:hover)::-webkit-scrollbar-thumb {
	background-color: rgba(68, 68, 68, 0.5);
	/* Semi-transparent when not hovering */
}

/* Ensure smooth scrolling */
.nav-sidebar {
	scroll-behavior: smooth;
}

/* Simple Cart Widget Styling */
.simple-cart-widget {
	background-color: #383838;
	/* Slightly lighter than sidebar background */
	padding: 12px 20px !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.simple-cart-widget .cart-icon-link {
	display: flex;
	align-items: center;
	color: #ffffff !important;
	text-decoration: none !important;
	font-weight: bold;
}

.simple-cart-widget .cart-icon {
	color: #ffffff;
	margin-right: 8px;
	stroke-width: 1.5px;
	width: 20px;
	height: 20px;
}

.simple-cart-widget .cart-total {
	font-size: 15px;
	color: #ffffff;
}

/* Optional hover effect */
.simple-cart-widget .cart-icon-link:hover {
	opacity: 0.9;
}

/* If you want it to look more like a button */
.simple-cart-widget .cart-icon-link {
	transition: all 0.2s ease;
}

.simple-cart-widget .cart-icon-link:hover {
	transform: translateY(-1px);
}

/* If the widget appears in the wrong place */
.nav-sidebar .simple-cart-widget {
	order: 1;
	/* Adjust this value to control placement in the sidebar */
}









/* Two-column navigation menu styling with responsive behavior */
#nav_menu-3 {
	padding: 0 !important;
}

#nav_menu-3 .menu-menu-1-container {
	padding: 10px 10px;
	border-bottom: none !important;
}

#nav_menu-3 ul.menu {
	display: grid;
	grid-template-columns: 1fr;
	/* Default to single column */
	gap: 8px;
	/* Gap between items */
	padding: 0 !important;
	margin: 0 !important;
}

/* Switch to two columns on larger screens */
@media (min-width: 981px) {
	#nav_menu-3 ul.menu {
		grid-template-columns: 1fr 1fr;
		/* Two columns on desktop */
		gap: 0;
		/* Row gap, column gap */
	}
}

#nav_menu-3 ul.menu li {
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
}

#nav_menu-3 ul.menu li a {
	display: block;
	padding: 8px 10px !important;
	color: #aaaaaa !important;
	/* Lighter gray color */
	font-size: 14px !important;
	font-weight: normal !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
	background: transparent !important;
}

#nav_menu-3 ul.menu li a:hover {
	color: #ffffff !important;
	padding-left: 10px !important;
	/* Prevent hover padding */
}

/* Current/active menu item */
#nav_menu-3 ul.menu li.current-menu-item a {
	color: #ffffff !important;
	font-weight: normal !important;
	background: transparent !important;
}

/* Lock icon adjustment */
#nav_menu-3 ul.menu li a i._mi {
	margin-right: 5px !important;
	font-size: 13px !important;
}

/* Fix for visuallyhidden span */
#nav_menu-3 ul.menu li a .visuallyhidden {
	display: inline !important;
	position: static !important;
	clip: auto !important;
	width: auto !important;
	height: auto !important;
	overflow: visible !important;
}

/* Remove border bottom from widget */
#nav_menu-3.widget {
	border-bottom: none !important;
}

/* In case the widget has a title that needs to be styled */
#nav_menu-3 .widget-title {
	display: none !important;
	/* Hide widget title if present */
}

/* Add a subtle separation */
#nav_menu-3 .menu-menu-1-container {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	padding-bottom: 10px;
}

/* Improve tap target size on mobile */
@media (max-width: 980px) {
	#nav_menu-3 ul.menu li a {
		padding: 10px !important;
		/* Slightly larger padding on mobile for better touch targets */
	}
}










/* Main layout structure updates */
body.has-sidebar-navigation {
	overflow-x: hidden;
}

.site-container {
	margin-left: 250px;
	width: calc(100% - 250px);
	transition: margin 0.3s ease;
	position: relative;
	min-height: calc(100vh - 60px);
	/* Account for mobile padding */
	display: flex;
	flex-direction: column;
}

/* Site content should take up available space */
.site-content {
	flex: 1 0 auto;
}

/* Footer-specific styling */
.site-footer {
	flex-shrink: 0;
	position: relative;
	z-index: 1;
	clear: both;
	margin-left: 250px;
	width: calc(100% - 250px);
}

/* Copyright bar styling */
.site-info {
	position: relative;
	z-index: 2;
}

/* Mobile adjustments */
@media (max-width: 980px) {
	.nav-sidebar {
		position: fixed;
		transform: translateX(-100%);
		height: 100vh !important;
	}

	.nav-sidebar.active {
		transform: translateX(0);
	}

	.site-container,
	.site-footer {
		margin-left: 0;
		width: 100%;
	}

	.site-container {
		padding-top: 60px;
	}
}









.head-nosto {
	margin-top: 0 !important;
}









/* Change to 4 columns */
.products.elementor-grid {
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 30px !important;
}
.products.elementor-grid .product {
	border: 1px solid;
	padding: 20px !important;
}

/* Ensure images are on top, text below */
.woocommerce ul.products li.product {
	display: flex !important;
	flex-direction: column !important;
	text-align: center !important;
}

.woocommerce ul.products li.product .wc-product-image {
	order: 1;
	margin-bottom: 15px;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link h2 {
	font-size: 16px !important;
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link .price .woocommerce-Price-amount {
	position: absolute;
    top: 0;
    left: 10px;
    background-color: #383838;
    color: #fff;
    padding: 5px 15px;
}

.woocommerce ul.products li.product .price {
	order: 3;
	margin-top: auto;
	font-weight: bold;
}
.woocommerce ul.products li.product.woocommerce-image-align-left .wc-product-image {
	float: none !important;
	text-align: center !important;
	width: 100%;
}
.woocommerce ul.products li.product.woocommerce-image-align-left .wc-product-image .inside-wc-product-image {
	height: 100% !important;
	max-height: 100% !important;
	max-width: 100% !important;
}
.inside-wc-product-image {
	position: relative;
    display: inline-block;
    height: auto !important;
    max-height: 100%;
    max-width: 100% !important;
    overflow: hidden;
}
.inside-wc-product-image img {
	width: 100% !important;
	max-width: 100% !important;
}

.dgwt-wcas-search-wrapp {
	max-width: 100% !important;
}
.select2-container .select2-selection--single {
	height: auto !important;
}

/* Responsive adjustments for 4 columns */
@media (max-width: 1024px) {
	.products.elementor-grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

@media (max-width: 768px) {
	.products.elementor-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 480px) {
	.products.elementor-grid {
		grid-template-columns: 1fr !important;
	}
}

img[src*="/wp-content/uploads/2020/09/taustavari.jpg"] {
	display: none !important;
}

.d--none {
	display: none !important; 
}

@media (min-width: 981px) {
	.mobile--custom--header {
		display: none !important;
	}
}

@media (max-width:980px) {
	.logo--mobile .elementor-widget-container img {
		width: 150%;
		max-width: 200%;
	}
	.chevron--mobile .elementor-widget-container img {
		transform: scale(1.35);
	}
}

@media (max-width:767px) {
	.logo--mobile {
		width: 80% !important;
	}
	.logo--mobile .elementor-widget-container img {
		width: 100%;
		max-width: 100%;
	}

	.chevron--mobile .elementor-widget-container img {
		transform: scale(2.3);
	}
	.nav-sidebar #media_image-3 {
		padding: 5px 5% 30px;
	}
	.nav-sidebar #media_image-3 img {
		width: 80%;
	}
}

.elementor-widget-woocommerce-breadcrumb {
	background: #efefef;
    padding: 15px;
    border-radius: 10px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}
.elementor-widget-woocommerce-breadcrumb .woocommerce-breadcrumb {
	margin: 0;
    color: #000;
    font-size: 14px !important;
    font-family: "Poppins", sans-serif !important;
}
.elementor-widget-woocommerce-breadcrumb .woocommerce-breadcrumb a {
	color: #fc6000;
}

.shop--archive--header {
	background-color: #fc6000;
    padding: 3% 5% 5%;
    margin-bottom: 30px;
}
.shop--archive--header h1 {
	color: #fff !important;
}
.shop--archive--header p {
	color: #fff !important;
	margin-bottom: 0;
}
.chevron--archive--section .elementor-container .elementor-column {
	margin-top: -50px;
}
.chevron--archive--section .elementor-container .elementor-column .elementor-widget-wrap {
	padding: 0;
}
.chevron--archive--section .elementor-container .elementor-column .elementor-widget-wrap .elementor-element {
	max-width: 100%;
}
.chevron--archive--section .elementor-container .elementor-column .elementor-widget-wrap .elementor-element .elementor-widget-container {
	overflow: hidden;
}
.chevron--archive--section .elementor-container .elementor-column .elementor-widget-wrap .elementor-element .elementor-widget-container img {
	width: 100%;
}
@media (min-width: 1921px) {
	.chevron--archive--section .elementor-container .elementor-column {
		margin-top: -54px;
	}
}
@media (max-width: 980px) {
	.chevron--archive--section .elementor-container .elementor-column .elementor-widget-wrap .elementor-element .elementor-widget-container img {
		transform: scale(1.8);
	}
	.chevron--archive--section .elementor-container .elementor-column {
		margin-top: -51px;
	}
}
@media (max-width: 768px) {
	.shop--archive--header {
		padding: 3% 5% 10%;
	}
}
@media (max-width: 478px) {
	.chevron--archive--section .elementor-container .elementor-column .elementor-widget-wrap .elementor-element .elementor-widget-container img {
		transform: scale(2.8);
	}
	.chevron--archive--section .elementor-container .elementor-column {
		margin-top: -49px;
	}
}

/* Responsive text handling for small screens */
@media (max-width: 340px) {
  h1, h2, h3, h4, h5, h6 {
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
  }
}


/* Lightbox */ 

.pswp {
	width: calc(100% - 265px);
	right: 0;
	left: auto;
}

@media (min-width: 1921px) {
	.pswp {
		width: calc(100% - 370px);
		right: 0;
		left: auto;
	}
}

.pswp__top-bar {
	padding-right: 30px;
}

.pswp__caption__center {
	text-align: center;
}

@media (max-width: 980px) {
	.pswp {
		width: 100%;
		right: auto;
		left: 0;
	}
}