/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

:root {
  --color-primary: #245FAC;
  --color-primary-hover: #2f6fc2;
  --color-primary-active: #306dbd;
  --color-primary-alpha: rgba(36, 95, 172, 0.1);
  --color-primary-alpha-2: rgb(36, 95, 172, 0.06);
  --color-text: #333333;
  --color-text-alpha: rgba(51, 51, 51, 0.8);
  --color-text-light: #ffffff;
  --color-text-static: #ffffff;
  --color-text-static-2: #333333;
  --color-bg: #F9F8F3;
  --color-bg-alpha: rgba(249, 248, 243, 0.7);
  --color-bg-light: #ffffff;
  --color-bg-light-2: #F2F6FA;
  --color-border: #f1f1f1;
  --color-border-light: rgba(255, 255, 255, 0.1);
  --color-input: #EDEDED;
  --gradient-primary: linear-gradient(30deg, #245FAC, #397ace);
}

:root {
  --space-super-small: 0.75rem;
  --space-default: 1rem;
  --space-extra-small: 1.25rem;
  --space-small: 1.5rem;
  --space-medium: 1.875rem;
  --space-large: 2.125rem;
  --space-extra-large: 2.75rem;
  --space-huge: 3rem;
  --space-layout-extra-small: 1.25rem;
  --space-layout-small: 3.75rem;
  --space-layout-medium: 5.625rem;
  --space-layout: 6.875rem;
  --radius-base: 0.25rem;
  --radius-sm: 0.625rem;
  --radius-def: 1rem;
  --radius-md: 1.25rem;
  --radius-lg: 1.5625rem;
  --z-base: 0;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-overlay: 300;
  --z-modal: 400;
  --z-popover: 500;
  --z-tooltip: 600;
  --font-main: 'Montserrat', sans-serif;
  --font-secondary: 'Cormorant', sans-serif;
  --body-font-size: 1rem;
  --body-line-height: 1.5;
  --headings-line-height: 1;
  --container-width: 1400px;
  --container-gap: 3rem;
  --transition: 0.4s;
}

[data-theme=dark] {
  --color-text: #ffffff;
  --color-text-alpha: rgba(255, 255, 255, 0.8);
  --color-bg: #333333;
  --color-bg-light: #424242;
  --color-bg-light-2: #383838;
  --color-bg-alpha: rgba(51, 51, 51, 0.7);
  --color-primary-alpha-2: rgb(36, 95, 172, 0.3);
}

@media screen and (max-width: 992px) {
  :root {
    --space-super-small: 0.75rem;
    --space-default: 1rem;
    --space-extra-small: 1.125rem;
    --space-small: 1.35rem;
    --space-medium: 1.5rem;
    --space-large: 1.75rem;
    --space-extra-large: 2rem;
    --space-huge: 2.2rem;
    --space-layout-small: 2.75rem;
    --space-layout: 5rem;
  }
}
@font-face {
  font-family: "Cormorant";
  src: url("../fonts/Cormorant/Cormorant-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant";
  src: url("../fonts/Cormorant/Cormorant-Bold.woff2") format("woff2");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant";
  src: url("../fonts/Cormorant/Cormorant-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-Italic.woff2") format("woff2");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-Bold.woff2") format("woff2");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
html {
  box-sizing: border-box;
  scrollbar-gutter: stable;
  scroll-behavior: smooth;
  font-size: 100%;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

body {
  margin: 0;
  padding: 0;
  font-family: var(--font-main);
  line-height: var(--body-line-height);
  color: var(--color-text-alpha);
  background-color: var(--color-bg);
}

img {
  display: block;
  height: auto;
  max-width: 100%;
}

svg {
  height: auto;
  max-width: 100%;
  overflow: hidden;
  vertical-align: middle;
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}

audio, canvas, video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

@media (prefers-reduced-motion: reduce) {
  *,
  ::before,
  ::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
a {
  text-decoration: none;
  color: var(--color-primary);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-top: 0;
  font-family: var(--font-secondary);
  font-weight: normal;
  line-height: var(--headings-line-height);
}

h1, .h1 {
  font-size: clamp(40px, 40px + (100 - 40) * (100vw - 360px) / (1400 - 360), 100px);
}

h2, .h2 {
  font-size: clamp(36px, 36px + (80 - 36) * (100vw - 360px) / (1400 - 360), 80px);
}

table {
  width: 100%;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
[type=button],
[type=submit],
[type=reset] {
  cursor: pointer;
}

.form-field {
  position: relative;
}
.form-field__input {
  font-size: clamp(18px, 18px + (16 - 18) * (100vw - 360px) / (1400 - 360), 16px);
  width: 100%;
  padding: 1em 1.388888em;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  background-color: var(--color-input);
  border: 1px solid var(--color-input);
  border-radius: var(--radius-sm);
  outline: none;
  transition: box-shadow var(--transition) ease;
}
.form-field__input:focus {
  box-shadow: 0 0 0 2px var(--color-primary);
}
.form-field__input::placeholder {
  color: rgba(0, 0, 0, 0.4);
}
.form-field__input--small {
  padding: 0.875em 1.5em;
  font-size: 1rem;
}
.form-field__input--textarea {
  height: 7rem;
  resize: none;
}
.form-field__submit {
  width: 100%;
}

/* Captions
--------------------------------------------- */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*=wp-image-] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
  margin-bottom: 1.5em;
  display: grid;
  grid-gap: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  width: 100%;
}

.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
  display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/* Jetpack infinite scroll
--------------------------------------------- */
/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
  display: block;
}

/* Accessibility
--------------------------------------------- */
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
  /*rtl:ignore*/
  float: left;
  /*rtl:ignore*/
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}

.alignright {
  /*rtl:ignore*/
  float: right;
  /*rtl:ignore*/
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}

.comments__title {
  margin: 0;
}
.comments__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.comments__list .children {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding-left: var(--space-4);
}
.comments__no-comments {
  margin: 0;
}
.comments__notes, .comments__fieldbox, .comments__submitbox {
  margin: 0;
}
.comments__field {
  display: block;
  width: 100%;
}
.comments__form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.comment {
  --comment-bg: #f6f6f6;
  --comment-paddings: var(--space-3);
  --comment-border-radius: var(--radius-base);
}
.comment__body {
  padding: var(--comment-paddings);
  background-color: var(--comment-bg);
  border-radius: var(--comment-border-radius);
}
.comment__author {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.comment__time {
  margin-top: 0.5rem;
}
.post-tags {
  --tags-gap: 0.5rem;
  --tags-bg: var(--color-primary);
  --tags-bg-hover: var(--color-primary-hover);
  --tags-color: #fff;
  --tags-padding: 0.45em 0.65em;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--tags-gap);
}
.post-tags__link {
  display: block;
  padding: var(--tags-padding);
  color: var(--tags-color);
  background-color: var(--tags-bg);
  transition: background-color var(--transition);
}
.post-tags__link:hover {
  background-color: var(--tags-bg-hover);
}
.post-tags__link:active {
  background-color: var(--tags-bg-hover);
}

.searchform {
  --searchform-paddings: 0.525em 1em;
  --searchform-font-size: 1rem;
  --searchform-transition: var(--transition);
  --searchform-field-bg: #fff;
  --searchform-field-border: #ccc;
  --searchform-field-border-focus: #333;
  --searchform-submit-color: #fff;
  --searchform-submit-border: var(--color-primary);
  display: flex;
  align-items: center;
  font-size: var(--searchform-font-size);
}
.searchform__field {
  width: 100%;
  padding: var(--searchform-paddings);
  background-color: var(--searchform-field-bg);
  border: 1px solid var(--searchform-field-border);
  outline: none;
  transition: border-color --searchform-transition ease;
}
.searchform__field:focus {
  border-color: var(--searchform-field-border-focus);
}
.searchform__submit {
  padding: var(--searchform-paddings);
  color: var(--searchform-submit-color);
  border: 1px solid var(--searchform-submit-border);
  background-color: var(--searchform-submit-border);
  cursor: pointer;
  transition: opacity var(--searchform-transition) ease;
}
.searchform__submit:hover {
  opacity: 0.9;
}

.widget:not(:last-child) {
  margin-bottom: 1rem;
}

.wp-block-heading {
  font-size: 1.25rem;
}

.wp-block-latest-posts__list,
.wp-block-latest-comments,
.wp-block-archives-list,
.wp-block-categories-list {
  margin: 0;
  padding: 0;
  list-style: none;
  margin: var(--space-3) 0;
}

.post-blog {
  background-color: var(--color-bg-light);
  border-radius: var(--radius-md);
}
.post-blog__thumbnail {
  border-radius: var(--radius-md);
}
.post-blog__content {
  padding: var(--space-large) var(--space-medium);
}
.post-blog__title {
  font-size: clamp(19px, 19px + (16 - 19) * (100vw - 360px) / (1400 - 360), 16px);
  margin: 0;
  margin-bottom: 0.625rem;
  font-family: var(--font-main);
  font-weight: 600;
  letter-spacing: -0.2px;
  line-height: 1.5;
}
.post-blog__title a {
  color: var(--color-text);
}
.post-blog__excerpt p {
  margin: 0;
}

.post-single {
  padding-top: var(--space-lg);
}
.post-single__title {
  font-size: clamp(34px, 34px + (52 - 34) * (100vw - 360px) / (1400 - 360), 52px);
  margin-top: 1rem;
  color: var(--color-text);
}
.post-single__image {
  border-radius: var(--radius-md);
}

.btn {
  --button-bg: #ccc;
  --button-bg-hover: #c2c2c2;
  --button-text: #333;
  --button-border: #ccc;
  --button-border-radis: var(--radius-sm);
  --button-transition: var(--transition);
  --button-primary-bg: var(--gradient-primary);
  --button-primary-bg-hover: var(--color-primary-hover);
  --button-primary-bg-active: var(--color-primary-active);
  --button-primary-text: #fff;
  --button-primary-border: transparent;
  --button-secondary-bg: trasparent;
  --button-secondary-bg-hover: var(--color-primary-hover);
  --button-secondary-bg-active: var(--color-primary-active);
  --button-secondary-text: var(--color-text-alpha);
  --button-secondary-text-hover: var(--color-text-static);
  --button-secondary-border: var(--color-text-alpha);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  justify-content: center;
  white-space: nowrap;
  padding: 1.23em;
  font-family: inherit;
  font-size: 1.125rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.05;
  text-decoration: none;
  color: var(--button-text);
  background-color: var(--button-bg);
  border: 1px solid var(--button-border);
  border-radius: var(--button-border-radis);
  user-select: none;
  cursor: pointer;
  transition: background-color var(--button-transition) ease, border-color var(--button-transition) ease;
}
.btn:hover {
  background-color: var(--button-bg-hover);
}
@media (max-width: 768px) {
  .btn {
    font-size: 1rem;
  }
}
.btn:disabled, .btn.disabled, .btn[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
.btn:focus-visible {
  outline: 2px solid var(--button-text);
  outline-offset: 2px;
}
.btn:not(button) {
  pointer-events: auto;
}
.btn:not(button)[aria-disabled=true] {
  pointer-events: none;
}
.btn--wide {
  width: 100%;
  max-width: 14.375rem;
}
.btn--small {
  padding: 1.35em;
  font-size: 1rem;
}
@media (max-width: 768px) {
  .btn--small {
    font-size: 0.875rem;
  }
}
.btn__label {
  display: inline-flex;
  align-items: center;
}
.btn__icon {
  display: inline-flex;
  margin-right: 0.5em;
  width: 1em;
  height: 1em;
}
.btn svg {
  width: 1em;
  height: 1em;
}

.btn--primary {
  color: var(--button-primary-text);
  background: var(--button-primary-bg);
  border: 1px solid transparent;
  background-position: 0% 50%;
  background-size: 200% 200%;
  transition: background var(--transition) ease;
}
.btn--primary:hover {
  background-position: 100% 50%;
}
.btn--primary:active {
  background-position: 0% 50%;
}

.btn--secondary-outline {
  color: var(--button-secondary-text);
  background: var(--button-secondary-bg);
  border: 1px solid var(--button-secondary-border);
  transition: background var(--transition) ease, border-color var(--transition) ease, color var(--transition) ease;
}
.btn--secondary-outline:hover {
  color: var(--button-secondary-text-hover);
  background-color: var(--button-secondary-bg-hover);
  border-color: var(--button-secondary-bg-hover);
}
.btn--secondary-outline:active {
  background-color: var(--button-secondary-bg-active);
  border-color: var(--button-secondary-bg-active);
}
.btn--secondary-outline .btn__icon--stroke path {
  stroke: currentColor;
}

.section-header {
  margin-bottom: var(--space-layout-small);
  margin-left: auto;
  margin-right: auto;
}
.section-header--md {
  width: 90%;
}
.section-header--xs {
  width: 80%;
}
@media (max-width: 576px) {
  .section-header--xs {
    width: 90%;
  }
}
.section-header--no-margin {
  margin-bottom: 0;
}
.section-header__subtitle {
  margin: 0;
  margin-bottom: 0.625rem;
  text-transform: uppercase;
  color: var(--color-primary);
}
.section-header__subtitle--center {
  text-align: center;
}
.section-header__heading {
  margin-bottom: 0.25em;
  color: var(--color-text);
}
.section-header__heading span {
  color: var(--color-primary);
}
.section-header__heading--small {
  font-size: clamp(36px, 36px + (56 - 36) * (100vw - 360px) / (1400 - 360), 56px);
}
.section-header__heading--center {
  text-align: center;
}
.section-header__caption {
  margin: 0 auto;
  font-style: italic;
}
.section-header__caption--center {
  text-align: center;
}

.breadcrumbs {
  --breadcrumbs-font-size: 0.9375rem;
  --breadcrumbs-links: rgba(0, 0, 0, 0.35);
  --breadcrumbs-links-hover: var(--color-primary-hover);
  --breadcrumbs-text: var(--color-primary);
  --breadcrumbs-separator: "";
  --breadcrumbs-separator-color: var(--color-text);
}
.breadcrumbs__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  display: flex;
  margin: 0;
  padding: 0;
  font-size: var(--breadcrumbs-font-size);
  text-transform: uppercase;
  list-style: none;
}
.breadcrumbs__item {
  margin-right: 0.5rem;
}
.breadcrumbs__item + .breadcrumbs__item::before {
  width: 0.75rem;
  height: 0.75rem;
  content: var(--breadcrumbs-separator);
  display: inline-block;
  margin-right: 0.2rem;
  color: var(--breadcrumbs-separator-color);
  background-image: url("data:image/svg+xml,%3Csvg width='7' height='8' viewBox='0 0 7 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.5 3.69453V2.35953C0.5 0.704526 1.675 0.0245264 3.11 0.854526L4.265 1.52453L5.42 2.19453C6.855 3.02453 6.855 4.37953 5.42 5.20953L4.265 5.87953L3.11 6.54953C1.675 7.36453 0.5 6.68953 0.5 5.02953V3.69453Z' stroke='black' stroke-opacity='0.35' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 0.5rem;
}
.breadcrumbs__link {
  color: var(--breadcrumbs-links);
  transition: color var(--transition) ease;
}
.breadcrumbs__link:hover {
  color: var(--breadcrumbs-links-hover);
}
.breadcrumbs__text {
  color: var(--breadcrumbs-text);
}

[data-theme=dark] .breadcrumbs {
  --breadcrumbs-links: rgba(255, 255, 255, 0.55);
}

[data-theme=dark] .breadcrumbs__item + .breadcrumbs__item::before {
  background-image: url("data:image/svg+xml,%3Csvg width='7' height='8' viewBox='0 0 7 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.5 3.69453V2.35953C0.5 0.704526 1.675 0.0245264 3.11 0.854526L4.265 1.52453L5.42 2.19453C6.855 3.02453 6.855 4.37953 5.42 5.20953L4.265 5.87953L3.11 6.54953C1.675 7.36453 0.5 6.68953 0.5 5.02953V3.69453Z' stroke='white' stroke-opacity='0.35' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

.pagination {
  --pagination-bg: var(--color-primary);
  --pagination-bg-active: var(--color-primary-active);
  --pagination-text-color: var(--color-text);
  --pagination-text-color-active: var(--color-text-static);
  --pagination-border-radius: var(--radius-base);
}
.pagination__list {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pagination__link {
  display: inline-block;
  padding: 0.375em 0.75em;
  font-size: 1rem;
  text-decoration: none;
  color: var(--pagination-text-color);
  background-color: transparent;
  border-radius: var(--pagination-border-radius);
  transition: background-color var(--transition) ease, border-color var(--transition) ease, color var(--transition) ease;
}
.pagination__link:hover {
  color: var(--pagination-text-color-active);
  background-color: var(--pagination-bg);
}
.pagination__link:active {
  background-color: var(--pagination-bg-active);
}
.pagination__link--current {
  color: var(--pagination-text-color-active);
  background-color: var(--pagination-bg);
}
.pagination__link--dots {
  color: var(--pagination-text-color) !important;
  border: none !important;
  background: none !important;
}

.contacts-form-area {
  --contacts-form-bg-info: #ccc;
  --contacts-form-text-info: #333;
  --contacts-form-error-text: #d82341;
}
.contacts-form-area p {
  margin: 0;
}
.contacts-form-area .wpcf7-not-valid-tip {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: var(--contacts-form-error-text);
}
.contacts-form-area.wpcf7-form .wpcf7-response-output {
  margin: 0;
  margin-top: 1rem;
  padding: 1rem;
  font-size: 14px;
  color: var(--contacts-form-text-info);
  background-color: var(--contacts-form-bg-info);
  border: none;
}
.contacts-form-area .wpcf7-spinner {
  position: absolute;
  top: 1.1em;
  right: 0.5em;
  margin: 0;
}

[data-theme=dark] .contacts-form-area {
  --contacts-form-bg-info: #ccc;
  --contacts-form-text-info: #333;
  --contacts-form-error-text: #d82341;
}

.hero__item {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: center;
  min-height: 100vh;
  padding: 8rem 0;
  color: var(--color-text-static);
  background-color: var(--color-text);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.hero__item::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  display: inline-block;
  background-color: rgba(0, 0, 0, 0.5);
}
.hero__slider *,
.hero__slider *::after,
.hero__slider *::before {
  box-sizing: inherit;
}
.hero__video {
  position: absolute;
  inset: 0;
  z-index: -2;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero__content {
  padding-top: 4rem;
}
.hero__title {
  font-size: clamp(36px, 36px + (72 - 36) * (100vw - 360px) / (1400 - 360), 72px);
  max-width: 14em;
  text-transform: uppercase;
}
.hero .swiper-pagination .swiper-pagination-bullet {
  width: 0.75rem;
  height: 0.75rem;
  background-color: var(--color-text-static);
}
.hero .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--color-primary);
}

.about-info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--space-small);
  background-color: var(--color-bg-light);
  border-radius: var(--radius-md);
}
.about-info__num {
  font-size: clamp(40px, 40px + (138 - 40) * (100vw - 360px) / (1400 - 360), 138px);
  position: relative;
  top: -0.35em;
  margin: 0;
  font-family: var(--font-secondary);
  line-height: 0.9;
  color: var(--color-text);
}
.about-info__text {
  margin: 0;
  font-weight: 500;
  text-align: right;
  color: var(--color-primary);
}

.main-cats {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  overflow: hidden;
  background-color: var(--color-bg-light);
  border-radius: var(--radius-lg);
}
.main-cats__content {
  width: 100%;
  padding: var(--space-large);
}
.main-cats__title {
  font-size: clamp(18px, 18px + (22 - 18) * (100vw - 360px) / (1400 - 360), 22px);
  margin: 0;
  margin-bottom: 0.25em;
  font-weight: 600;
  color: var(--color-text);
}
.main-cats__totals {
  display: block;
  display: none !important;
  color: var(--color-text-alpha);
}
.main-cats__totals::before {
  content: "[";
}
.main-cats__totals::after {
  content: "]";
}
.main-cats__arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3.375rem;
  height: 3.375rem;
  position: absolute;
  bottom: 1.25rem;
  right: 1.25rem;
  z-index: 0;
}
.main-cats__arrow::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  border-radius: 50%;
  background: var(--gradient-primary);
  opacity: 0;
  transform: scale(1.2);
  transition: opacity var(--transition) ease, transform var(--transition-slow) ease;
}
.main-cats__arrow svg path {
  transition: stroke var(--transition) ease;
}
.main-cats:hover .main-cats__arrow::before {
  opacity: 1;
  transform: scale(1);
}
.main-cats:hover .main-cats__arrow svg path {
  stroke: #ffffff;
}

.main-advantages {
  position: relative;
  padding: var(--space-large);
  background-color: var(--color-bg-light);
  border-radius: var(--radius-lg);
}
.main-advantages__number {
  font-size: clamp(36px, 36px + (90 - 36) * (100vw - 360px) / (1400 - 360), 90px);
  position: absolute;
  top: 0;
  font-family: var(--font-secondary);
  line-height: 0.9;
  color: var(--color-primary-alpha);
}
.main-advantages__heading {
  font-size: clamp(18px, 18px + (20 - 18) * (100vw - 360px) / (1400 - 360), 20px);
  font-family: var(--font-main);
  font-weight: 500;
  color: var(--color-text);
}
.timeline__list {
  display: flex;
  gap: var(--space-medium);
}
.timeline__list--end {
  justify-content: flex-end;
}
@media (max-width: 576px) {
  .timeline__list {
    flex-wrap: wrap;
    gap: var(--space-default);
  }
}
.timeline__item {
  text-align: center;
}
.timeline__item--1 {
  max-width: 355px;
}
.timeline__item--2 {
  max-width: 490px;
  margin-left: 15%;
}
.timeline__item--3 {
  max-width: 335px;
  margin-right: 20%;
}
.timeline__item--4 {
  max-width: 415px;
}
@media (max-width: 992px) {
  .timeline__item {
    max-width: none;
    margin: 0;
  }
}
.timeline__year {
  font-size: clamp(36px, 36px + (70 - 36) * (100vw - 360px) / (1400 - 360), 70px);
  position: relative;
  top: -0.25em;
  margin: 0;
  font-family: var(--font-secondary);
  line-height: 1;
  color: var(--color-primary);
}
.timeline__title {
  margin: 0;
  margin-bottom: 0.5rem;
  font-family: var(--font-main);
  font-size: 1.125rem;
}
.timeline__desc {
  margin: 0;
  font-size: 0.9375rem;
  font-style: italic;
}
.timeline__history {
  margin: 2.875rem 0;
  padding-bottom: 1.375rem;
  border-bottom: 3px solid var(--color-primary);
}
@media (max-width: 992px) {
  .timeline__history {
    border-bottom-width: 2px;
  }
}
.timeline__line-path {
  animation: dashMove 2s linear infinite;
}

@keyframes dashMove {
  from {
    stroke-dashoffset: 0;
  }
  to {
    stroke-dashoffset: -18;
  }
}
.mobile-menu {
  --menu-bg: #ffffff;
  --menu-text: #222222;
  --menu-accent: var(--color-primary);
  --menu-border: #d0d0d0;
  --menu-width: 300px;
  --menu-padding: 1.25rem;
  --icon-size: 20px;
  --menu-transition: 0.35s ease;
  --z-menu: var(--z-modal);
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  width: var(--menu-width);
  max-width: 100%;
  height: 100%;
  background-color: var(--menu-bg);
  color: var(--menu-text);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  overflow-y: auto;
  transform: translateX(-100%);
  opacity: 0;
  pointer-events: none;
  transition: transform var(--menu-transition), opacity var(--menu-transition);
  z-index: var(--z-menu);
}
.mobile-menu.open {
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}

body.menu-open {
  overflow: hidden;
  width: 100%;
}

/* =========================================================
   Sections
========================================================= */
.mobile-menu__heading,
.mobile-menu__content,
.mobile-menu__footer {
  padding: var(--menu-padding);
  border-bottom: 1px solid var(--menu-border);
}

.mobile-menu__heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* =========================================================
   Close Button (mask + currentColor)
========================================================= */
.mobile-menu__close {
  width: var(--icon-size);
  height: var(--icon-size);
  color: var(--color-text);
  background-color: currentColor;
  border: none;
  cursor: pointer;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 6L18 18M6 18L18 6' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 6L18 18M6 18L18 6' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* =========================================================
   Menu List
========================================================= */
.mobile-menu__list {
  margin: 0;
  padding: var(--menu-padding);
  list-style: none;
}

.mobile-menu__list li {
  margin-bottom: 0.625rem;
}

.mobile-menu__list a {
  display: block;
  width: 100%;
  color: var(--menu-text);
  text-decoration: none;
}

.mobile-menu__list a:hover,
.mobile-menu__list a:focus {
  color: var(--menu-accent);
}

/* =========================================================
   Submenu
========================================================= */
.menu-item-has-children {
  position: relative;
}

.mobile-menu .sub-menu-toggle {
  position: absolute;
  top: 0.75em;
  right: 0;
  width: 1.8rem;
  height: 1.8rem;
  transform: translateY(-50%) rotate(0deg);
  color: var(--color-text);
  background-color: currentColor;
  border: none;
  cursor: pointer;
  transition: transform var(--menu-transition);
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.menu-item-has-children.open .sub-menu-toggle {
  transform: translateY(-50%) rotate(180deg);
}

.mobile-menu .sub-menu {
  display: none;
  margin-top: 0.625rem;
  padding-left: 1rem;
  list-style: none;
}

.menu-item-has-children.open .sub-menu {
  display: block;
}

/* =========================================================
   Overlay
========================================================= */
.mobile-menu__overlay {
  --menu-overlay: rgba(0, 0, 0, 0.6);
  --menu-overlay-z: var(--z-overlay);
  position: fixed;
  inset: 0;
  background-color: var(--menu-overlay);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--menu-transition);
  z-index: var(--menu-overlay-z);
}

.mobile-menu__overlay.show {
  opacity: 1;
  pointer-events: auto;
}

/* =========================================================
   Accessibility
========================================================= */
.mobile-menu[aria-hidden=true] {
  pointer-events: none;
}

.mobile-menu[aria-hidden=false] {
  pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
  .mobile-menu,
  .mobile-menu__overlay,
  .sub-menu-toggle {
    transition: none;
  }
}
[data-theme=dark] .mobile-menu {
  --menu-bg: #121212;
  --menu-text: #f1f1f1;
  --menu-accent: #4da3ff;
  --menu-border: #2a2a2a;
  --menu-overlay: rgba(0, 0, 0, 0.75);
}

body.modal-open {
  position: fixed;
  width: 100%;
  overflow: hidden;
}

.modal {
  --modal-bg: var(--color-bg);
  --modal-width: 90%;
  --modal-paddings: 3rem;
  --modal-max-width: 440px;
  --modal-color-close: var(--color-text);
  --modal-transition: 0.4s ease;
  --modal-overlay-bg: rgba(0,0,0,0.6);
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  justify-content: center;
  align-items: center;
  visibility: hidden;
  opacity: 0;
}
@media (max-width: 576px) {
  .modal {
    --modal-paddings: 2rem;
  }
}
.modal__content {
  position: relative;
  z-index: 10;
  width: var(--modal-width);
  max-width: var(--modal-max-width);
  padding: var(--modal-paddings);
  background: var(--modal-bg);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  transform-origin: center;
  opacity: 0;
  transition: var(--modal-transition);
}
.modal__title {
  font-size: clamp(28px, 28px + (36 - 28) * (100vw - 360px) / (1400 - 360), 36px);
  text-align: center;
  color: var(--color-text);
}
.modal .form-field {
  margin-bottom: 1rem;
}

.modal.open {
  visibility: visible;
  opacity: 1;
}

.modal__overlay {
  position: absolute;
  inset: 0;
  background: var(--modal-overlay-bg);
  opacity: 0;
  transition: opacity var(--modal-transition);
}

.modal.open .modal__overlay {
  opacity: 1;
}

.modal__close {
  position: absolute;
  top: 10px;
  right: 10px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1.2rem;
  color: var(--modal-color-close);
}

/* --- Animations --- */
/* Fade */
.modal.fade .modal__content {
  transform: none;
}

.modal.fade.open .modal__content {
  opacity: 1;
  transition: opacity var(--modal-transition);
}

/* Slide Top */
.modal.slide-top .modal__content {
  transform: translateY(-50px);
}

.modal.slide-top.open .modal__content {
  opacity: 1;
  transform: translateY(0);
  transition: transform var(--modal-transition), opacity var(--modal-transition);
}

/* Scale */
.modal.scale .modal__content {
  transform: scale(0.8);
}

.modal.scale.open .modal__content {
  opacity: 1;
  transform: scale(1);
  transition: transform var(--modal-transition), opacity var(--modal-transition);
}

/* Bounce */
.modal.bounce .modal__content {
  transform: scale(0.9);
}

.modal.bounce.open .modal__content {
  opacity: 1;
  transform: scale(1);
  transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.4s ease;
}

/* Slide Bottom */
.modal.slide-bottom .modal__content {
  transform: translateY(50px);
  opacity: 0;
}

.modal.slide-bottom.open .modal__content {
  transform: translateY(0);
  opacity: 1;
  transition: transform var(--modal-transition), opacity var(--modal-transition);
}

.contactbox {
  --contactbox-bg: var(--color-bg-light);
  --contactbox-border-radius: var(--radius-md);
  --contactbox-content-paddings: var(--space-small);
  background-color: var(--contactbox-bg);
  border-radius: var(--contactbox-border-radius);
}
.contactbox__map iframe {
  width: 100%;
  height: 240px;
  border-radius: var(--contactbox-border-radius);
}
.contactbox__content {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: var(--contactbox-content-paddings);
}
.contactbox__title {
  margin: 0;
  font-family: var(--font-main);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--color-text);
}
.contactbox__info {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin: 0;
  font-size: 0.9375rem;
}
.contactbox__info a {
  color: var(--color-text-alpha);
}
.contactbox__info-icon {
  margin-top: 0.1rem;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
}

.callform__layout {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  gap: var(--space-extra-small);
}
@media (max-width: 992px) {
  .callform__layout {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (max-width: 768px) {
  .callform__layout {
    grid-template-columns: 1fr;
  }
}
.callform__submitbox {
  position: relative;
}
@media (max-width: 992px) {
  .callform__submitbox {
    grid-column: 1/-1;
  }
}
.callform__submit {
  width: 14.375rem;
}
@media (max-width: 992px) {
  .callform__submit {
    width: 100%;
  }
}

.aboutbox {
  display: flex;
  gap: 6.25rem;
}
@media (max-width: 1200px) {
  .aboutbox {
    gap: 3rem;
  }
}
@media (max-width: 992px) {
  .aboutbox {
    flex-wrap: wrap;
    gap: 2rem;
  }
}
.aboutbox__content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.aboutbox__content * {
  margin: 0;
}
.aboutbox__pic {
  display: block;
  width: 45%;
  flex-shrink: 0;
}
@media (max-width: 992px) {
  .aboutbox__pic {
    width: 100%;
    order: -1;
  }
}
.aboutbox__image {
  border-radius: var(--radius-lg);
}
@media (max-width: 992px) {
  .aboutbox__image {
    margin-left: auto;
    margin-right: auto;
  }
}

.teaminfo__title {
  margin: 0;
  margin-bottom: 1rem;
  font-family: var(--font-main);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--color-text);
}
.teaminfo__contact {
  margin: 0;
  padding-top: 0.4em;
  padding-left: 2.14em;
  padding-bottom: 0.4em;
  font-size: 0.9375rem;
  background-position: left center;
  background-repeat: no-repeat;
}
.teaminfo__contact--location {
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='18' viewBox='0 0 16 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.3125 5.8625C14.3937 1.82 10.8675 0 7.76998 0C7.76998 0 7.76998 0 7.76123 0C4.67248 0 1.13748 1.81125 0.218731 5.85375C-0.805019 10.3687 1.95998 14.1925 4.46248 16.5987C5.38998 17.4912 6.57998 17.9375 7.76998 17.9375C8.95998 17.9375 10.15 17.4912 11.0687 16.5987C13.5712 14.1925 16.3362 10.3775 15.3125 5.8625ZM7.76998 10.2463C6.24748 10.2463 5.01373 9.0125 5.01373 7.49C5.01373 5.9675 6.24748 4.73375 7.76998 4.73375C9.29248 4.73375 10.5262 5.9675 10.5262 7.49C10.5262 9.0125 9.29248 10.2463 7.76998 10.2463Z' fill='%232260AA'/%3E%3C/svg%3E%0A");
}
.teaminfo__contact--mail {
  background-image: url("data:image/svg+xml,%3Csvg width='18' height='15' viewBox='0 0 18 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.125 0H4.375C1.75 0 0 1.3125 0 4.375V10.5C0 13.5625 1.75 14.875 4.375 14.875H13.125C15.75 14.875 17.5 13.5625 17.5 10.5V4.375C17.5 1.3125 15.75 0 13.125 0ZM13.5362 5.32875L10.7975 7.51625C10.22 7.98 9.485 8.2075 8.75 8.2075C8.015 8.2075 7.27125 7.98 6.7025 7.51625L3.96375 5.32875C3.68375 5.10125 3.64 4.68125 3.85875 4.40125C4.08625 4.12125 4.4975 4.06875 4.7775 4.29625L7.51625 6.48375C8.18125 7.0175 9.31 7.0175 9.975 6.48375L12.7137 4.29625C12.9937 4.06875 13.4137 4.1125 13.6325 4.40125C13.86 4.68125 13.8162 5.10125 13.5362 5.32875Z' fill='%232260AA'/%3E%3C/svg%3E%0A");
}
.teaminfo__contact--phone {
  background-image: url("data:image/svg+xml,%3Csvg width='21' height='21' viewBox='0 0 21 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.66875 13.0813L8.05 14.7C7.70875 15.0413 7.16625 15.0413 6.81625 14.7088C6.72 14.6125 6.62375 14.525 6.5275 14.4288C5.62625 13.5188 4.8125 12.565 4.08625 11.5675C3.36875 10.57 2.79125 9.5725 2.37125 8.58375C1.96 7.58625 1.75 6.6325 1.75 5.7225C1.75 5.1275 1.855 4.55875 2.065 4.03375C2.275 3.5 2.6075 3.01 3.07125 2.5725C3.63125 2.02125 4.24375 1.75 4.89125 1.75C5.13625 1.75 5.38125 1.8025 5.6 1.9075C5.8275 2.0125 6.02875 2.17 6.18625 2.3975L8.21625 5.25875C8.37375 5.4775 8.4875 5.67875 8.56625 5.87125C8.645 6.055 8.68875 6.23875 8.68875 6.405C8.68875 6.615 8.6275 6.825 8.505 7.02625C8.39125 7.2275 8.225 7.4375 8.015 7.6475L7.35 8.33875C7.25375 8.435 7.21 8.54875 7.21 8.68875C7.21 8.75875 7.21875 8.82 7.23625 8.89C7.2625 8.96 7.28875 9.0125 7.30625 9.065C7.46375 9.35375 7.735 9.73 8.12 10.185C8.51375 10.64 8.93375 11.1038 9.38875 11.5675C9.47625 11.655 9.5725 11.7425 9.66 11.83C10.01 12.1713 10.0188 12.7313 9.66875 13.0813Z' fill='%232260AA'/%3E%3Cpath d='M19.2241 16.0388C19.2241 16.2838 19.1804 16.5375 19.0929 16.7825C19.0666 16.8525 19.0404 16.9225 19.0054 16.9925C18.8566 17.3075 18.6641 17.605 18.4104 17.885C17.9816 18.3575 17.5091 18.6988 16.9754 18.9175C16.9666 18.9175 16.9579 18.9263 16.9491 18.9263C16.4329 19.1363 15.8729 19.25 15.2691 19.25C14.3766 19.25 13.4229 19.04 12.4166 18.6113C11.4104 18.1825 10.4041 17.605 9.40664 16.8788C9.06539 16.625 8.72414 16.3713 8.40039 16.1L11.2616 13.2388C11.5066 13.4225 11.7254 13.5625 11.9091 13.6588C11.9529 13.6763 12.0054 13.7025 12.0666 13.7288C12.1366 13.755 12.2066 13.7638 12.2854 13.7638C12.4341 13.7638 12.5479 13.7113 12.6441 13.615L13.3091 12.9588C13.5279 12.74 13.7379 12.5738 13.9391 12.4688C14.1404 12.3463 14.3416 12.285 14.5604 12.285C14.7266 12.285 14.9016 12.32 15.0941 12.3988C15.2866 12.4775 15.4879 12.5913 15.7066 12.74L18.6029 14.7963C18.8304 14.9538 18.9879 15.1375 19.0841 15.3563C19.1716 15.575 19.2241 15.7938 19.2241 16.0388Z' fill='%232260AA'/%3E%3C/svg%3E%0A");
}
.teaminfo__contact--user {
  background-image: url("data:image/svg+xml,%3Csvg width='21' height='21' viewBox='0 0 21 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.5 1.75C8.2075 1.75 6.34375 3.61375 6.34375 5.90625C6.34375 8.155 8.1025 9.975 10.395 10.0538C10.465 10.045 10.535 10.045 10.5875 10.0538C10.605 10.0538 10.6137 10.0538 10.6312 10.0538C10.64 10.0538 10.64 10.0538 10.6488 10.0538C12.8888 9.975 14.6475 8.155 14.6562 5.90625C14.6562 3.61375 12.7925 1.75 10.5 1.75Z' fill='%232260AA'/%3E%3Cpath d='M14.9448 12.3813C12.5036 10.7538 8.52234 10.7538 6.06359 12.3813C4.95234 13.125 4.33984 14.1313 4.33984 15.2075C4.33984 16.2838 4.95234 17.2813 6.05484 18.0163C7.27984 18.8388 8.88984 19.25 10.4998 19.25C12.1098 19.25 13.7198 18.8388 14.9448 18.0163C16.0473 17.2725 16.6598 16.275 16.6598 15.19C16.6511 14.1138 16.0473 13.1163 14.9448 12.3813Z' fill='%232260AA'/%3E%3C/svg%3E%0A");
}
.teaminfo__contact a {
  color: var(--color-text-alpha);
}

.team-map {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
}
@media (max-width: 992px) {
  .team-map {
    flex-wrap: wrap;
  }
}
.team-map__content {
  width: 50%;
}
@media (max-width: 992px) {
  .team-map__content {
    width: 100%;
  }
}
.team-map__mapbox {
  width: 50%;
  padding-top: 2rem;
}
@media (max-width: 992px) {
  .team-map__mapbox {
    width: 100%;
    padding-top: 0;
    text-align: center;
  }
}
.team-map__wrap {
  position: relative;
  display: inline-block;
}
.team-map__location {
  position: absolute;
  display: inline-block;
  padding: 0.25em 0.625em;
  font-size: 0.875rem;
  line-height: 1.2;
  text-align: left;
  color: var(--color-text-static-2);
  background-color: var(--color-text-light);
  border-radius: var(--radius-sm);
}
.team-map__location::before {
  width: 1.5rem;
  height: 1.5rem;
  content: "";
  position: absolute;
  top: 0;
  left: -1.75rem;
  display: inline-block;
  background-image: url("data:image/svg+xml,%3Csvg width='18' height='21' viewBox='0 0 18 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.4998 6.69994C16.4498 2.07998 12.4199 0 8.8799 0C8.8799 0 8.8799 0 8.8699 0C5.33993 0 1.29997 2.06998 0.249976 6.68994C-0.920014 11.8499 2.23996 16.2199 5.09993 18.9698C6.15992 19.9898 7.51991 20.4998 8.8799 20.4998C10.2399 20.4998 11.5999 19.9898 12.6499 18.9698C15.5098 16.2199 18.6698 11.8599 17.4998 6.69994ZM8.8799 11.7099C7.13992 11.7099 5.72993 10.2999 5.72993 8.55993C5.72993 6.81994 7.13992 5.40995 8.8799 5.40995C10.6199 5.40995 12.0299 6.81994 12.0299 8.55993C12.0299 10.2999 10.6199 11.7099 8.8799 11.7099Z' fill='%232260AA'/%3E%3C/svg%3E%0A");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1.05rem;
}
.team-map__location--right::before {
  left: auto;
  right: -1.75rem;
}

.product {
  --product-bg: var(--color-bg-light);
  --product-paddings: var(--space-medium);
  --product-border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  background-color: var(--product-bg);
  border-radius: var(--product-border-radius);
}
.product__image {
  width: 100%;
  border-radius: var(--product-border-radius);
}
.product__content {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: var(--product-paddings);
}
.product__title {
  margin-bottom: 0.52em;
  font-family: var(--font-main);
  font-size: 1.1875rem;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: -0.5px;
  color: var(--color-text);
}
.product__excerpt {
  margin-bottom: 1rem;
}
.product__info-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
  margin: 0;
  padding: 0.35rem 0;
}
.product__info-title {
  display: flex;
  align-items: center;
  width: 50%;
  gap: 0.625rem;
  text-transform: uppercase;
  font-size: 0.875rem;
  background-position: left center;
  background-repeat: no-repeat;
}
.product__info-image {
  max-width: 1.5rem;
  flex-shrink: 0;
}
.product__info-value {
  font-size: 0.875rem;
  font-weight: 500;
  text-align: right;
  color: var(--color-text);
}
.product__bottom {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-top: auto;
  gap: 0.5rem;
  padding-top: 1.75rem;
}
@media (max-width: 1200px) {
  .product__bottom {
    flex-wrap: wrap;
  }
}
.product__btn {
  width: 50%;
}
@media (max-width: 1200px) {
  .product__btn {
    width: 100%;
  }
}

.infobox {
  --infobox-bg: var(--color-bg-light-2);
  display: flex;
  align-items: center;
  gap: var(--space-medium);
  justify-content: space-between;
  padding: var(--space-extra-large);
  background-color: var(--infobox-bg);
  background-image: url("data:image/svg+xml,%3Csvg width='1400' height='273' viewBox='0 0 1400 273' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M-16 356.814C28.6011 276.503 162.097 113.614 339.271 104.549C516.445 95.4841 747.004 292.406 840.137 392C1107.4 318.447 1593.13 110.274 1397.91 -134' stroke='%23245FAC' stroke-opacity='0.06' stroke-width='55'/%3E%3C/svg%3E%0A");
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: var(--radius-md);
}
@media (max-width: 992px) {
  .infobox {
    flex-wrap: wrap;
  }
}
.infobox__header {
  max-width: 31.25rem;
}
@media (max-width: 992px) {
  .infobox__header {
    max-width: none;
    text-align: center;
  }
}
.infobox__caption {
  margin: 0;
}
.infobox__buttons {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: var(--space-default);
}
@media (max-width: 992px) {
  .infobox__buttons {
    width: 100%;
    gap: 0.5rem;
  }
}
.product-cat {
  overflow: hidden;
  background-color: var(--color-bg-light);
  border-radius: var(--radius-md);
}
.product-cat__imagebox {
  background-color: var(--color-bg-light-2);
}
.product-cat__image {
  border-radius: var(--radius-md);
}
.product-cat__content {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  justify-content: space-between;
  padding: var(--space-medium);
}
@media (max-width: 1200px) {
  .product-cat__content {
    flex-wrap: wrap;
    gap: 1rem;
  }
}
.product-cat__title {
  margin-bottom: 0.75em;
  font-family: var(--font-main);
  font-size: 1.1875rem;
  font-weight: 600;
  color: var(--color-text);
}
.product-cat__quantity {
  margin: 0;
}
.product-cat__readmore {
  width: 100%;
  max-width: 12.8125em;
}
@media (max-width: 1200px) {
  .product-cat__readmore {
    max-width: none;
  }
}

.callbox {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: var(--space-huge);
  background-color: var(--color-bg-light-2);
  background-image: url("data:image/svg+xml,%3Csvg width='1400' height='273' viewBox='0 0 1400 273' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M-16 356.814C28.6011 276.503 162.097 113.614 339.271 104.549C516.445 95.4841 747.004 292.406 840.137 392C1107.4 318.447 1593.13 110.274 1397.91 -134' stroke='%23245FAC' stroke-opacity='0.06' stroke-width='55'/%3E%3C/svg%3E%0A");
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: var(--radius-md);
}
@media (max-width: 992px) {
  .callbox {
    flex-wrap: wrap;
  }
}
.callbox__content {
  width: 100%;
  max-width: 27rem;
}
@media (max-width: 992px) {
  .callbox__content {
    max-width: none;
  }
}
.callbox__form-area {
  width: 30rem;
}
@media (max-width: 992px) {
  .callbox__form-area {
    width: 100%;
  }
}
.callbox__layout {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-super-small);
}
.callbox__column {
  width: 100%;
}
.callbox__column--half {
  width: calc(50% - 0.375rem);
}
@media (max-width: 576px) {
  .callbox__column--half {
    width: 100%;
  }
}
.callbox__submit {
  width: 100%;
}

.cat-desc {
  display: flex;
  gap: 2rem;
}
@media (max-width: 768px) {
  .cat-desc {
    flex-wrap: wrap;
  }
}
.cat-desc__content {
  width: 50%;
  flex-grow: 1;
}
@media (max-width: 768px) {
  .cat-desc__content {
    width: 100%;
  }
}
.cat-desc__pic {
  width: 50%;
}
@media (max-width: 768px) {
  .cat-desc__pic {
    width: 100%;
  }
}
.cat-desc__title {
  color: var(--color-primary);
}
.cat-desc__imagebox {
  position: relative;
  overflow: hidden;
  background-color: var(--color-bg-light-2);
  border-radius: var(--radius-md);
}
.single-product {
  display: flex;
  gap: var(--space-medium);
}
@media (max-width: 992px) {
  .single-product {
    flex-wrap: wrap;
  }
}
.single-product__images {
  width: 50%;
}
@media (max-width: 992px) {
  .single-product__images {
    width: 100%;
  }
}
.single-product__content {
  width: 50%;
  flex-grow: 1;
}
@media (max-width: 992px) {
  .single-product__content {
    width: 100%;
  }
}
.single-product__image {
  width: 100%;
  border-radius: var(--radius-md);
}
.single-product__subtitle::before {
  content: "[";
}
.single-product__subtitle::after {
  content: "]";
}
.single-product__title {
  color: var(--color-primary);
}
.single-product__desc {
  font-style: italic;
}
.single-product__info {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-default);
  margin-top: var(--space-medium);
}
.single-product__info-column {
  width: calc(33.33% - 0.6666666667rem);
}
@media (max-width: 576px) {
  .single-product__info-column {
    width: calc(50% - 1rem);
  }
}
.single-product__info-param {
  display: flex;
  align-items: center;
  margin: 0;
  gap: 0.75rem;
  margin-bottom: 0.3125em;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--color-text);
}
.single-product__info-image {
  flex-shrink: 0;
}
.single-product__info-value {
  margin: 0;
}
.single-product__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--space-extra-small);
  padding-top: var(--space-huge);
}
.single-product__request, .single-product__download {
  flex-grow: 1;
}

.single-product-slider__imagebox {
  position: relative;
  padding-bottom: 55%;
  margin-bottom: var(--space-super-small);
  overflow: hidden;
  border-radius: var(--radius-md);
}
.single-product-slider__image {
  position: absolute;
  inset: 0;
  display: inline-block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.single-product-slider-nav__imagebox {
  position: relative;
  padding-bottom: 85%;
  margin-bottom: var(--space-super-small);
  overflow: hidden;
  border-radius: var(--radius-md);
}
.single-product-slider-nav__imagebox::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: var(--radius-md);
  transition: box-shadow var(--transition) ease;
}
.single-product-slider-nav__imagebox:hover::after {
  box-shadow: inset 0 0 0 2px rgba(36, 95, 172, 0.4);
}
.single-product-slider-nav__image {
  position: absolute;
  inset: 0;
  display: inline-block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: pointer;
  opacity: 0.65;
  will-change: transform;
  transition: transform var(--transition) ease, opacity var(--transition) ease;
}
.swiper-slide-thumb-active .single-product-slider-nav__imagebox::after {
  box-shadow: inset 0 0 0 2px var(--color-primary);
}
.swiper-slide-thumb-active .single-product-slider-nav__image {
  transform: scale(1.1);
  opacity: 1;
}

.single-product-color {
  display: flex;
  align-items: center;
  gap: var(--space-default);
  padding: var(--space-small);
  background-color: var(--color-bg-light);
  border-radius: var(--radius-def);
}
.single-product-color__color {
  width: 2.25rem;
  height: 2.25rem;
  flex-shrink: 0;
  background-color: var(--color-bg);
  border-radius: 50%;
}
.single-product-color__caption {
  font-family: var(--font-main);
  font-size: 1.125rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--color-text);
}
@media (max-width: 992px) {
  .single-product-color__caption {
    font-size: 1rem;
  }
}
.single-product-color__caption {
  margin: 0;
}

.single-product-delivery {
  display: flex;
  align-items: center;
  gap: var(--space-default);
  padding: var(--space-medium);
  background-color: var(--color-bg-light);
  border-radius: var(--radius-lg);
}
.single-product-delivery__iconbox {
  width: 3.125rem;
  height: 3.125rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--color-primary-alpha-2);
  border-radius: var(--radius-sm);
}
.single-product-delivery__icon {
  width: auto;
}
.single-product-delivery__caption {
  font-family: var(--font-main);
  font-size: 1.125rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--color-text);
}
@media (max-width: 992px) {
  .single-product-delivery__caption {
    font-size: 1rem;
  }
}
.single-product-delivery__caption {
  margin: 0;
}

.single-product-sizes {
  overflow: auto;
}
.single-product-sizes table {
  width: 100%;
  min-width: 42.5rem;
  border-collapse: separate;
  border-spacing: 0 0.75rem;
}
.single-product-sizes table th,
.single-product-sizes table td {
  text-align: left;
}
.single-product-sizes table thead th {
  font-family: var(--font-main);
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--color-text);
}
@media (max-width: 992px) {
  .single-product-sizes table thead th {
    font-size: 1.125rem;
  }
}
.single-product-sizes table thead th {
  padding: var(--space-small) var(--space-medium);
  text-transform: none;
  text-align: left;
  color: var(--color-text-static);
  background: var(--color-primary);
}
.single-product-sizes table thead th:first-child {
  border-radius: var(--space-super-small) 0 0 var(--space-super-small);
}
.single-product-sizes table thead th:last-child {
  border-radius: 0 var(--space-super-small) var(--space-super-small) 0;
}
.single-product-sizes table tbody tr {
  background: var(--color-bg-light);
}
.single-product-sizes table tbody td {
  font-family: var(--font-main);
  font-size: 1.125rem;
  font-weight: normal;
  letter-spacing: -0.02em;
  color: var(--color-text);
}
@media (max-width: 992px) {
  .single-product-sizes table tbody td {
    font-size: 1rem;
  }
}
.single-product-sizes table tbody td {
  padding: var(--space-small) var(--space-medium);
}
.single-product-sizes table tbody td:first-child {
  border-radius: 10px 0 0 10px;
  font-weight: 600;
}
.single-product-sizes table tbody td:last-child {
  border-radius: 0 10px 10px 0;
}

.single-product-variant {
  display: flex;
  flex-direction: column;
  padding: var(--space-large) var(--space-medium);
  background-color: var(--color-bg-light);
  border-radius: var(--radius-md);
}
.single-product-variant__caption {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 0.875rem;
  text-transform: uppercase;
  color: var(--color-primary);
}
.single-product-variant__caption::before {
  content: "[";
}
.single-product-variant__caption::after {
  content: "]";
}
.single-product-variant__title {
  font-family: var(--font-main);
  font-size: 1.375rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--color-text);
}
@media (max-width: 992px) {
  .single-product-variant__title {
    font-size: 1.25rem;
  }
}
.single-product-variant__title {
  margin-bottom: 0.375rem;
}
.single-product-variant__desc {
  letter-spacing: -0.01rem;
}
.single-product-variant__bottom {
  margin-top: auto;
  padding-top: 1rem;
}
.single-product-variant__imagebox {
  position: relative;
  padding-bottom: 40%;
}
.single-product-variant__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: var(--radius-def);
  object-fit: cover;
}
.single-product-variant__check {
  padding: var(--space-default);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: -0.02em;
}

.single-product-spec {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-extra-small);
  padding: var(--space-medium);
  background-color: var(--color-bg-light);
  border-radius: var(--radius-def);
}
.single-product-spec__title {
  font-family: var(--font-main);
  font-size: 1.125rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--color-text);
}
@media (max-width: 992px) {
  .single-product-spec__title {
    font-size: 1rem;
  }
}
.single-product-spec__title {
  margin: 0;
}
.single-product-spec__value {
  font-family: var(--font-main);
  font-size: 1.125rem;
  font-weight: normal;
  letter-spacing: -0.02em;
  color: var(--color-text);
}
@media (max-width: 992px) {
  .single-product-spec__value {
    font-size: 1rem;
  }
}
.single-product-spec__value {
  margin: 0;
  text-align: right;
}

.single-product-key {
  padding: var(--space-medium);
  background-color: var(--color-bg-light);
  border-radius: var(--radius-lg);
}
.single-product-key__iconbox {
  width: 3.125rem;
  height: 3.125rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: var(--space-small);
  background-color: var(--color-primary-alpha-2);
  border-radius: var(--radius-sm);
}
.single-product-key__icon {
  width: auto;
}
.single-product-key__title {
  font-family: var(--font-main);
  font-size: 1.125rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--color-text);
}
@media (max-width: 992px) {
  .single-product-key__title {
    font-size: 1rem;
  }
}

.single-product-overview {
  display: flex;
  justify-content: space-between;
  gap: var(--space-medium);
}
@media (max-width: 768px) {
  .single-product-overview {
    flex-wrap: wrap;
  }
}
.single-product-overview__about {
  width: 50%;
}
@media (max-width: 768px) {
  .single-product-overview__about {
    width: 100%;
  }
}
.single-product-overview__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-extra-small);
}
.single-product-overview__list-item {
  display: flex;
  align-items: center;
  gap: var(--space-extra-small);
}
.single-product-overview__list-iconbox {
  width: 3.125rem;
  height: 3.125rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  background-color: var(--color-primary-alpha-2);
  border-radius: var(--radius-sm);
}
.single-product-overview__list-icon {
  width: auto;
}
.single-product-desc {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-small);
}
.single-product-desc__content {
  flex: 2;
}
@media (max-width: 768px) {
  .single-product-desc__content {
    width: 100%;
    flex: none;
  }
}
.single-product-desc__pic {
  flex: 1;
}
.single-product-desc__pic--right {
  order: 2;
}
@media (max-width: 768px) {
  .single-product-desc__pic {
    width: 100%;
    flex: none;
    order: -1;
  }
}
.single-product-desc__image {
  border-radius: var(--radius-def);
}

.single-product-content-desc {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-medium);
  padding: var(--space-large);
  background-color: var(--color-bg-light);
  border-radius: var(--radius-def);
}
.single-product-content-desc__content {
  flex: 4;
  font-size: 1.125rem;
}
@media (max-width: 1200px) {
  .single-product-content-desc__content {
    flex: 5;
  }
}
@media (max-width: 768px) {
  .single-product-content-desc__content {
    width: 100%;
    flex: none;
  }
}
.single-product-content-desc__pic {
  flex: 1;
}
@media (max-width: 1200px) {
  .single-product-content-desc__pic {
    flex: 2;
  }
}
@media (max-width: 768px) {
  .single-product-content-desc__pic {
    width: 100%;
    flex: none;
  }
}
.single-product-content-desc__image {
  border-radius: var(--radius-md);
}

.container {
  width: min(100% - var(--container-gap), var(--container-width));
  margin-inline: auto;
}

.layout-grid {
  display: grid;
  gap: var(--space-medium);
}
.layout-grid--2 {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 768px) {
  .layout-grid--2 {
    grid-template-columns: 1fr;
  }
}
.layout-grid--3 {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 768px) {
  .layout-grid--3 {
    grid-template-columns: 1fr;
  }
}
.layout-grid--4-auto {
  grid-template-columns: repeat(4, auto);
}
@media (max-width: 992px) {
  .layout-grid--4-auto {
    grid-template-columns: repeat(2, auto);
  }
}
@media (max-width: 576px) {
  .layout-grid--4-auto {
    grid-template-columns: 1fr;
  }
}
.layout-grid--products {
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
}
.layout-grid--product-colors {
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
}
.layout-grid--product-delivery {
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}
.layout-grid--product-spec {
  grid-template-columns: repeat(2, 1fr);
  column-gap: var(--space-medium);
  row-gap: 0.625rem;
}
@media (max-width: 768px) {
  .layout-grid--product-spec {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 992px) {
  .layout-grid {
    gap: 1rem;
  }
}
.layout-grid__item-full {
  grid-column: 1/-1;
}

.layout-footer {
  margin-top: 3.125rem;
  text-align: center;
}
@media (max-width: 576px) {
  .layout-footer {
    margin-top: 2rem;
  }
}

.layout-content {
  display: flex;
  flex-direction: column;
}
.layout-content--product-desc {
  gap: var(--space-small);
}

.header {
  --header-height: 6.25rem;
}
@media (max-width: 1200px) {
  .header {
    --header-height: 5rem;
  }
}
@media (max-width: 576px) {
  .header {
    --header-height: 4.25rem;
  }
}
.header--default .header__container {
  padding-left: 0;
  padding-right: 0;
}
.header--absolute {
  position: absolute;
  top: 0.75rem;
  z-index: var(--z-sticky);
  width: 100%;
}
.header--hidden {
  transform: translateY(-100%);
}
.header--visible {
  transform: translateY(0);
  transition: transform 0.3s ease;
}
.header__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 3.125rem;
  height: var(--header-height);
  padding: 0.75rem 1.875rem;
  background-color: var(--color-bg-alpha);
  border-radius: var(--radius-md);
}
@media (max-width: 1460px) {
  .header__container {
    column-gap: 2rem;
  }
}
@media (max-width: 1200px) {
  .header__container {
    padding: 0.5em 1.25rem;
    border-radius: var(--radius-sm);
  }
}
@media (max-width: 576px) {
  .header__container {
    column-gap: 1rem;
  }
}
[data-theme=dark] .header__logo-dark {
  display: none;
}
.header__logo-light {
  display: none;
}
[data-theme=dark] .header__logo-light {
  display: block;
}
.header__nav {
  margin-left: auto;
}
@media (max-width: 1200px) {
  .header__nav {
    display: none;
  }
}
.header__theme {
  width: 2rem;
  height: 2rem;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg width='64px' height='64px' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='SVGRepo_bgCarrier' stroke-width='0'%3E%3C/g%3E%3Cg id='SVGRepo_tracerCarrier' stroke-linecap='round' stroke-linejoin='round'%3E%3C/g%3E%3Cg id='SVGRepo_iconCarrier'%3E%3Cpath d='M13.589 21.659c-3.873 1.038-8.517-.545-10.98-3.632a1 1 0 0 1 .751-1.623c3.984-.118 6.662-1.485 8.17-4.098 1.51-2.613 1.354-5.616-.535-9.125a1 1 0 0 1 1.03-1.463c3.904.59 7.597 3.82 8.635 7.694 1.43 5.334-1.737 10.818-7.071 12.247z' fill='%23333333'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 1.4rem;
  border: none;
}
@media (max-width: 1200px) {
  .header__theme {
    margin-left: auto;
  }
}
[data-theme=dark] .header__theme {
  background-image: url("data:image/svg+xml,%3Csvg width='64px' height='64px' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='SVGRepo_bgCarrier' stroke-width='0'%3E%3C/g%3E%3Cg id='SVGRepo_tracerCarrier' stroke-linecap='round' stroke-linejoin='round'%3E%3C/g%3E%3Cg id='SVGRepo_iconCarrier'%3E%3Cpath d='M12 3V4M12 20V21M4 12H3M6.31412 6.31412L5.5 5.5M17.6859 6.31412L18.5 5.5M6.31412 17.69L5.5 18.5001M17.6859 17.69L18.5 18.5001M21 12H20M16 12C16 14.2091 14.2091 16 12 16C9.79086 16 8 14.2091 8 12C8 9.79086 9.79086 8 12 8C14.2091 8 16 9.79086 16 12Z' stroke='%23fffdb8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
}
@media (max-width: 1200px) {
  .header__call {
    display: none;
  }
}
.header__burger {
  display: none;
}
@media (max-width: 1200px) {
  .header__burger {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 3rem;
    height: 3rem;
    padding: 0.75rem 0.5rem;
    background: transparent;
    border: none;
  }
  .header__burger-line {
    height: 3px;
    background-color: var(--color-text);
  }
  .header__burger-line:last-child {
    width: 50%;
    margin-left: auto;
  }
}

.admin-bar .header--absolute {
  top: 3.4rem;
}

.footer {
  color: var(--color-text-light);
  background-color: var(--color-primary);
}
.footer__container {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  padding: 3.125em 0;
}
@media (max-width: 992px) {
  .footer__container {
    padding: 2.65rem 0;
    flex-wrap: wrap;
  }
}
@media (max-width: 576px) {
  .footer__container {
    gap: 1.5rem;
  }
}
.footer__logowrap {
  width: 40%;
}
@media (max-width: 992px) {
  .footer__logowrap {
    width: 100%;
    text-align: center;
  }
}
.footer__nav, .footer__info, .footer__address {
  width: 20%;
}
@media (max-width: 992px) {
  .footer__nav, .footer__info, .footer__address {
    width: calc(33.33% - 2rem);
  }
}
@media (max-width: 576px) {
  .footer__nav, .footer__info, .footer__address {
    width: 100%;
    text-align: center;
  }
}
.footer__logobox {
  display: inline-block;
  padding: 1.25rem;
  background-color: var(--color-text-light);
  border-radius: var(--radius-md);
}
@media (max-width: 992px) {
  .footer__logobox {
    padding: 0.875rem;
  }
}
.footer__heading {
  margin: 0;
  margin-bottom: 0.75em;
  font-size: 1.125rem;
  font-weight: 600;
}
.footer__contact {
  display: inline-flex;
  gap: 0.5rem;
  margin: 0;
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
}
.footer__contact-icon {
  flex-shrink: 0;
}
.footer__contact a {
  color: var(--color-text-light);
}
@media (max-width: 576px) {
  .footer__contact {
    display: flex;
    align-items: center;
    flex-direction: column;
  }
}
.footer__copyright {
  padding: 1.25rem 0;
  text-align: center;
  border-top: 1px solid var(--color-border-light);
}

.footer__menu {
  margin: 0;
  padding: 0;
  font-size: 0.875rem;
  list-style: none;
}
.footer__menu li {
  margin-bottom: 0.75rem;
}
.footer__menu a {
  text-decoration: none;
  color: inherit;
  transition: color 0.4s ease;
}
.footer__menu .sub-menu {
  margin: 0;
  margin-top: 10px;
  padding: 0;
  list-style: none;
}

.main-nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 3.125rem;
  margin: 0;
  padding: 0;
  font-size: 1.125rem;
  list-style: none;
}
@media (max-width: 1460px) {
  .main-nav {
    column-gap: 1.8rem;
  }
}
.main-nav .sub-menu-toggle {
  display: none;
}
.main-nav > li {
  display: inline-block;
}
.main-nav > li.menu-item-has-children > a {
  position: relative;
  padding-right: 1.25rem;
}
.main-nav > li.menu-item-has-children > a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 0;
  height: 0;
  transform: translateY(-50%);
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid currentColor;
}
.main-nav > li.menu-item-has-children > a.open::after {
  transform: translateY(-50%) rotate(180deg);
}
.main-nav > li.current-menu-item > a {
  color: var(--color-primary);
}
.main-nav > li.current-menu-item > a::before {
  opacity: 1;
}
.main-nav > li > a {
  position: relative;
  display: block;
  padding: 0.75rem 0;
  font-weight: 500;
  text-decoration: none;
  color: var(--color-text);
  transition: color var(--transition) ease;
}
.main-nav > li > a:hover, .main-nav > li > a:focus {
  color: var(--color-primary);
}
.main-nav > li > a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 8px;
  display: inline-block;
  width: 100%;
  height: 1px;
  background-color: var(--color-primary);
  opacity: 0;
}

.main-nav .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 20;
  width: 15rem;
  margin: 0;
  margin-top: -1px;
  padding: 0.5rem;
  list-style: none;
  background-color: var(--color-primary);
  border-radius: var(--radius-base);
  transition: all 0.4s ease;
  top: 70%;
  visibility: hidden;
  opacity: 0;
}

.main-nav .sub-menu .sub-menu {
  top: 0 !important;
  left: 100%;
}

.main-nav li.menu-item-has-children:hover > .sub-menu {
  top: 100%;
  visibility: visible;
  opacity: 1;
}

.main-nav .sub-menu li {
  display: block;
  margin-right: 0;
}

.main-nav .sub-menu a {
  display: block;
  padding: 0.45rem 0.875rem;
  color: var(--color-text-static);
  border-radius: var(--radius-base);
  transition: background-color var(--transition) ease, color var(--transition) ease;
}
.main-nav .sub-menu a:hover {
  color: var(--color-text-static);
  background-color: var(--color-primary-hover);
}

.main-nav .sub-menu .current-menu-item > a {
  color: var(--color-text-static);
  background-color: var(--color-primary-hover);
}

@media screen and (max-width: 992px) {
  .main-nav li {
    display: block;
    margin: 0;
  }
  .main-nav li.menu-item-has-children {
    padding-right: 0;
  }
  .main-nav > li.menu-item-has-children {
    background-image: none;
  }
  .main-nav .sub-menu-toggle {
    position: absolute;
    top: 10px;
    right: 5px;
    display: inline-block;
    width: 10px;
    height: 10px;
    background-image: url("data:image/svg+xml,%3Csvg fill='%23000000' width='800px' height='800px' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m2.43 4.8-2.43 2.422 12 11.978 12-11.978-2.43-2.422-9.57 9.547z'/%3E%3C/svg%3E");
    background-position: top 50% right 0;
    background-repeat: no-repeat;
    background-size: 10px;
  }
  .main-nav .sub-menu {
    position: static;
    width: auto;
    padding-left: 10px;
    background-color: transparent;
    visibility: visible;
    opacity: 1;
    display: none;
  }
  .main-nav .sub-menu.show {
    display: block;
  }
  .main-nav .sub-menu a {
    padding: 5px 0;
  }
}
.block-breadcrumbs {
  margin-bottom: var(--space-layout-medium);
}
@media (max-width: 1200px) {
  .block-breadcrumbs {
    margin-bottom: 4rem;
  }
}
@media (max-width: 992px) {
  .block-breadcrumbs {
    margin-bottom: 2rem;
  }
}
.block-pagination {
  margin-top: var(--space-medium);
}
.block-top {
  padding-top: var(--space-layout);
}
.block-top-small {
  padding-top: var(--space-layout-extra-small);
}
.block-bottom {
  padding-bottom: var(--space-layout);
}
.block-bottom-medium {
  padding-bottom: var(--space-layout-medium);
}

.page404 {
  --page404-bg: var(--color-bg-light);
  --page404-padding-y: var(--space-layout);
  padding: var(--page404-padding-y) 0;
  text-align: center;
  background-color: var(--page404-bg);
}
.page404 .breadcrumbs__list {
  margin-bottom: 1rem;
  justify-content: center;
}
.page404__code {
  font-size: clamp(60px, 60px + (90 - 60) * (100vw - 360px) / (1400 - 360), 90px);
  margin: 0;
  font-weight: 500;
  line-height: 1;
}
.page404__title {
  font-size: clamp(26px, 26px + (32 - 26) * (100vw - 360px) / (1400 - 360), 32px);
  margin-bottom: 0.25em;
  font-family: var(--font-main);
  color: var(--color-primary);
}
.page404__caption {
  margin: 0;
  font-size: 0.875rem;
}
.page404__search {
  max-width: 30rem;
  margin-top: 2rem;
  margin-left: auto;
  margin-right: auto;
}