/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/
/*
.main-navigation .main-nav ul ul li a {
	font-size:20px;
}*/
/* ============= TABLE OF CONTENTS ===============

1. Varibales
2. Typography
3. Global Styles

================================================= */

/*** 1. VARIABLES ***/
:root {
/* These HAVE TO match what is in the Customizer > Typography. Pull in font familys using font manager. Set headline-font as 'All Headings', set body-font as HTML */
--heading-font: "Fira Sans", sans-serif;
--body-font: Inter, sans-serif;
--fs-body: clamp(1rem, 0.939rem + 0.233vw, 1.125rem); /* 16px -> 18px Screen 420 1280 */
--fs-xl: clamp(2rem, 0.7791rem + 4.6512vw, 4.5rem); /*min 32 max 72 min viewport 420 max viewport 1280 root 16px viewport units Width vw */
--fs-h1: clamp(2rem, 0.7791rem + 4.6512vw, 4.5rem); /*min 32 max 72 min viewport 420 max viewport 1280 root 16px viewport units Width vw */
--fs-h2: clamp(1.5rem, 1.134rem + 1.395vw, 2.25rem); /*min 24 max 36 min viewport 420 max viewport 1280 root 16px viewport units Width vw */
--fs-h3: clamp(1.25rem, 0.823rem + 1.628vw, 2.125rem); /*min 20 max 34 min viewport 420 max viewport 1280 root 16px viewport units Width vw */
--fs-h4: clamp(1.125rem, 0.759rem + 1.395vw, 1.875rem); /*min 18 max 30 min viewport 420 max viewport 1280 root 16px viewport units Width vw */
--fs-h5: clamp(1.125rem, 0.881rem + 0.93vw, 1.625rem); /*min 18 max 26 min viewport 420 max viewport 1280 root 16px viewport units Width vw */
--fs-h6: clamp(1.125rem, 1.003rem + 0.465vw, 1.375rem); /*min 18 max 22 min viewport 420 max viewport 1280 root 16px viewport units Width vw */
--fs-pre: clamp(0.938rem, 0.907rem + 0.116vw, 1rem); /* 15px -> 16px Screen 420 1280 */
--fs-body-xxl: clamp(1.125rem, 0.7587rem + 1.3953vw, 1.875rem);  /* 18px -> 30px Screen 420 1280 */
--fs-body-xl: clamp(1.125rem, 0.881rem + 0.93vw, 1.625rem); /* 18px -> 26px Screen 420 1280 */
--fs-body-l: clamp(1.125rem, 0.942rem + 0.698vw, 1.5rem); /* 18px -> 24px Screen 420 1280 */
--fs-body-m: clamp(1.125rem, 1.064rem + 0.233vw, 1.25rem); /* 18px -> 20px Screen 420 1280 */
--fs-body-s: clamp(0.813rem, 0.782rem + 0.116vw, 0.875rem);/* 13px -> 14px Screen 420 1280 */
--fs-body-xs: clamp(0.75rem, 0.719rem + 0.116vw, 0.813rem);/* 12px -> 13px Screen 420 1280 */

--radius-xs: .125rem;
--radius-s: .25rem;
--radius-m: .5rem;
--radius-l: 1rem;
--radius-xl: 1.5rem;
--radius-xxl: 2rem;
--radius-circle: 50%;
	
/* Container Widths */
--width-xl: 80rem;
--width-l: 72rem;
--width-m: 64rem;
--width-s: 48rem;
--width-xs: 40rem;
}

/***
*
*
* 2. TYPOGRAPHY
*
*
* ***/
body {
  font-family: var(--body-font);
  line-height: 1.4;
}
.ff-body {
	font-family: var(--body-font); 
}
.ff-heading {
	font-family: var(--heading-font);
}
h1, h2, h3, h4, h5, h6, .fs-h1, .fs-h2, .fs-h3, .fs-h4, .fs-h5, .fs-h6 {
	font-weight: 700;
	/*line-height: 1.1;*/
	letter-spacing: 0.0125rem;
	overflow-wrap: break-word;
	margin-top: 0;
	margin-bottom: 0;
	font-family: var(--heading-font);
	text-decoration: none !important;
}

/* https://chrisburnell.com/clamp-calculator/?font-size-root=16&size-min=24&size-max=36&viewport-min=420&viewport-max=1280&viewport-units=vw */
.gb-header-xl {
	font-weight: 800;
	font-size: var(--fs-xl);
	line-height: 1.05;
}

h1, .fs-h1 {
	font-size: var(--fs-h1);
	line-height: 1;
}

h2, .fs-h2 {
	font-size: var(--fs-h2);
	line-height: 1.1;
}

h3, .fs-h3 {
	font-size: var(--fs-h3);
	line-height: 1.15;
}

h4, .fs-h4 {
	font-size: var(--fs-h4);
	line-height: 1.1;
}

h5, .fs-h5 {
	font-size: clamp(1.25rem, 1.1364rem + 0.4545vw, 1.5rem);
	font-size: var(--fs-h5);
	line-height: 1.25;
}

h6, .fs-h6 {
	font-size: clamp(1.125rem, 1.0227rem + 0.4091vw, 1.35rem);
	font-size: var(--fs-h6);
	line-height: 1.4;
}

p, .fs-p {
	font-size: var(--fs-body);
	font-weight: 400;
	line-height: 1.4;
	font-family: var(--body-font);
	margin: 0;
	margin-bottom: 1.5rem;
	padding: 0;
}
.gb-headline-pre {
	font-size: var(--fs-pre);
	text-transform: uppercase;
	letter-spacing: .1em;
}
.text-xxl {
	font-size: var(--fs-body-xxl);
}

.text-xl {
	font-size: var(--fs-body-xl);
}

.text-l {
	font-size: var(--fs-body-l);
}
.text-m {
	font-size: var(--fs-body-m);
}
.text-base {
	font-size: var(--fs-body);
}
.text-s {
	font-size: var(--fs-body-s);
	line-height: 1.25;
}
.text-xs {
	font-size: var(--fs-body-xs);
	line-height: 1;
}
.fw-regular {
	font-weight: 400;
}
.fw-medium {
	font-weight: 500;
}
.fw-semi-bold {
	font-weight: 600;
}
.fw-bold {
	font-weight: 700;
}
.fw-extra-bold {
	font-weight: 800;
}

/***
*
*
* 3. GLOBAL STYLES
*
*
* ***/

/* Sections */
.gb-container-section-xs {
	padding: 1rem clamp(1rem, 0.848rem + 0.0758vw, 1.5rem) 1rem clamp(1rem, 0.848rem + 0.0758vw, 1.5rem);
}
.gb-container-section-s {
	padding: clamp(1.5rem, 1.5rem + 0vw, 1.5rem) clamp(1rem, 0.848rem + 0.0758vw, 1.5rem)  clamp(1.5rem, 1.5rem + 0vw, 1.5rem) clamp(1rem, 0.848rem + 0.0758vw, 1.5rem);
}
.gb-container-section-m {
	padding: clamp(1.5rem, 1.197rem + 1.515vw, 2.5rem) clamp(1rem, 0.848rem + 0.0758vw, 1.5rem) clamp(1.5rem, 1.197rem + 1.515vw, 2.5rem) clamp(1rem, 0.848rem + 0.0758vw, 1.5rem);
}
/* d = default */
.gb-container-section-d {
	padding: clamp(3rem, 2.394rem + 3.03vw, 5rem) clamp(1rem, 0.848rem + 0.0758vw, 1.5rem) clamp(3rem, 2.394rem + 3.03vw, 5rem) clamp(1rem, 0.848rem + 0.0758vw, 1.5rem);
}
.gb-container-section-l {
	padding: clamp(4.5rem, 3.591rem + 4.545vw, 7.5rem) clamp(1rem, 0.848rem + 0.0758vw, 1.5rem) clamp(4.5rem, 3.591rem + 4.545vw, 7.5rem) clamp(1rem, 0.848rem + 0.0758vw, 1.5rem);
}
.gb-container-section-xl {
	padding: clamp(6rem, 4.788rem + 6.061vw, 10rem) clamp(1rem, 0.848rem + 0.0758vw, 1.5rem) clamp(6rem, 4.788rem + 6.061vw, 10rem)  clamp(1rem, 0.848rem + 0.0758vw, 1.5rem);
}

.gb-accord-product > summary {
  	list-style: none;
	position: relative;
	font-family: var(--gp-font--body); 
	font-size: 1rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-left: 1rem;
	padding-top: 0.5rem;
  	padding-bottom: 0.5rem;
	padding-right: 1rem;
  	background: var(--color-primary);
}
.gb-accord-product > a {
	font-family: var(--gp-font--body); 
	font-size: 1.1rem;
	text-decoration:none;
	pointer-events:auto;
	user-select: auto;
	padding-left: 1rem;
}
.gb-accord-product > summary:after {
   	content: "";
	display: inline-block;
	width: 0.5rem;
	height: 0.5rem;
	border: solid 2px black;
	border-left-color: transparent;
	border-bottom-color: transparent;
	margin-left: 1rem;
	transition: transform 0.2s;
	/*transform: rotate(-45deg) translate(-20%, 20%); Pilen Upp*/
	transform: rotate(135deg) translate(-20%, 20%);
}
.gb-accord-product {
	font-family: var(--gp-font--body); 
/*	border-radius: 0.375rem;
	margin-bottom: 0.5rem;
	padding-left: 1rem;
	padding-top: 0.5rem;
  	padding-bottom: 0.5rem;
	padding-right: 1rem;*/
	width: 100%;
	overflow:hidden;
	pointer-events: none;
	user-select: none;
	background: var(--color-yellow-300);
	margin-bottom: .5rem;
  /*	border-radius: 0.375rem;*/
		
}
.gb-accord-product:hover {
	background: var(--color-yellow-300);
}
.gb-accord-product-details {
	font-family: var(--gp-font--body); 
	margin-bottom: 0.1rem;
	padding-left: 0;
	padding-top: 0;
  	padding-bottom: 0;
	padding-right: 0;
	width: 100%;
	background: #fff;
	margin-bottom: 0.5rem;
 /* 	border-radius: 0.375rem;*/
}
.gb-accord-product-details > summary:after {
    content: "";
	display: inline-block;
	width: 0.5rem;
	height: 0.5rem;
	border: solid 2px black;
	border-left-color: transparent;
	border-bottom-color: transparent;
	margin-left: 1rem;
	transition: transform 0.2s;
	/*transform: rotate(-45deg) translate(-20%, 20%); Pilen Upp*/
	transform: rotate(135deg) translate(-20%, 20%);
	
}
.gb-accord-product-details > summary {
  	list-style: none;
	position: relative;
	font-family: var(--gp-font--body); 
	font-size: 1rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-left: 1rem;
	padding-top: 0.5rem;
  	padding-bottom: 0.5rem;
	padding-right: 1rem;

}
.gb-accord-product-details > a {
	font-family: var(--gp-font--body); 
	font-size: 1.1rem;
	text-decoration:none;
	pointer-events:auto;
	user-select: auto;
	padding-left: 1rem;
	background: var(--color-yellow-300);
}
.gb-accord-faq > summary {
  	list-style: none;
	position: relative;
	font-family: var(--gp-font--body); 
	font-size: clamp(1.125rem, 1rem + 0.625vw, 1.5rem); /*min 18 max 24 min viewport 320 max viewport 1280 root 16px viewport units Width vw */
}
.gb-accord-faq > summary:before {
   	content: "";
	display: inline-block;
	width: 0.6rem;
	height: 0.6rem;
	border: solid 4px black;
	border-left-color: transparent;
	border-bottom-color: transparent;
	margin-right: 1.4rem;
	transition: transform 0.2s;
	/*transform: rotate(-45deg) translate(-20%, 20%); Pilen Upp*/
	transform: rotate(45deg) translate(-20%, 20%);
}
.gb-accord-faq {
	font-family: var(--body-font); 

	border-radius: 1rem;
	margin-bottom: 1rem;
	padding-left: 1.5rem;
	padding-top: 1rem;
  	padding-bottom: 1rem;
	padding-right: 1.5rem;
	width: 100%;
	overflow:hidden;
		
}
.gb-accord-faq:hover {
	background-color: var(--color-primary)
}
.gb-accord-faq[open] > summary::before {
   transform: rotate(135deg) translate(-20%, 20%);
}
.gb-button-primary {
	background-color: var(--color-primary);
	color: var(--color-secondary);
	padding: clamp(0.75rem, 0.6279rem + 0.4651vw, 1rem) clamp(1rem, 0.5116rem + 1.8605vw, 2rem);
	font-family: var(--body-font); 
	font-size: 1rem;
	font-weight: 700;
    line-height: 1.2em;
	border-radius: 2rem;
	border: 1px solid var(--color-primary-dark-15);
	white-space: nowrap;
	user-select: none;
  	cursor: pointer;
	text-decoration: none;
}
.gb-button-primary:hover {
	background-color: var(--color-primary-dark-10);
    border-color: var(--color-primary-dark-15);
	color: var(--color-secondary);
}
.gb-button-primary:focus {
	color: var(--color-secondary);
}
.gb-button-secondary {
	background-color: var(--color-secondary);
	color: var(--color-white);
	padding: clamp(0.75rem, 0.6279rem + 0.4651vw, 1rem) clamp(1rem, 0.5116rem + 1.8605vw, 2rem);
	font-family: var(--body-font); 
	font-size: 1rem;
	font-weight: 700;
    line-height: 1.2em;
	border-radius: 2rem;
	border: 1px solid var(--color-secondary-alt);
	white-space: nowrap;
	user-select: none;
  	cursor: pointer;
	text-decoration: none;
}
.gb-button-secondary:hover {
	background-color: var(--color-secondary-alt);
    border-color: var(--color-secondary-alt);
	color: var(--color-white);
}
.gb-button-secondary:focus {
	color: var(--color-white);
}
.gb-button-primary-headings {
	background-color: var(--color-primary);
	color: var(--color-secondary);
	padding: clamp(0.75rem, 0.6279rem + 0.4651vw, 1rem) clamp(1rem, 0.5116rem + 1.8605vw, 2rem);
	font-family: var(--gp-font--headings); 
	font-size: var(--fs-body);
	font-weight: 700;
    line-height: 1.2em;
	border-radius: 2rem;
	border: 1px solid var(--color-primary-dark-15);
	white-space: nowrap;
	user-select: none;
  	cursor: pointer;
}
.gb-button-primary-headings:hover {
	background-color: var(--color-primary-dark-10);
    border-color: var(--color-primary-dark-15);
	color: var(--color-secondary);
}
.rounded-image {
	border-radius: 50%;
}

.gb-container.linked-container .gb-inside-container {
    position: relative;
}

.gb-container.linked-container a:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
}
/* SLIDER */
.rounded-image-slider *{
   border-radius: 50% !important;
}
.rounded-image-slider img{
	border: 8px solid #FFF8EB !important;
	overflow: hidden !important;
}
.product-link {
	font-size: 1rem;
	font-weight:500;
	color: var(--color-secondary);
}
.product-link:hover {
	font-weight:600;
	color: var(--color-secondary);
	cursor:pointer;
}
.gb-current-menu-item > a {
	font-weight: 600;
}
/*.light-modal {
	position:relative;
	z-index:999;
	overflow:hidden;
}*/
.about-us-svg {
	font-size: clamp(2.25rem, 1.7386rem + 2.0455vw, 3.375rem);
	line-height: 2rem;
	font-weight: 800;
}
.main-navigation a.gb-button-primary-menu {
	background-color: var(--color-primary);
	color: var(--color-secondary);
	padding: 0.5rem 1.5rem;
	font-family: var(--body-font); 
	font-size: 1rem;
	font-weight: 700;
    line-height: 1.2em;
	border-radius: 2rem;
	border: 1px solid var(--color-primary-dark-15);
	white-space: nowrap;
	user-select: none;
  	cursor: pointer;
	text-decoration: none;
}
.main-navigation a.gb-button-primary-menu:hover {
	background-color: var(--color-primary-dark-10);
    border-color: var(--color-primary-dark-15);
	color: var(--color-secondary);
}
.main-navigation a.gb-button-primary-menu:focus {
	color: var(--color-secondary);
}
/* SUB MENU */
.main-navigation .main-nav .menu .menu-item .sub-menu {
	background-color: var(--color-white);
	border-radius: 0.25rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	padding-top: 1rem;
	padding-bottom: 1rem;
}
.main-navigation .main-nav ul ul li a {
   	color: var(--color-black) !important;
	background-color: var(--color-white) !important;
}

.main-navigation .main-nav ul ul li a:hover,
.main-navigation .main-nav ul ul li a:focus {
   	color: var(--color-black) !important;
	font-weight: 600;
}
.main-navigation .main-nav ul ul li:focus {
   	color: var(--color-black);
	background-color: var(--color-white);
}
/* SUB MENU MOBILE */
.main-navigation.toggled .main-nav ul ul li a {
   	color: var(--color-white) !important;
	background-color: var(--color-secondary) !important;
}
.main-navigation.toggled .main-nav .menu .menu-item .sub-menu {
	background-color: var(--color-secondary);
	border-radius: 0;
	padding-left: 0;
	padding-right: 0;
	padding-top: 0.3rem;
	padding-bottom: 0.8rem;
	width:100%;
}
.main-navigation.toggled .main-nav ul li.unclickable > a {
    cursor: pointer !important;
}
/* TABLET */
@media (width> 769px) and (width < 1024px) {

}


@media (width < 640px) {
	/* TOP BAR */
	.pg-top-bar {
		display:none;
 	}
	.product-grid {
    	grid-template-columns: repeat(1,minmax(0,1fr));
 	}
}

/* MOBILE */
@media (width < 768px) {
/*	.pg-nav-buttons {
		display:none;
 	}*/
/*	.pg-nav-left {
		display:none;
 	}*/
	summary {
		font-size: 1.1rem;
	}

}
@media (width <= 865px) {
	.pg-nav-buttons {
		display:none;
 	}
	.pg-nav-left {
		display:none;
 	}
}

@media (width < 1024px) {
	.contact-grid  {
    	grid-template-columns: repeat(1,minmax(0,1fr));
 	}
	.gb-looper-470dc24a.team-members {
		grid-template-columns: repeat(1,minmax(0,1fr));
	}
	/* TOP BAR */
	.gb-element-af0b3c93 .gb-element-0a689f67 {
		grid-template-columns: repeat(1,minmax(0,1fr));
	}
	/* TOP BAR */
	.gb-element-0a689f67 .gb-element-33b0bf36 {
		text-align: left;
	}
}
@media (width <= 640px) {
	.gb-looper-436ee93b.product-grid,
	.gb-looper-ae304001.product-grid,
	.gb-looper-722932d0.product-grid {
		grid-template-columns: repeat(1,minmax(0,1fr));
	}
}
@media (width > 640px) {
	.gb-looper-436ee93b.product-grid,
	.gb-looper-ae304001.product-grid,
	.gb-looper-722932d0.product-grid {
		grid-template-columns: repeat(2,minmax(0,1fr));
	}
}
@media (width > 865px) {
	.nav-mobile-only {
		display:none;
	}
	/*.pg-gp-menu {*/
  /*  .site-header {
		position:sticky;
		top: 0;
		z-index: 900;
  	}*/
}
@media (width > 1024px) {
	.products-left-column {
		position:sticky;
		top:6rem;
	}
/*	.gb-looper-470dc24a.team-members {
		grid-template-columns: repeat(2,minmax(0,1fr));
	}*/
}
@media (width > 1500px) {
/*	.gb-looper-470dc24a.team-members {
		grid-template-columns: repeat(3,minmax(0,1fr));
	}*/
}

@media (width > 1536px) {
	.gb-looper-436ee93b.product-grid,
	.gb-looper-ae304001.product-grid,
	.gb-looper-722932d0.product-grid {
		grid-template-columns: repeat(4,minmax(0,1fr));
	}
}