/*
 Theme Name:   Understrap Child
 Theme URI:    https://understrap.com
 Description:  Understrap Child Theme
 Author:       the Understrap Contributors
 Author URI:   https://github.com/understrap/understrap-child/graphs/contributors
 Template:     understrap
 Version:      1.2.0
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  understrap-child
 Tags: one-column, custom-menu, featured-images, theme-options, translation-ready
 GitHub Theme URI: understrap/understrap-child


/*--------------------------------------------------------------
# GLOBAL VARIABLES
--------------------------------------------------------------*/

:root{
	/* Fonts
	--------------------------------------------- */
	--font-family-body: "poppins", sans-serif;
	--font-family-body-alt: "poppins", sans-serif;
	--font-family-heading: "poppins", sans-serif;

	/* Colours
	--------------------------------------------- */
    --color-theme-1: #ffc80b;
	--color-theme-2: #262626;
    --color-theme-3: #2f2f2f;
	--color-theme-3-rgb: 47,47,47;
	--color-theme-4: #f0f0f0;
	--color-theme-5: #c1c1c1;
    --color-theme-6: #ffffff;

	/* Filter colours
	Filters from black
	https://isotropic.co/tool/hex-color-to-css-filter/
	--------------------------------------------- */
	--filter-theme-6: invert(1);

	/* Text Colour */
	--color-font-heading: var(--color-theme-3);
	--color-font-body: var(--color-theme-3);


	/* Global sizes
	--------------------------------------------- */
	/* Container widths - Update if bootstrap container sizes are changed - used for calculations */
	--container: 100%;

	
	/* Main sizes predefined below. These can be used as standard spacing (margins / paddings etc).
	Sizes can be changed or other variables can be added according to the website needs */
	--spacing-1: 1rem;
	--spacing-2: 2rem;
	--spacing-3: 4rem;
	--spacing-4: 8rem;

	/* Gutter */
	--gutter-1: 5rem;

	/* Corner radius
	--------------------------------------------- */
	--radius-1: .5rem; /* Primarily used on buttons */
	--radius-2: .75rem;
	--radius-3: 1.5rem;
	--radius-4: 5rem;
	--radius-5: 50rem;

	/* Drop shadow
	--------------------------------------------- */
	--drop-shadow-1: 0 0.313rem 0.313rem 0.063rem rgb(0 0 0 / 10%);
	--drop-shadow-2: 0 0.375rem 0.375rem 0.375rem rgb(0 0 0 / 10%);

	/* Transition Time
	--------------------------------------------- */
	--transition-1: 0.3s;
	--transition-2: 0.5s;
	--transition-3: 0.1s;
	

	/* Headers */
	--details-height: 3.5rem;
	--header-height: 12rem;
	--hero-height: 35rem;

	/* Logo */
	--logo-size: 7.5rem;

	/* Curve */
	--curve-height: 2rem;

	/* Toggle */
	--toggle-width: 3.5rem;

	/* Font Awesome
	--------------------------------------------- */
	/* Free */
	--fa-font-free: 1rem "Font Awesome 5 Free" 900;
	/* Brands */
	--fa-font-brands: 1rem "Font Awesome 5 Brands" 400;


}
@media screen and (min-width: 768px) {
	:root {
			--spacing-1: 1.25rem;
			--spacing-2: 2.5rem;
			--spacing-3: 5rem;
			--spacing-4: 10rem;
		}
	}
@media screen and (min-width: 992px) {
	:root {
			/* Logo */
			--logo-size: 15rem;
		}
	}
/* Containers
--------------------------------------------- */
/* Add container declarations as adding new xxxl and xxxxl sizes*/
@media screen and (min-width: 576px) {
	:root {
		 --container: 540px;
	 }
 }
 @media screen and (min-width: 768px) {
	:root {
		 --container: 720px;
	 }
 }
 @media screen and (min-width: 992px) {
	:root {
		 --container: 960px;
	 }
 }
 @media screen and (min-width: 1200px) {
	:root {
		 --container: 1140px;
	 }
 }
 @media screen and (min-width: 1400px) {
	:root {
		 --container: 1320px;
	 }
 }
 @media screen and (min-width: 1900px) {
	:root {
		 --container: 1800px;
	 }
 }
 @media screen and (min-width: 2400px) {
	:root {
		 --container: 2200px;
	 }
 }
 
 /* Temp xxxl container fix */
 @media (min-width: 1900px) {
	 .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl, .container-xxxl {
		 max-width: 1800px;
	 }
	 .col-xxxl-6 {
			 flex: 0 0 auto;
			 width: 50%;
	 }
	 .col-xxxl-7 {
			 flex: 0 0 auto;
			 width: 58.33333333%;
	 }
	 .col-xxxl-8 {
		 flex: 0 0 auto;
		 width: 66.66666667%;
	 }
	 .col-xxxl-11 {
		 flex: 0 0 auto;
		 width: 91.66666667%;
	 }
	 .col-xxxl-12 {
			 flex: 0 0 auto;
			 width: 100%;
	 }
 }
 /* Temp xxxxl container fix */
 @media (min-width: 2400px) {
	 .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl, .container-xxxl, .container-xxxxl {
		 max-width: 2200px;
	 }
	 .col-xxxxl-6 {
			 flex: 0 0 auto;
			 width: 50%;
	 }
	 .col-xxxxl-7 {
			 flex: 0 0 auto;
			 width: 58.33333333%;
	 }
	 .col-xxxxl-8 {
		 flex: 0 0 auto;
		 width: 66.66666667%;
	 }
	 .col-xxxxl-11 {
		 flex: 0 0 auto;
		 width: 91.66666667%;
	 }
	 .col-xxxxl-12 {
			 flex: 0 0 auto;
			 width: 100%;
	 }
 }
 
 blockquote {
	 quotes: '\201C' '\201D';
 }

/* Selection
--------------------------------------------- */
::selection {
  background: var(--color-theme-1); /* WebKit/Blink Browsers */
  color: var(--color-theme-6);
}
::-moz-selection {
  background: var(--color-theme-1); /* Gecko Browsers */
  color: var(--color-theme-6);
}

/* Scrollbars
--------------------------------------------- */
body {
  /* Foreground, Background */
  scrollbar-color: var(--color-theme-1) var(--color-theme-3);
}
::-webkit-scrollbar {
  width: 10px; /* Mostly for vertical scrollbars */
  height: 10px; /* Mostly for horizontal scrollbars */
}
::-webkit-scrollbar-thumb { /* Foreground */
  background: var(--color-theme-1);
}
::-webkit-scrollbar-track { /* Background */
  background: var(--color-theme-3);
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

a {
	color: currentColor;
	transition: var(--transition-1);
}
figure {
	margin: 0;
}
.hidden {
	display: none;
}


/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	font-family: var(--font-family-body);
	color: var(--color-font-body);
	font-size: 1rem;
	line-height: 1.5;
}
h1, h2, h3, h4, h5, h6 {
	line-height: 1.1;
}
.h1, h1 {
	font-size: calc(1.375rem + 1.5vw);
	font-weight: 700;
}
@media (min-width: 1200px) {
    .h1, h1 {
		font-size: 3rem;
    }
}
.page-header h1, .page-header .h1 {
    font-size: calc(1.35rem + 1.5vw);
	font-weight: 600;
	text-transform: none;
}
@media (min-width: 1200px) {
    .page-header h1, .page-header .h1 {
        font-size: 2.25rem;
    }
}
.h2, h2 {
    font-size: calc(1.375rem + 1.5vw);
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 1.5rem;
}
@media (min-width: 1200px) {
    .h2, h2 {
        font-size: 2.5rem;
    }
}
.single h3 {
    font-size: calc(1.275rem + .3vw);
	font-weight: 700;
	margin-bottom: 1rem;
	margin-top: 2.5rem;
}
.single h4 {
	margin-top: 2.5rem;
}
@media (min-width: 1200px) {
    .single h3 {
        font-size: 1.5rem;
    }
}
ul, ol {
	margin-bottom: 2rem;
}
ol ol, ol ul, ul ol, ul ul {
	margin-bottom: 1.5rem;
}
li {
	margin-bottom: .5em;
}
ol li { 
    padding-inline-start: .5em;
}
ol li::marker { 
    font-weight: 500;
}


/* Coloured Backgrounds
--------------------------------------------- */
.bg-theme-1 {
	background: var(--color-theme-1)!important;
	color: var(--color-theme-2);
}
.bg-theme-2 {
	background: var(--color-theme-2)!important;
}
.bg-theme-3 {
	background: var(--color-theme-3)!important;
}
.bg-theme-4 {
	background: var(--color-theme-4)!important;
}
.bg-theme-5 {
	background: var(--color-theme-5)!important;
}
.bg-theme-6 {
	background: var(--color-theme-6)!important;
}

/* Dark
--------------------------------------------- */
.dark,
.dark p,
.dark ul {
	color: var(--color-theme-6);
}

/* Image wrapper
--------------------------------------------- */
.image-wrapper {
	position: relative;
	overflow: hidden;
}
.image-wrapper img,
.image-wrapper source {
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Text sizes
--------------------------------------------- */
.text-sm {
	font-size: .65em;
}
.text-md {
	font-size: 1em;
}
.text-lg {
	font-size: 1.1em;
}
.text-xl {
	font-size: 1.25em;
}
.text-xxl {
	font-size: 1.5em;
}
.text-xxxl {
	font-size: 1.75em;
}
@media (min-width: 768px) {
	.text-sm {
		font-size: .75em;
	}
	.text-md {
		font-size: 1em;
	}
	.text-lg {
		font-size: 1.125em;
	}
	.text-xl {
		font-size: 1.375em;
	}
	.text-xxl {
		font-size: 1.625em;
	}
	.text-xxxl {
		font-size: 1.875em;
	}
}

/* Lists */
ol.lower-alpha {
	list-style-type: lower-alpha;
}
ol.lower-roman {
	list-style-type: lower-roman;
}


/* Buttons
--------------------------------------------- */
.btn, .btn:visited {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: 1rem;
	font-weight: 600;
	color: var(--color-theme-6);
	text-transform: uppercase;
	padding: .75em 2em;
	border: none;
	border-radius: var(--radius-4);
	background-color: var(--color-theme-3);
	transition: var(--transition-1);
}
.btn:hover, .btn:active {
	background-color: rgba(var(--color-theme-3-rgb),0.7);
	color: var(--color-theme-6);
}
.btn:focus {
	box-shadow: none;
}

/* Button List
--------------------------------------------- */
ul.button-list {
	list-style: none;
	margin: 2rem 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .75rem .5rem;
}
ul.button-list li {
	padding: 0;
	margin: 0;
}
ul.button-list a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: 1rem;
	font-weight: 600;
	color: var(--color-theme-2);
	text-transform: uppercase;
	padding: .75em 2em;
	border: none;
	border-radius: var(--radius-4);
	background-color: var(--color-theme-1);
	transition: var(--transition-1);
	text-decoration: none;
}
ul.button-list a:hover {
	color: var(--color-theme-6);
	background-color: var(--color-theme-3);
}
ul.button-list.no-link li {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: 1rem;
	font-weight: 600;
	color: var(--color-theme-2);
	text-transform: uppercase;
	padding: .75em 2em;
	border: none;
	border-radius: var(--radius-4);
	background-color: var(--color-theme-1);
	transition: var(--transition-1);
	text-decoration: none;
}

/* Dash
--------------------------------------------- */
.dash {
	position: relative;
	padding-bottom: .35em;
}
.dash::after {
	content: "";
	display: block;
	width: 3rem;
	height: .313rem;
	background: var(--color-theme-1);
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
}
/* Curve
--------------------------------------------- */
.has-curve {
	position: relative;
}
.has-curve::after {
	content: "";
	display: block;
	width: 100%;
	height: var(--curve-height);
	position: absolute;
	bottom: calc(var(--curve-height) * -1);
	right: 0;
	z-index: 1;
	background: var(--color-theme-6);
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1417.326' height='283.463' xml:space='preserve' preserveAspectRatio='none'%3E%3Cpath d='M1417.326 0C1232.96 175.64 983.403 283.463 708.664 283.463 433.923 283.463 184.366 175.64 0 0h1417.326z'/%3E%3C/svg%3E");
	mask-size: 100% 100%;
}
.has-curve.bg-theme-1::after{
	background: var(--color-theme-1);
}

/* Layout
--------------------------------------------- */
.site {
	position: relative;
}

/* Site Header
--------------------------------------------- */
.site-header {
	position: relative;
}
#masthead {
	background: var(--color-theme-6);
	position: fixed;
	width: 100%;
	z-index: 1050;
	--logo-size: calc(var(--details-height) * 0.9);
}
.site-header.fixed #masthead {
	box-shadow: var(--drop-shadow-1);
}
@media (min-width: 768px) {
	body:not(.mega-menu-primary-mobile-open) .site-header:not(.fixed) #masthead {
		--logo-size: 7.5rem;
	}
}
@media (min-width: 992px) {
	body:not(.mega-menu-primary-mobile-open) .site-header.fixed #masthead {
		--logo-size: 6rem;
	}
	body:not(.mega-menu-primary-mobile-open) .site-header:not(.fixed) #masthead {
		position: initial;
		--logo-size: 15rem;
	}
}
#masthead > .container {
	position: relative;
}
#masthead .site-details {
	position: absolute;
	padding: 0;
	z-index: 1010;
	min-height: var(--details-height);
	display: flex;
	align-items: center;
	width: 100%;
	max-width: calc(var(--container) - var(--bs-gutter-x) - var(--toggle-width));
}
@media (min-width: 992px) {
	#masthead .site-details {
		width: auto;
	}
}

.site-header .site-details .site-title {
	font-size: 1.4rem;
	max-width: 10em;
	transition: var(--transition-1);
	margin-left: calc(var(--logo-size) + (var(--logo-size) / 12) + .5rem);
}
.site-header .custom-logo-link {
	max-width: var(--logo-size);
	display: block;
	position: absolute;
	outline: calc(var(--logo-size) / 24) solid var(--color-theme-6);
	border-radius: 50%;
	z-index: 1010;
	top: calc(var(--logo-size) / 12);
}
@media (max-width: 991px) {
	#masthead .site-navigation {
		background: var(--color-theme-6)!important;
	}
}
@media (min-width: 992px) {
	#masthead {
		padding-top: .75rem;
	}
	#masthead .site-details {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-end;
		position: relative;
		padding-bottom: .5rem;
		margin-left: calc(var(--logo-size) + 3rem);
	}
}

@media (min-width: 768px) {
    .site-header .custom-logo-link {
		outline: calc(var(--logo-size) / 12) solid var(--color-theme-6);
	}
}
@media (min-width: 992px) {
	.site-header .site-details .site-title {
		font-size: 2.75rem;
		max-width: unset;
		margin-left: 0;
		transition: var(--transition-1);
	}
}
@media (min-width: 1400px) {
	.site-header .site-details .site-title {
		font-size: 3rem;
	}
}

/* @media (max-width: 767px) {
    #masthead .custom-logo-link {
        --logo-size: calc(var(--details-height) * 0.9);
    }
} */
/* @media (max-width: 991px) {
	.site-header .custom-logo-link {
		--logo-size: var(--details-height);
	}
	.site-header.fixed .custom-logo-link,
	.mega-menu-primary-mobile-open .custom-logo-link {
		outline: calc(var(--details-height) / 24) solid var(--color-theme-6);
		z-index: 1015;
		top: .25rem;
	}
	.site-header .site-title,
	.site-header.fixed .site-title,
	.mega-menu-primary-mobile-open .site-title{
		margin-left: calc(var(--logo-size) + (var(--logo-size) / 12));
	}
} */
@media (min-width: 992px) {
	.site-header .custom-logo-link {
		top: 0;
	}
}
.site-title {
	font-size: 3rem;
	line-height: 1;
	margin: 0;
	flex: 1 1 auto;
}
.header-contact-desktop {
	flex: 1 1;
}
.header-contact {
	font-size: .8rem;
	font-weight: 600;
	line-height: 1.1;
	text-transform: uppercase;
	text-align: right;
	margin: 0;
	white-space: nowrap;
}
.header-contact span {
	font-size: 1.75em;
	font-weight: 700;
	text-transform: uppercase;
}
@media (min-width: 992px) {
	.header-contact {
		font-size: 1.125rem;
		font-weight: 600;
		line-height: 1.1;
		text-transform: uppercase;
		text-align: right;
		margin: 0;
	}
	.header-contact span {
		font-size: 2em;
	}
}
.header-contact a {
	color: var(--color-font-body);
	text-decoration: none;
}
.header-contact .tel::before {
	color: var(--color-theme-1);
}
.mobile-contact {
    padding-top: .5rem;
    padding-bottom: .5rem;
    position: absolute;
    width: 100%;
    z-index: 10;
    bottom: 0;
    background: rgba(255, 255, 255, 0.75);
}
@media (min-width: 992px) and (max-width: 1399px) {
	.mobile-contact {
		padding: .5rem 1rem;
	    width: auto;
		right: 1rem;
	    bottom: 1rem;
		border-radius: var(--radius-1);
	}
}
.mobile-contact > .container{
	display: flex;
	justify-content: center;
}
.mobile-contact .header-contact{
	display: flex;
    flex-direction: column;
    align-items: center;
}
/* Page Header
--------------------------------------------- */
.page-header .header-container {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
}
@media (min-width: 992px) {
	.page-header .header-container {
		flex-direction: row;
		min-height: var(--header-height);
	}
}
.page-header .header-image {
	min-height: var(--header-height);
	flex: 1 1;
	order: -1;
}
@media (min-width: 992px) {
	.page-header .header-image {
		clip-path: polygon(5rem 0%, 100% 0, 100% 100%, 0% 100%);
		order: unset;
	}
}
.page-header .header-content {
	margin: 0 auto;
	padding: 1rem;
    width: var(--container);
    display: flex;
    flex-direction: column;
    justify-content: center;
	text-align: center;
}
@media (min-width: 992px) {
	.page-header .header-content {
		margin-left: calc((100vw - var(--container)) / 2);
		padding-left: 0;
		padding-right: 0;
		width: calc((var(--container) / 3) + 1rem);
		margin-top: calc(var(--logo-size) - 2.5rem);
		text-align: left;
	}
}
.hero-header .header-container {
	min-height: var(--hero-height);
}


/* Site Footer
--------------------------------------------- */
.site-footer {
	padding-top: var(--spacing-3);
	padding-bottom: var(--spacing-3);
	text-align: center;
}
@media (min-width: 992px) {
	.site-footer {
		text-align: left;
	}
}
.footer-logo {
	max-width: var(--logo-size)!important;
	margin-bottom: var(--spacing-2);
}
@media (min-width: 992px) {
	.footer-logo {
		max-width: 10rem!important;
		margin-bottom: var(--spacing-3);
	}
}
.colophon {
	padding-top: var(--spacing-1);
	padding-bottom: var(--spacing-1);
}
.site-footer h2 {
	color: var(--color-theme-1);
	font-size: 1em;
	margin-top: var(--spacing-3); 
	margin-bottom: 1.25rem;
}
@media (min-width: 992px) {
	.site-footer h2 {
		margin-top: 0; 
	}
}
.site-footer .methods p {
	margin-bottom: 0;
}
.site-footer a {
	color: var(--color-theme-6);
	text-decoration: none;
}
.site-footer a:hover {
	color: var(--color-theme-1);
}
.footer-nav .menu {
	list-style: none;
	margin-left: 0;
	padding: 0;
}
.footer-nav .menu-item {
	margin-bottom: .5em;
}
.footer-nav a {
	color: var(--color-theme-6);
	text-decoration: none;
}
.footer-nav a:hover {
	color: var(--color-theme-1);
}
.colophon {
	color: var(--color-theme-6);
	font-size: .8em;
	text-align: center;
}
@media (min-width: 992px) {
	.colophon {
		text-align: right;
	}
}

.aside-benefits {
	padding-top: var(--spacing-2);
	padding-bottom: var(--spacing-2);
}
.aside-benefits > .container {
	--bs-gutter-x: var(--gutter-1);
}


/* Parts
--------------------------------------------- */
/* Benefits */
.part-benefits {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2rem;
	font-weight: 600;
}
.part-benefits .benefit {
	width: 100%;
	max-width: calc(50% - (2rem / 2));
	text-align: center;
}
.part-benefits .benefit img {
    max-width: 75%;
	max-width: 50%;
}
@media (min-width: 768px) {
	.part-benefits .benefit {
		max-width: calc(33.3333% - (4rem / 3));
	}
}
@media (min-width: 992px) {
	.part-benefits .benefit {
		max-width: 16.25rem;
	}
}
@media (min-width: 1200px) {
	.part-benefits {
		gap: 4rem;
	}
}

.part-benefits figcaption {
	font-size: .85em;
	margin-top: 1rem;
}
/* Services */
.part-services {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2rem;
	margin-top: var(--spacing-2);
	margin-bottom: var(--spacing-2);
}
.part-services .service {
	font-weight: 700;
	text-transform: uppercase;
	max-width: calc(50% - (2rem / 2));
}
@media (min-width: 1200px) {
	.part-services .services {
		--bs-gutter-x: 1.5rem;
	}
	.part-services .service {
		max-width: 10rem;
	}
}
.part-services .service-image-wrapper {
	display: block;
	max-width: 8rem;
	border: solid .25rem var(--color-theme-3);
	border-radius: 50%;
	padding: 15%;
}
@media (min-width: 1200px) {
	.part-services .service-image-wrapper {
		max-width: 9rem;
	}
}
.part-services .service figcaption {
	margin-top: 1rem;
	text-align: center;
}
/* Dots */
.part-dots {
	padding-top: var(--spacing-3);
	padding-bottom: var(--spacing-3);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.5rem;
}
.part-dots .dot {
	width: 1rem;
	aspect-ratio: 1 / 1;
	background: var(--color-theme-3);
	border-radius: 50%;
}

.breadcrumbs, .woocommerce-breadcrumb {
	font-size: .8em!important;
	text-align: right;
	margin-bottom: .5rem;
	color: var(--color-font-body)!important;
}
.breadcrumbs a, .woocommerce-breadcrumb a {
	color: currentColor;
	text-decoration-color: transparent;
}
.breadcrumbs a:hover, .woocommerce-breadcrumb a:hover {
	text-decoration-color: currentColor;
}
.woocommerce-breadcrumb .crumb:last-child {
	font-weight: 600;
}

/* Pages
--------------------------------------------- */
.wrapper {
    padding-top: var(--spacing-2);
	padding-bottom: var(--spacing-3);
}
.home .wrapper {
	padding-top: 0;
	padding-bottom: 0;
}
.entry-header {
	text-align: center;
	margin-bottom: var(--spacing-2);
}
article .h2, article h2,
article .h3, article h3,
article  .h4, article h4 {
	margin-top: 3.5rem;
	margin-bottom: 1.5rem;
}
article .h2:first-child, article h2:first-child,
article .h3:first-child, article h3:first-child,
article  .h4:first-child, article h4:first-child {
	margin-top: 0;
}

/* Contact Page Template */


/* Home Page
--------------------------------------------- */
/* Contact section */
.home-contact {
	padding-top: calc(var(--spacing-3) + var(--curve-height));
	padding-bottom: var(--spacing-3);
	font-weight: 500;
	text-align: center;
}
@media (min-width: 992px) {
	.home-contact {
		text-align: left;
	}
}
.home-contact > .container {
	--bs-gutter-x: var(--gutter-1);
}
.home-contact .col-icon {
	display: flex;
	justify-content: center;
	font-size: 12rem;
}
.home-contact .tel {
	font-weight: 500;
	font-size: 2rem;
	color: currentColor;
	font-weight: 600;
}
.home-contact footer {
	margin-top: var(--spacing-2);
}
/* Provide section */
.home-provide {
	padding-top: var(--spacing-3);
	padding-bottom: var(--spacing-3);
	text-align : center;
}
.home-provide > .container {
	--bs-gutter-x: var(--gutter-1);
}
.home-provide .part-services {
	margin-top: 0;
	margin-bottom: 0;
}
/* Product Categories section */
.home-product-categories {
	padding-top: var(--spacing-3);
	padding-bottom: var(--spacing-3);
	text-align : center;
}
.home-product-categories > .container {
	--bs-gutter-x: var(--gutter-1);
}
.product-categories-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem;
}
.product-category {
	display: flex;
	flex-direction: column;
	width: calc(50% - (1rem / 2));
	/* background: var(--color-theme-1); */
	border-radius: var(--radius-3);
	overflow: hidden;
	text-decoration: none;
}
@media (min-width: 768px) {
	.product-category {
		width: calc(33.3333% - (2rem / 3));
	}
}
@media (min-width: 992px) {
	.product-category {
		width: calc(25% - (3rem / 4));
	}
}
@media (min-width: 1200px) {
	.product-category {
		width: calc(20% - (4rem / 5));
	}
}
.product-category .category-title,
.woocommerce-loop-category__title {
	display: flex;
	justify-content: center;
    align-items: center;
    text-align: center;
	background: var(--color-theme-3);
	color: var(--color-theme-6);
	flex: 1 1;
	padding: .5rem 1rem;
	min-height: 3.25rem;
}
.product-category .category-title h3 {
	font-size: 1rem;
	text-transform: uppercase;
	margin: 0;
}
.product-category .category-title .count,
.woocommerce-loop-category__title .count {
	display: none;
}
.product-category .image-wrapper {
	aspect-ratio: 4 / 3;
}

/* WOOCOMMERCE */
.alert-info, .woocommerce-info {
    --bs-alert-color: var(--color-font-body);
    --bs-alert-bg: var(--color-theme-1);
    --bs-alert-border-color: transparent;
}
.woocommerce-info::before {
    color: var(--color-font-body);
}

/* Product Archive */
.woocommerce-ordering,
.woocommerce-result-count {
	display: none;
}
.woocommerce-products-header__title {
    font-size: calc(1.375rem + 1.5vw);
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 1em;
	text-align: center;
	padding-bottom: .35em;
	position: relative;
}
@media (min-width: 1200px) {
    .woocommerce-products-header__title {
        font-size: 2.5rem;
    }
}
.woocommerce-products-header__title::after {
    content: "";
    display: block;
    width: 3rem;
    height: .313rem;
    background: var(--color-theme-1);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
}
.category-header {
	text-align: center;
}
.woocommerce ul.products {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem;
}
.woocommerce ul.products:has(.type-product) {
	gap: 4rem 1rem;
}
.woocommerce ul.products::before {
    content: none;
}
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
    float: none;
    margin: 0;
    padding: 0;
    position: relative;
}
.woocommerce ul.products li.product {
	display: flex;
	flex-direction: column;
	width: calc(50% - (1rem / 2));
}
.woocommerce ul.products li.product a {
	display: flex;
	flex-direction: column;
	gap: .5rem;
	text-decoration: none;
	height: 100%;
}

@media (min-width: 768px) {
	.woocommerce ul.products li.product {
		width: calc(33.3333% - (2rem / 3));
	}
}
@media (min-width: 992px) {
	.woocommerce ul.products li.product {
		width: calc(25% - (3rem / 4));
	}
}
.woocommerce ul.products li.product .image-wrapper {
	aspect-ratio: 4 / 3;
}
.woocommerce ul.products li.product .image-wrapper img {
	object-fit: contain;
	width: 100%;
	height: 100%;
	margin: 0;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    display: flex;
    text-align: center;
    justify-content: center;
    align-items: center;
    flex: 1 1;
    margin: 0;
    padding: 0.5em;
    color: var(--color-font-body);
	font-size: .8rem;
	font-weight: 700;
	line-height: 1.25;
	background: var(--color-theme-1);
}
.woocommerce ul.products li.product a .link-text {
    color: var(--color-font-body);
	font-size: .8rem;
	font-weight: 600;
	text-transform: uppercase;
	text-align: center;
}
.woocommerce ul.products li.product a .link-text span {
    position: relative;
    padding-bottom: .2rem;
}
.woocommerce ul.products li.product a .link-text span::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .2em;
    background-color: var(--color-theme-1);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform var(--transition-1);
}
.woocommerce ul.products li.product a:hover .link-text span::after,
.woocommerce ul.products li.product a:focus .link-text span::after {
    transform: scaleX(1);
}
@media (min-width: 1200px) {
	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.woocommerce ul.products li.product a .link-text {
		font-size: .9rem;
	}
}
/* Product categories */
.woocommerce ul.products li.product-category a {
    gap: 0;
}
.woocommerce ul.products li.product-category a img {
    margin: 0;
}
.product-categories-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem;
}
.woocommerce ul.products li.product-category {
	display: flex;
	flex-direction: column;
	width: calc(50% - (1rem / 2))!important;
	/* background: var(--color-theme-1); */
	border-radius: var(--radius-3);
	overflow: hidden;
	text-decoration: none;
	float: none!important;
	margin: 0!important;
}
@media (min-width: 768px) {
	.woocommerce ul.products li.product-category {
		width: calc(33.3333% - (2rem / 3))!important;
	}
}
@media (min-width: 992px) {
	.woocommerce ul.products li.product-category {
		width: calc(25% - (3rem / 4))!important;
	}
}
@media (min-width: 1200px) {
	.woocommerce ul.products li.product-category {
		width: calc(20% - (4rem / 5))!important;
	}
}
.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
	font-weight: 500;
	padding: 0.5rem 1rem;
}

/* Single Products */
.single-product .wrapper {
	padding: 0;
	padding-top: var(--spacing-2);
}
.single-product .wrapper > .container {
	max-width: unset;
	padding: 0;
}
.single-product .product_meta {
	display: none;
}
.woocommerce div.product div.images img {
    display: block;
    width: auto;
    height: auto;
    max-height: 37.5rem;
    box-shadow: none;
    margin: 0 auto;
	margin-bottom: 1rem;
}
.woocommerce div.product div.images .flex-control-thumbs li {
    width: 20%;
    margin-right: .5rem;
    border: 1px solid var(--color-theme-5);
}
/* .single-product .product-image img {
	display: block;
	max-height: 37.5rem;
	margin: 0 auto;
} */
.single-product article .row {
	--bs-gutter-x: 5rem;
}
.product-intro {
	padding-top: var(--spacing-2);
	padding-bottom: var(--spacing-3);
}
.product-intro > .container {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 1rem;
}
/* .woocommerce #content div.product div.summary,
.woocommerce div.product div.summary,
.woocommerce-page #content div.product div.summary,
.woocommerce-page div.product div.summary {
    float: none;
    width: auto;
    clear: none;
} */
/* .woocommerce #content div.product div.images,
.woocommerce div.product div.images,
.woocommerce-page #content div.product div.images,
.woocommerce-page div.product div.images {
    float: none;
    width: auto;
} */
.woocommerce #content div.product div.summary {
	margin-bottom: 1rem;
}
.woocommerce #content div.product div.summary .price {
	display: none;
}
.woocommerce.single-product .product-content {
	margin-bottom: var(--spacing-2);
}
.woocommerce.single-product .details-block h4 {
	font-size: 1.125rem;
	font-weight: 600;
	margin-top: 1.4rem;
}
@media (min-width: 992px) {
	/* .product-intro > .container {
		display: block;
	}*/
	.woocommerce.single-product div.summary,
	/* .woocommerce.single-product .woocommerce-product-gallery__wrapper, */
	.woocommerce.single-product .product-content {
		width: calc(50% - (1rem / 2)) !important;
	}
	.woocommerce.single-product .summary,
	.woocommerce.single-product .product-content {
		float: right!important;
	}
	/* .woocommerce.single-product .woocommerce-product-gallery__wrapper {
		float: left!important;
	} */
	.single-product::after {
		content: "";
		display: block;
		clear: both;
	}	
}
.product-title {
	font-weight: 600;
	text-transform: none;
	background: var(--color-theme-1);
	padding: .25em .5em;
}
.subtitle {
	font-weight: 700;
	font-size: 1.1em;
	margin-bottom: 0;
}
.product-section {
	padding-top: var(--spacing-3);
	padding-bottom: var(--spacing-3);
	clear: both;
}
.product-section h2:first-child,
.product-section h3:first-child,
.product-section h4:first-child {
	margin-top: 0;
}
.product-section header {
	text-align: center;
}
/* Product Details section */
.product-details .row {
	--bs-gutter-x: 4rem;
}
/* .product-details > .container {
	padding-top: var(--spacing-3);
	border-top: .125rem solid rgba(var(--color-theme-3-rgb),0.2);
} */
.product-details .row {
	padding-top: var(--spacing-3);
	border-top: .125rem solid rgba(var(--color-theme-3-rgb),0.2);
}
/* Product Technical Data section */
.product-technical-data {
	padding-top: var(--spacing-3);
	padding-bottom: var(--spacing-3);
}
/* Product Dimensions section */
.product-dimensions {
	padding-top: var(--spacing-3);
	padding-bottom: var(--spacing-3);
}
.dimensions-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 3rem;
}
.col-dimensions-table {
	flex: 1 1;
}

/* Font Awesome
--------------------------------------------- */
.fa-icon::before {
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
}

.tel a {
	text-decoration: none;
	color: currentColor;
}
.tel::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f098";
	margin-right: .375em;
}

/* Navigation
--------------------------------------------- */
.site-navigation {
	position: absolute;
	width: 100%;
	z-index: 1000;
	top: 0;
}
@media (max-width: 991px) {
	.site-navigation .container {
		max-width: unset;
		padding: 0;
	}
	.site-header.fixed .site-navigation {
		box-shadow: var(--drop-shadow-1);
	}
}
@media (min-width: 992px) {
	.site-navigation {
		position: relative;
		width: auto;
	}
	.site-navigation #mega-menu-wrap-primary {
		margin-left: calc(var(--logo-size) + 3rem - 1.25em);
		background: var(--color-theme-1);
		display: flex;
	}
	.site-navigation #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
		line-height: 1.1;
		padding: .5em 1.25em;
		vertical-align: unset;
		width: auto;
		height: auto;
		color: var(--color-theme-3);
		font-size: 1rem;
		font-weight: 600;
		text-transform: uppercase;
		transition: var(--transition-1);
	}
	.site-navigation #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover,
	.site-navigation #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link,
	.site-navigation #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current_page_item > a.mega-menu-link,
	.site-navigation #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
	.site-navigation #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-parent > a.mega-menu-link {
		color: var(--color-theme-6);
	}
}

#mega-menu-wrap-primary #mega-menu-primary {
    width: 100%;
}
.site-header #mega-menu-wrap-primary .mega-menu-toggle {
    min-height: var(--details-height);
    /* box-shadow: var(--drop-shadow-1); */
    position: relative;
    width: var(--toggle-width);
    margin-left: auto;
}
.site-navigation #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item {
    padding: 0;
}
.site-navigation #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
    padding-left: 1rem;
	padding-right: 1rem;
}
.site-navigation #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item a.mega-menu-link {
    padding: .75rem 1rem;
	font-size: .875rem;
	font-weight: 500;
	line-height: 1.25;
    text-transform: none;
	transition: var(--transition-1);
}
.site-navigation #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item a.mega-menu-link:hover {
    background: var(--color-theme-1);
}
@media only screen and (min-width: 992px) {
    #mega-menu-wrap-primary #mega-menu-primary[data-effect="fade_up"] li.mega-menu-item.mega-menu-megamenu > ul.mega-sub-menu, #mega-menu-wrap-primary #mega-menu-primary[data-effect="fade_up"] li.mega-menu-item.mega-menu-flyout ul.mega-sub-menu {
        padding: 1rem;
		box-shadow: var(--drop-shadow-1);
    }
	.site-navigation #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item a.mega-menu-link {
		font-size: 1rem;
	}
}


















/* TablePress */
body .tablepress {
	--head-bg-color: var(--color-theme-1);
}




