/*
Website header
above-the-fold
/assets/css/header.css
*/

/*
 * Variables
 */

:root {
	--border-width-big: 4px;
	--border-width-small: 2px;
	--color-black-1: #000000;
	--color-white-1: #ffffff;
	--font-body: 'Plus Jakarta Sans', sans-serif;
	--font-size-1: 1rem;
	--font-size-1_25: 0.875rem;
	--font-size-2: clamp(1.5rem, 2.5vw, 2rem);
  --transition-func: ease-in-out;
	--transition-speed: 0.3s;
}

/*
 * Fonts
 */

@font-face {
	font-family: 'Plus Jakarta Sans';
	src: url('/wp-content/themes/hello-theme-child-master/assets/fonts/subset-PlusJakartaSans-Regular.woff2') format('woff2'),
			url('/wp-content/themes/hello-theme-child-master/assets/fonts/subset-PlusJakartaSans-Regular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Plus Jakarta Sans';
	src: url('/wp-content/themes/hello-theme-child-master/assets/fonts/subset-PlusJakartaSans-ExtraBold.woff2') format('woff2'),
			url('/wp-content/themes/hello-theme-child-master/assets/fonts/subset-PlusJakartaSans-ExtraBold.woff') format('woff');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Plus Jakarta Sans';
	src: url('/wp-content/themes/hello-theme-child-master/assets/fonts/subset-PlusJakartaSans-Bold.woff2') format('woff2'),
			url('/wp-content/themes/hello-theme-child-master/assets/fonts/subset-PlusJakartaSans-Bold.woff') format('woff');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Plus Jakarta Sans';
	src: url('/wp-content/themes/hello-theme-child-master/assets/fonts/PlusJakartaSans-SemiBold.woff2') format('woff2'),
			url('/wp-content/themes/hello-theme-child-master/assets/fonts/PlusJakartaSans-SemiBold.woff') format('woff');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

body {
	overflow-x: hidden;
	scroll-behavior: smooth;
}

html,
body,
body *:not(i) {
	font-family: var(--font-body) !important;
}

a,
button {
	border-radius: 0 !important;
}

.container--top-border {
	border-bottom: 1px solid var(--color-border-1);
	border-top: 1px solid var(--color-border-1);
}

.ac-fs {
	align-content: flex-start;
}

/*
 * Header
 */

.acf-sticky-header .elementor-location-header {
	background: var(--e-global-color-primary);
}

.elementor-location-header > div:nth-of-type(1) {
	background: unset !important;
	box-shadow: unset !important;
	position: static !important;
	top: 0 !important;
}

.elementor-location-header > div:nth-of-type(2) {
	display: none;
}

.elementor-location-header .current-menu-item a {
	color: var(--e-global-color-primary) !important;
}

/*
 * Logo
 */

.cust-logo {
	min-height: unset;
}

.elementor-location-header:has(.elementor-active) .cust-logo {
	background: unset;
	z-index: 99999;
}

.cust-logo img {
	aspect-ratio: 180/88.8;
	height: auto !important;
	max-width: 180px !important;
	transition: 0.3s filter ease-in-out;
	width: 50vw !important;
}

.acf-sticky-header .cust-logo img {
	filter: contrast(0) brightness(10);
}

.elementor-location-header:has(.elementor-active) .cust-logo img {
	filter: none;
}

/*
 * Top bar text color
 */

.acf-sticky-header .elementor-location-header .elementor-icon-list-text {
	color: var(--color-white-1) !important;
}

/*
 * Top bar button
 */

.acf-sticky-header .header-tel {
	color: var(--color-white-1);
}

.elementor-location-header .button-small .elementor-button {
	background: var(--e-global-color-primary) !important;
	border-color: var(--e-global-color-primary) !important;
	border-width: var(--border-width-big) !important;
	color: var(--color-white-1) !important;
	font-weight: 700 !important;
	transition: var(--transition-speed) color var(--transition-func), var(--transition-speed) background var(--transition-func);
}

.elementor-location-header .elementor-button:hover,
.elementor-location-header .elementor-button:active,
.elementor-location-header .elementor-button:focus {
	background: var(--color-white-1) !important;
	color: var(--e-global-color-primary) !important;
}

/*
 * Header burger button - Active
 */

body .elementor-nav-menu--dropdown-tablet .elementor-menu-toggle.elementor-active {
	position: relative;
	z-index: 9999;
}

body .elementor-nav-menu--dropdown-tablet .elementor-menu-toggle,
body .elementor-nav-menu--dropdown-tablet .elementor-nav-menu--dropdown {
	display: flex;
}

/* 
 * Hides header burger button SVG
 */

body .elementor-element div.elementor-menu-toggle > svg {
	display: none;
}

/*
 * Header burger button
 */

body .elementor-element div.elementor-menu-toggle {
	border: 0 !important;
	height: 2rem;
	margin-top: 6px;
	outline: unset !important;
	padding: 0;
	position: relative;
	width: 2rem;
	--deg: 68deg;
}

/*
 * Header burger button icon
 */

.elementor-menu-toggle__icon--open,
body .elementor-menu-toggle__icon--open svg {
	width: 100%;
}

.elementor-menu-toggle__icon--open svg tspan {
	fill: white !important;
	font-size: 0.5rem !important;
	font-weight: 400 !important;
	/* fill: red !important; */
}

body .elementor-element div.elementor-menu-toggle::before,
body .elementor-element div.elementor-menu-toggle::after {
	background: var(--color-white-1);
	content: '';
	height: 2px;
	position: absolute;
	transition: var(--transition-speed) background var(--transition-func), var(--transition-speed) transform var(--transition-func);
	top: 0;
	width: 100%;
}

body .elementor-element div.elementor-menu-toggle.elementor-active::before,
body .elementor-element div.elementor-menu-toggle.elementor-active::after {
	background: var(--e-global-color-primary);
}

body .elementor-element div.elementor-menu-toggle::before {
	transform-origin: right top;
}

body .elementor-element div.elementor-menu-toggle.elementor-active::before {
	transform: translate3d(-6px, 0, 0) rotate3d(1, 0, 1, calc(var(--deg) * -1)) scale3d(1, 1, 1);
}

body .elementor-element div.elementor-menu-toggle::after {
	top: 8px;
	transform-origin: left top;
}

body .elementor-element div.elementor-menu-toggle.elementor-active::after {
	transform: translate3d(6px, -8px, 0) rotate3d(1, 0, 1, var(--deg)) scale3d(1, 1, 1);
}

/*
 * Flyout menu
 */

body .elementor-nav-menu--stretch .elementor-nav-menu__container.elementor-nav-menu--dropdown {
	bottom: 0;
	left: 0 !important;
	height: 100vh !important;
	max-height: 100vh !important;
	padding-top: 190px;
	position: fixed;
	top: 0 !important;
	transform: translate3d(100vw, 0, 0) !important;
	width: 100vw !important;
}

/*
 * Hides desktop menu
 */

.elementor-nav-menu--dropdown-tablet .elementor-nav-menu--main {
	display: none;
}

/*
 * Active flyout menu
 */

body .elementor-nav-menu--toggle .elementor-menu-toggle.elementor-active+.elementor-nav-menu__container {
	transform: translate3d(0, 0, 0) !important;
}

/*
 * H1
 */

body:not(.home) .elementor h1,
body:not(.home) .elementor h1.e-heading-base {
	/*font-size: var(--fs-76);*/
	line-height: 1.02;
  letter-spacing: -0.025em;
	margin-bottom: 1rem;
}

/*
 * H2
 */

body:not(.home) .elementor h2,
body:not(.home) .elementor h2.e-heading-base {
	/*font-size: var(--fs-48);*/
	font-weight: 700;
}

/*
 * H3
 */

body:not(.home) .elementor h3 {
	font-size: 1.4rem;
	font-weight: 700;
}

/*
 * Text background
 */

.text-bg-primary {
	background: var(--color-primary);
	color: var(--color-white-1);
	padding: 0 0.5rem;
}

/*
 * Borders
 */

img,
section,
div,
a,
button,
input,
select {
	border-radius: 0 !important;
}

/*
 * Scroll down button
 */

.scroll-down-button svg {
	animation: 1.5s ease-in-out 0s infinite flutter;
	cursor: pointer;
	height: 2rem !important;
	width: 2rem !important;
	z-index: 3;
}

.color-primary {
	color: var(--color-primary);
}

.machine-tryptich img {
	transition: var(--transition-speed) transform var(--transition-func);
}

.machine-tryptich img:hover {
	transform: scale3d(1.03, 1.03, 1.03);
}

@keyframes flutter {
	0% {
		opacity: 0;
		transform: translate3d(0, -1rem, 0);
	}
	50% {
		opacity: 1;
		transform: translate3d(0, -0.5rem, 0);
	}
	100% {
		opacity: 0;
		transform: translate3d(0, 0, 0);
	}
}

@media only screen and (min-width: 1531px) and (max-width: 1800px) {
	.elementor.elementor-location-header > .elementor-element {
		padding-inline-end: 2rem;
		padding-inline-start: 2rem;
	}
}

@media only screen and (min-width: 1240px) {
	.elementor-location-header > .elementor-element {
		padding-right: 1rem !important;
	}
	
	.header-content--first {
		max-width: calc(1200px - 180px - 3rem);
	}

	body .elementor .header-content {
		align-items: center;
		display: grid;
		gap: 2rem;
	}

	.cust-logo {
		align-self: center;
		grid-column: 1/2;
		grid-row: 1/2;
	}

	.elementor .header-content  .header-content--first {
		align-self: center;
		grid-column: 2/3;
		grid-row: 1/2;
		padding-bottom: 0;
	}

	.elementor .header-content .header-content--second {
		align-self: center;
		grid-column: 3/4;
		grid-row: 1/2;
	}
}

@media only screen and (min-width: 1241px) and (max-width: 1530px) {
	.elementor-location-header > .elementor-element {
		padding-bottom: 2rem !important;
	}
	
	body .elementor .header-content {
		align-items: center;
		display: grid;
		gap: 2rem;
	}

	.elementor .header-content .cust-logo {
		grid-column: 1/2;
		grid-row: 1/3;
	}

	.elementor .header-content .header-content--first {
		grid-column: 2/3;
		grid-row: 2/3;
	}

	.elementor .header-content .header-content--second {
		grid-column: 2/3;
		grid-row: 1/2;
	}
}

@media only screen and (min-width: 1240px) and (max-width: 1530px) {
	.elementor-location-header .megamenu > .sub-menu {
		height: calc(100vh - 132px);
		top: 132px !important;
	}

	body .elementor .header-content--first {
		padding-right: 1.7rem;
	}
}

@media only screen and (min-width: 1240px) {
	.acf-sticky-header .elementor-location-header:hover {
		background: var(--color-white-1);
	}

	.acf-sticky-header .elementor-location-header:has(.megamenu.active) .cust-logo img,
	.acf-sticky-header .elementor-location-header:hover .cust-logo img {
		filter: none;
	}
	
	/*
	 * Burger button
	 */

	body .elementor-nav-menu--dropdown-tablet .elementor-menu-toggle, .elementor-nav-menu--dropdown-tablet .elementor-nav-menu--dropdown {
		display: none;
	}

	/*
	 * Logo
	 */
	
	.cust-logo {
		
	}

	/*
	 * Desktop menu
	 */
	
	.elementor-nav-menu--dropdown-tablet .elementor-nav-menu--main {
		display: block;
	}
	
	.acf-sticky-header .elementor-location-header .menu-item a,
	.acf-sticky-header .elementor-location-header .elementor-icon-list-text {
		color: var(--color-white-1) !important;
		transition: var(--transition-speed) color var(--transition-func);
	}
	
	.elementor-location-header:has(.megamenu.active),
	.elementor-location-header:hover {
		background: var(--color-white-1);
	}
	
	.elementor-location-header:has(.megamenu.active) .menu-item a,
	.elementor-location-header:has(.megamenu.active) .elementor-icon-list-text,
	.elementor-location-header:hover .menu-item a,
	.elementor-location-header:hover .elementor-icon-list-text {
		color: var(--color-black-1) !important;
	}
	
	.elementor-location-header:has(.megamenu.active) .current-menu-item a,
	.elementor-location-header .elementor-icon-list-text:hover,
	.elementor-location-header .elementor-icon-list-text:active,
	.elementor-location-header .elementor-icon-list-text:focus,
	.elementor-location-header:hover .menu-item a:hover,
	.elementor-location-header .menu-item a:hover,
	.elementor-location-header .menu-item a:active,
	.elementor-location-header .menu-item a:focus,
	.elementor-location-header .current-menu-item a {
		color: var(--e-global-color-primary) !important;
	}
	
	/*
	 * Header menu
	 */
	
	.elementor-location-header .menu-item:last-of-type .elementor-item {
		padding-right: 0 !important;
	}
	
	/*
	 * Header submenu chevron.
	 */
	
	.elementor-location-header .elementor-nav-menu .sub-arrow {
		fill: var(--color-black-1);
		margin-left: 0.5rem;
		padding: 0;
		transform: rotate3d(0, 0, 1, 0deg);
		transition: var(--transition-speed) transform var(--transition-func), var(--transition-speed) fill var(--transition-func);
	}

	.acf-sticky-header .elementor-location-header .elementor-nav-menu .sub-arrow {
		fill: var(--color-white-1);
	}
	
	.elementor-location-header:hover .elementor-nav-menu .sub-arrow {
		fill: var(--color-black-1);
	}
	
	.elementor-location-header .elementor-nav-menu .menu-item.active .sub-arrow {
		transform: rotate3d(0, 0, 1, 180deg);
	}

	body .elementor-nav-menu--dropdown-tablet .elementor-nav-menu--dropdown {
		display: none;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1219px) {
	.header-menu-container {
		gap: 1rem !important;
	}	
}

@media only screen and (min-width: 768px) {
	/*
	 * Transparent header
	 */
	
	.acf-sticky-header .elementor-location-header {
		background: unset;
		left: 0;
		position: absolute;
		right: 0;
		top: 0;
		transition: var(--transition-speed) background var(--transition-func);
		z-index: 999;
	}
	
	.admin-bar.acf-sticky-header .elementor-location-header {
		top: 32px;
	}
}

/*
 * Roll button
 */

.button-roll .elementor-button {
	transition: var(--transition-speed) color var(--transition-func);
}

.button-roll .elementor-button::before {
	content: '';
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: scale3d(1, 0, 1);
	transform-origin: left bottom;
	transition: var(--transition-speed) transform var(--transition-func);
	width: 100%;
	z-index: -1;
}

.button-roll .elementor-button:hover,
.button-roll .elementor-button:active,
.button-roll .elementor-button:focus {
	z-index: 1;
} 

.button-roll .elementor-button:hover::before,
.button-roll .elementor-button:active::before,
.button-roll .elementor-button:focus::before {
	transform: scale3d(1, 1, 1);
	transform-origin: left top;
}


/*
 * Button Big
 */

.button-medium,
.page-content .button-medium {
	font-size: var(--font-size-1_25);
	font-weight: 600;
	padding: 0.5rem 2rem;
}

/*
 * Button small
 */

.button-small .elementor-button {
  border-style: solid !important;
	border-width: var(--border-width-small) !important;
	font-size: var(--font-size-1) !important;
	padding: 0.5rem 1.5rem !important;
	text-transform: capitalize !important;
}

/*
 * Button transparent
 */

.button-transparent .elementor-button {
	background: transparent !important;
}

@media only screen and (max-width: 1239px) {
	/*
	* Header with open submenu
	*/

	body .elementor-location-header:has(.elementor-menu-toggle.elementor-active) {
		background: var(--color-white-1) !important;
		position: fixed;
		top: 0;
		width: 100%;
		z-index: 9999;
	}

	body .elementor-location-header:has(.elementor-menu-toggle.elementor-active)::before {
		background: var(--color-white-1);
		border-bottom: 1px solid var(--color-black-1);
		bottom: 0;
		content: '';
		display: block;
		height: 100%;
		left: 0;
		position: absolute;
		right: 0;
		top: 0;
		width: 100%;
		z-index: 9999;
	}

	.elementor.elementor-location-header .header-content {
		flex-flow: row wrap;
		row-gap: 1rem;
	}

	.elementor .header-content .cust-logo {
		flex: 0 1 180px !important;
		order: 2 !important;
	}

	.elementor .header-content .header-content--second {
		flex: 1 0 100%;
		gap: 2rem;
		order: 1 !important;
	}

	.elementor .header-content .header-content--first {
		flex: 0 1 calc(100% - 180px - 3rem);
		order: 3 !important;
	}
	
	body:not(.acf-sticky-header) .elementor-element div.elementor-menu-toggle::before,
	body:not(.acf-sticky-header) .elementor-element div.elementor-menu-toggle::after {
		background: var(--color-black-1);
	}

	body:not(.acf-sticky-header) .cust-menu .elementor-menu-toggle__icon--open svg tspan {
		fill: var(--color-black-1) !important;
	}
}