/*
Theme Name: swissenergy
Theme URI:	https://swissenergy.kz
Author: kazweb.pro
Author URI: https://kazweb.pro
Description: The Minimal.
Version: 0.1.0
*/

@layer reset, layout, theme, base, components, utilities;

@layer reset {
	*,
	*::before,
	*::after {
		box-sizing: border-box;
	}
	html {
		font-family: sans-serif;
		line-height: 1.15;
		-webkit-text-size-adjust: 100%;
		-ms-text-size-adjust: 100%;
		-ms-overflow-style: scrollbar;
		-webkit-tap-highlight-color: transparent;
	}
	@media (prefers-reduced-motion: no-preference) {
		html {
			scroll-behavior: smooth;
		}
	}
	@-ms-viewport {
		width: device-width;
	}
	article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
		display: block;
	}
	body {
		margin: 0;
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
		font-size: 1rem;
		font-weight: 400;
		line-height: 1.5;
		color: #212529;
		text-align: left;
		background-color: #fff;
	}
	[tabindex="-1"]:focus {
		outline: 0 !important;
	}
	hr {
		box-sizing: content-box;
		height: 0;
		overflow: visible;
	}
	h1, h2, h3, h4, h5, h6 {
		margin-top: 0;
		margin-bottom: 0.5rem;
	}
	p {
		margin-top: 0;
		margin-bottom: 1rem;
	}
	abbr[title],
	abbr[data-original-title] {
		text-decoration: underline;
		-webkit-text-decoration: underline dotted;
		text-decoration: underline dotted;
		cursor: help;
		border-bottom: 0;
	}
	address {
		margin-bottom: 1rem;
		font-style: normal;
		line-height: inherit;
	}
	ol,
	ul,
	dl {
		margin-top: 0;
		margin-bottom: 1rem;
	}
	ol ol,
	ul ul,
	ol ul,
	ul ol {
		margin-bottom: 0;
	}
	dt {
		font-weight: 700;
	}
	dd {
		margin-bottom: .5rem;
		margin-left: 0;
	}
	blockquote {
		margin: 0 0 1rem;
	}
	dfn {
		font-style: italic;
	}
	b,
	strong {
		font-weight: bolder;
	}
	small {
		font-size: 80%;
	}
	sub,
	sup {
		position: relative;
		font-size: 75%;
		line-height: 0;
		vertical-align: baseline;
	}
	sub {
		bottom: -.25em;
	}
	sup {
		top: -.5em;
	}
	a {
		color: #007bff;
		text-decoration: none;
		background-color: transparent;
		-webkit-text-decoration-skip: objects;
	}
	a:hover {
		color: #0056b3;
		text-decoration: underline;
	}
	a:not([href]):not([tabindex]) {
		color: inherit;
		text-decoration: none;
	}
	a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
		color: inherit;
		text-decoration: none;
	}
	a:not([href]):not([tabindex]):focus {
		outline: 0;
	}
	pre,
	code,
	kbd,
	samp {
		font-family: monospace, monospace;
		font-size: 1em;
	}
	pre {
		margin-top: 0;
		margin-bottom: 1rem;
		overflow: auto;
		-ms-overflow-style: scrollbar;
	}
	figure {
		margin: 0 0 1rem;
	}
	img {
		vertical-align: middle;
		border-style: none;
	}
	svg:not(:root) {
		overflow: hidden;
	}
	table {
		border-collapse: collapse;
	}
	caption {
		padding-top: 0.75rem;
		padding-bottom: 0.75rem;
		color: #6c757d;
		text-align: left;
		caption-side: bottom;
	}
	th {
		text-align: inherit;
	}
	label {
		display: inline-block;
		margin-bottom: .5rem;
	}
	button {
		border-radius: 0;
	}
	button:focus {
		outline: 1px dotted;
		outline: 5px auto -webkit-focus-ring-color;
	}
	input,
	button,
	select,
	optgroup,
	textarea {
		margin: 0;
		font-family: inherit;
		font-size: inherit;
		line-height: inherit;
	}
	button,
	input {
		overflow: visible;
	}
	button,
	select {
		text-transform: none;
	}
	button,
	html [type="button"],
	[type="reset"],
	[type="submit"] {
		-webkit-appearance: button;
	}
	button::-moz-focus-inner,
	[type="button"]::-moz-focus-inner,
	[type="reset"]::-moz-focus-inner,
	[type="submit"]::-moz-focus-inner {
		padding: 0;
		border-style: none;
	}
	input[type="radio"],
	input[type="checkbox"] {
		box-sizing: border-box;
		padding: 0;
	}
	input[type="date"],
	input[type="time"],
	input[type="datetime-local"],
	input[type="month"] {
		-webkit-appearance: listbox;
	}
	textarea {
		overflow: auto;
		resize: vertical;
	}
	fieldset {
		min-width: 0;
		padding: 0;
		margin: 0;
		border: 0;
	}
	legend {
		display: block;
		width: 100%;
		max-width: 100%;
		padding: 0;
		margin-bottom: .5rem;
		font-size: 1.5rem;
		line-height: inherit;
		color: inherit;
		white-space: normal;
	}
	progress {
		vertical-align: baseline;
	}
	[type="number"]::-webkit-inner-spin-button,
	[type="number"]::-webkit-outer-spin-button {
		height: auto;
	}
	[type="search"] {
		outline-offset: -2px;
		-webkit-appearance: none;
	}
	[type="search"]::-webkit-search-cancel-button,
	[type="search"]::-webkit-search-decoration {
		-webkit-appearance: none;
	}
	::-webkit-file-upload-button {
		font: inherit;
		-webkit-appearance: button;
	}
	output {
		display: inline-block;
	}
	summary {
		display: list-item;
		cursor: pointer;
	}
	template {
		display: none;
	}
	[hidden] {
		display: none !important;
	}
}

@layer layout {
	.container {
		width: 100%;
		padding-right: 20px;
		padding-left: 20px;
		margin-right: auto;
		margin-left: auto;
	}
	@media (min-width: 576px) {
		.container {
			max-width: 540px;
		}
	}
	@media (min-width: 768px) {
		.container {
			max-width: 720px;
		}
	}
	@media (min-width: 992px) {
		.container {
			max-width: 960px;
		}
	}
	@media (min-width: 1200px) {
		.container {
			max-width: 1240px;
		}
	}
	@media (min-width: 1400px) {
		.container {
			max-width: 1320px;
		}
	}
	.flex {
		display: flex;
		gap: var(--gap-lg);
	}
	.flex-col {
		flex-direction: column
	}
	.flex-col-reverse {
		flex-direction: column-reverse
	}
	.flex-row {
		flex-direction: row
	}
	.flex-row-reverse {
		flex-direction: row-reverse
	}
	.flex-nowrap {
		flex-wrap: nowrap
	}
	.flex-wrap {
		flex-wrap: wrap
	}
	.content-center {
		align-content: center
	}
	.items-baseline {
		align-items: baseline
	}
	.align-start {
		align-items: start;
	}
	.items-center {
		align-items: center
	}
	.items-end {
		align-items: flex-end
	}
	.items-start {
		align-items: flex-start
	}
	.items-stretch {
		align-items: stretch
	}
	.justify-around {
		justify-content: space-around
	}
	.justify-between {
		justify-content: space-between
	}
	.justify-center {
		justify-content: center
	}
	.justify-end {
		justify-content: flex-end
	}
	.justify-evenly {
		justify-content: space-evenly
	}
	.justify-start {
		justify-content: flex-start
	}
	.justify-stretch {
		justify-content: stretch
	}
	.justify-items-center {
		justify-items: center
	}
	.justify-items-end {
		justify-items: end
	}
	.justify-items-start {
		justify-items: start
	}
	.grid {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
		gap: var(--gap-lg);
	}
	.grid-cols-1 {
		grid-template-columns: repeat(1,minmax(0,1fr))
	}
	.grid-cols-2,
	.single-page .grid {
		grid-template-columns: repeat(2,minmax(0,1fr))
	}
	.grid-cols-3 {
		grid-template-columns: repeat(3,minmax(0,1fr))
	}
	.grid-cols-4 {
		grid-template-columns: repeat(4,minmax(0,1fr))
	}
	.grid-cols-5 {
		grid-template-columns: repeat(5,minmax(0,1fr))
	}
	.grid-cols-6 {
		grid-template-columns: repeat(5,minmax(0,1fr))
	}
	.grid-item {
		display: flex;
	}
}

@layer theme {
	:root {
		--color-bg: #f0f4f7;
		--color-dark: #000000;
		--color-white: #ffffff;
		--color-primary: #d20a11;
		--color-primary-hover: #1d4ed8;
		--color-border: #e5e7eb;
		--color-muted: #64748b;
		--color-danger: #dc2626;
		--color-green: #10302a;
		--color-favorites: #8a857e;
		--color-grey: #e7eaea;
		--color-grey-2: #000000a6;
		--color-grey-3: #f4f7f9;

		--fs-xs: 0.75rem;
		--fs-sm: 0.875rem;
		--fs-base: 1rem;
		--fs-lg: 1.125rem;
		--fs-xl: 1.25rem;
		--fs-2xl: 1.5rem;
		--fs-3xl: 1.875rem;

		--font-weight-extralight: 200;
		--font-weight-light: 300;
		--font-weight-normal: 400;
		--font-weight-medium: 500;
		--font-weight-semibold: 600;
		--font-weight-bold: 700;
		--font-weight-black: 900;

		--line-height-xs: 1;
		--line-height-sm: 1.2;
		--line-height-md: 1.35;
		--line-height-base: 1.5;
		--line-height-lg: 1.625;
		--line-height-xl: 1.75;

		--space-1: 0.25rem;
		--space-2: 0.5rem;
		--space-3: 0.875rem;
		--space-4: 1rem;
		--space-5: 1.5rem;
		--space-6: 2rem;

		--radius-xs: .125rem;
		--radius-sm: .25rem;
		--radius-md: .375rem;
		--radius-lg: .5rem;
		--radius-xl: .75rem;
		--radius-2xl: 1rem;
		--radius-3xl: 1.5rem;
		--radius-4xl: 2rem;

		--gap-sm: .75rem;
		--gap-md: 1rem;
		--gap-lg: 1.5rem;
		--gap-xl: 2rem;
	}
}

@layer base {
	body {
		font-family: "Manrope", sans-serif;
		font-size: var(--fs-base);
		font-weight: var(--font-weight-normal);
		line-height: var(--line-height-base);
		color: var(--color-dark);
		background: var(--color-white);
		text-wrap: balance;
	}
	h1 {
		font-size: clamp(1.875rem, 3vw, 2.5rem);
	}
	h2 {
		font-size: clamp(1.5rem, 2.5vw, 2rem);
	}
	h3 {
		font-size: clamp(1.25rem, 2vw, 1.75rem);
	}
	h4 {
		font-size: clamp(1.25rem, 2vw, 1.5rem);
	}
	h5 {
		font-size: clamp(1.125rem, 1.5vw, 1.25rem);
	}
	h6 {
		font-size: clamp(1rem, 1.2vw, 1.125rem);
	}
	p,
	li {
		line-height: var(--line-height-lg);
	}
	h1,
	h2 {
		line-height: var(--line-height-sm);
	}
	h3,
	h4,
	h5,
	h6 {
		line-height: var(--line-height-md);
	}
}

@layer components {
	/**
	* @section header
	*/
	.header {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 20;
		padding-top: var(--space-5);
		padding-bottom: var(--space-5);
	}
	.header:before {
		  content: "";
		  position: absolute;
		  inset: 0 0 auto;
		  height: 250px;
		  background: linear-gradient(#0007, transparent);
		  z-index: -1;
	}
	.go.header {
		padding: 10px 0;
		position: fixed;
		top: 0;
		left: 50%;
		right: 0;
		z-index: 10;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}
	.go.header,
	.tabs-nav {
		background: rgb(255 255 255 / 100%);
		border-bottom: 1px solid var(--color-border);
	}
	.go.header:before {
		display: none;
	}
	.brand img {
		max-height: 60px;
	}
	.mobile-nav svg {
		width: 35px;
		height: 35px;
	}
	/**
	* @section navigation
	*/
	.header-nav ul,
	.footer ul {
		padding: 0;
		margin: 0;
		list-style: none;
	}
	.header-nav a,
	.feedback a,
	.feedback a:hover,
	.hero-desc,
	.btn a:hover,
	.quality-item,
	.footer,
	.footer a,
	.footer .widget h4,
	.wpm-language-switcher span {
		color: var(--color-white);
	}
	.header-nav a,
	.feedback a,
	.btn a,
	.wpm-language-switcher span {
		font-weight: var(--font-weight-medium);
	}
	.header-nav a::after {
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		height: 3px;
		background: rgba(255,255,255,0.4);
		content: '';
		opacity: 0;
		-webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
		-moz-transition: opacity 0.3s, -moz-transform 0.3s;
		transition: opacity 0.3s, transform 0.3s;
		-webkit-transform: translateY(10px);
		-moz-transform: translateY(10px);
		transform: translateY(10px);
	}

	.header-nav a:hover::after,
	.header-nav a:focus::after {
		opacity: 1;
		-webkit-transform: translateY(0px);
		-moz-transform: translateY(0px);
		transform: translateY(0px);
	}
	.go.header .header-nav a::after {
		background: rgba(0,0,0,0.2);
	}
	/**
	* @section buttons
	*/
	.feedback a,
	.btn a {
		padding: var(--space-3) var(--space-5);
	}
	.feedback a,
	.hero,
	.btn a,
	.header-nav a,
	.catalog,
	.quality,
	.widget,
	.experience {
		position: relative;
	}
	.feedback a,
	.hero,
	.btn a,
	.widget {
		overflow: hidden;
	}
	.feedback a,
	.btn a {
		overflow: hidden;
		transition: all 0.3s;
		z-index: 1;
		border-radius: var(--radius-4xl);
	}
	.feedback a,
	.hero-desc span,
	.btn a,
	.title span,
	.breadcrumbs,
	.breadcrumbs a {
		font-size: var(--fs-sm);
	}
	.feedback a,
	.hero-desc span,
	.btn a,
	.title span {
		line-height: var(--line-height-xs);
	}
	.feedback a,
	.hero-desc span,
	.btn a,
	.title span,
	.tab-btn {
		text-transform: uppercase;
	}
	.feedback a:hover,
	.btn a:hover,
	.header-nav a:hover,
	.product-card,
	.product-card:hover {
		text-decoration: none;
	}
	.feedback svg,
	.btn svg,
	.title svg,
	.card-btn svg,
	.hero-desc span svg,
	.breadcrumbs__separator svg {
		width: 20px;
		height: 20px;
	}
	.feedback a:after,
	.btn a:after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: var(--color-primary);
		border-radius: var(--radius-4xl);
		z-index: -2;
	}
	.btn a:after {
		background-color: var(--color-white);
	}
	.feedback a:before,
	.btn a:before {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 0%;
		height: 100%;
		background-color: #000;
		transition: all 0.3s;
		border-radius: var(--radius-4xl);
		z-index: -1;
	}
	.feedback a:hover:before,
	.btn a:hover:before,
	.product-card {
		width: 100%;
	}
	.btn a,
	.go.header .header-nav a,
	.product-card,
	.go.header .wpm-language-switcher span {
		color: var(--color-dark);
	}
	.hero-desc span,
	.title span,
	.card-desc h3,
	.tab-btn {
		font-weight: var(--font-weight-semibold);
	}
	/**
	* @section hero
	*/
	.hero {
		height: 760px;
		position: relative;
		overflow: hidden;
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
	}
	.hero-desc > *,
	.title > *,
	.card > *,
	.card-desc > *,
	.quality-item > *,
	.footer .widget > * {
		margin-bottom: 0;
	}
	.hero-desc {
		font-size: var(--fs-lg);
	}
	/**
	* @section cards
	*/
	.card {
		height: 100%;
		display: flex;
		flex-direction: column;
		gap: 1rem;
		padding: var(--space-5);
		border: 1px solid var(--color-border);
		border-radius: var(--radius-xl);
		background: var(--color-white);
	}
	.card-image img {
		height: 200px !important;
		margin: 0 auto;
	}
	.card-desc h3,
	.quality-item h3 {
		font-size: var(--fs-lg);
	}
	.card-btn {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		padding-top: var(--space-3);
		margin-top: auto;
		border-top: 1px solid #8a857e2b;
	}
	.product-card:hover .card-btn,
	.single-btn .card-btn,
	.tab-btn.active {
		color: var(--color-primary);
	}
	/**
	* @section catalog
	*/
	.title h1,
	.experience div:nth-child(2) {
		color: var(--color-green);
	}
	.title span,
	.tab-btn {
		color: var(--color-favorites);
	}
	/**
	 * @section quality
	 */
	.quality {
		overflow: hidden;
		height: 500px;
		width: 100%;
	}
	.quality-bg {
		position: absolute;
		inset: 0;
		z-index: 1;
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		opacity: 0.85;
		transition: opacity 0.35s ease;
		border-radius: var(--radius-xl);
		overflow: hidden;
	}
	.quality-bg::after {
		content: "";
		position: absolute;
		inset: 0;
		background: rgba(0, 0, 0, 0.25);
		border-radius: var(--radius-xl);
	}
	.grid-container {
		position: relative;
		z-index: 2;
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 0;
		padding: 0;
		height: 100%;
		align-content: center;
		align-content: stretch;
	}
	.quality-item {
		padding: 5rem 1rem;

		display: flex;
		flex-direction: column;
		gap: 1rem;
		cursor: pointer;

		transition:
			transform 0.3s ease,
			background 0.3s ease;
		border-right: 1px solid rgba(255, 255, 255, 0.15);
	}
	.quality-item:last-child {
		border-right: 0;
	}
	.quality-item:hover {
		background: rgba(255, 255, 255, 0.12);
		backdrop-filter: blur(8px);
		-webkit-backdrop-filter: blur(8px);
	}
	.quality-item:nth-child(1):hover {
		border-radius: 12px 0 0 12px;
	}
	.quality-item:nth-child(4):hover {
		border-radius: 0 var(--radius-xl) var(--radius-xl) 0;
	}
	.quality-item p {
		opacity: 0;
		visibility: hidden;
		transform: translateY(15px);
		transition:
			opacity 0.35s ease,
			transform 0.35s ease,
			visibility 0.35s ease;
	}
	.quality-item:hover p {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}
	.quality-counter {
		color: transparent;
		-webkit-text-stroke: 1px rgba(255, 255, 255, 0.7);
		font-size: 68px;
		font-weight: 700;
		line-height: 1;
	}
	/**
	* @section breadcrumbs
	*/
	.breadcrumbs,
	.category-page {
		padding-top: 7rem;
	}
	.breadcrumbs,
	.breadcrumbs a {
		color: var(--color-grey-2);
	}
	/**
	* @section single page
	*/
	.single-photo img {
		box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
	}
	.single-short_desc {
		position: -webkit-sticky;
		position: sticky;
		top: 100px;
	}
	/**
	* @section tabs
	*/
	.tab-btn {
		position: relative;
		padding: 15px 0;
		border: 0;
		background: none;
		cursor: pointer;
	}
	.tab-btn.active::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: -1px;
		height: 2px;
		background: var(--color-primary);
	}
	.tab-content {
		display: none;
		padding-top: 30px;
	}
	.tab-btn:focus,
	.tab-btn:focus-visible {
		outline: none;
	}
	/**
	* @section table
	*/
	.single-table table {
	    width: 100%;
	    border: 1px solid #ddd;
	    border-collapse: collapse;
	}
	.single-table table td,
	.single-table table th {
	    padding: 10px;
	    border: 1px solid #ddd;
	}
	.single-table table p {
		margin: 0;
	}
	.single-table table tbody tr:nth-of-type(even) {
		background-color: var(--color-grey-3);
	}
	/**
	* @section about us
	*/
	.about-us .container .widget:nth-child(1) {
		width: 22%;
		padding-right: 2rem;
		border-right: 1px solid var(--color-grey);
	}
	.experience {
		padding-top: 2rem;
		margin-top: 2rem;
	}
	.experience:before {
		width: 200%;
		height: 1px;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		content: '';
		background-color: var(--color-grey);
	}
	.experience div:nth-child(1) {
		color: transparent;
		-webkit-text-stroke: 1px rgba(16, 48, 42, 0.7);
		font-size: 68px;
		font-weight: 700;
		line-height: 1;
	}
	.experience div:nth-child(2),
	.footer .widget h4 {
		font-size: 20px;
		font-weight: 600;
	}
	.widget img,
	.widget iframe,
	.single-photo img {
		border-radius: var(--radius-xl);
	}
	.about-us .container .widget:nth-child(2) {
		width: 40%;
	}
	.about-us .container .widget:nth-child(3) {
		width: 38%;
	}
	/**
	* @section footer
	*/
	.footer {
		padding: 2.5rem 0;
		background-color: var(--color-dark);
		border-radius: 30px 30px 0 0;
	}
	.footer .widget:nth-child(1) {
		width: 40%;
	}
	.footer .widget:nth-child(2),
	.footer .widget:nth-child(3) {
		width: 30%;
	}
	.footer .widget ul li {
		width: 40%;
	}
	.footer .widget ul a {
		color: #ffffffb3;
	}
	.footer .widget .social li {
		width: auto;
	}
	.social svg {
		width: 40px;
		height: 40px;
	}
	.copyright {
		padding-top: 2.5rem;
		margin-top: 5rem;
		border-top: 1px solid #ffffff14;
	}
}

@layer utilities {
	@media (max-width:575px) {
		.hidden {
			display:none !important;
		}
	}
	@media (min-width:576px) and (max-width:767px) {
		.hidden-sm {
			display: none !important;
		}
	}
	@media (min-width:768px) and (max-width:991px) {
		.hidden-md {
			display: none !important;
		}
	}
	@media (min-width:992px) and (max-width:1199px) {
		.hidden-lg {
			display: none !important;
		}
	}
	@media (min-width:1200px) and (max-width:1399px) {
		.hidden-xl {
			display: none !important;
		}
	}
	@media (min-width:1400px) {
		.hidden-xxl {
			display: none !important;
		}
	}
	.block,
	.tab-content.active {
		display: block;
	}
	.inline {
		display: inline;
	}
	.inline-block {
		display: inline-block;
	}
	.inline-flex {
		display: inline-flex;
	}
	.inline-grid {
		display: inline-grid;
	}
	.text-right {
		text-align: right;
	}
	img,
	svg,
	.img-responsive {
		display: block;
		height: auto;
		max-width: 100%;
	}
	.gap-0 {
		gap: 0;
	}
	.gap-sm {
		gap: var(--gap-sm);
	}
	.gap-md {
		gap: var(--gap-md);
	}
	.gap-lg {
		gap: var(--gap-lg);
	}
	.gap-xl {
		gap: var(--gap-xl);
	}
	.single-page .grid {
		gap: 5rem;
	}
	.section {
		margin-bottom: 5rem;
	}
	.title,
	.half-section {
		margin-bottom: 2.5rem;
	}
}