@charset "UTF-8";
/* ----------------------------------------
  Arcdeco - Creative Agency WordPress Theme
-------------------------------------------
 - General Styles
   - Input Text
   - Button
   - Table
   - Flex Table
 - Typography
 - Preloader
 - Scrollbar
 - Header
   - Logotype
   - Hamburger
   - Fullscreen nav
   - Side Nav
 - Shared
   - Gallery
   - List row
   - Youtube video
   - Video bg
   - Services
 - Slider
   - Caption
   - Image
   - Control
   - Pagination progressbar
   - Pagination fraction
   - Navigation
   - Social
   - Carousel
   - Swiper
 - Portfolio
   - Filter
 - Project Single
 - News
 - Single post
   - Comment form
   - Scroll Indicator
 - About
 - Footer
   - Map
 - 404
 - Other
   - Bact to top
   - Cursor
   - Jarallax 
 - Accessibility
 - Alignments
 - WPML
 - WooCommerce
    
------------------------------------------- */

:root {
  /* Font Size */
  --paragraph-font-size: 1;

  /* Colors */
  --color-accent: #FFB951;
}

[data-theme="light"] {
  --color-bg: #fff;
  --color-font: #19191B;
  --color-navbar-bg: #fff;
  --color-submenu-bg: rgba(255, 255, 255, 0.8);
  --color-submenu-shadow: 0 20px 48px -8px rgba(17, 16, 19, 0.15), 0 0 1px rgba(17, 16, 19, 0.05);
  --color-description: #19191B; 
  --color-border: rgba(132, 132, 132, 0.3);
  --color-border-input: rgba(104, 104, 104, 0.5);
  --color-list-border: rgba(104, 104, 104, 0.2);
  --color-border-input-focus: rgba(132, 132, 132, 1);
  --color-list-num: #C4C4C4;
  --color-form-placeholder: rgba(0, 0, 0, 0.6);
  --color-quote: url(../images/icon-quote-black.svg);
  --color-back-to-top: url(../images/arrow-scroll-to-black.svg);
  --color-text-rotate: rgba(104, 104, 104, 0.3);
  --color-side-nav-bg: #fff;
  --color-classic-nav-bg: #fff;
  --color-side-nav-subitem: #575757;
  --color-slider-progressbar: rgba(25, 25, 27, 0.2);
  --color-loadmore-overlay: rgba(255, 255, 255, 0.8);
  --color-project-footer: rgba(196, 196, 196, 0.1);
  --color-project-footer-before: rgba(196, 196, 196, 0.3);
  --color-project-footer-hover: var(--color-accent);
  --color-footer: #19191B;
  --color-code-bg: rgba(0, 0, 0, 0.07);
  --color-star-rating: #cfcfcf;
  --color-loaderspin: rgba(255, 255, 255, 0.5);
  --color-misc: #686868;
  --color-woo-misc: rgba(196, 196, 196, 0.2);
  --select-arrows: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e");
  --checkbox-checked: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
  --radio-checked: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}

[data-theme="dark"] {
  --color-bg: #19191B;
  --color-font: #fff;
  --color-navbar-bg: rgba(25, 25, 27, .6);
  --color-submenu-bg: rgba(3, 3, 3, 0.8);
  --color-submenu-shadow: 0 20px 60px rgba(0, 0, 0, 0.8);
  --color-description: #C4C4C4; 
  --color-border: rgba(132, 132, 132, 0.4);
  --color-border-input: #848484;
  --color-list-border: rgba(132, 132, 132, 0.25);
  --color-border-input-focus: #fff;
  --color-list-num: rgba(196, 196, 196, 0.5);
  --color-form-placeholder: rgba(255, 255, 255, 0.3);
  --color-quote: url(../images/icon-quote.svg);
  --color-back-to-top: url(../images/arrow-scroll-to.svg);
  --color-text-rotate: rgba(132, 132, 132, 0.5);
  --color-side-nav-bg: rgba(37, 37, 40, .9);
  --color-side-nav-subitem: #b1b1b1;
  --color-classic-nav-bg: rgba(25, 25, 27, .6);
  --color-slider-progressbar: rgba(255, 255, 255, 0.2);
  --color-loadmore-overlay: rgba(25, 25, 27, .8);
  --color-project-footer: #151515;
  --color-project-footer-before: rgba(255, 255, 255, 0.1);
  --color-project-footer-hover: #fff;
  --color-footer: #848484;
  --color-code-bg: rgba(0, 0, 0, 0.8);
  --color-star-rating: #424242;
  --color-loaderspin: rgba(0, 0, 0, 0.5);
  --color-misc: #848484;
  --color-woo-misc: rgba(255, 255, 255, 0.1);
  --select-arrows: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23fff' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e");
  --checkbox-checked: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%2319191B' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
  --radio-checked: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%2319191B'/%3e%3c/svg%3e");
}

/* -------------------------------------------
    - General Styles
------------------------------------------- */
*,
::before,
::after {
  background-repeat: no-repeat;
  box-sizing: border-box;
}

html {
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}

body,
html {
  font-size: calc(var(--paragraph-font-size) * 1rem);
  -webkit-text-size-adjust: 100%;
}

body.loading {
  opacity: 0;
  pointer-events: none;
}
body {
  background-color: var(--color-bg);
  color: var(--color-font);
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  line-height: 1.9;
  -ms-overflow-style: scrollbar;
  -webkit-font-smoothing: antialiased;
  word-wrap: break-word;
  overflow-x: hidden;
}
body::before {
  content: '';
  position: fixed;
  border: 1rem solid transparent;
  border-left: 1rem solid var(--color-accent);
  border-top: 1rem solid var(--color-accent);
  top: 0;
  left: 0;
  z-index: 1100;
}
body.admin-bar::before {
  top: 32px;
}
@media screen and (max-width: 782px) {
  body.admin-bar::before {
    top: 46px;
  }
}
@media only screen and (max-width: 580px) {
  body {
    background-size: 15px;
    font-size: 1rem;
    line-height: 1.6;
  }
  body::before {
    display: none;
  }
}

body *::-webkit-scrollbar {
  background: 0 0;
  width: 6px;
  border-radius: 4px;
}
body *::-webkit-scrollbar-thumb {
  background: #444;
  border-radius: 4px;
}
body *::-webkit-scrollbar-thumb:hover {
  background: #8b8b8b;
}

html.is-scroll-disabled body {
  height: 100vh;
  overflow: hidden;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  html.is-scroll-disabled {
    overflow: hidden;
  }
}
.no-scroll {
  overflow: hidden;
  -ms-overflow-style: none;
}

.no-scroll-height {
  overflow-x: hidden;
}

.arcdeco-main {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100vh;
}
.admin-bar .arcdeco-main {
  height: calc(100vh - 32px);
}

.section.section-page {
  flex-grow: 1;
}

p {
  color: var(--color-description);
  text-rendering: optimizeLegibility;
}

.input,
input:not([type=checkbox], [type=radio]),
.textarea,
textarea,
select,
.select2-container--default .select2-selection--single,
.custom-select,
.woocommerce-cart table.cart td.actions .coupon .input-text {
  background-color: transparent;
  border: 0;
  border-bottom: 1px solid var(--color-border-input);
  border-radius: 0;
  box-shadow: none;
  color: var(--color-font);
  font-size: inherit;
  height: auto;
  padding: 1rem 0;
  position: relative;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.post-password-form__input {
  padding: 1rem;
}
@media only screen and (max-width: 1200px) {
  .input,
  input:not([type=checkbox], [type=radio]),
  .textarea,
  textarea,
  select,
  .custom-select,
  .woocommerce-cart table.cart td.actions .coupon .input-text {
    padding: .8rem 0;
  }
}
@media only screen and (max-width: 580px) {
  .post-password-form__input {
    padding: .5rem;
  }
}

.input:focus,
input:not([type=checkbox], [type=radio]):focus,
.textarea:focus,
textarea:focus,
select:focus,
.custom-select:focus,
.woocommerce-cart table.cart td.actions .coupon .input-text:focus {
  background-color: transparent;
  border-bottom: 1px solid var(--color-border-input-focus);
  color: var(--color-font);
  box-shadow: none;
  outline: none;
}
.textarea,
textarea {
  display: block;
  max-height: 15rem;
  padding-top: 1rem;
  resize: none;
}
main[data-scrollbar="true"] .textarea,
main[data-scrollbar="true"] textarea {
  max-height: 30rem;
}

/* Checkbox
--------------------------------------------- */
input[type="checkbox"],
input[type="radio"],
.woocommerce form .form-row .input-checkbox {
  display: inline-flex;
  align-items: center;
  width: 1.125rem;
  height: 1.125rem;
  margin: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  appearance: none;
  outline: none;
  vertical-align: middle;
  border: 2px solid var(--color-border);
  transition: all cubic-bezier(0.645, 0.045, 0.355, 1) 0.35s;
}
input[type="checkbox"]:checked,
input[type="radio"]:checked,
.woocommerce form .form-row .input-checkbox[type="checkbox"]:checked {
  background-color: var(--color-accent);
  border-color: var(--color-accent);
}
input[type="checkbox"]:invalid:not([aria-required=true]),
input[type="radio"]:invalid:not([aria-required=true]) {
  border-color: var(--color-accent);
}
input[type="checkbox"] + label,
input[type="checkbox"] + span,
input[type="radio"] + label,
input[type="radio"] + span {
  display: inline;
  font-weight: normal;
  vertical-align: middle;
  line-height: 1.4;
  margin-left: 0.2rem;
}
input[type="checkbox"] + label:not(.woocommerce-terms-and-conditions-checkbox-text),
input[type="checkbox"] + span:not(.woocommerce-terms-and-conditions-checkbox-text),
input[type="radio"] + label:not(.woocommerce-terms-and-conditions-checkbox-text),
input[type="radio"] + span:not(.woocommerce-terms-and-conditions-checkbox-text) {
  font-size: 0.95em;
}
input[type="checkbox"]:checked {
  background-image: var(--checkbox-checked);
}
input[type="radio"] {
  border-radius: 50%;
}
input[type="radio"]:checked {
  background-image: var(--radio-checked);
}

.shop-sidebar .wc-block-components-checkbox .wc-block-components-checkbox__mark {
  margin-top: -0.1em !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__mark {
  fill: var(--color-bg) !important;
}

.form-group {
  margin-bottom: 2.6rem;
  position: relative;
}
@media only screen and (max-width: 580px) {
  .form-group {
    margin-bottom: 2rem;
  }
}

.wpcf7-not-valid-tip {
  position: absolute;
  font-size: .875rem;
  line-height: 1.4;
  padding-top: .4rem;
  color: rgba(255, 95, 83, 0.7);
}

.wpcf7-not-valid,
.wpcf7-not-valid,
.wpcf7-not-valid:focus,
.wpcf7-not-valid:focus {
  border-color: #FF5F53;
}

.wpcf7 form .wpcf7-response-output {
  margin-left: 0;
  margin-right: 0;
}

.form-control::-webkit-input-placeholder,
.form-control::-moz-placeholder,
.form-control:-ms-input-placeholder,
.form-control::-ms-input-placeholder,
.form-control::placeholder {
  color: var(--color-form-placeholder);
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  transition: background-color 5000s ease-in-out 0s;
  -webkit-text-fill-color: var(--color-font) !important;
}

input:not(input:-webkit-autofill)::-webkit-contacts-auto-fill-button {
  background-color: var(--color-font);
}

input:invalid,
textarea:invalid {
  outline: none !important;
}

.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(255, 185, 81, 0.25);
}
.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
  border-color: var(--color-accent);
}
.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
  border-color: #fff;
  background-color: transparent;
}
.custom-control-input:checked ~ .custom-control-label::before {
  border-color: var(--color-accent);
  background-color: var(--color-accent);
}

.custom-control-label {
  line-height: 1.55;
  padding-left: .5rem;
}
.custom-control-label::before {
  background-color: transparent;
  border: 1px solid var(--color-border-input);
}

select,
.custom-select {
  background: var(--select-arrows) no-repeat right 0.1rem center/10px 16px;
}
select option,
.custom-select option {
  color: #19191B;
}

.btn,
a.button,
.wp-block-search__button.wp-element-button,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button,
.woocommerce div.product form.cart .button,
.woocommerce #review_form #respond .form-submit .submit,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .woocommerce .woocommerce-cart-form tr:not(.cart_item) td.actions button[name="update_cart"],
.woocommerce .wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward,
.wp-block-woocommerce-cart .wc-block-components-sidebar .wc-block-cart__submit .wc-block-components-button,
.wp-block-post-comments-form input[type=submit],
.wp-block-woocommerce-cart-cross-sells-block .wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button,
.wc-block-grid__products .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link,
.wp-block-button .wp-block-button__link,
.wc-block-components-button:not(.wc-block-components-notice-banner__dismiss),
.wp-element-button:not(.wc-block-components-notice-banner__dismiss) {
  background-color: transparent;
  border: 1px solid var(--color-accent);
  border-radius: 0;
  color: var(--color-accent);
  cursor: pointer;
  font-size: .87rem;
  font-weight: 600;
  letter-spacing: .1rem;
  line-height: inherit;
  white-space: nowrap;
  overflow: hidden;
  padding: .8rem 2rem;
  position: relative;
  text-transform: uppercase;
  z-index: 1;
}
.wc-block-components-button:not(.is-link).outlined {
  color: var(--color-accent) !important;
}
.wc-block-components-button:not(.is-link).outlined:hover {
  color: var(--color-bg) !important;
}
.wc-block-components-button:not(.is-link).outlined,
.wc-block-components-button:not(.is-link).outlined {
  color: var(--color-accent) !important;
}
.woocommerce #review_form #respond .form-submit .submit {
  width: auto;
}
.wp-block-search__button.wp-element-button {
  padding: .8rem 1rem .7rem;
}
.not-found .search-form .btn {
  padding: 0.91rem 1.4rem;
}
.btn::before,
a.button::before,
.wp-block-search__button.wp-element-button::before,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button::before,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button::before,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button::before,
.woocommerce div.product form.cart .button::before,
.woocommerce #review_form #respond .form-submit .submit::before,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::before,
.woocommerce-cart .woocommerce .woocommerce-cart-form tr:not(.cart_item) td.actions button[name="update_cart"]::before,
.woocommerce .wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward::before,
.wp-block-woocommerce-cart .wc-block-components-sidebar .wc-block-cart__submit .wc-block-components-button::before,
.wp-block-woocommerce-cart-cross-sells-block .wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button::before,
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link::before,
.wp-block-button .wp-block-button__link::before,
.wc-block-components-button:not(.wc-block-components-notice-banner__dismiss):before,
.wp-element-button:not(.wc-block-components-notice-banner__dismiss)::before {
  background-color: var(--color-accent);
  content: '';
  height: 101%;
  position: absolute;
  left: -100%;
  top: 0;
  transform: skew(50deg);
  transform-origin: top left;
  transition: all .4s;
  width: 0;
  z-index: -1;
}
.wp-block-search__button.has-icon.wp-element-button::before {
  left: -110%;
}
.btn:hover,
.btn:focus,
a.button:hover,
a.button:focus,
.wp-block-search__button.wp-element-button:hover,
.wp-block-search__button.wp-element-button:focus,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button:focus,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt:focus,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button:focus,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt:focus,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:focus,
.woocommerce div.product form.cart .button:not(.disabled):hover,
.woocommerce div.product form.cart .button:not(.disabled):focus,
.woocommerce #review_form #respond .form-submit .submit:hover,
.woocommerce #review_form #respond .form-submit .submit:focus,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus,
.woocommerce-cart .woocommerce .woocommerce-cart-form tr:not(.cart_item) td.actions button[name="update_cart"]:not([disabled]):hover,
.woocommerce-cart .woocommerce .woocommerce-cart-form tr:not(.cart_item) td.actions button[name="update_cart"]:not([disabled]):focus,
.wp-block-woocommerce-cart .wc-block-components-sidebar .wc-block-cart__submit .wc-block-components-button:hover,
.wp-block-woocommerce-cart .wc-block-components-sidebar .wc-block-cart__submit .wc-block-components-button:focus,
.woocommerce .wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward:hover,
.woocommerce .wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward:focus,
.wp-block-woocommerce-cart-cross-sells-block .wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button:hover,
.wp-block-woocommerce-cart-cross-sells-block .wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button:focus,
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:hover,
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:focus,
.wp-block-post-comments-form input[type=submit]:hover,
.wp-block-post-comments-form input[type=submit]:focus,
.wc-block-components-button:not([disabled]):hover,
.wc-block-components-button:not([disabled]):focus,
.wp-element-button:not([disabled]):hover,
.wp-element-button:not([disabled]):focus,
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus {
  color: var(--color-bg);
  box-shadow: none;
}
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-button:not([disabled]):hover,
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-button:not([disabled]):focus {
  color: var(--color-bg) !important;
}
.btn:hover::before,
.btn:focus::before,
a.button:hover::before,
a.button:focus::before,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button:hover::before,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button:focus::before,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button:hover::before,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button:focus::before,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover::before,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:focus::before,
.woocommerce div.product form.cart .button:not(.disabled):hover::before,
.woocommerce div.product form.cart .button:not(.disabled):focus::before,
.woocommerce #review_form #respond .form-submit .submit:hover::before,
.woocommerce #review_form #respond .form-submit .submit:focus::before,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover::before,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus::before,
.woocommerce-cart .woocommerce .woocommerce-cart-form tr:not(.cart_item) td.actions button[name="update_cart"]:not([disabled]):hover::before,
.woocommerce-cart .woocommerce .woocommerce-cart-form tr:not(.cart_item) td.actions button[name="update_cart"]:not([disabled]):focus::before,
.wp-block-woocommerce-cart .wc-block-components-sidebar .wc-block-cart__submit .wc-block-components-button:hover::before,
.wp-block-woocommerce-cart .wc-block-components-sidebar .wc-block-cart__submit .wc-block-components-button:focus::before,
.woocommerce .wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward:hover::before,
.woocommerce .wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward:focus::before,
.wp-block-woocommerce-cart-cross-sells-block .wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button:hover::before,
.wp-block-woocommerce-cart-cross-sells-block .wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button:focus::before,
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:hover::before,
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:focus::before,
.wp-block-search__button.wp-element-button:hover::before,
.wp-block-search__button.wp-element-button:focus::before,
.wc-block-components-button:not([disabled]):hover::before,
.wc-block-components-button:not([disabled]):focus::before,
.wp-element-button:not([disabled]):hover::before,
.wp-element-button:not([disabled]):focus::before,
.wp-block-button .wp-block-button__link:hover::before,
.wp-block-button .wp-block-button__link:focus::before {
  height: 101%;
  width: 250%;
}
.woocommerce div.product form.cart .button.disabled:hover,
.wc-block-components-button[disabled]:hover {
  background-color: transparent;
  color: var(--color-accent);
  cursor: not-allowed;
}
.wc-block-components-button[disabled] {
  opacity: .4;
}
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover {
  background-color: transparent;
}
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt {
  color: var(--color-accent);
}

.touch .btn:hover,
.touch .btn:focus,
.touch a.button:hover,
.touch a.button:focus,
.touch :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button:hover,
.touch :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button:focus,
.touch :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button:hover,
.touch :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button:focus
.touch .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover,
.touch .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:focus,
.touch .woocommerce div.product form.cart .button:hover,
.touch .woocommerce div.product form.cart .button:focus,
.touch .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.touch .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus,
.touch .woocommerce-cart .woocommerce .woocommerce-cart-form tr:not(.cart_item) td.actions button[name="update_cart"]:hover,
.touch .woocommerce-cart .woocommerce .woocommerce-cart-form tr:not(.cart_item) td.actions button[name="update_cart"]:focus,
.touch .wp-block-woocommerce-cart .wc-block-components-sidebar .wc-block-cart__submit .wc-block-components-button:hover,
.touch .wp-block-woocommerce-cart .wc-block-components-sidebar .wc-block-cart__submit .wc-block-components-button:focus,
.touch .woocommerce .wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward:hover,
.touch .woocommerce .wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward:focus,
.touch .wp-block-woocommerce-cart-cross-sells-block .wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button:hover,
.touch .wp-block-woocommerce-cart-cross-sells-block .wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button:focus,
.touch .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:hover,
.touch .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:focus,
.touch .wc-block-components-button:not([disabled]):hover,
.touch .wc-block-components-button:not([disabled]):focus,
.touch .wp-element-button:hover,
.touch .wp-element-button:focus,
.touch  .wp-block-button .wp-block-button__link:hover,
.touch  .wp-block-button .wp-block-button__link:focus {
  background-color: var(--color-accent);
  color: var(--color-bg);
}
.touch .btn::before,
.touch a.button::before,
.touch :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button::before,
.touch .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button::before,
.touch .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button::before,
.touch .woocommerce div.product form.cart .button::before,
.touch .woocommerce-cart .wc-proceed-to-checkout a.checkout-button::before,
.touch .woocommerce-cart .woocommerce .woocommerce-cart-form tr:not(.cart_item) td.actions button[name="update_cart"]::before,
.touch .wp-block-woocommerce-cart .wc-block-components-sidebar .wc-block-cart__submit .wc-block-components-button::before,
.touch .woocommerce .wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward::before,
.touch .wp-block-woocommerce-cart-cross-sells-block .wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button::before,
.touch .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link::before,
.touch .wc-block-components-button:not([disabled])::before,
.touch .wp-element-button::before,
.touch  .wp-block-button .wp-block-button__link::before {
  display: none;
}

button:focus {
  outline: none;
}

.btn-link {
  color: var(--color-accent);
  display: inline-block;
  font-weight: 400;
  position: relative;
  text-decoration: none;
}
.btn-link:hover {
  text-decoration: none;
  color: var(--color-accent);
}
.btn-link a:hover {
  text-decoration: none;
}
.btn-link:hover::before {
  transform: scale3d(0.5, 1, 1);
}
.btn-link:before {
  content: '';
  background-color: var(--color-accent);
  height: 1px;
  position: absolute;
  top: 50%;
  right: -4rem;
  width: 3rem;
  transform: scale3d(1, 1, 1);
  transform-origin: left;
  transition: all .3s ease-in-out;
}
@media only screen and (max-width: 580px) {
  .btn-link {
    font-size: .875rem;
  }
  .btn-link:before {
    right: -3rem;
    width: 2rem;
  }
}
.btn-link--rearward:before {
  left: -4rem;
  right: auto;
  transform-origin: right;
}
@media only screen and (max-width: 580px) {
  .btn-link--rearward:before {
    left: -3rem;
  }
}

table {
  width: 100%;
}
table thead th,
.table thead th,
.wp-block-table thead th,
.wp-calendar-table thead th {
  border: 0;
  color: var(--color-misc);
  font-size: .85rem;
  font-weight: 400;
  letter-spacing: .2rem;
  padding: 1.3rem;
  text-transform: uppercase;
}
.wp-block-table thead,
.wp-block-table tfoot,
.wp-block-table td,
.wp-block-table th {
  border-color: rgba(132, 132, 132, 0.2);
}
.wp-calendar-table thead th {
  background-color: transparent;
}
table td,
table th,
.table td,
.wp-block-table tbody td,
.wp-calendar-table tbody td {
  border: 1px solid rgba(132, 132, 132, 0.2);
  padding: 1.3rem;
}
.table span {
  color: var(--color-misc);
}
@media only screen and (max-width: 768px) {
  .table .table,
  .table thead,
  .table tbody,
  .table th,
  .table td,
  .table tr {
    display: block;
  }
  .table thead tr {
    display: none;
  }
  .table tr {
    padding-bottom: 1.4rem;
  }
  .table td {
    position: relative;
    padding-left: 50%;
    padding-top: .2rem;
    padding-bottom: .2rem;
  }
  .table td:before {
    content: attr(data-th);
    color: var(--color-misc);
    font-size: .85rem;
    position: absolute;
    left: 0;
    width: 45%;
    padding-right: 1rem;
    white-space: nowrap;
  }
}
@media only screen and (max-width: 580px) {
  .table td {
    padding-left: 40%;
  }
  table thead th,
  table tbody th,
  table tbody td,
  .wp-block-table thead th,
  .wp-block-table tbody td,
  .wp-calendar-table thead th,
  .wp-calendar-table tbody td {
    padding: .8rem .5rem;
  }
}
.wp-block-table.is-style-stripes {
  border-color: rgba(132, 132, 132, 0.2);
}
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: var(--color-code-bg);
}

.flex-table {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media only screen and (max-width: 768px) {
  .flex-table {
    border-top: 1px solid rgba(132, 132, 132, 0.2);
  }
}
.flex-table__thead {
  display: flex;
  border-bottom: 1px solid rgba(132, 132, 132, 0.2);
}
@media only screen and (max-width: 768px) {
  .flex-table__thead {
    display: none;
  }
}
.flex-table__tr {
  border-bottom: 1px solid rgba(132, 132, 132, 0.2);
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
}
@media only screen and (max-width: 768px) {
  .flex-table__tr {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}
.flex-table__tr:last-child {
  border: 0;
}
.flex-table__th {
  color: var(--color-misc);
  font-size: .85rem;
  font-weight: 400;
  letter-spacing: .2rem;
  padding-top: 1.3rem;
  padding-bottom: 1.3rem;
  text-transform: uppercase;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .flex-table__th {
    padding-top: .2rem;
    padding-bottom: .2rem;
  }
}
.flex-table__td {
  padding-top: 1.3rem;
  padding-bottom: 1.3rem;
  position: relative;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .flex-table__td {
    padding-top: .2rem;
    padding-bottom: .2rem;
    padding-left: 24%;
  }
  .flex-table__td:before {
    content: attr(data-th);
    color: var(--color-misc);
    font-size: .85rem;
    position: absolute;
    left: 0;
    padding-right: 1rem;
    padding-top: .2rem;
    white-space: nowrap;
    text-transform: uppercase;
  }
}

/* -----------------------------------------------------------------
    - Typography
----------------------------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  line-height: 1.25;
}
@media only screen and (max-width: 1200px) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin-bottom: 3rem;
  }
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.comment-content h1,
.comment-content h2,
.comment-content h3 {
  margin-bottom: 2rem;
  margin-top: 2rem;
}
.entry-content h4,
.entry-content h5,
.entry-content h6,
.comment-content h4,
.comment-content h5,
.comment-content h6 {
  margin-bottom: 1.5rem;
  margin-top: 1.5rem;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5rem;
}

address {
	margin: 0 0 1.5rem;
}

pre {
	background: var(--color-code-bg);
	font-family: "Courier 10 Pitch", courier, monospace;
  color: var(--color-font);
	line-height: 1.6;
	margin-bottom: 1.6rem;
	max-width: 100%;
	overflow: auto;
	padding: 1.6rem;
}
.wp-block-code {
  border: none;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

code {
  padding: 2px;
  border-radius: 2px;
  font-size: 14px;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

big {
	font-size: 125%;
}

ins {
  text-decoration: none;
}

.title {
  transition: all 0.1s cubic-bezier(0.72, 0.16, 0.345, 0.875);
}
.title--display-1 {
  font-size: calc(2rem + 3.4vw);
  margin-bottom: 1.8rem;
}
@media only screen and (max-width: 580px) {
  .title--display-1 {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
  }
  .hero__header .title--display-1 {
    font-size: 3.2rem;
  }
}
.title--h1 {
  font-size: 4rem;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 1200px) {
  .title--h1 {
    font-size: 3.5rem;
  }
}
@media only screen and (max-width: 580px) {
  .title--h1 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
  }
}
.title--h2 {
  font-size: 3rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 580px) {
  .title--h2 {
    font-size: 2.2rem;
    margin-bottom: 1.5rem;
  }
}
.title--h3 {
  font-size: 2.5rem;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width: 580px) {
  .title--h3 {
    font-size: 1.9rem;
  }
}
.title--h4 {
  font-size: 2rem;
  margin-bottom: 1.8rem;
  line-height: 1.3;
}
@media only screen and (max-width: 992px) {
  .title--h4 {
    margin-bottom: 1.5rem;
  }
}
@media only screen and (max-width: 580px) {
  .title--h4 {
    font-size: 1.5rem;
    line-height: 1.2;
    margin-bottom: 1rem;
  }
}
.title--h5 {
  font-size: 1.5rem;
  line-height: 1.3;
  margin-bottom: 2rem;
  font-weight: 500;
}
@media only screen and (max-width: 580px) {
  .title--h5 {
    font-size: 1.4rem;
    margin-bottom: 1rem;
  }
}
.title--h6 {
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 1.25rem;
  font-weight: 500;
}
@media only screen and (max-width: 580px) {
  .title--h6 {
    font-size: .937rem;
  }
}
.title--center {
  text-align: center;
}
.title--tone {
  color: var(--color-accent);
}
.title--separation,
.title--separation-center {
  position: relative;
}
.title--separation::before,
.title--separation-center::before {
  content: '';
  background-color: var(--color-accent);
  height: 1px;
  position: absolute;
  bottom: 0;
  left: -6vw;
  width: 10vw;
  z-index: 1;
}
.title--separation.title--display-1,
.title--separation-center.title--display-1 {
  padding-bottom: 1.2rem;
}
.title--separation.title--display-1::before,
.title--separation-center.title--display-1::before {
  bottom: .5rem;
}
.title--separation.title--h1::before,
.title--separation-center.title--h1::before {
  bottom: -1.5rem;
}
@media only screen and (max-width: 580px) {
  .title--separation.title--h1::before,
  .title--separation-center.title--h1::before {
    bottom: -1rem;
  }
}
.title--separation.title--h4::before,
.title--separation-center.title--h4::before {
  bottom: -.7rem;
}
@media only screen and (max-width: 580px) {
  .title--separation.title--h4::before,
  .title--separation-center.title--h4::before {
    bottom: -.4rem;
  }
}
.title--separation.title--h5::before,
.title--separation-center.title--h5::before {
  bottom: -1rem;
}
@media only screen and (max-width: 580px) {
  .title--separation.title--h5::before,
  .title--separation-center.title--h5::before {
    bottom: -.7rem;
  }
}
.title--separation-center::before {
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
}
.title--no-separation.title--display-1 {
  padding-bottom: .5rem;
}

.overhead {
  color: var(--color-description);
  font-size: .87rem;
  letter-spacing: .03rem;
  margin-bottom: .6rem;
  text-transform: uppercase;
}

.weight--400 {
  font-weight: 400;
}
.weight--500 {
  font-weight: 500;
}
.weight--600 {
  font-weight: 600;
}
.weight--700 {
  font-weight: 700;
}


/* Quote
--------------------------------------------- */
.wp-block-quote,
blockquote,
.wp-block-coblocks-click-to-tweet,
.wp-block-pullquote blockquote,
.wp-block-quote.is-style-large,
.wp-block-quote.is-large,
blockquote.has-text-align-right,
.wp-block-quote.has-text-align-right {
  font-size: 1.5rem;
  font-weight: 400;
  margin: 3rem 0;
  position: relative;
  line-height: 1.6;
}
.wp-block-quote.has-text-align-right {
  border: 0;
  padding: 0;
}
.wp-block-quote.is-large:not(.is-style-plain) p,
.wp-block-quote.is-style-large:not(.is-style-plain) p {
  font-size: 2.4rem;
  font-style: normal;
}
@media only screen and (max-width: 580px) {
  .wp-block-quote.is-large:not(.is-style-plain) p,
  .wp-block-quote.is-style-large:not(.is-style-plain) p {
    font-size: 2rem;
  }
}
.wp-block-quote.is-large:not(.is-style-plain) cite,
.wp-block-quote.is-large:not(.is-style-plain) footer,
.wp-block-quote.is-style-large:not(.is-style-plain) cite,
.wp-block-quote.is-style-large:not(.is-style-plain) footer {
  font-size: 1.5rem;
  text-align: left;
}
@media only screen and (max-width: 580px) {
  .wp-block-quote.is-large:not(.is-style-plain) cite,
  .wp-block-quote.is-large:not(.is-style-plain) footer,
  .wp-block-quote.is-style-large:not(.is-style-plain) cite,
  .wp-block-quote.is-style-large:not(.is-style-plain) footer {
    font-size: 1.3rem;
  }
}
.wp-block-quote.has-text-align-right cite,
.wp-block-quote.has-text-align-right footer {
  padding-right: 3rem;
  padding-left: 0;
}
.wp-block-quote.has-text-align-right cite::before,
.wp-block-quote.has-text-align-right footer::before {
  left: auto;
  right: 0;
}
.wp-block-quote.is-style-large cite em {
  font-style: normal;
}
.wp-block-quote {
  border: none;
  padding: 0;
}
@media only screen and (max-width: 580px) {
  .wp-block-quote,
  blockquote,
  .wp-block-coblocks-click-to-tweet,
  .wp-block-pullquote blockquote,
  .wp-block-quote.is-style-large,
  .wp-block-quote.is-large,
  blockquote.has-text-align-right,
  .wp-block-quote.has-text-align-right {
    font-size: 1.28rem;
    margin: 1.4rem 0;
  }
}
.wp-block-quote::before,
blockquote::before,
.wp-block-coblocks-click-to-tweet::before,
.wp-block-pullquote blockquote::before,
.wp-block-quote.is-style-large::before,
.wp-block-quote.is-large::before,
blockquote.has-text-align-right::before,
.wp-block-quote.has-text-align-right::before {
  background-image: var(--color-quote);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  content: '';
  height: 41px;
  margin: 0 auto;
  position: absolute;
  top: 0;
  left: -5.6rem;
  width: 48px;
}
blockquote.has-text-align-right::before,
.wp-block-quote.has-text-align-right::before {
  left: auto;
  right: -5.6rem;
}
.wp-block-pullquote blockquote::before {
  top: -4.5rem;
  right: 0;
  left: 0;
}
.comment-content blockquote::before {
  left: 0;
}
.comment-content blockquote p {
  padding-left: 5.6rem;
}
@media only screen and (max-width: 992px) {
  .wp-block-quote,
  blockquote,
  .wp-block-coblocks-click-to-tweet,
  .wp-block-pullquote blockquote,
  .wp-block-quote.is-style-large,
  .wp-block-quote.is-large,
  blockquote.has-text-align-right,
  .wp-block-quote.has-text-align-right {
	  padding-left: 3.5rem;
  }
  .wp-block-quote::before,
  blockquote::before,
  .wp-block-coblocks-click-to-tweet::before,
  .wp-block-pullquote blockquote::before,
  .wp-block-quote.is-style-large::before,
  .wp-block-quote.is-large::before,
  blockquote.has-text-align-right::before,
  .wp-block-quote.has-text-align-right::before {
    height: 27px;
    left: 0;
    width: 32px;
  }
}
@media only screen and (max-width: 768px) {
  .wp-block-quote, 
  blockquote, 
  .wp-block-coblocks-click-to-tweet, 
  .wp-block-pullquote blockquote, 
  .wp-block-quote.is-style-large, 
  .wp-block-quote.is-large, 
  blockquote.has-text-align-right, 
  .wp-block-quote.has-text-align-right {
    font-size: 1.4rem;
  }
  .wp-block-pullquote blockquote::before {
    display: block;
  }
  .wp-block-pullquote blockquote::before {
    height: calc(41px /1.3);
    width: calc(48px /1.3);
    top: -3.5rem;
  }
  .comment-content blockquote p {
    padding-left: 0;
  }
}
@media only screen and (max-width: 580px) {
  .wp-block-quote, 
  blockquote, 
  .wp-block-coblocks-click-to-tweet, 
  .wp-block-pullquote blockquote, 
  .wp-block-quote.is-style-large, 
  .wp-block-quote.is-large, 
  blockquote.has-text-align-right, 
  .wp-block-quote.has-text-align-right {
	font-size: 1.28rem;
    padding-left: 0;
  }	
  .wp-block-quote::before,
  blockquote::before,
  .wp-block-coblocks-click-to-tweet::before,
  .wp-block-quote.is-style-large::before,
  .wp-block-quote.is-large::before,
  blockquote.has-text-align-right::before,
  .wp-block-quote.has-text-align-right::before {
    display: none;
  }
}
blockquote cite,
.wp-block-quote cite,
.wp-block-quote footer,
.wp-block-pullquote__citation,
.wp-block-pullquote cite,
.wp-block-pullquote footer {
  font-size: 1rem;
  font-style: normal;
  display: block;
  margin-top: 1.5rem;
  padding-left: 3rem;
  position: relative;
}
blockquote cite a {
  display: inline-block;
  color: var(--color-font);
}
.wp-block-pullquote__citation,
.wp-block-pullquote cite,
.wp-block-pullquote footer {
  padding: 0;
}
blockquote cite::before,
.wp-block-quote cite::before,
.wp-block-quote footer::before {
  content: '';
  background-color: var(--color-font);
  height: 1px;
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 2rem;
}
.wp-block-pullquote.has-border-color cite::before,
.wp-block-pullquote.is-style-solid-color cite::before,
.wp-block-pullquote cite::before {
  display: none;
}
.wp-block-quote.is-style-large cite::before,
.wp-block-quote.is-style-large footer::before {
  bottom: -2.3rem;
}
@media only screen and (max-width: 580px) {
  .wp-block-quote cite,
  .wp-block-quote footer {
    margin-top: 0;
  }
}
.wp-block-quote.is-large:not(.is-style-plain),
.wp-block-quote.is-style-large:not(.is-style-plain) {
  padding: 0;
}
.wp-block-pullquote {
  padding-bottom: .5rem;
  border-color: rgba(132, 132, 132, 0.2);
}
.wp-block-pullquote.has-border-color {
  padding-bottom: 0;
  border-left: none;
  border-right: none;
  border-top: 4px solid;
  border-bottom: 4px solid;
}
.wp-block-pullquote.is-style-solid-color blockquote p {
  font-size: 1.715rem;
}
.item-news .wp-block-quote,
.item-news blockquote,
.item-news .wp-block-coblocks-click-to-tweet,
.item-news .wp-block-pullquote blockquote,
.item-news .wp-block-quote.is-style-large,
.item-news .wp-block-quote.is-large,
.item-news blockquote.has-text-align-right,
.item-news .wp-block-quote.has-text-align-right {
  font-size: 1.4rem;
  margin: 1rem 0;
}
.item-news .wp-block-quote::before,
.item-news blockquote::before,
.item-news .wp-block-coblocks-click-to-tweet::before,
.item-news .wp-block-pullquote blockquote::before,
.item-news .wp-block-quote.is-style-large::before,
.item-news .wp-block-quote.is-large::before,
.item-news blockquote.has-text-align-right::before,
.item-news .wp-block-quote.has-text-align-right::before {
    height: calc(41px /1.3);
    left: -3.4rem;
    width: calc(48px /1.3);
}
.wp-block-column .wp-block-quote {
  padding: 0 0 0 6rem;
}
.wp-block-column .wp-block-quote::before,
.wp-block-column blockquote::before {
  left: 1rem;
}

a {
  color: var(--color-accent);
  text-decoration: none;
  -webkit-text-decoration-skip: objects;
  transition: color 0.3s cubic-bezier(0.72, 0.16, 0.345, 0.875);
}
a:hover {
  color: var(--color-accent);
  outline: none;
  text-decoration: none;
}
a.decoration--none {
  text-decoration: none;
}
a[href^="tel"] {
  color: inherit;
}

.noGutters-Top {
  margin-top: 0 !important;
}
.noGutters-Bottom {
  margin-bottom: 0 !important;
}
.noGutters-Left {
  margin-left: 0 !important;
}
.noGutters-Right {
  margin-right: 0 !important;
}

.description {
  color: var(--color-description);
  margin-bottom: 1.9rem;
}
@media only screen and (max-width: 580px) {
  .description {
    margin-bottom: 1rem;
  }
}
.description-column {
  column-count: 2;
  column-gap: 4rem;
  margin-bottom: 0;
  text-align: justify;
}
@media only screen and (max-width: 992px) {
  .description-column {
    column-gap: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .description-column {
    column-gap: 2rem;
    margin-bottom: 1.5rem;
  }
}
@media only screen and (max-width: 580px) {
  .description-column {
    column-gap: 2rem;
    column-count: 1;
    margin-bottom: .5rem;
  }
}

.foreword {
  color: var(--color-description);
  font-size: 1.125rem;
}

.text-rotate {
  color: var(--color-text-rotate);
  display: block;
  letter-spacing: .15rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  position: absolute;
  top: 0;
  left: 0;
  transform: rotate(90deg) translateY(-100%);
  text-transform: uppercase;
  transform-origin: top left;
}
@media only screen and (max-width: 580px) {
  .text-rotate {
    display: none;
  }
}
.container .text-rotate {
  padding-top: 0;
  padding-bottom: 0;
  top: .5rem;
  left: -6vw;
}
@media only screen and (max-width: 1500px) {
  .container .text-rotate {
    left: -5vw;
  }
}

img {
  display: block;
  max-width: 100%;
  height: auto;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border-style: none;
}
.gallery img {
  display: inline-block;
}

iframe {
  background-color: var(--color-bg);
  border: 0;
  display: block;
  width: 100%;
}

.single .header-post iframe,
.elementor embed,
.elementor iframe,
.elementor object,
.elementor video {
  height: 100%;
}

main img.cover {
  object-fit: cover;
  object-position: center;
  font-family: 'object-fit: cover; object-position: center;';
  height: 100%;
  width: 100%;
}
.gallery-wrap .arcdeco-widget-image {
  text-align: center;
}
.elementor-section-boxed .arcdeco-widget-image {
  position: relative;
  padding-right: 15px;
  padding-left: 15px;
}
.arcdeco-widget-image img {
  vertical-align: middle;
  display: inline-block;
}
img[data-zoomable] {
  height: auto;
}

::-moz-selection,
::selection {
  background: transparent;
  color: var(--color-accent);
}

/* -----------------------------------------------------------------
    - Preloader
----------------------------------------------------------------- */
.preloader {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  justify-content: center;
  background-color: #000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  text-align: center;
  z-index: 1100;
  opacity: 1;
}
.preloader__wrap {
  width: 100%;
  max-width: 150px;
}
.preloader__logo {
  opacity: 0;
  transform: scale(1.5);
  width: 100%;
  max-width: 150px;
  animation: blur-logo 1.5s ease-in-out;
}
.preloader__progress {
  background: rgba(132, 132, 132, 0.5);
  height: 1px;
  position: relative;
  margin-top: 1rem;
  overflow: hidden;
  width: 100%;
}
.preloader__progress span {
  background: var(--color-accent);
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0;
}
.preloader.fadeOut2 {
  pointer-events: none;
  opacity: 0;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .preloader.fadeOut2 {
    visibility: hidden;
  }
}

@keyframes blur-logo {
  0% {
    filter: blur(30px);
    opacity: 0;
    transform: scale(1.5);
  }
  100% {
    filter: blur(0);
    opacity: 1;
    transform: scale(1);
  }
}

/* -----------------------------------------------------------------
    - Scrollbar
----------------------------------------------------------------- */
.js-scroll {
  overflow: hidden;
}
.touch .js-scroll {
  height: unset;
  overflow: unset;
}
.fullscreen-nav .scroll-content {
  width: 100%;
  margin: auto 0;
}
.js-scroll .scrollbar-track,
.fullscreen-nav .scrollbar-track {
  right: 3px;
  background: 0 0;
  z-index: 1300;
}
.js-scroll .scrollbar-thumb-y,
.fullscreen-nav .scrollbar-thumb-y {
  background: #444;
}
.js-scroll .scrollbar-thumb-y:before,
.fullscreen-nav .scrollbar-thumb-y:before{
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: -3px;
  left: -3px;
  bottom: 0;
}
.js-scroll .scrollbar-thumb-y:hover,
.fullscreen-nav .scrollbar-thumb-y:hover{
  background: #8b8b8b;
}

/* -----------------------------------------------------------------
    - Header
----------------------------------------------------------------- */
.navbar {
  position: fixed;
  top: 0;
  padding: 12px 15px;
  width: 100%;
  height: auto;
  transition: transform .3s ease-in-out;
  pointer-events: none;
  z-index: 1001;
}
.header-options {
  display: flex;
}
.woocommerce-actions {
  display: flex;
  align-items: center;
  margin-left: 1rem;
}
.navbar.menu-classic.sticky::before {
  content: '';
  position:absolute;
  background-color: var(--color-classic-nav-bg);
  -webkit-backdrop-filter: blur(40px);
  backdrop-filter: blur(40px);
  top:0;
  left:0;
  right:0;
  bottom:0;
  z-index:-1;
}
.admin-bar .navbar {
  top: 32px;
}
@media only screen and (min-width: 580px) {
  .navbar {
    background-color: transparent;
    padding: 2rem 3.125rem;
  }
  .navbar.menu-classic {
    padding: 1rem 3.125rem;
  }
  .navbar.menu-classic.sticky {
    transition: 0.3s linear all;
  }
}
@media screen and (max-width: 782px) {
  .admin-bar .navbar {
    top: 46px;
  }
  .admin-bar .navbar.sticky {
    top: 46px;
  }
}
@media screen and (max-width: 580px) {
  .admin-bar .navbar.sticky {
    top: 0;
  }
  .menu-fullscreen.navbar {
    transition: transform .3s ease-in-out, background-color 1s ease-in-out;
  }
  .open .menu-fullscreen.navbar {
    background-color: #000;
    transition: background-color .5s ease-in-out;
  }
  .navbar.menu-fullscreen.sticky::before,
  .navbar.menu-side.sticky::before {
    content: '';
    position:absolute;
    background-color: var(--color-navbar-bg);
    -webkit-backdrop-filter: blur(40px);
    backdrop-filter: blur(40px);
    top:0;
    left:0;
    right:0;
    bottom:0;
    z-index:-1;
    transition: background-color 1.5s ease-in-out;
  }
  [data-theme="light"] .navbar.menu-fullscreen.sticky::before,
  [data-theme="light"] .navbar.menu-side.sticky::before {
    transition: background-color .5s ease-in-out;
  }
  [data-theme="light"] .navbar.opened.menu-fullscreen.sticky::before,
  [data-theme="light"] .navbar.opened.menu-side.sticky::before {
    background-color: transparent;
    -webkit-backdrop-filter: blur(0px);
    backdrop-filter: blur(0px);
  }
  body.sticky-nav.open .navbar.menu-fullscreen.sticky::before,
  body.sticky-nav.open .navbar.menu-side.sticky::before {
    background-color: rgba(25, 25, 27, 0);
    transition: background-color 0.1s ease-in-out;
  }
}

@media screen and (min-width: 580px) {
  .navbar.scrollUp {
    transform: translateY(-100%);
  }
}

.open {
  overflow: hidden;
}
.open .scrollUp {
  transform: translateY(0);
}

/* Classic menu
--------------------------------------------- */
.navbar .nav {
  display: flex;
  list-style: none;
  position: relative;
  pointer-events: initial;
  word-wrap: normal;
}
.menu-classic .nav.nav-2 {
  flex-grow: 1;
}
@media only screen and (min-width: 992px) {
  .menu-classic.menu-position--right .nav.nav-2 {
    justify-content: flex-end;
  }
  .menu-classic.menu-position--center .nav.nav-2 {
    justify-content: center;
  }
}
@media only screen and (max-width: 992px) {
  .navbar .nav {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #19191B;
    height: 100vh;
    width: 100%;
    overflow: hidden;
    opacity: 0;
    position: fixed;
    left: 0;
    top: 0;
    transform: translate3d(0, -100%, 0);
    transition: transform .4s ease-in-out, opacity .4s .2s ease-in-out;
    z-index: -1;
  }
  .open .navbar .nav {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.navbar .nav > li {
  display: flex;
  padding: 1rem;
  margin-right: .2rem;
}
.navbar .nav > li:last-child {
  padding-right: 0;
}
.navbar .nav > li a {
  color: var(--color-font);
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  position: relative;
  transition: none;
  transition: .1s ease all;
  cursor: pointer;
}
.navbar.navbar--light .nav > li a {
  color: #fff;
}
@media only screen and (max-width: 992px) {
  .navbar .nav > li a {
    color: #fff;
  }
}
@media only screen and (min-width: 992px) {
  .navbar.sticky .nav > li a {
    color: var(--color-font);
  }
}

.navbar .nav > li:hover a {
  color: var(--color-accent);
  text-decoration: none;
  transition: .1s ease all;
}
.navbar .nav > li a:hover {
  color: var(--color-accent);
}
.navbar .nav > li .sub-menu li:hover > a {
  color: #000;
  background: var(--color-accent);
}
.navbar .nav li.current-menu-ancestor > a,
.navbar .nav li.current-menu-item > a,
.navbar .nav li.current_page_parent > a {
  color: var(--color-accent);
}
@media only screen and (min-width: 992px) {
  .navbar .nav > li a {
    font-size: 1.05rem;
  }
}
@media only screen and (max-width: 768px) {
  .navbar .nav > li a {
    font-size: 7vw;
  }
  .navbar .nav > li {
    padding: .6rem 2rem;
  }
}
@media only screen and (max-width: 580px) {
  .navbar .nav > li {
    padding: .5rem 1rem;
  }
}
@media only screen and (max-width: 992px) {
  .navbar .nav > li .sub-menu li:hover > a {
    background: transparent;
  }
}
@media only screen and (max-width: 992px) {
  .navbar .nav-2 {
    height: 100vh;
    display: block;
    overflow: auto;
    padding-top: 9rem;
    padding-left: 3.125rem;
  }
  .navbar .nav-2 > li {
    display: block;
    margin: 0;
    text-align: left;
    padding: 0;
  }
  .navbar .nav-2 > li a {
    display: block;
    font-size: 1.4rem;
    padding: .4rem 0;
  }
  .navbar .nav-2 > li a:hover {
    color: var(--color-accent);
  }
}
@media only screen and (max-width: 580px) {
  .navbar .nav-2 {
    padding-top: 8rem;
    padding-left: 15px;
  }
  .navbar.sticky .nav-2 {
    padding-top: 4rem;
  }
}
.nav-2 > li a {
  font-size: 1rem;
}
.navbar .nav .menu-item-has-children {
  position: relative;
}
@media only screen and (min-width: 993px) {
  .navbar .nav .menu-item-has-children > a::after {
    content: '\e805';
    font-family: "fonticons";
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    margin-right: 0.2em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    margin-left: 0.2em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transition: 0.2s ease all;
  }
  .navbar .nav .menu-item-has-children:hover > a:after {
    transform: rotate(-180deg);
    transition: 0.2s ease all;
  }
}
.navbar .nav .sub-menu {
  display: block;
  position: absolute;
  top: 100%;
  left: auto;
  right: 0;
  padding: 0;
  margin: 0;
  font-size: .86rem;
  list-style: none;
  text-align: left;
  border: 0;
  box-shadow: var(--color-submenu-shadow);
  opacity: 0;
  visibility: hidden;
  transform-origin: 50% -50px;
  transform: perspective(200px) rotateX(-10deg);
  transition: transform ease-in-out 0.4s;
  z-index: 10;
}
.navbar .nav .sub-menu::before,
.header-cart-mini::before,
.wpml-ls-sub-menu::before {
  content: '';
  position: absolute;
  background-color: var(--color-submenu-bg);
  -webkit-backdrop-filter: blur(40px);
  backdrop-filter: blur(40px);
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.navbar .nav .sub-menu ul {
  top: 0;
  right: 100%;
  left: auto;
  opacity: 0;
  visibility: hidden;
}
.navbar .nav .sub-menu > li {
  white-space: nowrap;
}
.navbar .nav .menu-item-has-children:hover > .sub-menu {
  visibility: visible;
  opacity: 1;
  transform: none;
}
@media only screen and (max-width: 992px) {
  .navbar .nav .sub-menu::before {
    display: none;
  }
  .navbar .nav li .sub-menu li .sub-menu,
  .navbar .nav li .sub-menu  {
    background-color: transparent;
    box-shadow: none;
    position: relative;
    top: 0;
    float: none;
    display: none;
    min-width: auto;
    margin-left: 1rem;
    opacity: 1;
    padding: 0;
    visibility: visible;
    text-align: left;
    transform: translate3d(0, 0, 0);
    transition: all .0s;
  }
  .navbar .nav .sub-menu ul {
    right: 0;
    left: 0;
  }
  .navbar .nav .menu-item-has-children:hover .sub-menu {
    transform: translate3d(0, 0, 0);
  }
}
.navbar .nav .sub-menu > li a:hover {
  background-color: var(--color-accent);
  color: var(--color-font);
}
@media only screen and (max-width: 580px) {
  .navbar .nav .menu-item-has-children .sub-menu li {
    font-size: 1rem;
  }
}
.navbar .nav .menu-item-has-children .sub-menu li a {
  display: block;
  margin: 0;
  padding: 10px 20px;
  color: var(--color-font);
  text-decoration: none;
}
.navbar .nav .menu-item-has-children .sub-menu li a:hover {
  color: var(--color-bg);
  transition: none;
}
@media only screen and (max-width: 992px) {
  .navbar .nav .menu-item-has-children .sub-menu li a {
    padding: 2px 8px;
  }
  .navbar .nav .menu-item-has-children a {
    color: #fff;
  }
  .navbar .nav .menu-item-has-children .sub-menu a {
    color: rgba(255, 255, 255, 0.7) !important;
  }
  .navbar .nav .menu-item-has-children.current > a {
    color: var(--color-accent) !important;
  }
  .navbar .nav .menu-item-has-children > a::after {
    content: '\e805';
    font-family: "fonticons";
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    margin-right: 0.2em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    margin-left: 0.2em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transition: 0.2s ease all;
  }
  .navbar .nav .menu-item-has-children.current > a:after {
    transition: 0.2s ease all;
    transform: rotate(-180deg);
  }
}

.navbar .nav .dropdown i {
  font-size: .86rem;
  display: inline-block;
  vertical-align: middle;
  transition: all 0.3s cubic-bezier(0.7, 0, 0.3, 1);
}
.navbar .nav .dropdown.current i {
  transform: rotate(-180deg);
}

.logo-link {
  display: block;
  pointer-events: initial;
}
.logo-link:hover {
  text-decoration: none;
}
.logotype {
  position: relative;
  transition: transform .4s ease-in-out;
}
.logotype__text-title {
  display: block;
	font-size: 1.5rem;
	line-height: 1.3;
	font-weight: 600;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.logotype__text-tagline {
	display: block;
  font-size: .9rem;
  line-height: 1.3;
  opacity: .9;
	white-space: nowrap;
	text-overflow: ellipsis;
}
@media only screen and (max-width: 580px) {
  .logotype__text-title {
    font-size: 1.2rem;
    line-height: 1.1;
  }
  .logotype__text-tagline {
    font-size: 0.8rem;
    line-height: 1.1;
  }
}

.hamburger {
  cursor: pointer;
  display: none;
  background-color: transparent;
  border: 0;
  padding: 0;
  margin-left: 2rem;
  pointer-events: initial;
}
@media only screen and (max-width: 992px) {
  .menu-classic .hamburger {
    display: block;
  }
}
.menu-fullscreen .hamburger,
.menu-side .hamburger {
  display: block;
}
@media only screen and (max-width: 768px) {
  .hamburger {
    display: block;
  }
  .menu-fullscreen .hamburger,
  .menu-side .hamburger {
    display: block;
  }
}
.menu-fullscreen .hamburger,
.menu-side .hamburger {
  display: block;
}
.hamburger__inner {
  display: inline-block;
  position: relative;
  height: 20px;
  width: 25px;
  vertical-align: middle;
}
.hamburger__inner::before {
  content: '';
  display: block;
  position: absolute;
  inset: -1rem;
}
.hamburger__inner span {
  display: block;
  position: relative;
  top: 0;
  width: 100%;
  height: 2px;
  margin: 5px 0;
  background-color: var(--color-font);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: top 0.3s 0.3s, transform 0.3s;
}
.navbar.menu-classic .hamburger.is-active .hamburger__inner span,
.menu-fullscreen.opened .hamburger__inner span,
.navbar-change.navbar--light .hamburger__inner span,
.sticky.navbar-change.navbar--light .hamburger__inner span,
.sticky.opened.navbar-change.navbar--light .hamburger__inner span {
  background-color: #fff;
}
.is-sideNav.is-active .hamburger__inner span,
.sticky.opened .is-sideNav.is-active .hamburger__inner span {
  background-color: var(--color-font);
}
@media only screen and (max-width: 580px) {
  .sticky.navbar-change.navbar--light .hamburger__inner span {
    background-color: #19191B;
  }
}
.hamburger.is-active .hamburger__inner span:first-child {
  top: 4px;
  animation: hamburger__open-top 0.8s;
  transform: rotate(45deg) scaleX(1);
  transition-duration: 0s, 0s;
}
.hamburger.is-active .hamburger__inner span:last-child {
  top: -3px;
  animation: hamburger__open-bottom 0.8s;
  transform: rotate(-45deg) scaleX(1);
  transition-duration: 0s, 0s;
}
@keyframes hamburger__open-top {
  0% {
      opacity: 1;
      top: 0;
      left: 0;
      transform: rotate(0) scaleX(1);
      transform-origin: left center;
  }
  30% {
      opacity: 1;
      top: 0;
      left: 0;
      transform: rotate(0) scaleX(0);
  }
  30.1% {
      opacity: 0;
      top: 0;
      left: 0;
      transform: rotate(0) scaleX(0);
  }
  31% {
      opacity: 1;
      top: -5px;
      left: 3px;
      transform: rotate(45deg) scaleX(0);
  }
  100%,
  80% {
      opacity: 1;
      top: -5px;
      left: 3px;
      transform: rotate(45deg) scaleX(1);
      transform-origin: left center;
  }
}
@keyframes hamburger__open-bottom {
  0% {
      opacity: 1;
      top: 0;
      left: 0;
      transform: rotate(0) scaleX(1);
      transform-origin: right center;
  }
  50% {
      opacity: 1;
      top: 0;
      left: 0;
      transform: rotate(0) scaleX(0);
  }
  50.1% {
      opacity: 0;
      top: 0;
      left: 0;
      transform: rotate(0) scaleX(0);
  }
  51%,
  55% {
      opacity: 1;
      top: -12px;
      left: -4px;
      transform: rotate(-45deg) scaleX(0);
  }
  100% {
      opacity: 1;
      top: -12px;
      left: -4px;
      transform: rotate(-45deg) scaleX(1);
      transform-origin: right center;
  }
}

/* Fullscreen Nav
--------------------------------------------- */
.fullscreen-nav {
  display: flex !important;
  flex-direction: column;
  align-items: center; 
  flex-wrap: wrap;
  position: fixed !important;
  top: -100%;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  background-color: #000;
  transition: all .5s;
  overflow-x: hidden;
  overflow-y: auto;
  visibility: hidden;
  text-align: center;
  z-index: 1000;
}
.fullscreen-nav.opened {
  top: 0;
  visibility: visible;
}
.fullscreen-nav__container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  margin: auto 0;
  padding: 5rem 0;
}
.admin-bar .fullscreen-nav__container {
  padding-bottom: calc(5rem - 32px);
}
.fullscreen-nav__container ul {
  position: relative;
  list-style: none;
  padding: 0;
  margin: 0;
}
.fullscreen-nav__container ul ul {
  padding: 0;
  margin: 0;
  width: 100%;
  height: 100%;
}
.fullscreen-nav__menu-item {
  display: block;
}
.fullscreen-nav__menu-item a {
  display: inline-flex;
  color: #fff !important;
  font-size: 4rem;
  font-weight: 600;
  line-height: 1.3;
  overflow: hidden;
  text-decoration: none;
  cursor: pointer;
}
.fullscreen-nav__menu-item span {
  display: inline-block;
  position: relative;
  transition: opacity .5s;
}
.fullscreen-nav__container ul > li,
.fullscreen-nav__container ul ul li {
  overflow: hidden;
}
.fullscreen-nav__container ul > li span,
.fullscreen-nav__container ul ul li span {
  transform: translateY(100%);
}
.fullscreen-nav__container .sub-menu.hidden,
.fullscreen-nav__container.hidden {
  visibility: hidden;
}
.fullscreen-nav__container .sub-menu.opened,
.fullscreen-nav__container.opened {
  visibility: visible;
}
.fullscreen-nav__container ul.hidden > li > a {
  display: none;
}
.fullscreen-nav__container ul.opened > li > a {
  display: inline-flex;
}
.no-touch .fullscreen-nav__menu:hover .fullscreen-nav__menu-item span:not(:hover) {
  opacity: .2;
  transition: opacity .5s;
}
.fullscreen-nav__menu-item.menu-item-has-children .icon-down-open {
  display: none;
  position: absolute;
  top: 50%;
  transform: translateY(-35%);
  font-size: 2vw;
}
.sub-back {
  display: flex;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
}
.sub-back span {
  font-size: 1.8rem;
  line-height: 2;
  width: 4rem;
  padding-bottom: .5rem;
  opacity: .3;
  transition: opacity .5s;
}
.sub-back:hover span {
  opacity: 1;
}
.sub-menu.opened .sub-back {
  opacity: 1;
  visibility: visible;
}

@media only screen and (max-width: 992px) {
  .fullscreen-nav__menu-item span {
    font-size: 3.2rem;
  }
  .sub-back span {
    font-size: 1.5rem;
    line-height: 2;
  }
}
@media only screen and (max-width: 768px) {
  .fullscreen-nav__container {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    padding: 0;
  }
  .fullscreen-nav__menu-item span {
    font-size: 2.4rem;
  }
  .sub-back span {
    font-size: 1.5rem;
    line-height: 2;
  }
}

/* Side Nav
--------------------------------------------- */
.sideNav {
  background-color: var(--color-side-nav-bg);
  -webkit-backdrop-filter: blur(40px);
  backdrop-filter: blur(40px);
  list-style: none;
  height: 100%;
  margin: 0;
  list-style: none;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 9rem 0 0;
  position: fixed;
  top: 0;
  right: 0;
  width: 360px;
  z-index: 999;
}
.sideNav__item {
  color: var(--color-font);
  font-size: 1.5rem;
  font-weight: 400;
  position: relative;
  margin: 0 3rem;
  padding: .2rem 0;
  user-select: none;
  transition: color 0.6s cubic-bezier(0.72, 0.16, 0.345, 0.875);
}
.sideNav__item:hover {
  color: var(--color-accent);
}
.sideNav__item a {
  color: var(--color-font);
  text-decoration: none;
}
.sideNav__item.has-droupdown.sideNav__item-open > span {
  color: var(--color-accent);
}
.sideNav__item > a:hover,
.sideNav__item.has-droupdown > span:hover {
  color: var(--color-accent);
}
.sideNav__item .icon {
  font-size: 1rem;
  padding: 0 .3rem;
  transition: transform 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transform: rotate(0deg);
}
.sideNav__item-open > .icon {
  transform: rotate(-180deg);
}
.sideNav__sub {
  display: none;
  position: relative;
  max-height: 100%;
  height: 100%;
  list-style: none;
  padding: 0;
  margin: 0;
}
.sideNav__sub.open {
  display: block;
}
.sideNav__sub .sideNav__item {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 400;
}
.sideNav__sub .sideNav__item > a,
.sideNav__sub .sideNav__item > span {
  color: var(--color-side-nav-subitem);
}
.sideNav__sub .sideNav__item a:hover {
  color: var(--color-accent);
}
.sideNav-collapsed {
  display: flex;
  align-items: center;
  cursor: pointer;
  position: relative;
}

.overlay-sideNav {
  background-color: rgba(25, 25, 27, 0.3);
  height: 100%;
  width: 100%;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

@media only screen and (max-width: 580px) {
  .sideNav {
    background-color: var(--color-bg);
    padding: 4.5rem 0 0;
    width: 100%;
  }
  .admin-bar .sideNav {
    padding: 8rem 0 0;
  }
  .admin-bar.sticky-nav .sideNav {
    padding: 4.5rem 0 0;
  }
  .sideNav__sub .sideNav__item {
    font-size: 1.1rem;
  }
  .sideNav__sub {
    margin: 0 .6rem 0rem;
  }
  .sideNav__item {
    font-size: 1.3rem;
    margin: 0 1rem;
  }
}

/* -----------------------------------------------------------------
    - Shared
----------------------------------------------------------------- */
.hero {
  height: 100dvh;
  overflow: hidden;
  position: relative;
}
.admin-bar .hero {
  height: calc(100vh - 32px);
}
@media screen and (max-width: 782px) {
  .admin-bar .hero {
    height: calc(100vh - 46px);
  }
}
.hero-intro .title {
  margin-bottom: 6.5rem;
}
.hero-intro .hero__header .title {
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .hero-intro .title {
    margin-bottom: 0;
    text-align: center;
  }
}
@media screen and (max-height: 380px) {
  .hero-intro .title {
    margin-bottom: 0;
  }
}
.hero__header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 80%;
  z-index: 10;
}
@media only screen and (max-width: 580px) {
  .hero__header {
    width: calc(100% - 30px);
  }
}
.hero__image,
.hero__video {
  position: absolute;
  top: 0;
  left: 0;
}

.container-fully {
  display: flex;
  flex-direction: column;
  padding-left: 7.5rem;
  padding-right: 7.5rem;
}
@media only screen and (max-width: 1200px) {
  .contact-container.container-fully {
    padding-left: 3.125rem;
    padding-right: 3.125rem;
  }
}
@media only screen and (max-width: 768px) {
  .container-fully {
    padding-left: 3.125rem;
    padding-right: 3.125rem;
  }
}
@media only screen and (max-width: 580px) {
  .container-fully {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.header-page {
  margin-top: 10rem;
}
.section-page .header-page {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 580px) {
  .header-page {
    margin-top: 7rem;
  }
  .section-page .header-page {
    margin-top: 5rem;
    margin-bottom: 2rem;
  }
}

.social {
  line-height: 0;
}
.social__link {
  color: var(--color-description);
  display: inline-block;
  font-size: 1.3rem;
  margin-left: 1rem;
}
.hero.slider .social__link,
.hero.hero-intro .social__link {
  color: #C4C4C4;
}
.hero.slider .social__link:hover,
.hero.hero-intro .social__link:hover {
  color: var(--color-accent);
}
.social__link:first-child {
  margin-left: 0;
}
.team-social__link {
  position: relative;
  color: var(--color-description);
  display: inline-block;
  font-size: 1.1rem;
  margin-right: 1.5rem;
  margin-top: .5rem;
}
.team-social__link::before {
  content: '';
  display: block;
  position: absolute;
  top:  -.5rem;
  right: -1rem;
  bottom: -.5rem;
  left: -1rem;
}
.social-floating {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  position: absolute;
  bottom: 3.125rem;
  right: 3.125rem;
  z-index: 10;
}
@media only screen and (max-width: 580px) {
  .social-floating {
    bottom: 1.5rem;
    left: 0;
    right: 0;
    justify-content: center;
  }
}
@media screen and (max-height: 380px) {
  .social-floating {
    bottom: 2rem;
  }
}

.js-image {
  background-size: cover;
  background-position: center;
  height: 100%;
  width: 100%;
}

.image-gutter {
  height: 50vw;
  position: relative;
  max-height: 840px;
  margin-top: 3.6rem;
  margin-left: 7.5rem;
  width: calc(100% - 7.5rem);
}
.header-post .image-gutter {
  margin-top: 2.5rem;
}
.image-gutter__no {
  margin-left: 0;
  width: 100%;
}
@media only screen and (max-width: 992px) {
  .image-gutter {
    height: 60vw;
    margin-left: 0;
    width: 100%;
  }
}
@media only screen and (max-width: 580px) {
  .image-gutter,
  .header-post .image-gutter {
    height: 100vw;
    margin-top: 1.2rem;
  }
}
.image-gutter .text-rotate {
  padding-top: 2.8rem;
  padding-bottom: 2.8rem;
  left: -7.6rem;
}
@media only screen and (max-width: 992px) {
  .image-gutter .text-rotate {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

@media only screen and (max-width: 580px) {
  .mt--0 {
    margin-top: 0 !important;
  }
}

.overlay {
  position: relative;
}
.overlay::before,
.overlay--45::before,
.overlay--80::before {
  content: '';
  background-color: rgba(25, 25, 27, 0.35);
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
}
.overlay--45::before {
  background-color: rgba(25, 25, 27, 0.45);
}
.overlay--80::before {
  background-color: rgba(25, 25, 27, 0.8);
}

.gallery-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.gallery-expanded {
  margin-right: 0;
  margin-left: 0;
}
@media only screen and (min-width: 1500px) {
  .gallery-expanded {
    margin-right: -8rem;
    margin-left: -8rem;
  }
}
.gallery__item {
  margin-top: 2rem;
}
@media only screen and (max-width: 992px) {
  .gallery__item {
    margin-top: 1rem;
  }
}
@media only screen and (max-width: 580px) {
  .gallery__item {
    margin-top: .5rem;
  }
}
.gallery-wrap .btn-link {
  margin-top: 3rem;
}
@media only screen and (max-width: 992px) {
  .gallery-wrap .btn-link {
    margin-top: 1.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .gallery-wrap .btn-link {
    margin-top: 2rem;
  }
}

.gallery-two .gallery__item {
  flex-basis: calc(50% - 3%);
  width: calc(50% - 3%);
}
.gallery-two .gallery__item:nth-child(2n+1) {
  margin-right: 3%;
}
.gallery-two .gallery__item:nth-child(2n) {
  margin-left: 3%;
}
@media only screen and (max-width: 768px) {
  .gallery-two .gallery__item {
    flex-basis: 100%;
    width: 100%;
  }
  .gallery-two .gallery__item:nth-child(2n+1) {
    margin-right: 0;
  }
  .gallery-two .gallery__item:nth-child(2n) {
    margin-left: 0;
  }
}
@media only screen and (max-width: 580px) {
  .gallery-two .gallery__item {
    margin-top: 15px;
  }
}

.list-row {
  list-style: none;
  margin-bottom: 0;
  padding: 0;
}
@media only screen and (max-width: 580px) {
  .list-row {
    margin-top: 0;
  }
}
.list-row__item {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid var(--color-list-border);
  padding: 1.8rem 0;
}
@media only screen and (max-width: 580px) {
  .list-row__item {
    padding: 1.2rem 0;
  }
}
@media only screen and (max-width: 580px) {
  .list-row__item .title {
    font-size: 1rem;
  }
}
.list-row__col-num {
  color: var(--color-list-num);
  width: 15%;
}
@media only screen and (max-width: 1200px) {
  .list-row__col-num {
    width: 10%;
  }
}
@media only screen and (max-width: 580px) {
  .list-row__col-num {
    margin-right: 1.5rem;
    width: auto;
  }
}
.list-row__col-title {
  margin-bottom: 0;
  width: 85%;
}
@media only screen and (max-width: 1200px) {
  .list-row__col-title {
    width: 90%;
  }
}
.list-row__col-caption {
  color: var(--color-description);
  width: 30%;
}

.video-container {
  height: 46vw;
  margin-top: 1rem;
  position: relative;
}
@media only screen and (max-width: 992px) {
  .video-container {
    height: 60vw;
  }
}
@media only screen and (max-width: 580px) {
  .video-container {
    height: 100vw;
    margin-bottom: 1.87rem;
  }
}
.container-fully .video-container {
  margin-left: -7.5rem;
  margin-right: -7.5rem;
}
@media only screen and (max-width: 768px) {
  .container-fully .video-container {
    margin-left: -3.125rem;
    margin-right: -3.125rem;
  }
}
@media only screen and (max-width: 580px) {
  .container-fully .video-container {
    margin-left: -15px;
    margin-right: -15px;
  }
}
.video-container .video__btn {
  background-color: var(--color-bg);
  box-shadow: 0 0 0 0px var(--color-bg);
  border: 0;
  border-radius: 50%;
  color: var(--color-font);
  font-size: .75rem;
  font-weight: 600;
  height: 8.5rem;
  letter-spacing: .3rem;
  margin: 0;
  position: absolute;
  left: 50%;
  top: 50%;
  text-align: center;
  text-transform: uppercase;
  width: 8.5rem;
  opacity: 1;
  transform: translate(-50%, -50%);
  transition: all .3s ease-in-out;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  .video-container .video__btn {
    height: 6.5384615385rem;
    width: 6.5384615385rem;
    letter-spacing: .2rem;
  }
}
@media only screen and (max-width: 580px) {
  .video-container .video__btn {
    height: 5.3125rem;
    width: 5.3125rem;
  }
}
.video-container .video__btn:hover {
  background-color: var(--color-bg);
  box-shadow: 0 0 0 10px var(--color-bg);
  cursor: pointer;
}
.video-container .video__btn:focus {
  outline: 0;
}
.video-container .video__poster {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 1;
  visibility: visible;
  transition: .3s ease-in-out;
  transition-duration: 0.5s;
}
.video-container .video__poster::before {
  content: '';
  background: rgba(25, 25, 27, 0.2);
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: .3s ease-in-out;
  width: 100%;
  z-index: 1;
}
.video-container .video__poster:hover::before {
  background: rgba(25, 25, 27, 0);
}

.js-video.is-active .video__poster {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.video-background,
.hero__video {
  position: absolute;
  left: 0;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  width: 100%;
  height: auto;
  z-index: -1;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.hero__video {
  height: 100%;
}

.note {
  display: flex;
  align-items: center;
  background: var(--color-bg);
  padding: 3.5rem 3.125rem;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40%;
  z-index: 10;
}
.note::before {
  content: '';
  background: var(--color-bg);
  height: 100%;
  position: absolute;
  top: 0;
  right: -4rem;
  transform: skewX(25deg);
  width: 100%;
  z-index: -1;
}
@media only screen and (max-width: 1200px) {
  .note {
    width: 50%;
  }
}
@media only screen and (max-width: 992px) {
  .note {
    padding: 2.5rem 3.125rem 2.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .note {
    display: none;
  }
}
@media screen and (max-height: 380px) {
  .note {
    display: none;
  }
}
.note__item .title {
  font-size: 1.2rem;
  margin-bottom: 1rem;
}
.note__item .description {
  font-size: .937rem;
  margin-bottom: 0;
}

.services {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  margin-top: 2rem;
}
@media only screen and (max-width: 992px) {
  .services {
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 580px) {
  .services {
    margin-top: .5rem;
  }
}
.services__item {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 50vw;
  max-height: 740px;
  overflow: hidden;
  position: relative;
  padding: 3rem 4rem;
  width: 100%;
}
@media only screen and (max-width: 1500px) {
  .services__item {
    padding: 2rem 3rem;
  }
}
@media only screen and (max-width: 1200px) {
  .services__item {
    padding: 2rem;
  }
}
@media only screen and (max-width: 992px) {
  .services__item {
    height: 60vw;
    width: 50%;
  }
}
@media only screen and (max-width: 768px) {
  .services__item {
    height: 80vw;
    width: 100%;
  }
}
@media only screen and (max-width: 580px) {
  .services__item {
    margin: 7.5px 15px;
    padding: .6rem 15px;
    height: 100vw;
  }
}
.services__item-bg {
  background-size: cover;
  width: 101%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: scale(1);
  transform-origin: center;
  transition: all .6s ease-in-out;
}
.services__item:hover .services__item-bg {
  transform: scale(1.08);
}
.services__item-details {
  position: relative;
  z-index: 2;
}
.services__item-details .title {
  color: #fff;
  margin-bottom: 1rem;
}
.services__item-details .description {
  color: #fff;
  margin-bottom: 1px;
}

/* -----------------------------------------------------------------
    - Slider
----------------------------------------------------------------- */
.slider {
  display: flex;
  height: 100dvh;
  position: relative;
  z-index: 0;
  -webkit-overflow-scrolling: touch;
}
.slider__item {
  width: 100%;
}
.slider .slider__caption {
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2;
}
.slider .slider__caption .slider__content {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  margin-left: 20vw;
  margin-right: 10vw;
}
@media only screen and (max-width: 992px) {
  .slider .slider__caption .slider__content {
    margin-left: 10vw;
  }
}
@media only screen and (max-width: 580px) {
  .slider .slider__caption .slider__content {
    margin-left: 5vw;
    margin-right: 5vw;
    text-align: center;
  }
}
.slider .slider__caption .title--display-1 {
  color: var(--color-accent);
  font-weight: 600;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 580px) {
  .slider .slider__caption .title--separation::before {
    right: 0;
    left: 0;
    margin: auto;
  }
}
.slider .slider__caption .description {
  font-size: 1.125rem;
  color: #C4C4C4;
  margin-bottom: 0;
  margin-top: .8rem;
  width: 60%;
}
@media only screen and (max-width: 1200px) {
  .slider .slider__caption .description {
    width: 80%;
  }
}
@media only screen and (max-width: 992px) {
  .slider .slider__caption .description {
    font-size: 1rem;
    width: 100%;
  }
}
@media only screen and (min-width: 1500px) {
  .slider .slider__caption .description {
    width: 40%;
  }
}
.slider__image {
  height: 100%;
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 992px) {
  .slider__image {
    width: 100%;
    order: 1;
  }
}
.slider__control {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
  position: absolute;
  right: 3.125rem;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .slider__control {
    -webkit-align-items: flex-end;
    -ms-flex-align: flex-end;
    align-items: flex-end;
    right: 0;
    left: 0;
  }
}
.slider__control__control-horizon {
  height: 2px;
  right: 0;
  left: 0;
  bottom: 0;
  width: 100%;
}
.slider-pagination-progressbar {
  background: rgba(255, 255, 255, 0.4) !important;
  position: relative !important;
  width: 2px !important;
  height: 30% !important;
}
@media only screen and (max-width: 768px) {
  .slider-pagination-progressbar {
    width: 100% !important;
    height: 3px !important;
  }
}
.slider-pagination-progressbar-horizon {
  background: var(--color-slider-progressbar) !important;
  max-width: calc(1140px - 30px);
  margin-left: auto;
  margin-right: auto;
  height: 2px !important;
  width: 100% !important;
}
@media only screen and (max-width: 1200px) {
  .slider-pagination-progressbar-horizon {
    max-width: calc(960px - 30px);
  }
}
@media only screen and (max-width: 992px) {
  .slider-pagination-progressbar-horizon {
    max-width: calc(720px - 30px);
  }
}
@media only screen and (max-width: 768px) {
  .slider-pagination-progressbar-horizon {
    max-width: calc(100% - 30px);
  }
}
.slider-pagination-fraction {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  font-size: 1.3rem;
  font-weight: 500;
  color: #fff;
  letter-spacing: .2rem;
  height: 43%;
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2rem;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .slider-pagination-fraction {
    display: none;
  }
}
.slider-pagination-fraction div {
  display: inline-flex;
  transform: rotate(-90deg);
}
.slider-navigation {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  justify-content: space-between;
  cursor: pointer;
  position: absolute;
  bottom: 3.125rem;
  left: 3.125rem;
  width: 5.5rem;
  z-index: 2;
}
@media only screen and (max-width: 580px) {
  .slider-navigation {
    display: none;
  }
}
.slider-navigation__vertical {
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 5rem;
  width: auto;
}
.slider-prev,
.slider-next {
  border: 0;
  background-color: transparent;
  line-height: 0;
  height: 1.54rem;
  width: .93rem;
  transition: opacity .4s ease-in-out;
}
.slider-prev::before,
.slider-next::before {
  content: '';
  display: block;
  position: absolute;
  top: -1rem;
  bottom: -1rem;
  right: -1rem;
  left: -1rem;
}
.slider-prev:hover path,
.slider-next:hover path {
  fill: var(--color-accent);
}
.slider-prev:focus,
.slider-next:focus {
  outline: none;
}
@media only screen and (max-width: 580px) {
  .slider .social {
    right: 0;
    left: 0;
    text-align: center;
  }
}

.anim-line {
  opacity: 0;
  transform: translate3d(0, 100%, 0);
  transition: opacity, transform .3s ease-in-out;
}

.carousel {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  justify-content: flex-end;
  padding-left: 7.5rem;
}
@media only screen and (max-width: 768px) {
  .carousel {
    padding: 8rem 1.5rem 1.5rem;
  }
}
@media only screen and (max-width: 580px) {
  .carousel {
    padding: 6rem 15px 15px;
  }
}
.carousel-container {
  height: 70%;
}
@media only screen and (max-width: 768px) {
  .carousel-container {
    height: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .carousel .slider-navigation {
    display: none;
  }
}

.item-caption {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 60%);
  padding: 2rem;
  opacity: 0;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  text-align: left;
  transition: opacity .3s ease-in-out;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .item-caption {
    opacity: 1;
  }
}
@media only screen and (max-width: 580px) {
  .item-caption {
    padding: .6rem 15px;
  }
}
.item-caption > * {
  opacity: 1;
  transform: translate3d(0, 100%, 0);
  transition: all .4s ease-in-out;
}
@media only screen and (max-width: 768px) {
  .item-caption > * {
    transform: translate3d(0, 0, 0);
  }
}
.item-caption .title {
  margin-bottom: 1rem;
}
@media only screen and (max-width: 580px) {
  .item-caption .title {
    margin-bottom: .5rem;
  }
}

.onHover:hover .item-caption {
  opacity: 1;
}
.onHover:hover .item-caption > * {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.swiper-container {
  position: relative;
  width: 100%;
}
.swiper-container .swiper-slide {
  overflow: hidden;
}
.swiper-container .swiper-slide a {
  text-decoration: none;
}
.swiper-container .swiper-slide__link {
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 2;
}
.swiper-container .swiper-slide .cover-slider {
  background-size: cover;
  background-position: center center;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
.swiper-container .swiper-slide .scaleCover {
  width: 100%;
  height: 100vh;
  transform: scale(1.1);
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.swiper-container .swiper-slide-active .slider__content a > *,
.swiper-container .swiper-slide-duplicate-active .slider__content a > * {
  opacity: 1;
  transform: translate3d(0, 0%, 0);
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(1),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(1) {
  transition-delay: 0s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(2),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(2) {
  transition-delay: 0.2s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(3),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(3) {
  transition-delay: 0.4s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(4),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(4) {
  transition-delay: 0.6s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(5),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(5) {
  transition-delay: 0.8s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(6),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(6) {
  transition-delay: 1s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(7),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(7) {
  transition-delay: 1.2s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(8),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(8) {
  transition-delay: 1.4s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(9),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(9) {
  transition-delay: 1.6s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(10),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(10) {
  transition-delay: 1.8s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(11),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(11) {
  transition-delay: 2s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(12),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(12) {
  transition-delay: 2.2s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(13),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(13) {
  transition-delay: 2.4s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(14),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(14) {
  transition-delay: 2.6s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(15),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(15) {
  transition-delay: 2.8s;
}
.swiper-container .swiper-slide-active .scaleCover,
.swiper-container .swiper-slide-duplicate-active .scaleCover {
  transform: scale(1);
}
.swiper-button-disabled {
  opacity: .5;
}
.swiper-pagination-progressbar-fill {
  background: var(--color-font) !important;
}
.swiper-container .elementor-slideshow__title {
  text-align: center;
}

/* -----------------------------------------------------------------
    - Portfolio
----------------------------------------------------------------- */
.project-masonry,
.news-masonry,
.masonry-grid {
  pointer-events: none;
}
.js-scroll-show {
  will-change: transform, opacity;
}
.content-grid {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.content-grid__item {
  display: flex;
  flex-direction: column;
}
.content-grid__col-1 {
  width: 100%;
  margin-top: 1rem;
  margin-bottom: 8%;
}
.content-grid__col-2 {
  margin-top: 1rem !important;
  margin-bottom: 3% !important;
  width: 45%;
}
.news-masonry .content-grid__col-2 {
  margin-bottom: 6% !important;
}
.content-grid__col-3 {
  margin-top: 1rem !important;
  margin-bottom: 3% !important;
  width: 28%;
}
.masonry-grid .content-grid__col-3 {
  width: 30%;
}
.content-grid__col-4 {
  margin-top: 1rem !important;
  margin-bottom: 2% !important;
  width: 22%;
}
.inner-caption .content-grid__col-2,
.inner-caption .content-grid__col-3 {
  margin-bottom: 5% !important;
}
.masonry-grid.inner-caption .content-grid__col-3 {
  margin-bottom: 3.5% !important;
}
.inner-caption .content-grid__col-4 {
  margin-bottom: 2.5% !important;
}
@media only screen and (min-width: 2000px) {
  .content-grid__col-2,
  .content-grid__col-3,
  .content-grid__col-4 {
    margin-bottom: 2% !important;
    width: 22%;
  }
}
@media only screen and (max-width: 1200px) {
  .content-grid__col-2 {
    width: 45%;
  }
  .content-grid__col-3,
  .content-grid__col-4 {
    width: 30%;
  }
  .inner-caption .content-grid__col-3,
  .inner-caption .content-grid__col-4 {
    margin-bottom: 3% !important;
  }
}
@media only screen and (max-width: 992px) {
  .content-grid__col-2,
  .content-grid__col-3,
  .content-grid__col-4 {
    width: 46%;
  }
  .masonry-grid .content-grid__col-2,
  .masonry-grid .content-grid__col-3,
  .masonry-grid .content-grid__col-4 {
    width: 47%;
  }
  .inner-caption .content-grid__col-2,
  .inner-caption .content-grid__col-3,
  .inner-caption .content-grid__col-4 {
    margin-bottom: 5% !important;
  }
}
@media only screen and (max-width: 768px) {
  .content-grid__col-2,
  .content-grid__col-3,
  .content-grid__col-4 {
    width: 46%;
  }
  .masonry-grid .content-grid__col-2,
  .masonry-grid .content-grid__col-3,
  .masonry-grid .content-grid__col-4 {
    width: 46%;
  }
}
@media only screen and (max-width: 580px) {
  .content-grid__col-2,
  .content-grid__col-3,
  .content-grid__col-4 {
    margin-top: .5rem !important;
    margin-bottom: 1rem !important;
    width: 100%;
  }
  .masonry-grid .content-grid__col-2,
  .masonry-grid .content-grid__col-3,
  .masonry-grid .content-grid__col-4 {
    width: 100%;
  }
}

.gutter-sizer {
  width: 8%;
}
.gutter-sizer-2 {
  width: 10%;
}
.gutter-sizer-3 {
  width: 8%;
}
.masonry-grid .gutter-sizer-3 {
  width: 5%;
}
.gutter-sizer-4 {
  width: 4%;
}
@media only screen and (min-width: 2000px) {
  .gutter-sizer-2,
  .gutter-sizer-3,
  .gutter-sizer-4 {
    width: 4%;
  }
}
@media only screen and (max-width: 1200px) {
  .gutter-sizer-2 {
    width: 10%;
  }
  .gutter-sizer-3 {
    width: 5%;
  }
  .gutter-sizer-4 {
    width: 4%;
  }
}
@media only screen and (max-width: 992px) {
  .gutter-sizer-2,
  .gutter-sizer-3,
  .gutter-sizer-4 {
    width: 8%;
  }
  .masonry-grid .gutter-sizer-2,
  .masonry-grid .gutter-sizer-3,
  .masonry-grid .gutter-sizer-4 {
    width: 6%;
  }
}
@media only screen and (max-width: 768px) {
  .gutter-sizer-2,
  .gutter-sizer-3,
  .gutter-sizer-4 {
    width: 8%;
  }
  .masonry-grid .gutter-sizer-2,
  .masonry-grid .gutter-sizer-3,
  .masonry-grid .gutter-sizer-4 {
    width: 8%;
  }
}
.content-grid__image-wrap {
  display: block;
  position: relative;
  width: 100%;
}
.content-grid__col-1 .content-grid__image-wrap {
  height: 450px;
}
.content-grid .image-wrap-fit {
  padding-bottom: 140%;
}
.content-grid.masonry-grid .image-wrap-fit {
  padding-bottom: 0%;
}
@media only screen and (max-width: 580px) {
  .content-grid .image-wrap-fit {
    padding-bottom: 120%;
  }
  .content-grid__col-1 .content-grid__image-wrap {
    height: 250px;
  }
  .content-grid.masonry-grid .image-wrap-fit {
    padding-bottom: 0%;
  }
}
.content-grid__image {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.masonry-grid .content-grid__image {
  display: block;
  background-color: #848484;
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  object-fit: initial;
  height: auto;
}
.content-grid__link {
  display: flex;
  flex-direction: column;
  opacity: 1;
  pointer-events: all;
  transition: opacity .2s ease;
  text-decoration: none;
  width: 100%;
}
.content-grid__link:hover {
  text-decoration: none;
}
.no-touch .content-grid__link:hover {
  opacity: 1 !important;
  filter: grayscale(0) !important;
}
.has-post-thumbnail .content-grid__link:hover .content-grid__caption,
.portfolio_wrap .content-grid__link:hover .content-grid__caption,
.about-team .content-grid__link:hover .content-grid__caption {
  transform: translate3d(0, 8px, 0);
}
.content-grid__link:hover .content-grid__description {
  color: var(--color-description);
}
.content-grid__caption {
  margin-top: 2rem;
  transform: translate3d(0, 0%, 0);
  transition: transform .3s ease-in-out;
}
@media only screen and (max-width: 992px) {
  .content-grid__caption {
    margin-top: 1.5rem;
  }
}
@media only screen and (max-width: 580px) {
  .content-grid__caption {
    margin-top: 1rem;
  }
}
.post-meta {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.post-meta li {
  display: inline-flex;
  flex-wrap: wrap;
  margin: 0;
}
.post-meta > span {
  display: inline;
  white-space: pre-wrap;
}
.post-meta span + span:before {
  content: ' / ';
  margin: 0 5px;
  font-style: normal;
  opacity: .5;
}
.post-meta .post-date:before {
  margin-right: 0;
}
.post-meta a:hover {
  color: var(--color-font);
  text-decoration: none;
}

.post-tags {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 580px) {
  .post-tags {
    margin-top: .5rem;
    margin-bottom: .5rem;
  }
}
.post-tags a {
  display: inline-block;
  font-size: .75rem;
  color: var(--color-misc);
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: .1rem;
  padding: .8rem 1rem .7rem;
  margin-bottom: .6rem;
  margin-right: .4rem;
  border: 1px solid var(--color-project-footer-before);
  border-radius: 2px;
  transition: .3s ease-in-out;
}
.post-tags a:hover {
  color: var(--color-bg);
  background-color: var(--color-font);
}
@media only screen and (max-width: 580px) {
  .post-tags a {
    padding: .4rem .6rem;
    margin-bottom: .4rem;
    line-height: 1;
  }
}

.blog .content-grid__item.sticky .content-grid__caption::after {
  content: '';
  display: block;
  width: 3px;
  height: 94%;
  position: absolute;
  left: -1.5rem;
  top: 0;
  bottom: 0;
  background-color: #f7541b;
  margin-top: auto;
  margin-bottom: auto;
}
@media only screen and (max-width: 580px) {
  .blog .content-grid__item.sticky .content-grid__caption::after {
    height: 96%;
    left: -15px;
  }
}

.content-grid .content-grid__caption .title {
  margin-bottom: 1rem;
  color: var(--color-font);
  transition: .3s ease-in-out;
}
.blog .content-grid .content-grid__caption .title a,
.blog .item-post-horizon .item-post-horizon__caption .title a {
  color: inherit;
  text-decoration: none;
}
.content-grid.inner-caption .content-grid__caption .title {
  margin-bottom: .5rem;
}
.content-grid__link:hover .content-grid__caption .title {
  margin-bottom: 1rem;
  color: var(--color-accent);
  transition: .3s ease-in-out;
}
.item-post-horizon__link:hover .item-post-horizon__caption .title {
  color: var(--color-accent);
  transition: .2s ease-in-out;
}
.inner-caption .content-grid__link:hover .content-grid__caption .title {
  margin-bottom: .5rem;
}
.inner-caption.content-grid .content-grid__caption .title.title--color-accent {
  color: var(--color-accent);
}
.inner-caption.content-grid .content-grid__caption .title.title--color-default {
  color: #fff;
}

.content-grid__link:hover .content-grid__image[data-effect="blur"] {
  -webkit-filter: blur(4px);
  filter: blur(4px);
  transition: .6s ease-in-out;
}
.content-grid__link:hover .content-grid__image[data-effect="saturate"] {
  -webkit-filter: saturate(200%);
  filter: saturate(200%);
  transition: .6s ease-in-out;
}
.content-grid__link:hover .content-grid__image[data-effect="grayscale"] {
  -webkit-filter: grayscale(.95);
  filter: grayscale(.95);
  transition: .6s ease-in-out;
}
.content-grid__link:hover .content-grid__image[data-effect="sepia"] {
  -webkit-filter: sepia(100%);
  filter: sepia(100%);
  transition: .6s ease-in-out;
}
.inner-caption .content-grid__image-wrap::before {
  content: '';
  background: linear-gradient(to top, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 90%);
  height: 100%;
  width: 100%;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity .9s ease-in-out;
  z-index: 1;
}
.inner-caption .content-grid__item:hover .content-grid__image-wrap::before {
  opacity: 1;
}
.inner-caption .content-grid__caption {
  padding: 0 2rem 1.5rem;
  opacity: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translate3d(0, 20%, 0);
  transition: all .5s ease-in-out;
  z-index: 2;
}
.inner-caption .content-grid__caption .content-grid__description {
  color: var(--color-font);
}
.inner-caption .onHover:hover .content-grid__caption {
  opacity: 1;
  transform: translate3d(0, 0%, 0);
}

@media only screen and (max-width: 992px) {
  .content-grid .title {
    font-size: 1.5rem;
    margin-bottom: .6rem;
  }
}
.content-grid__name {
  margin-bottom: .4rem;
}
@media only screen and (max-width: 992px) {
  .content-grid__name {
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 580px) {
  .content-grid__name {
    font-size: 1.2rem;
    margin-bottom: .2rem;
  }
}
.content-grid__description,
.content-grid__role {
  font-size: .9375rem;
  color: var(--color-description);
  margin-bottom: 0;
}
.content-grid__role {
  color: var(--color-misc);
}

.touch .content-grid__image-wrap,
.touch .content-grid__link:hover .content-grid__image-wrap {
  animation: none;
}

@media only screen and (min-width: 769px) {
  .filter {
    display: inline-flex;
    flex-wrap: wrap;
    list-style: none;
    margin-bottom: 2rem;
    padding: 0;
  }
  .filter__item {
    font-size: 1.125rem;
    font-weight: 500;
    padding-right: 2rem;
  }
  .filter__item:first-child {
    display: none;
  }
  .filter__item:last-child {
    padding-right: 0;
  }
  .filter__item.active a {
    color: var(--color-accent);
  }
  .filter__link {
    color: var(--color-description);
    padding: 0 4px;
    text-decoration: none;
    display: block;
    overflow: hidden;
    position: relative;
  }
  .filter__link:hover {
    text-decoration: none;
  }
}
.select .placeholder {
  display: none;
}

@media only screen and (max-width: 768px) {
  .select {
    border-bottom: 1px solid #C4C4C4;
    color: var(--color-font);
    display: block;
    margin-bottom: 3rem;
    position: relative;
    vertical-align: middle;
    text-align: left;
    user-select: none;
    width: 100%;
    -webkit-touch-callout: none;
    z-index: 2;
  }
  .select .placeholder {
    position: relative;
    display: block;
    background-color: var(--color-bg);
    z-index: 1;
    padding: .5rem 0;
    cursor: pointer;
  }
  .select .placeholder:after {
    position: absolute;
    right: 2px;
    top: 50%;
    transform: translateY(-50%);
    font-family: 'fonticons';
    content: '\e805';
    z-index: 10;
  }
  .select.is-open .placeholder:after {
    content: '\e804';
  }
  .select.is-open ul {
    display: block;
  }
  .select ul {
    display: none;
    position: absolute;
    overflow: hidden;
    overflow-y: auto;
    width: 100%;
    background: var(--color-font);
    box-shadow: 0 10px 60px rgba(25, 25, 27, 0.1);
    top: 100%;
    left: 0;
    padding: .6rem 0;
    z-index: 100;
    max-height: 600px;
  }
  .select ul li {
    display: block;
    text-align: left;
    padding: .2rem 1.2rem;
    color: #19191B;
    cursor: pointer;
  }
  .select ul li:hover {
    background: rgba(25, 25, 27, 0.05);
  }
  .select ul li:first-child {
    display: none;
  }
  .select ul li a {
    color: #19191B;
    text-decoration: none;
  }
}
@media only screen and (max-width: 580px) {
  .select {
    margin-bottom: .8rem;
  }
  .select ul li {
    padding: .2rem 15px;
  }
}

.project-single .hero .title {
  color: #fff;
}

/* Load More Button
--------------------------------------------- */
.load-more {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.load-more__btn {
  background-color: transparent;
  border: 1px solid var(--color-accent);
  border-radius: 0;
  color: var(--color-accent);
  cursor: pointer;
  font-size: .87rem;
  font-weight: 600;
  letter-spacing: .1rem;
  line-height: inherit;
  white-space: nowrap;
  overflow: hidden;
  padding: .8rem 2rem .7rem;
  position: relative;
  text-transform: uppercase;
  z-index: 1;
	width: auto;
	display: inline-flex;
	align-items: center;
  justify-content: center;
}
.load-more__btn::before {
  background-color: var(--color-accent);
  content: '';
  height: 100%;
  position: absolute;
  left: -120%;
  top: 0;
  transform: skew(50deg);
  transform-origin: top left;
  transition: all .4s;
  width: 0;
  z-index: -1;
}
html.no-touch .load-more__btn:hover .load-more__text {
  color: var(--color-bg);
}
html.no-touch .load-more__btn:hover::before {
  height: 101%;
  width: 250%;
}
.load-more__loader,
.load-more__loader:after {
  border-radius: 50%;
  width: 20px;
  height: 20px;
}
.load-more__loader {
	display: none;
  position: relative;
  border-top: 3px solid var(--color-slider-progressbar);
  border-right: 3px solid var(--color-slider-progressbar);
  border-bottom: 3px solid var(--color-slider-progressbar);
  border-left: 3px solid var(--color-accent);
  transform: translateZ(0);
  animation: loaderSpin .6s infinite linear;
}
.load-more--active .load-more__btn {
  width: 52px;
  padding: 15px 0;
  pointer-events: none;
}
.load-more--active .load-more__text {
  display: none;
  opacity: 0;
}
.load-more--active .load-more__loader {
  display: block;
}
@keyframes loaderSpin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.filter__loading {
  pointer-events: none;
}
.load-more__overlay::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(25, 25, 27, .8);
  transition: 2s ease-in-out;
  z-index: 10;
}
.load-more__overlay .content-grid__image-wrap {
  pointer-events: none;
}

/* Pagination
--------------------------------------------- */
.page-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  justify-content: center;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
  clear: both;
}
.single-post .entry-content .page-nav {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.page-nav .page-numbers,
.page-nav .post-page-numbers {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--color-description);
  height: 2.85rem;
  min-width: 2.85rem;
  margin: 0 .2rem;
}
.page-nav .page-numbers:hover,
.page-nav .post-page-numbers:hover {
  color: var(--color-accent);
  text-decoration: none;
}
.page-nav .next,
.page-nav .prev {
  margin-right: .2rem;
}
.page-nav .page-link-holder {
  margin-right: 1rem;
}
.page-nav .page-numbers .circle,
.portfolio-navigation.page-nav .circle {
  margin: 0;
}
@media only screen and (max-width: 992px) {
  .page-nav {
    margin-bottom: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .page-nav .page-numbers,
  .page-nav .post-page-numbers {
    margin: 0;
  }	
  .post-navigation .page-nav .page-numbers,
  .portfolio-navigation.page-nav .page-numbers,
  .page-nav .prev.page-numbers,
  .page-nav .next.page-numbers,
  .single-post .page-nav > * {
    font-size: .9375rem;
    font-weight: 500;
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 580px) {
  .page-nav {
    margin-top: 2rem;
    margin-bottom: .5rem;
  }
  .page-nav .page-numbers,
  .page-nav .post-page-numbers {
	  height: 2rem;
    min-width: 2rem;
  }	
  .page-nav .prev {
    margin-right: .5rem;
  }
  .page-nav .next {
    margin-left: .5rem;
  }
}
.page-nav .prev.page-numbers,
.page-nav .next.page-numbers {
  font-size: .93rem;
  font-weight: 400;
  text-decoration: none;
}

.circle {
  display: inline-flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  color: var(--color-bg);
  background-color: var(--color-accent);
  box-shadow: 0 0 0 0px var(--color-accent);
  height: 2.85rem;
  overflow: hidden;
  position: relative;
  width: 2.85rem;
  text-align: center;
  transition: box-shadow .3s ease-in-out;
}
.page-nav .page-numbers:hover .circle,
.post-page-numbers:hover .circle,
.woocommerce .woocommerce-pagination li > .page-numbers:hover .circle  {
  box-shadow: 0 0 0 2px var(--color-accent);
}
.page-nav .page-numbers .circle::before {
  font-weight: 700;
}
.page-nav .page-numbers.current,
.single .entry-content .page-nav .post-page-numbers.current,
.section-page .entry-content .page-nav .post-page-numbers.current {
	border: 2px solid var(--color-accent);
  color: var(--color-accent);
}
@media only screen and (max-width: 768px) {
  .circle::before {
    font-size: .9375rem;
  }
}
@media only screen and (max-width: 580px) {
  .circle {
    height: 2rem;
    width: 2rem;
  }
}
.circle--left {
  margin-right: .2rem;
}
.circle--right {
  margin-left: .2rem;
}
.circle.icon-left-open::before {
  margin-left: 0;
}

/* -----------------------------------------------------------------
    - Project Single
----------------------------------------------------------------- */
.content-caption {
  margin-top: 5rem;
}
@media only screen and (max-width: 992px) {
  .content-caption {
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 580px) {
  .content-caption {
    margin-top: 2rem;
  }
}

.project-slider {
  height: 50vw !important;
  max-height: 700px !important;
  margin-top: 2rem !important;
}
@media only screen and (max-width: 992px) {
  .project-slider {
    height: 60vw !important;
  }
}
@media only screen and (max-width: 580px) {
  .project-slider {
    height: 100vw !important;
    margin-top: .5rem !important;
    margin-bottom: 2rem !important;
  }
}
.project-slider-control-horizon {
  padding-bottom: 4rem !important;
  box-sizing: content-box !important;
}
@media only screen and (max-width: 768px) {
  .project-slider-control-horizon {
    padding-bottom: 2rem !important;
  }
}
.project-slider__item {
  margin-left: 5vw !important;
  margin-right: 5vw !important;
  width: calc(1140px - 30px) !important;
}
@media only screen and (max-width: 1200px) {
  .project-slider__item {
    margin-left: 3.5vw !important;
    margin-right: 3.5vw !important;
    width: calc(960px - 30px) !important;
  }
}
@media only screen and (max-width: 992px) {
  .project-slider__item {
    margin-left: 3.5vw !important;
    margin-right: 3.5vw !important;
    width: calc(720px - 30px) !important;
  }
}
@media only screen and (max-width: 768px) {
  .project-slider__item {
    margin-left: 7.5px !important;
    margin-right: 7.5px !important;
    width: 100% !important;
  }
}

.project-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: var(--color-project-footer);
  height: 45vh;
  margin-top: 5rem;
  overflow: hidden;
  position: relative;
  text-align: center;
  width: 100%;
}
@media only screen and (max-width: 992px) {
  .project-footer {
    margin-top: 3rem;
  }
}
@media only screen and (max-width: 580px) {
  .project-footer {
    margin-top: 1rem;
    height: 38vh;
  }
}
.project-footer::before {
  content: '';
  background-color: var(--color-project-footer-before);
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 1;
}
.project-footer:hover::before {
  animation: revealVerticalHover .8s ease-in-out both;
  height: 100%;
}
.project-footer__link p {
  margin-bottom: 0;
}
.project-footer__link:hover {
  color: var(--color-project-footer-hover);
  text-decoration: none;
}
.project-footer__title {
  font-size: 7rem;
  line-height: 1.2;
  margin-bottom: 0;
}
@media only screen and (max-width: 992px) {
  .project-footer__title {
    font-size: 5rem;
  }
}
@media only screen and (max-width: 580px) {
  .project-footer__title {
    font-size: 2.6rem;
  }
}

/* -----------------------------------------------------------------
    - News
----------------------------------------------------------------- */
.news-masonry {
  margin-top: 1rem;
}
@media only screen and (max-width: 580px) {
  .news-masonry {
    margin-top: .5rem;
  }
}
.item-post-horizon {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 1rem;
  margin-bottom: 6rem;
  width: 100%;
}
@media only screen and (max-width: 992px) {
  .item-post-horizon {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 580px) {
  .item-post-horizon {
    margin-bottom: 2rem;
  }
}
.item-post-horizon__link {
  display: contents;
  color: inherit;
}
.item-post-horizon:hover .item-post-horizon__image-wrap::before {
  box-shadow: inset 0px 0px 0px 10px var(--color-bg);
}
@media only screen and (max-width: 992px) {
  .item-post-horizon:hover .item-post-horizon__image-wrap::before {
    box-shadow: none;
  }
}
.item-post-horizon__image-wrap {
  flex-basis: 50%;
  height: 350px;
  position: relative;
  width: 50%;
}
@media only screen and (max-width: 992px) {
  .item-post-horizon__image-wrap {
    flex-basis: 100%;
    height: 50vw;
    width: 100%;
  }
}
@media only screen and (max-width: 580px) {
  .item-post-horizon__image-wrap {
    height: 70vw;
  }
}
.item-post-horizon__image-wrap::before {
  content: '';
  box-shadow: inset 0px 0px 0px 0px var(--color-bg);
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  transition: box-shadow .2s ease-in-out;
}
.item-post-horizon__caption {
  flex-basis: 50%;
  padding-left: 5rem;
  width: 50%;
}
@media only screen and (max-width: 1200px) {
  .item-post-horizon__caption {
    padding-left: 3rem;
  }
}
@media only screen and (max-width: 992px) {
  .item-post-horizon__caption {
    flex-basis: 100%;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    padding-top: 2.5rem;
    width: 100%;
  }
}
@media only screen and (max-width: 580px) {
  .item-post-horizon__caption {
    padding-left: 0;
    padding-right: 0;
    padding-top: 1.4rem;
  }
}
.item-post-horizon__description {
  color: var(--color-description);
  font-size: .9375rem;
}
.item-post-horizon .btn-link {
  margin-top: .5rem;
}
@media only screen and (max-width: 580px) {
  .item-post-horizon .btn-link {
    margin-top: 0;
  }
}
.item-post-horizon .item-post-horizon__link > a {
  display: contents;
}
.item-post-horizon:nth-child(2n) .item-post-horizon__image-wrap {
  order: 2;
}
@media only screen and (max-width: 992px) {
  .item-post-horizon:nth-child(2n) .item-post-horizon__image-wrap {
    order: 1;
  }
}
.item-post-horizon:nth-child(2n) .item-post-horizon__caption {
  order: 1;
  padding-left: 0;
  padding-right: 5rem;
}
@media only screen and (max-width: 1200px) {
  .item-post-horizon:nth-child(2n) .item-post-horizon__caption {
    padding-right: 3rem;
  }
}
@media only screen and (max-width: 992px) {
  .item-post-horizon:nth-child(2n) .item-post-horizon__caption {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    padding-top: 2.5rem;
  }
}
@media only screen and (max-width: 580px) {
  .item-post-horizon:nth-child(2n) .item-post-horizon__caption {
    padding-left: 0;
    padding-right: 0;
    padding-top: 2rem;
  }
}
.item-post-horizon:nth-child(2n) .title--separation::before {
  left: auto;
  right: -6vw;
}
@media only screen and (max-width: 992px) {
  .item-post-horizon:nth-child(2n) .title--separation::before {
    left: -6vw;
    right: auto;
  }
}

.post-details {
  color: var(--color-misc);
  font-size: .875rem;
  margin-bottom: .8rem;
  text-transform: uppercase;
}
.subtitle__no .post-details {
  margin-top: 2rem;
}
@media only screen and (max-width: 580px) {
  .subtitle__no .post-details {
    margin-top: 1rem;
  }
}
.post-details a {
  color: inherit;
}

/* Sidebar
--------------------------------------------- */
.blog-sidebar,
.shop-sidebar {
  border: 1px solid var(--color-border);
  margin-top: 1rem;
  margin-bottom: 2rem;
  padding: 1.5rem;
}
.shop-sidebar {
  margin-top: 0;
  padding-bottom: 0;
}
.shop-sidebar-wrap.sidebar-left {
  padding-right: 2rem;
  order: -1;
}
.shop-sidebar-wrap.sidebar-right {
  padding-left: 2rem;
  order: 0;
}
.blog-sidebar {
  margin-left: 2rem;
}
@media only screen and (max-width: 1200px) {
  .blog-sidebar,
  .shop-sidebar {
    margin-left: 0;
  }
}
@media only screen and (max-width: 992px) {
  .shop-sidebar-wrap.sidebar-left {
    padding-right: 1rem;
  }
  .shop-sidebar-wrap.sidebar-right {
    padding-left: 1rem;
  }
}
@media only screen and (max-width: 580px) {
  .shop-sidebar-wrap.sidebar-left {
    padding-right: 15px;
  }
  .blog-sidebar {
    padding: 1rem;
    margin-top: 3.5rem;
  }
  .shop-sidebar {
    padding: 1rem;
    margin-top: 0;
  }
}
.wp-block-search__inside-wrapper {
  display: flex;
}
.blog-sidebar .wp-block-search__label {
  display: none;
}
.wp-block-search__button.wp-element-button {
  margin: 0;
}
.wp-block-search__button svg {
  min-width: 2rem;
  min-height: 2rem;
}
.wp-block-search .wp-block-search__input,
.not-found .search-form input,
.post-password-form input[type=password] {
  flex: 1 0 0;
  width: 100%;
  color: var(--color-font);
  background-color: transparent;
  border: 1px solid var(--color-border);
  padding: .8rem;
}
.wp-block-search .wp-block-search__input:focus,
.not-found .search-form input:focus,
.post-password-form input[type=password]:focus {
  border: 1px solid var(--color-border-input-focus);
  color: var(--color-font);
  outline: none;
}
.wp-block-search__input:not(.wp-block-search__no-button input),
.wp-block-search__input:not(.wp-block-search__no-button input):focus,
.not-found .search-form input,
.not-found .search-form input:focus {
  border-right: 0;
}
:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) {
  border: 1px solid var(--color-border);
}
.wp-block-search__button-inside .wp-block-search__input,
.wp-block-search__button-inside .wp-block-search__input:focus {
  border: 0;
  padding-right: .5rem;
}
.blog-sidebar h2,
.shop-sidebar h3 {
  font-size: 1.4rem;
  line-height: 1.3;
  font-weight: 500;
}
.blog-sidebar .widget.widget_block {
  margin-bottom: 2.5rem;
}
.blog-sidebar .widget.widget_block:last-child {
  margin-bottom: 0;
}
.blog-sidebar .widget.widget_block h1,
.blog-sidebar .widget.widget_block h2,
.blog-sidebar .widget.widget_block h3,
.blog-sidebar .widget.widget_block h4,
.blog-sidebar .widget.widget_block h5,
.blog-sidebar .widget.widget_block h6 {
  margin-bottom: 1rem;
}
.shop-sidebar h1,
.shop-sidebar h2,
.shop-sidebar h3,
.shop-sidebar h4,
.shop-sidebar h5,
.shop-sidebar h6 {
  margin-bottom: 1.2rem;
}
.blog-sidebar .widget.widget_block ul,
.blog-sidebar .widget.widget_block ol  {
  list-style: none;
  padding-left: 0;
}
.blog-sidebar ul li a,
.blog-sidebar ol li a {
  color: var(--color-description);
  text-decoration: none;
}
.blog-sidebar ul li a:hover,
.blog-sidebar ol li a:hover {
	text-decoration: underline;
}
.wp-block-latest-comments__comment {
  line-height: 2;
  color: var(--color-font);
}
.wp-block-latest-comments__comment,
.wp-block-latest-posts.wp-block-latest-posts__list li {
  margin-bottom: .5rem;
}
.single-post .wp-block-latest-comments__comment {
  margin-bottom: 2rem !important;
}
.blog-sidebar .wp-block-latest-posts__post-title,
.wp-block-latest-comments__comment a,
.wp-block-latest-comments__comment-excerpt p   {
  color: var(--color-description);
}
.blog-sidebar li:hover a {
  color: var(--color-accent);
}

/* -----------------------------------------------------------------
    - Single Post
----------------------------------------------------------------- */
.single-post .content-caption {
  margin-top: 2rem;
}
.header-post .foreword {
  margin-top: 1.5rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 992px) {
  .single-post .content-caption {
    margin-top: 1.5rem;
  }
}
@media only screen and (max-width: 580px) {
  .single-post .content-caption {
    margin-top: 1rem;
  }
  .header-post .foreword {
    margin-bottom: 1rem;
  }
}
.header-post .video-container {
  margin-top: 3.6rem;
}
.header-post .video-container:not(.featured-youtube) {
  height: 100%;
}
@media only screen and (max-width: 580px) {
  .header-post .video-container {
    margin-top: 2rem;
  }
  .header-post .video-container:not(.featured-youtube) {
    height: 100%;
  }
}

.single-post .entry-content > * {
  margin-bottom: 2rem;
  margin-top: 2rem;
}
@media only screen and (max-width: 580px) {
  .single-post .entry-content > * {
    margin-bottom: 1rem;
    margin-top: 1rem;
  }
}
.entry-content > *.alignleft,
.entry-content > *.alignright,
.entry-content > *.alignleft:first-child + *,
.entry-content > *.alignright:first-child + *,
.entry-content > *.alignfull.has-background {
  margin-top: 0;
}

.post-footer {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 6rem;
  margin-top: 3rem;
}
@media only screen and (max-width: 768px) {
  .post-footer {
    margin-bottom: 4rem;
  }
}
@media only screen and (max-width: 580px) {
  .post-footer {
    margin-top: 1rem;
    margin-bottom: 2.5rem;
  }
}
.post-footer__nav {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.post-footer .btn-link {
  color: var(--color-misc);
}
.post-footer .btn-link:hover {
  color: var(--color-accent);
}
.post-footer .btn-link:hover::before {
  background-color: var(--color-accent);
}
.post-footer .btn-link::before {
  background-color: var(--color-misc);
}
.post-footer .social {
  margin-top: -1.5rem;
}
@media only screen and (max-width: 768px) {
  .post-footer .social {
    top: 0;
    margin-top: 2rem;
  }
}
@media only screen and (max-width: 580px) {
  .post-footer .social {
    top: 0;
  }
  .post-footer .social a {
    font-size: 1rem;
  }
}

/* Comments
--------------------------------------------- */
.post-comments {
  margin-top: 4.5rem;
}
@media only screen and (max-width: 580px) {
  .post-comments {
    margin-top: 3rem;
  }
}
.comments-title,
.comment-reply-title {
  margin-bottom: 1.5rem;
  text-transform: uppercase;
}
@media only screen and (max-width: 580px) {
  .comments-title,
  .comment-reply-title {
    margin-bottom: .5rem;
  }
}
.avatar {
  border-radius: 50%;
}
@media only screen and (max-width: 580px) {
  .avatar {
    height: 40px;
    width: 40px;
  }
}
.comment-body {
  display: flex;
}
.trackback .comment-body,
.pingback .comment-body {
  display: grid;
}
.trackback .comment-body a,
.pingback .comment-body a {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 580px) {
  .comment-body {
    padding-top: 1rem;
  }
}
.comment-list{
  list-style: none;
  padding: 0;
}
.comment-list .children {
  list-style: none;
}
.comment-list > li,
.children > li {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.comment-list > .trackback,
.comment-list > .pingback {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.children > li:last-child {
  padding-bottom: 0;
}
.children {
  padding-top: 1.5rem;
}
@media only screen and (max-width: 580px) {
  .comment-list > li,
  .children > li {
    padding-top: .5rem;
    padding-bottom: .5rem;
  }
  .comment-list > .trackback,
  .comment-list > .pingback {
    padding-top: .5rem;
    padding-bottom: .5rem;
  }
  .children {
    padding-top: .5rem;
  }
}
.comment-content {
  width: 100%;
  margin-left: 2rem;
  overflow: hidden;
}
.comment-author {
  position: relative;
  flex: 0 0 auto;
}
.comment-meta {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 768px) {
  .comment-content {
    margin-left: 1.2rem;
  }
  .comment-meta {
    display: block;
  }
}
.comment-name {
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 0;
}
.comment-name a {
  text-decoration: none;
}
.comment-metadata {
  font-size: .875rem;
  font-weight: 500;
  text-transform: uppercase;
}
.comment-metadata a,
.woocommerce-review__published-date {
  color: var(--color-misc);
}
.comment-metadata::before,
.woocommerce-review__published-date::before {
  content: ' / ';
  margin-left: 9px;
  margin-right: 5px;
  font-style: normal;
  opacity: .5;
}
@media only screen and (max-width: 580px) {
  .comment-name {
    font-size: 1.1rem;
  }
  .comment-metadata,
  .woocommerce-review__published-date {
    display: block;
    font-size: .85rem;
    margin-top: .5rem;
  }
  .comment-metadata:before,
  .woocommerce-review__published-date::before {
    display: none;
  }
}
.reply {
  display: inline-block;
}
.comment-reply-link,
.comment-edit-link {
  font-size: .87rem;
  font-weight: 500;
  color: var(--color-misc);
  letter-spacing: .1rem;
  text-transform: uppercase;
  margin-right: 1.5rem;
}
.comment-metadata:hover a,
.comment-reply-link:hover,
.comment-edit-link:hover {
  color: var(--color-font);
  text-decoration: none;
}
.bypostauthor {
  display: block;
}
.comment-list .comment.byuser .comment-author::after,
.comment-list .pingback.byuser .comment-author::after,
.comment-list .trackback.byuser .comment-author::after {
  display: block;
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  background-image: url('../images/check.svg');
  background-size: 24px 24px;
  height: 24px;
  width: 24px;
}
@media only screen and (max-width: 580px) {
  .comment-list .comment.byuser .comment-author::after,
  .comment-list .pingback.byuser .comment-author::after,
  .comment-list .trackback.byuser .comment-author::after {
    background-size: 16px 16px;
    height: 16px;
    width: 16px;
  }
}
.comment-respond {
  margin-top: 2rem;
}
.comment-reply-title {
  margin-bottom: 1rem;
}
.comment .comment-reply-title {
  font-size: 1.25rem;
}
.comment-reply-title small {
  font-size: 1rem;
  margin-left: 1rem;
}
@media only screen and (max-width: 580px) {
  .comments-area .btn {
    width: 100%;
  }
  .comment-reply-title {
    margin-bottom: .5rem;
  }
}
.comments-pagination {
  text-align: center;
}
.comments-pagination .page-numbers {
  display: inline-block;
  padding: 0 1rem;
  font-size: .87rem;
  font-weight: 500;
  letter-spacing: .1rem;
  text-transform: uppercase;
}
.comments-pagination .page-numbers.current {
  display: inline-block;
  padding: 0 1rem;
  font-size: .87rem;
  color: #8d99a7;
  font-weight: 500;
  letter-spacing: .1rem;
  text-transform: uppercase;
}

.wp-block-post-comments-form input:not([type=submit]),
.wp-block-post-comments-form textarea {
  border-color: var(--color-border-input);
}
.wp-block-post-comments-form input:not([type=submit]):focus,
.wp-block-post-comments-form textarea:focus {
  border-color: var(--color-border-input-focus);
}
.wp-block-post-comments-form .comment-form-cookies-consent {
  align-items: baseline;
}
.wp-block-post-comments-form .submit:hover {
  background-color: var(--color-accent);
}
.wp-block-group.has-black-border-color {
  border-color: var(--color-border-input-focus);
}

.scroll-line {
  background: var(--color-accent);
  height: 3px;
  position: fixed;
  top: 0;
  width: 0;
  z-index: 1001;
}

/* 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-block-image .aligncenter > figcaption {
  display: inline-block;
}
.wp-caption-text,
.wp-block-image figcaption,
.wp-block-video figcaption,
.wp-block-gallery figcaption,
.wp-block-embed figcaption {
  color: var(--color-misc);
  font-size: .87rem;
  font-style: italic;
  text-align: center;
  padding-top: 1rem;
  margin: 0;
}
.wp-block-video figcaption,
.wp-block-gallery figcaption {
  padding-top: 0;
}
@media only screen and (max-width: 580px) {
  .wp-caption-text,
  .wp-block-image figcaption,
  .wp-block-video figcaption,
  .wp-block-gallery figcaption,
  .wp-block-embed figcaption {
    font-size: .75rem;
    padding-top: .5rem;
  }
  .wp-block-video figcaption {
    padding-top: 0;
  }
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
}
.gallery-item {
	display: inline-block;
	text-align: center;
  vertical-align: top;
	width: 100%;
  margin-bottom: 2rem;
}
.gallery-columns-2 .gallery-item {
  max-width: 50%;
}
.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
}
.gallery-columns-4 .gallery-item {
  max-width: 25%;
}
.gallery-columns-5 .gallery-item {
  max-width: 20%;
}
.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}
.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}
.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}
.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}
.gallery-caption {
	display: block;
}

/* Calendar
--------------------------------------------- */
table th#today,
table td#today,
.wp-calendar-table th#today,
.wp-calendar-table td#today {
  background: #110f10;
  color: #fff;
}
.wp-block-calendar .wp-calendar-table caption {
  color: #fff;
  text-align: center;
  caption-side: top;
}
.wp-block-calendar nav.wp-calendar-nav {
  padding-top: 0.75rem;
}
.wp-block-calendar table tbody {
  color: var(--color-font);
}

/* -----------------------------------------------------------------
    - About
----------------------------------------------------------------- */
.section-about {
  margin-top: 10rem;
  position: relative;
}
@media only screen and (max-width: 1200px) {
  .section-about {
    margin-top: 8rem;
  }
}
@media only screen and (max-width: 580px) {
  .section-about {
    margin-top: 3.5rem;
  }
}

.brand-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.brand-grid__item {
  display: flex;
  justify-content: center;
  opacity: .5;
  width: 50%;
  height: 100%;
}
@media only screen and (min-width: 580px) {
  .brand-grid__item {
    padding: 0 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .brand-grid__item {
    width: 33.3333%;
  }
}
@media only screen and (min-width: 992px) {
  .brand-grid__item {
    width: 25%;
  }
}
@media only screen and (min-width: 1500px) {
  .brand-grid__item {
    width: 20%;
  }
}
.brand-grid__item img {
  height: 100%;
  width: 100%;
}

/* -----------------------------------------------------------------
    - Footer
----------------------------------------------------------------- */
.footer {
  color: var(--color-footer);
  margin-top: 5rem;
  padding: 5rem 0;
  position: relative;
}
@media screen and (max-width: 580px) {
  .footer {
    margin-top: 3rem;
    padding: 1.4rem 0;
  }
}
.footer::before {
  content: '';
  background-color: var(--color-border);
  position: absolute;
  top: 0;
  left: -15px;
  height: 1px;
  width: 10vw;
}
@media screen and (max-width: 580px) {
  .footer::before {
    width: 20vw;
  }
}
.footer-fully {
  padding-left: 7.5rem;
  padding-right: 7.5rem;
}
@media only screen and (max-width: 768px) {
  .footer-fully {
    padding-left: 3.125rem;
    padding-right: 3.125rem;
  }
}
@media only screen and (max-width: 580px) {
  .footer-fully {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.footer__contacts {
  font-size: .875rem;
  line-height: 2rem;
  margin-bottom: 1rem;
}
.footer__contacts .widgettitle {
  font-size: 1.5rem;
  margin-bottom: 1.2rem;
}
@media only screen and (max-width: 580px) {
  .footer__contacts {
    line-height: 1.6rem;
  }
  .footer__contacts .widgettitle {
    font-size: 1.3rem;
    margin-bottom: .5rem;
  }
}
.footer__social a {
  font-size: 1rem;
  color: var(--color-footer);
}
.footer__social a:hover {
  color: var(--color-accent);
}

/* -----------------------------------------------------------------
    - Contact
----------------------------------------------------------------- */
@media only screen and (max-width: 992px) {
  .contact-form {
    margin-top: 10rem;
    margin-bottom: 4rem;
    margin-right: 0;
  }
}
@media only screen and (max-width: 580px) {
  .contact-form {
    margin-top: 7rem;
  }
}
@media only screen and (max-width: 580px) {
  .contact-form .btn {
    width: 100%;
  }
}

.map {
  background-color: #848484;
  height: 100vh;
  margin-right: -7.5rem;
  position: relative;
  top: 0;
  right: 0;
  direction: ltr;
}
@media only screen and (max-width: 992px) {
  .map {
    height: 50vh;
    margin-right: 0;
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 580px) {
  .map {
    height: 340px;
    margin-top: 1.1rem;
    margin-bottom: 15px;
  }
}

.popover-map-title {
  color: #19191B;
  font-size: 1.2rem;
  margin-top: .2rem;
  margin-bottom: .5rem;
}
.popover-map-caption {
  color: #19191B;
  font-weight: 400;
}

#marker {
  background-image: url("../images/icon-map-pic-2.svg");
  background-size: cover;
  width: 50px;
  height: 50px;
  cursor: pointer;
}

.mapboxgl-popup-content {
  color: #19191B;
}

/* -----------------------------------------------------------------
    - Services
----------------------------------------------------------------- */
.service-item {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 580px) {
  .service-item {
    margin-bottom: 1.5rem;
  }
}
.service-item__icon {
  margin-bottom: 2rem;
  width: 5rem;
}
@media only screen and (max-width: 580px) {
  .service-item__icon {
    margin-bottom: 1.5rem;
    width: 4rem;
  }
}

/* -----------------------------------------------------------------
    - 404
----------------------------------------------------------------- */
.parallax-container {
  overflow: hidden;
}

.error-page {
  height: 100vh;
}
.admin-bar .error-page {
  height: calc(100vh - 32px);
}
.error-page .description {
  margin-bottom: 0;
}

.mask-object {
  filter: drop-shadow(0 20px 30px rgba(25, 25, 27, 0.1));
  margin-bottom: 2rem;
  width: 30vw;
  transition: all 0.8s cubic-bezier(0.2, 1, 0.8, 1);
}
@media only screen and (max-width: 992px) {
  .mask-object {
    width: 50vw;
  }
}
@media only screen and (max-width: 580px) {
  .mask-object {
    width: 80vw;
  }
}

/* -----------------------------------------------------------------
    - Other
----------------------------------------------------------------- */
.back-to-top {
  background-image: var(--color-back-to-top);
  background-position: center;
  cursor: pointer;
  height: 36px;
  opacity: .5;
  position: fixed;
  right: 40px;
  bottom: 30px;
  width: 30px;
  transition: opacity .35s ease-out;
  z-index: 10;
}
.back-to-top:hover {
  opacity: 1;
}
@media only screen and (max-width: 580px) {
  .back-to-top {
    display: none !important;
  }
}

.cursor,
.node {
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%);
  transition: opacity .3s ease-in-out, transform 0.3s ease-in-out;
  z-index: 1101;
}

.cursor {
  width: 6px;
  height: 6px;
  background-color: var(--color-accent);
}

.node {
  width: 38px;
  height: 38px;
  border: 1px solid color-mix(in srgb, var(--color-accent) 30%, transparent);
}
.node.expand {
  background-color: color-mix(in srgb, var(--color-accent) 20%, transparent);
  border: 0;
  transform: translate(-50%, -50%) scale(2);
}
.node.drag::before, .node.drag::after {
  color: var(--color-accent);
  font-family: 'fonticons';
  font-size: .6rem;
  margin-top: -.6rem;
  position: absolute;
  top: 50%;
}
.node.drag::before {
  content: '\e801';
  left: -10px;
}
.node.drag::after {
  content: '\e803';
  right: -10px;
}

body:not(.no-cursor) .cursorDrag {
  cursor: none !important;
}

.parallax-wrap,
.intro__parallax-wrap,
.post__parallax-wrap {
  overflow: hidden;
  will-change: transform;
}
body:not(.no-parallax) .header-page .parallax-wrap img.parallax-content {
  height: 120%;
}
.parallax-content {
  will-change: transform;
}

.jarallax {
  position: relative;
  z-index: 0;
}

.jarallax > .jarallax-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.jarallax-wrap {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.jarallax-keep-img {
  position: relative;
  z-index: 0;
}

.jarallax-keep-img > .jarallax-img {
  position: relative;
  display: block;
  max-width: 100%;
  height: auto;
  z-index: -100;
}

.split-line,
.split-parent,
.js-words {
  overflow: hidden;
}
.js-lines {
  will-change: transform;
}

.medium-zoom-overlay {
  background: var(--color-bg) !important;
  z-index: 1099;
}

.medium-zoom-image {
  z-index: 1099;
  cursor: pointer !important;
}

@keyframes revealHorizontalHover {
  0% {
    transform: translateX(-100%);
  }
  40% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}
@keyframes revealVerticalHover {
  0% {
    transform: translateY(100%) rotate(15deg) scale(2);
    transform-origin: top left;
  }
  40% {
    transform: translateY(0);
    perspective: 1000px;
  }
  100% {
    transform: translateY(-100%);
    perspective: 1000px;
  }
}
.reveal-box,
.post-image {
  backface-visibility: hidden;
  overflow: hidden;
  height: 100%;
  position: relative;
  width: 100%;
  will-change: transform;
}
.align-image.reveal-box {
  height: auto;
}
.reveal-box img {
  transform-origin: left;
  will-change: transform;
}

.js-zooming.has-hovered {
  animation: projectAnimHover .6s linear forwards running;
}
.js-zooming.not-hovered {
  animation: projectAnimBack .6s linear forwards running;
}

@keyframes projectAnimHover {
  0% {
    transform: perspective(1500px) translateZ(0) rotateX(0) rotateY(0);
  }
  50% {
    transform: perspective(1500px) translateZ(15px) rotateX(3deg) rotateY(3deg);
  }
  100% {
    transform: perspective(1500px) translateZ(30px) rotateX(0) rotateY(0);
  }
}
@keyframes projectAnimBack {
  0% {
    transform: perspective(1500px) translateZ(30px) rotateX(0) rotateY(0);
  }
  50% {
    transform: perspective(1500px) translateZ(15px) rotateX(-3deg) rotateY(-3deg);
  }
  100% {
    transform: perspective(1500px) translateZ(0) rotateX(0) rotateY(0);
  }
}


/* -----------------------------------------------------------------
    - 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
----------------------------------------------------------------- */

.single-post .entry-content .alignleft,
.alignleft {
	/*rtl:ignore*/
	float: left;
	/*rtl:ignore*/
	margin-right: 1.5rem;
	margin-bottom: 1.5rem;
}
.single-post .entry-content .alignright,
.alignright {
	/*rtl:ignore*/
	float: right;
	/*rtl:ignore*/
	margin-left: 1.5rem;
	margin-bottom: 1.5rem;
}

.single-post .entry-content .aligncenter,
.aligncenter {
	clear: both;
	margin-left: auto;
	margin-right: auto;
  text-align: center;
}

.alignfull,
.blocks-gallery-grid.alignfull,
.wp-block-gallery.alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  width: calc(100vw - 3px);
}
.wp-block-columns.alignfull,
.alignfull:not(.has-background) .wp-block-columns {
  padding-left: 3rem;
  padding-right: 3rem;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .wp-block-columns.alignfull,
  .alignfull:not(.has-background) .wp-block-columns {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .wp-block-columns.alignfull,
  .alignfull:not(.has-background) .wp-block-columns {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media only screen and (max-width: 580px) {
  .alignfull {
    width: 100vw;
  }
}

.alignwide,
.blocks-gallery-grid.alignwide,
.wp-block-gallery.alignwide {
  margin-left: -200px;
  margin-right: -200px;
  max-width: 1230px;
  width: auto;
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .alignwide,
  .blocks-gallery-grid.alignwide,
  .wp-block-gallery.alignwide {
    margin-left: -50px;
    margin-right: -50px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .alignwide,
  .blocks-gallery-grid.alignwide,
  .wp-block-gallery.alignwide {
    margin-left: -50px;
    margin-right: -50px;
  }
}
@media only screen and (max-width: 767px) {
  .alignwide,
  .blocks-gallery-grid.alignwide,
  .wp-block-gallery.alignwide {
    margin-left: 0;
    margin-right: 0;
  }
}
.wp-block-image.alignfull,
.wp-block-cover.alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: calc(100vw - 3px);
  max-width: 100vw;
}
.wp-block-image.alignwide,
.wp-block-cover.alignwide {
  margin-left: -200px;
  margin-right: -200px;
  max-width: 1230px;
  width: auto;
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .wp-block-image.alignwide,
  .wp-block-cover.alignwide {
    margin-left: -50px;
    margin-right: -50px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .wp-block-image.alignwide,
  .wp-block-cover.alignwide {
    margin-left: -50px;
    margin-right: -50px;
  }
}
@media only screen and (max-width: 767px) {
  .wp-block-image.alignwide,
  .wp-block-cover.alignwide {
    margin-left: 0;
    margin-right: 0;
  }
}
.wp-block-image.alignwide img,
.wp-block-cover.alignwide img {
  width: 100%;
}
.wp-block-image.alignfull img,
.wp-block-cover.alignfull img {
  width: 100%;
}

.wp-block-separator.alignwide:not(.is-style-wide):not(.is-style-dots),
.wp-block-separator.alignfull:not(.is-style-wide):not(.is-style-dots) {
  margin-right: auto;
  margin-left: auto;
}

.wp-block-cover-image.is-light .wp-block-cover__inner-container,
.wp-block-cover.is-light .wp-block-cover__inner-container {
  color: inherit;
}

.single-post .wp-block-image,
.single-post .wp-block-gallery {
  margin-top: 3.5rem;
  margin-bottom: 3.5rem;
}
.single-post .wp-block-gallery.alignleft  {
  margin-top: 0;
}
.item-news .wp-block-image {
  margin-top: .5rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 992px) {
  .single-post .wp-block-image,
  .single-post .wp-block-gallery {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }
}
@media only screen and (max-width: 580px) {
  .single-post .wp-block-image,
  .single-post .wp-block-gallery {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .item-news .wp-block-image {
    margin-bottom: 1rem;
  }
}

/* -----------------------------------------------------------------
    - WMML
----------------------------------------------------------------- */
.lang-switcher {
  display: flex;
  align-items: center;
  pointer-events: initial;
}
.wpml-ls {
	border: 1px solid var(--color-border);
  width: auto;
}
.menu-classic.menu-position--right .wpml-ls {
	margin-left: 2rem;
}
.wpml-ls ul {
  padding: 0;
  line-height: 1;
}
.wpml-ls-legacy-dropdown a {
  padding: 11px 12px 12px 12px;
  text-decoration: none;
}
.wpml-ls-slot-lang-switcher::before {
  content: '';
  display: block;
  position: absolute;
  inset: -.5rem;
}
[data-theme="dark"] .wpml-ls-legacy-dropdown:hover {
  background-color: #19191B;
  transition: all 0.2s;
}
.wpml-ls-legacy-dropdown-click a,
.wpml-ls-legacy-dropdown a {
  color: #fff;
  border: 0 !important;
  background-color:transparent !important;
	font-size: .9rem;
	z-index: 102;
}
.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu a,
.wpml-ls-legacy-dropdown .wpml-ls-sub-menu a {
  font-weight: 500;
	padding: 20px;
}
.wpml-ls-legacy-dropdown-click .wpml-ls-flag,
.wpml-ls-legacy-dropdown .wpml-ls-flag {
	width: 20px;
	max-width: initial;
}
.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after,
.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {
  content: "\e805";
	font-family: "fonticons";
  font-weight: normal !important;
	font-size: 1rem;
  color: var(--color-font);
  border: 0 !important;
  border-top: 0.5em solid;
  right: 10px;
  top: calc(50% - 0.45em);
	transform: rotate(0deg);
	transition: transform .3s ease;
}
body.open .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after,
body.open .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after,
.navbar-change.navbar--light .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after,
.navbar-change.navbar--light .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after,
.sticky.opened.navbar-change.navbar--light .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after,
.sticky.opened.navbar-change.navbar--light .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after {
  color: #fff;
}
.menu-side.opened .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after,
.menu-side.opened .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after,
.sticky.menu-side.opened.navbar-change.navbar--light .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after,
.sticky.menu-side.opened.navbar-change.navbar--light .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after {
  color: var(--color-font);
}
body:not(.open) .navbar.sticky.menu-classic .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after,
body:not(.open) .navbar.sticky.menu-classic .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {
  color: var(--color-font);
}
@media only screen and (max-width: 580px) {
  [data-theme="light"] .menu-side.opened .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after,
  [data-theme="light"] .menu-side.opened .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after,
  .sticky.navbar-change.navbar--light .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after,
  .sticky.navbar-change.navbar--light .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {
    color: #19191B;
  }
  body.open .sticky.navbar-change.navbar--light .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after,
  body.open .sticky.navbar-change.navbar--light .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {
    color: #fff;
  }
}
.wpml-ls-legacy-dropdown-click:hover a.wpml-ls-item-toggle:after,
.wpml-ls-legacy-dropdown:hover a.wpml-ls-item-toggle:after {
  transform: rotate(-180deg);
  transition: 0.2s ease all;
}
.wpml-ls-item-toggle .wpml-ls-native {
	display: none;
}
.wpml-ls-legacy-dropdown-click .wpml-ls-flag + span,
.wpml-ls-legacy-dropdown .wpml-ls-flag + span {
  margin-left: .7em;
}
.wpml-ls-legacy-dropdown-click a span,
.wpml-ls-legacy-dropdown a span {
  vertical-align: initial;
}
.wpml-ls-sub-menu {
	border: 0 !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
  padding: 0 !important;
  margin-right: -1px !important;
	top: calc(100% + 2px) !important;
	left: auto !important;
  width: auto;
	white-space: nowrap;
}
.wpml-ls-sub-menu .wpml-ls-item {
	background: transparent;
	padding: 0;
	position: relative;
	transition: background .4s ease;
}
.wpml-ls-sub-menu .wpml-ls-item:hover,
.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu a:hover,
.wpml-ls-legacy-dropdown .wpml-ls-sub-menu a:hover {
  color: #000;
  background: var(--color-accent);
} 
.wpml-ls-sub-menu .wpml-ls-item::before,
.wpml-ls-sub-menu .wpml-ls-item::after {
	display: none;
}

@media only screen and (max-width: 992px) {
  .menu-classic.menu-position--right .wpml-ls {
    margin-left: 0;
  }
	.wpml-ls-legacy-dropdown-click a,
  .wpml-ls-legacy-dropdown a {
	  font-size: .85rem;
  }
}
@media only screen and (max-width: 768px) {
	.wpml-ls-legacy-dropdown-click .wpml-ls-flag,
  .wpml-ls-legacy-dropdown .wpml-ls-flag {
		width: 18px;
	}
  .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after,
  .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {
	  font-size: .9rem;
	}
}
@media only screen and (max-width: 580px) {
	.wpml-ls-legacy-dropdown-click a,
  .wpml-ls-legacy-dropdown a {
	  font-size: .8rem;
	}
	.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu a,
  .wpml-ls-legacy-dropdown .wpml-ls-sub-menu a {
    padding: 16px;
	}
}

/* -----------------------------------------------------------------
    - WooCommerce
----------------------------------------------------------------- */
.woocommerce-products-header.header-page .title--h1 {
  margin-bottom: 3rem;
}
.woocommerce-archive-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
}
.woocommerce-archive-toolbar .woocommerce-result-count,
.woocommerce-archive-toolbar .woocommerce-ordering {
  margin: 0;
}
.woocommerce-archive-toolbar .woocommerce-ordering select,
.woocommerce div.product form.cart .variations select {
  border: 1px solid var(--color-border);
  padding: .6rem 1rem;
  background: var(--select-arrows) no-repeat right 1rem center/10px 16px;
}
.woocommerce-archive-toolbar .woocommerce-result-count {
  opacity: .5;
}
ul.products li.product .product__image {
  position: relative;
  overflow: hidden;
  margin-bottom: 1rem;
}
ul.products li.product .product__image a img {
  margin: 0;
}
ul.products li.product .button,
ul.products li.product .added_to_cart {
  position: absolute;
  width: -webkit-fill-available;
  left: 0;
  bottom: 0;
  padding: 1rem;
  font-size: 1rem;
  letter-spacing: normal;
  text-align: center;
  pointer-events: none;
  background-color: var(--color-accent);
  border: none;
  color: var(--color-bg);
  font-weight: 600;
  text-transform: uppercase;
  border-radius: 0;
  visibility: hidden;
  transition: all .4s ease-in-out;
  transform: translate3d(0, 100%, 0);
}
ul.products li.product .button:hover,
ul.products li.product .added_to_cart:hover {
  filter: brightness(1.12);
}
ul.products li.product:hover .button,
ul.products li.product:hover .added_to_cart {
  pointer-events: all;
  visibility: visible;
  transform: translate3d(0, 0, 0);
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.loading {
  opacity: 1;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.loading::after {
  content: '';
}
ul.products li.product .button.loading::before {
	display: inline-flex;
  position: unset;
  left: unset;
  top: unset;
  transform-origin: unset;
  width: 16px;
	height: 16px !important;
  margin-right: .6rem;
  border-top: 3px solid var(--color-loaderspin);
  border-right: 3px solid var(--color-loaderspin);
  border-bottom: 3px solid var(--color-loaderspin);
  border-left: 3px solid var(--color-bg);
  border-radius: 50%;
  transform: translateZ(0);
  transition: none !important;
  background: none;
  animation: loaderSpin .6s infinite linear;
}
ul.products li.product .button.added {
  display: none;
}
@media only screen and (max-width: 992px) {
  .woocommerce-products-header.header-page .title--h1 {
    margin-bottom: 2rem;
  }
  .woocommerce ul.products[class*=columns-] li.product,
  .woocommerce-page ul.products[class*=columns-] li.product {
    margin-bottom: 2em;
  }
}
@media only screen and (max-width: 580px) {
  .woocommerce-products-header.header-page .title--h1 {
    margin-bottom: 2rem;
  }
  .woocommerce ul.products[class*=columns-] li.product,
  .woocommerce-page ul.products[class*=columns-] li.product {
    margin: 0 0 1.5em;
  }
  ul.products li.product .product__image {
    margin-bottom: .5rem;
  }
}

/* Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 1rem;
}
ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price {
  color: var(--color-font);
}
@media only screen and (max-width: 580px) {
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 1rem;
  }
}

/* Price */
.woocommerce ul.products li.product .price {
  font-size: 1rem;
  margin-bottom: 0;
}
.woocommerce ul.products li.product .price ins {
  font-weight: 500;
}

/* Rating */
.woocommerce .products .star-rating {
  margin: .4rem 0 .6rem;
}
.woocommerce div.product .woocommerce-product-rating {
  display: flex;
  align-items: center;
  margin-bottom: .5rem;
}
.woocommerce div.product .woocommerce-product-rating a {
  text-decoration: none;
}
.woocommerce .woocommerce-product-rating .star-rating,
.woocommerce .woocommerce-product-rating .average {
  margin: 0 8px 0 0;
}
.woocommerce .star-rating span:before,
.wc-block-grid__product-rating .star-rating span:before {
  content: "★★★★★" !important;
  color: #FFB951 !important;
}
.woocommerce .star-rating:before,
.wc-block-grid__product-rating .star-rating:before {
  content: "★★★★★" !important;
  color: var(--color-star-rating) !important;
}
.woocommerce .star-rating,
.wc-block-grid__product-rating .star-rating {
  font-size: 1.4rem;
  line-height: .9rem !important;
  width: 4.1em !important;
}
.woocommerce ul.products li.product .star-rating,
.wc-block-grid__product-rating .star-rating {
  font-size: 1.2rem !important;
}
.woocommerce .comment-form-rating label {
  display: block;
}
.woocommerce p.stars {
  display: inline-block;
  font-size: 1.5rem;
  line-height: 1;
}
.woocommerce p.stars span {
  display: inline-flex;
  line-height: 1;
}
.woocommerce p.stars a {
  width: 1.2em;
}
.woocommerce p.stars a::before {
  content: "★";
  color: var(--color-star-rating);
}
.woocommerce p.stars a:hover ~ a::before {
  content: "★";
  color: var(--color-star-rating);
}
.woocommerce p.stars:hover a::before {
  content: "★";
  color: #FFB951;
}
.woocommerce p.stars.selected a.active::before {
  content: "★";
  color: #FFB951;
}
.woocommerce p.stars.selected a.active ~ a::before {
  content: "★";
  color: var(--color-star-rating);
}
.woocommerce p.stars.selected a:not(.active)::before {
  content: "★";
  color: #FFB951;
  
}

/* Sale */
.woocommerce ul.products li.product .onsale,
ul.products li.product .sale-perc,
.woocommerce span.onsale, .sale-perc {
  position: absolute;
  top: 0;
  right: auto;
  left: 0;
  margin: .5rem;
  padding: .3rem 1rem .3rem .8rem;
  text-align: center;
}
.woocommerce span.onsale, .sale-perc {
  top: .6rem;
  left: .6rem;
  z-index: 1;
}
ul.products li.product .sale-perc,
.woocommerce span.onsale, .sale-perc {
  font-size: .8em;
  font-weight: 700;
  color: #fff;
}
.woocommerce span.onsale,
.sale-perc {
  border-radius: 0;
  background-color: #dc2828;
  line-height: inherit;
  min-height: 0;
}
.wc-block-components-product-badge {
  background-color: #dc2828 !important;
  color: #fff;
  border: 0 !important;
  border-radius: 0 !important;
}
@media only screen and (max-width: 1140px) {
  ul.products li.product .sale-perc,
  .woocommerce span.onsale, .sale-perc {
    font-size: .6em;
  }
}

/* Shop Sidebar */
.wc-block-active-filters,
.wc-block-components-price-slider,
.wp-block-woocommerce-rating-filter,
.wc-block-stock-filter,
.wc-block-components-product-sort-select,
.wc-block-components-review-list-item__info {
  margin-bottom: 0 !important;
}
.shop-sidebar .wc-block-price-slider,
.shop-sidebar .wc-block-stock-filter__actions,
.shop-sidebar .wc-block-rating-filter__actions,
.shop-sidebar .wc-block-attribute-filter__actions,
.shop-sidebar .wc-block-active-filters__clear-all,
.shop-sidebar .widget_search,
.shop-sidebar .wc-block-product-categories {
  margin-bottom: 2rem;
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] {
  background-color: transparent !important;
  border: 2px solid var(--color-border) !important;
  border-radius: 0 !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:focus {
  outline: none !important;
  outline-offset: 0 !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked {
  background-color: var(--color-accent) !important;
  border-color: var(--color-accent) !important;
}

.edit-post-visual-editor .editor-block-list__block .wc-block-grid__product-title,
.editor-styles-wrapper .wc-block-grid__product-title, .wc-block-grid__product-title {
  color: var(--color-font);
}
.wc-block-grid__products .wc-block-grid__product .wc-block-grid__product-price del {
  opacity: .5;
}
.wc-block-grid__products .wc-block-grid__product .wc-block-grid__product-title {
  color: #fff;
}
.wc-block-grid__products .wc-block-grid__product a:hover {
  text-decoration: none;
}
.wc-block-grid__products .wc-block-grid__product a:hover .wc-block-grid__product-title {
  color: var(--color-accent);
  transition: .3s ease-in-out;
}
.wc-block-grid .wc-block-grid__product-onsale,
.wc-block-grid__product-image .wc-block-grid__product-onsale {
  border-radius: 0 !important;
  border: 0 !important;
  background: #dc2828 !important;
  color: #fff !important;
}
.wc-block-components-review-list.wc-block-components-review-list {
  padding: 0 !important;
}
.woocommerce.wc-block-breadcrumbs.alignwide {
  margin-left: unset;
  margin-right: unset;
  max-width: unset;
}
.shop-sidebar .wc-block-product-categories > ul {
  padding: 0;
}
.shop-sidebar .wc-block-product-categories .wc-block-product-categories-list--depth-1,
.shop-sidebar .wc-block-product-categories .wc-block-product-categories-list--depth-2,
.shop-sidebar .wc-block-product-categories .wc-block-product-categories-list--depth-3 {
  padding-left: 1rem;
}
.shop-sidebar .wc-block-product-categories li .wc-block-product-categories-list-item-count {
  float: right;
  font-size: 0.85rem;
  opacity: .5;
}
.shop-sidebar .wc-block-product-categories-list-item-count:before,
.shop-sidebar .wc-block-product-categories-list-item-count:after {
  content: '';
}
.shop-sidebar .wc-block-product-categories ul {
  list-style: none;
}
.shop-sidebar .wc-block-product-categories ul li a {
  color: var(--color-font);
  line-height: 2.2;
  text-decoration: none;
}
.shop-sidebar .wc-block-product-categories ul li a:hover {
  color: var(--color-accent);
}
.shop-sidebar .wc-block-product-categories__dropdown {
  width: 100%;
}
.shop-sidebar .wc-block-product-categories__dropdown select {
  border: 1px solid var(--color-border);
  padding: .8rem;
  margin-right: 0;
  background: none;
}
.shop-sidebar .wp-block-woocommerce-product-categories.is-dropdown p {
  margin: 0;
}
.shop-sidebar .wp-block-woocommerce-product-categories.is-dropdown button {
  background-color: transparent;
  border: 1px solid var(--color-accent);
  border-radius: 0;
  color: var(--color-accent);
  cursor: pointer;
  font-size: .87rem;
  font-weight: 600;
  letter-spacing: .1rem;
  line-height: inherit;
  white-space: nowrap;
  overflow: hidden;
  height: 100%;
  position: relative;
  text-transform: uppercase;
  z-index: 1;
}
.shop-sidebar .wp-block-woocommerce-product-categories.is-dropdown button::before {
  background-color: var(--color-accent);
  content: '';
  height: 100%;
  position: absolute;
  left: -470%;
  top: 0;
  transform: skew(50deg);
  transform-origin: top left;
  transition: all .4s;
  width: 0;
  z-index: -1;
}
.shop-sidebar .wp-block-woocommerce-product-categories.is-dropdown button:hover,
.shop-sidebar .wp-block-woocommerce-product-categories.is-dropdown button:focus {
  color: var(--color-bg);
  box-shadow: none;
}
.shop-sidebar .wp-block-woocommerce-product-categories.is-dropdown button:hover::before,
.shop-sidebar .wp-block-woocommerce-product-categories.is-dropdown button:focus::before {
  height: 101%;
  width: 350%;
  left: -230%;
}
.shop-sidebar .wc-block-product-categories__dropdown br {
  display: none;
}
.shop-sidebar .wp-block-search p {
  margin: 0;
}
.shop-sidebar .wc-block-components-price-slider__controls .wc-block-components-price-slider__amount {
  max-width: 80px !important;
  border-radius: 0 !important;
  border-color: var(--color-border) !important;
}
.shop-sidebar .wc-block-components-price-slider__controls .wc-block-components-price-slider__amount:focus {
  border-color: var(--color-border-input-focus) !important;
}
.shop-sidebar .wc-block-components-checkbox label {
  align-items: center;
}
.shop-sidebar .wc-block-rating-filter .wc-block-checkbox-list__checkbox {
  margin-top: 0;
}
.shop-sidebar .wc-block-rating-filter .wc-block-components-product-rating__stars {
  font-size: 1.4rem;
  line-height: 0.9;
  width: 4.1em;
}
.shop-sidebar .wc-block-components-product-rating__stars span:before {
  content: '★★★★★';
  color: #FFB951;
}
.shop-sidebar .wc-block-components-product-rating__stars:before {
  content: '★★★★★';
  color: var(--color-star-rating);
  opacity: 1;
}
.wc-block-components-price-slider__range-input.wc-block-components-price-slider__range-input--min {
  top: -1px;
}
.wc-block-components-price-slider__range-input.wc-block-components-price-slider__range-input--max {
  top: -2px;
}

/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb {
  margin: 1rem 0 1.5rem;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  overflow-x: auto;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none;  /* Internet Explorer 10+ */
}
.woocommerce .woocommerce-breadcrumb::-webkit-scrollbar {
  width: 0;
  height: 0;
}
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb a {
  color: var(--color-misc);
}
.woocommerce .woocommerce-breadcrumb a {
  position: relative;
}
.woocommerce .woocommerce-breadcrumb a:hover {
  color: var(--color-font);
}
.woo-breadcrumb-delimiter {
  margin: 0 .8rem;
  vertical-align: middle;
}
@media only screen and (max-width: 580px) {
  .woocommerce .woocommerce-breadcrumb {
    margin: 1rem 0 1rem;
    padding-bottom: .5rem;
  }
}

/* Pagination */
.woocommerce .woocommerce-pagination {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}
.woocommerce nav.woocommerce-pagination ul li {
  overflow: visible;
}
.woocommerce .woocommerce-pagination ul.page-numbers li .page-numbers,
.woocommerce-page .woocommerce-pagination ul.page-numbers li .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--color-description);
  height: 2.85rem;
  min-width: 2.85rem;
  margin: 0 0.2rem;
}
.woocommerce .woocommerce-pagination ul.page-numbers li > .page-numbers:hover,
.woocommerce-page .woocommerce-pagination ul.page-numbers > li .page-numbers:hover,
.woocommerce nav.woocommerce-pagination ul li a:focus {
  background: transparent;
  color: var(--color-accent);
}
.woocommerce nav.woocommerce-pagination ul {
  border: 0;
}
.woocommerce nav.woocommerce-pagination ul li {
  border-right: 0;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li span.current {
  background: transparent;
  border: 2px solid var(--color-accent);
  color: var(--color-accent);
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  padding: 0;
}
@media only screen and (max-width: 768px) {
  .woocommerce .woocommerce-pagination ul.page-numbers li .page-numbers,
  .woocommerce-page .woocommerce-pagination ul.page-numbers li .page-numbers {
    margin: 0;
    font-size: .9375rem;
    font-weight: 500;
    letter-spacing: 0;
  }	
}
@media only screen and (max-width: 580px) {
  .woocommerce .woocommerce-pagination {
    margin-top: 2rem;
    margin-bottom: .5rem;
  }
  .woocommerce .woocommerce-pagination ul.page-numbers li .page-numbers,
  .woocommerce-page .woocommerce-pagination ul.page-numbers li .page-numbers {
	  height: 2rem;
    min-width: 2rem;
  }	
}

/* Single Product Page */
.woocommerce div.product {
  margin-top: 10rem;
}
.woocommerce div.product div.images,
.woocommerce div.product div.summary {
  margin-bottom: 4rem;
}
.woocommerce div.product div.images .flex-control-thumbs {
  margin: 6px -6px;
}
.woocommerce div.product div.images .flex-control-thumbs li {
  padding: 6px;
}
.woocommerce .product .product_title {
  font-size: 1.8rem;
  line-height: 1.2;
  margin-bottom: 1.2rem;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-size: 1.6rem;
  color: var(--color-font);
  margin-bottom: 1rem;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  opacity: .3;
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
  font-weight: 500;
}

.woocommerce div.product p.stock {
  padding: 0.5rem 1rem;
}
.woocommerce div.product .entry-summary p.stock.available-on-backorder,
.woocommerce div.product .entry-summary p.stock.out-of-stock {
  background-color: #e7593b;
  color: #fff;
}
.woocommerce div.product .entry-summary p.stock.in-stock {
  background-color: #3e8940;
  color: #fff;
}

.woocommerce .product_images {
  position: relative;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
  opacity: 1;
}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active {
  border: 2px solid var(--color-accent);
}
.woocommerce div.product div.images .flex-control-thumbs li img:not(.flex-active):hover {
  opacity: .8;
}
.woocommerce .product.product-type-variable .variations_form .variations tr {
  display: block;
  border-bottom: none;
  margin-bottom: 1.5rem;
}
.woocommerce .product.product-type-variable .variations_form .variations th {
  padding: 0;
}
.woocommerce .product.product-type-variable .variations_form .variations td {
  display: block;
  padding: 0;
  position: relative;
}
.woocommerce div.product form.cart .variations {
  margin-bottom: 0;
}
.woocommerce div.product form.cart .variations label {
  font-weight: 500;
  line-height: 1.5rem;
}
.woocommerce .product.product-type-variable .variations_form .variations td.value .reset_variations {
  display: inline-block;
  margin-top: .5rem;
}
.woocommerce .product.product-type-variable .variations_form .single_variation_wrap .woocommerce-variation-add-to-cart {
  display: flex;
  width: 100%;
}
.woocommerce .product .cart .woocommerce-product-details__add-to-cart {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
}
.woocommerce div.product form.cart {
  margin-top: 2rem;
}
.woocommerce div.product form.cart div.quantity {
  margin: 0 1rem 0 0;
}
.woocommerce .product .cart .quantity,
.woocommerce .woocommerce-cart-form .product-quantity .quantity {
  position: relative;
  width: 8rem;
}
.woocommerce .product .cart .quantity input,
.woocommerce .woocommerce-cart-form .product-quantity .quantity input {
  text-align: center;
  width: 8rem;
  padding: 0.65rem 2.5rem;
  border: solid 1px var(--color-border);
}
.wc-block-components-quantity-selector {
  border: solid 1px var(--color-border) !important;
  border-radius: 0 !important;
}
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
  font-weight: 400 !important;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
  font-size: 1rem !important;
  color: var(--color-border-input) !important;
  opacity: 1 !important;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus {
  box-shadow: none !important;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover {
  color: var(--color-font) !important;
}
.woocommerce form.cart .quantity .qty-button,
.woocommerce .woocommerce-cart-form .product-quantity .quantity .qty-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 100%;
  position: absolute;
  top: 1px;
  font-size: 1rem;
  font-weight: 500;
  color: var(--color-border-input);
  text-align: center;
  cursor: pointer;
  user-select: none
}
.woocommerce form.cart .quantity .qty-button:hover,
.woocommerce .woocommerce-cart-form .product-quantity .quantity .qty-button:hover {
  color: var(--color-font);
}
.woocommerce form.cart .quantity .qty-button.qty-button__plus,
.woocommerce .woocommerce-cart-form .product-quantity .quantity .qty-button.qty-button__plus {
  right: 0;
  left: auto;
}
.woocommerce form.cart .quantity .qty-button.qty-button__minus,
.woocommerce .woocommerce-cart-form .product-quantity .quantity .qty-button.qty-button__minus {
  z-index: 10;
}
.woocommerce .product .cart .quantity input[type=number]::-webkit-inner-spin-button, 
.woocommerce .product .cart .quantity input[type=number]::-webkit-outer-spin-button,
.woocommerce .woocommerce-cart-form .product-quantity .quantity input[type=number]::-webkit-inner-spin-button,
.woocommerce .woocommerce-cart-form .product-quantity .quantity input[type=number]::-webkit-outer-spin-button { 
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0; 
}
.woocommerce div.product.sold-individually .cart .quantity {
  display: none;
}
.woocommerce .product .entry-summary .stock.in-stock {
  color: var(--color-font);
}
.woocommerce div.summary .product_meta {
  padding-top: .5rem;
}
.woocommerce div.summary .product_meta > span {
  display: block;
  margin-bottom: .5rem;
}
.product_meta > span span,
.product_meta > span a {
  display: inline-block;
  margin: 0 1px;
}
.product_meta,
.product_meta > span a {
  color: var(--color-description);
}
.product_meta > span a:hover {
  color: var(--color-font);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  text-align: center;
  padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar {
  width: 0;
  height: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  border-bottom: 1px solid var(--color-border);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: none;
  border-radius: 0;
  background-color: transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-weight: 500;
  color: var(--color-font);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--color-accent);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before {
  content: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: transparent;
  color: var(--color-accent);
  border-bottom: 2px solid var(--color-accent);
}
.woocommerce table.shop_attributes {
  border-top: none;
}
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
  border-bottom: 0;
}
.woocommerce table.shop_attributes,
.woocommerce table.shop_attributes tr {
  border: 1px solid var(--color-border);
}
.woocommerce table.shop_attributes td {
  color: var(--color-description);
}
.woocommerce table.shop_attributes td,
.woocommerce table.shop_attributes th {
  padding: 1rem;
}
.woocommerce table.shop_attributes td p {
  padding: 0;
}
.woocommerce div.product h2 {
  font-size: 1.6rem;
  margin-bottom: 1.5rem;
}
.woocommerce .related,
.woocommerce .up-sell,
.woocommerce .upsells {
  margin-top: 4rem;
}

.woocommerce .woocommerce-Reviews {
  margin: 0 8rem;
}
.woocommerce #reviews #comments .woocommerce-Reviews-title {
  text-align: center;
}
.woocommerce #reviews #comments ol.commentlist {
  padding: 0;
}
.woocommerce #reviews #comments ol.commentlist li .comment_container {
  display: flex;
}
.woocommerce #reviews #comments ol.commentlist li {
  margin: 2rem 0 2rem;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text {
  border: 0;
  margin: 0 0 0 2rem;
  padding: 0;
  border: 0;
}
.woocommerce #reviews #comments ol.commentlist li img.avatar {
  width: 64px;
  float: none;
  position: unset;
}
.woocommerce #reviews #comments ol.commentlist li .comment-content .meta .woocommerce-review__author {
  font-size: 1.2rem;
  line-height: 1;
  font-weight: 600;
  color: var(--color-font);
}
.woocommerce #reviews #comments ol.commentlist li .comment-content .meta .woocommerce-review__published-date {
  font-size: .875rem;
  font-weight: 500;
  text-transform: uppercase;
}
.woocommerce .woocommerce-Reviews .comment-respond .comment-reply-title {
  display: block;
  font-size: 1.5rem;
  line-height: 1.3;
  font-weight: 500;
}
.woocommerce .woocommerce-Reviews .comment-respond .comment-form-rating {
  margin-bottom: .5rem;
}
.woocommerce .woocommerce-Reviews .comment-respond .comment-form-comment {
  margin-bottom: 1.5rem !important;
}
.woocommerce #review_form #respond textarea {
  height: 10rem !important;
}
.woocommerce .woocommerce-Reviews .comment-respond .comment-form-cookies-consent {
  margin-bottom: 1.3rem !important;
}
@media only screen and (max-width: 992px) {
  .woocommerce div.product {
    margin-top: 6rem;
  }

  .woocommerce .woocommerce-Reviews {
    margin: 0 .5rem;
  }
}
@media only screen and (max-width: 768px) {
  .woocommerce div.product {
    margin-top: 4rem;
  }
  .woocommerce div.product h2 {
    font-size: 1.4rem;
    margin-bottom: 1.2rem;
    margin-top: 1rem;
  }
  .woocommerce div.product div.images {
    margin-bottom: 1rem;
  }
  .woocommerce div.product div.summary {
    margin-bottom: 2rem;
  }

  .woocommerce .related,
  .woocommerce .up-sell,
  .woocommerce .upsells {
    margin-top: 2.5rem;
  }

  .woocommerce .woocommerce-Reviews {
    margin: 0;
  }
  .woocommerce #reviews #comments ol.commentlist li .comment-text {
    margin: 0 0 0 1.2rem;
  }
  .woocommerce #reviews #comments ol.commentlist li img.avatar {
    width: 40px;
  }
  .woocommerce #reviews #comments ol.commentlist li .comment-content .meta .woocommerce-review__author {
    font-size: 1.05rem;
  }

  .woocommerce .woocommerce-Reviews .comment-respond .comment-reply-title {
    font-size: 1.4rem;
  }

  .woocommerce .woocommerce-Reviews .comment-respond .comment-form-author,
  .woocommerce .woocommerce-Reviews .comment-respond .comment-form-email {
    margin: 1.5rem 0 !important;
  }
}
@media only screen and (min-width: 768px) {
  .woocommerce .woocommerce-Reviews .comment-respond .comment-form {
    display: flex;
    flex-flow: row wrap;
  }
  .woocommerce .woocommerce-Reviews .comment-respond .comment-form > p {
    width: 100%;
  }
  .woocommerce .woocommerce-Reviews .comment-respond .comment-form-author,
  .woocommerce .woocommerce-Reviews .comment-respond .comment-form-email {
    flex: 1;
    margin: 1.5rem 0 !important;
  }
  .woocommerce .woocommerce-Reviews .comment-respond .comment-form-author {
    padding-right: 1rem;
  }
  .woocommerce .woocommerce-Reviews .comment-respond .comment-form-email {
    padding-left: 1rem;
  }
}
@media only screen and (max-width: 580px) {
  .woocommerce div.product .woocommerce-tabs ul.tabs {
    white-space: nowrap;;
    overflow-x: auto;
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs li {
    font-size: 0.95rem;
    white-space: nowrap;
  }
}

/* Cart Page */
.woocommerce .woocommerce-cart-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 4rem;
}
.wp-block-woocommerce-cart.alignwide,
.woocommerce.alignwide {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
.woocommerce .woocommerce-cart-form,
.woocommerce .cart-collaterals{
	width: 100%;
}
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
  float: none;
  width: 100%;
}
.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-page .cart-collaterals .cart_totals h2 {
  font-size: 1.8rem;
  margin-top: 0;
}

.wc-block-cart table.wc-block-cart-items,
.wc-block-cart table.wc-block-cart-items td,
.wc-block-cart table.wc-block-cart-items th {
  margin: 0 0 5rem !important;
}
.wp-block-woocommerce-cart .wc-block-cart__totals-title {
  font-size: 1.8rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  margin-top: 0 !important;
  margin-bottom: 1.5rem !important;
  padding: 0 !important;
  text-align: left !important;
  text-transform: inherit !important;
}

.wc-block-components-shipping-calculator-address__button {
  box-shadow: none !important;
}

.woocommerce table.shop_table tbody th,
.wc-block-components-totals-item .wc-block-components-totals-item__value {
  font-weight: 400;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-weight: 600 !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  margin-bottom: 0;
}
.woocommerce-cart .wc-proceed-to-checkout,
.wp-block-woocommerce-cart .wc-block-components-sidebar .wc-block-cart__submit {
  padding: 1rem 0 0;
}
.wp-block-woocommerce-cart .wc-block-components-sidebar .wc-block-cart__submit {
  margin: 0;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background-color: transparent;
}
.woocommerce .woocommerce-cart-wrapper .cart_totals,
.wp-block-woocommerce-cart .wc-block-components-sidebar {
  border: 1px solid var(--color-border);
  padding: 1.5rem;
}
.is-medium.wc-block-components-sidebar-layout .wc-block-components-sidebar,
.is-small.wc-block-components-sidebar-layout .wc-block-components-sidebar,
.is-mobile.wc-block-components-sidebar-layout .wc-block-components-sidebar {
  padding: 1.5rem !important;
}
.wp-block-woocommerce-cart .wc-block-components-sidebar {
  height: fit-content;
}
.woocommerce .cart_totals .cart-subtotal th,
.woocommerce .cart_totals .order-total th {
  text-align: left;
}
.woocommerce .cart_totals .cart-subtotal,
.woocommerce .cart_totals .order-total,
.woocommerce .cart_totals .shop_table tr > *:last-child {
  text-align: right;
}
.woocommerce .cart_totals .shop_table tr > *:first-child {
  padding-left: 0;
}
.woocommerce .cart_totals .shop_table tr > *:last-child {
  padding-right: 0;
}
.woocommerce-cart .cart-collaterals .cart_totals table td {
  vertical-align: middle;
}

.woocommerce .cart-collaterals .woocommerce-shipping-calculator .form-row {
  margin-bottom: 1rem;
}
.woocommerce .cart-collaterals .woocommerce-shipping-calculator .select2 {
  text-align: left;
}
.wc-block-cart .wc-block-components-sidebar .wc-block-components-shipping-calculator {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  padding: 14px 12px;
}
.woocommerce table.shop_table {
  border: 0;
  border-collapse: collapse;
}
.woocommerce table tbody td,
.woocommerce table tbody th,
.woocommerce table tr,
.woocommerce table.shop_table td,
.woocommerce table.shop_table tbody th,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th {
    border: none;
}
.woocommerce table thead th,
.woocommerce table tbody .woocommerce-cart-form__cart-item td,
table.wc-block-cart-items .wc-block-cart-items__header th {
  border-bottom: 1px solid var(--color-border);
}
.wc-block-components-totals-wrapper:not(:last-child):not(:empty) {
  border-bottom: 1px solid var(--color-border) !important;
}
.is-large.wc-block-cart .wc-block-cart-items td,
.is-medium table.wc-block-cart-items:not(.wc-block-mini-cart-items):not(:last-child) .wc-block-cart-items__row,
.is-mobile table.wc-block-cart-items:not(.wc-block-mini-cart-items):not(:last-child) .wc-block-cart-items__row,
.is-small table.wc-block-cart-items:not(.wc-block-mini-cart-items):not(:last-child) .wc-block-cart-items__row {
  border-bottom: 1px solid var(--color-border) !important;
}
.is-medium.wc-block-cart table.wc-block-cart-items td,
.is-mobile.wc-block-cart table.wc-block-cart-items td,
.is-small.wc-block-cart table.wc-block-cart-items td {
  margin: 0 !important;
}
.wp-block-woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper .wc-block-components-totals-item,
.wp-block-woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon,
.is-large.wc-block-cart .wc-block-components-sidebar .wc-block-components-shipping-rates-control__package:not(.wc-block-components-panel) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.wc-block-components-totals-shipping .wc-block-components-shipping-rates-control__no-results-notice {
  margin: 0 !important; 
}

.wp-block-woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-discount__coupon-list {
  margin-top: .5rem;
}
.wc-block-components-chip.wc-block-components-chip--radius-large {
  border-color: var(--color-border) !important;
}
.wc-block-components-chip .wc-block-components-chip__remove {
  background: var(--color-border) !important;
  line-height: 15px !important;
}
.wc-block-components-chip .wc-block-components-chip__remove-icon {
  fill: var(--color-font) !important;
}

.woocommerce-cart .cart-collaterals .cart_totals tr td,
.woocommerce-cart .cart-collaterals .cart_totals tr th {
  border-top: 1px solid var(--color-border);
}
.woocommerce table.shop_table td.product-thumbnail img {
  max-width: 80px;
  width: inherit;
}
.is-large.wc-block-cart .wc-block-cart-items .wc-block-cart-item__image {
  padding-left: 0 !important;
}
.is-large.wc-block-cart .wc-block-cart-items .wc-block-cart-item__total {
  padding-right: 0 !important;
}
table.wc-block-cart-items .wc-block-cart-items__row .price.wc-block-components-product-price del {
  color: var(--color-description) !important;
}
.woocommerce .woocommerce-cart-form tr.cart_item .product-name {
  font-size: 0.875rem;
}
.woocommerce .woocommerce-cart-form tr.cart_item .product-name a,
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
  color: var(--color-description);
}
.woocommerce .woocommerce-cart-form tr.cart_item .product-name a:hover,
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name:hover {
  color: var(--color-font);
}
.woocommerce a.remove {
  font-weight: 400;
  font-size: 1.3em;
  line-height: 1.1;
  color: var(--color-description) !important;
  transition: all .2s;
}
.woocommerce a.remove:hover {
  background: var(--color-border);
  color: var(--color-font) !important;
}
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
  color: var(--color-accent) !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  margin-top: 1rem !important;
}
.woocommerce-cart .woocommerce .woocommerce-cart-form tr:not(.cart_item) td.actions button[disabled] {
  cursor: not-allowed;
}
.woocommerce-cart .woocommerce-cart-wrapper .actions {
  padding: 0;
  padding-top: 1.5rem;
}
.woocommerce-cart-wrapper .actions .coupon {
  display: flex;
  align-items: center;
  position: relative;
}
.woocommerce-cart table.cart td.actions .coupon .input-text {
  padding: .8rem 0;
  padding-right: 35%;
  margin: 0;
}
.woocommerce-page table.cart td.actions .coupon .button {
  position: absolute;
  right: 0;
  left: auto;
  padding: .8rem 0;
  width: auto;
  font-size: .87rem;
  font-weight: 600;
  letter-spacing: .1rem;
  line-height: inherit;
  color: var(--color-accent);
  white-space: nowrap;
  background: none;
  text-transform: uppercase;
  border: 0;
  outline: none;
}
.woocommerce-page table.cart td.actions .coupon .button::before {
  content: none;
}
.woocommerce-page table.cart td.actions .coupon .button:hover {
  color: var(--color-accent);
}
.woocommerce-cart table.cart td.actions .coupon .input-text {
  border-bottom: 1px solid var(--color-border);
}

.woocommerce-cart .return-to-shop {
  text-align: center;
}

.wp-block-woocommerce-cart-cross-sells-block .wc-block-components-product-title {
  margin-bottom: 1rem;
  margin-top: 0;
}

.wc-block-grid__product-title,
.wc-block-grid.has-4-columns:not(.alignwide):not(.alignfull) .wc-block-grid__product {
  font-size: 1rem !important;
  color: var(--color-font) !important;
}

.wp-block-woocommerce-cart-order-summary-totals-block .wp-block-woocommerce-cart-order-summary-subtotal-block {
  padding-bottom: 16px !important;
}

.wp-block-woocommerce-cart-order-summary-totals-block .wc-block-components-totals-shipping__change-address__link {
  color: var(--color-accent);
}

body[data-theme="dark"] .woocommerce .blockUI.blockOverlay {
  background-color: rgba(25, 25, 27, .8) !important;
  opacity: 1 !important;
}
.woocommerce .blockUI.blockOverlay {
    display: flex;
    margin: 0 10px;
    align-items: center;
}
.woocommerce .blockUI.blockOverlay:before,
.woocommerce .loader::before,
.header-cart .blockUI.blockOverlay::before,
.header-cart .loader:before {
	display: inline-flex;
  width: 20px;
	height: 20px;
  border-top: 3px solid var(--color-slider-progressbar);
  border-right: 3px solid var(--color-slider-progressbar);
  border-bottom: 3px solid var(--color-slider-progressbar);
  border-left: 3px solid var(--color-accent);
  border-radius: 50%;
  transform: translateZ(0);
  background: none;
  animation: loaderSpin .6s infinite linear;
}
.header-cart .blockUI.blockOverlay::before,
.header-cart .loader:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -.5em;
  margin-top: -.5em;
  text-align: center;
  font-size: 2em;
}
@keyframes loaderSpin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@media only screen and (min-width: 1400px) {
  body.woocommerce-cart .container {
    max-width: 1320px;
  }
}
@media only screen and (min-width: 1025px) {
  .woocommerce .woocommerce-cart-form {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .woocommerce .cart-collaterals{
		flex: 0 0 calc(33.333333% - 2rem);
		max-width: calc(33.333333% - 2rem);
	}
}
@media only screen and (min-width: 768px) {
  .woocommerce-cart-wrapper .actions .coupon {
    width: 40%;
  }
  .woocommerce-cart table.cart td.actions .coupon .input-text {
    padding-right: 40%;
  }
}
@media only screen and (max-width: 767px) {
  .woocommerce-cart table.cart tr:not(:last-child) {
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    padding-left: 96px;
    border-bottom: 1px solid var(--color-border);
  }
  .shop_table_responsive tr {
    position: relative;
  }
  .shop_table_responsive td {
    margin-bottom: 1rem;
  }
  .shop_table_responsive td:before {
    content: attr(data-title) !important;
    float: left;
  }
  .woocommerce-cart table.cart td {
    padding: 0;
    border: none !important;
  }
  .woocommerce-cart table.cart td.product-remove {
    position: absolute;
    top: 65%;
    left: 30px;
  }
  .woocommerce table.cart .product-thumbnail,
  .woocommerce-page table.cart .product-thumbnail {
    display: block;
    position: absolute;
    left: 0;
  }
  .woocommerce-cart table.cart .product-thumbnail {
    position: absolute;
    left: 0;
  }
  .woocommerce-cart table.cart td.product-quantity .quantity {
    display: inline-flex;
    margin-right: 0;
  }
  .woocommerce-cart .woocommerce-cart-wrapper .actions {
    padding-top: 0;
  }
  .woocommerce table.cart td.actions .coupon,
  .woocommerce-page table.cart td.actions .coupon {
    padding-bottom: 2rem;
  }
  .woocommerce table.shop_table td {
    margin-bottom: 0;
    padding: 14px 0;
  }
}

/* Checkout Page*/
.woocommerce form.checkout {
  margin-top: 3rem;
  margin-bottom: 5rem;
}
.woocommerce form .form-row {
  display: block;
  padding: 0;
  margin: 0;
}
.woocommerce .woocommerce-billing-fields .form-row,
.woocommerce .woocommerce-shipping-fields .form-row,
.woocommerce .woocommerce-EditAccountForm .form-row,
.woocommerce .woocommerce-address-fields .form-row {
  margin-bottom: 2rem;
}
.woocommerce .form-row input:not([type="checkbox"]),
.woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single {
  padding: .8rem 1rem;
  border: 1px solid var(--color-border);
}
.woocommerce .form-row input:not([type="checkbox"]):focus,
.woocommerce .woocommerce-billing-fields .form-row input:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--color-border-input-focus);
}
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid .select2-container--default .select2-selection--single {
  border-color: rgba(255, 95, 83, 1);
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--color-font);
  line-height: normal;
}
.select2-container .select2-selection--single .select2-selection__rendered {
  padding-left: 0;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 25%;
  right: 10px;
}
.select2-dropdown,
.select2-container--default .select2-search--dropdown .select2-search__field {
  background-color: var(--color-bg);
  border: 1px solid var(--color-border);
}
.select2-container--default .select2-results__option[aria-selected=true],
.select2-container--default .select2-results__option[data-selected=true] {
  background-color: var(--color-woo-misc);
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
  background-color: var(--color-accent);
  color: var(--color-bg);
}
.woocommerce form .form-row .required {
  color: rgba(255, 95, 83, 1);
}
.woocommerce form .form-row label {
  color: var(--color-font);
}
.woocommerce form .form-row.woocommerce-invalid label {
  color: var(--color-font);
}
.woocommerce .woocommerce-billing-fields .form-row-first,
.woocommerce .woocommerce-shipping-fields .form-row-first {
  width: 50%;
  float: left;
  padding-right: 1rem;
}
.woocommerce .woocommerce-billing-fields .form-row .woocommerce-input-wrapper {
  width: 100%;
}

.woocommerce .woocommerce-billing-fields h3,
.woocommerce form.checkout #order_review_heading {
  margin-top: 0;
}

.woocommerce form.checkout .order-review-wrapper {
  border: 1px solid var(--color-border);
  padding: 1.5rem;
}
.wp-block-woocommerce-checkout .wc-block-components-sidebar {
  border: 1px solid var(--color-border);
  height: fit-content;
  padding: .5rem 1.5rem;
}
.is-large .wc-block-components-sidebar .wc-block-components-panel,
.is-large .wc-block-components-sidebar .wc-block-components-totals-coupon,
.is-large .wc-block-components-sidebar .wc-block-components-totals-item {
  padding: 0 !important;
}
.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
  background: var(--color-accent) !important;
  color: var(--color-bg) !important;
  font-weight: 600 !important;
  border: 0 !important;
  box-shadow: 0 0 0 2px var(--color-accent) !important;
}
.wc-block-components-totals-wrapper {
  border-top: 0 !important;
}
.wc-block-components-panel__button[aria-expanded=true] {
  margin-bottom: 1rem !important;
}
.wp-block-woocommerce-checkout .wc-block-components-sidebar .wc-block-components-order-summary-item del {
  color: var(--color-description) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-sidebar.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-subtotal-block {
  padding-bottom: inherit !important;
}

.woocommerce .order-review-wrapper .shop_table tr > *:first-child {
  padding-left: 0;
}
.woocommerce .order-review-wrapper .shop_table tr > *:last-child {
  padding-right: 0;
}
.woocommerce-checkout-review-order-table thead th:last-child,
.woocommerce-checkout-review-order-table tbody td:last-child,
.woocommerce-checkout-review-order-table tfoot td:last-child,
.woocommerce-checkout-review-order-table .order-total td:last-child {
  text-align: right;
}
.woocommerce .order-review-wrapper .shop_table td,
.woocommerce .order-review-wrapper .shop_table tfoot th {
  border-bottom: 1px solid var(--color-border);
}
.woocommerce .order-review-wrapper .shop_table tfoot tr:last-child th,
.woocommerce .order-review-wrapper .shop_table tfoot tr:last-child td {
  border: 0;
}
.woocommerce .woocommerce-checkout #payment {
  background: transparent;
  border-radius: 0;
  border: 0;
  margin-top: 2rem;;
}
.woocommerce .woocommerce-checkout #payment ul.payment_methods,
.woocommerce .woocommerce-checkout #payment div.form-row {
  padding: 0;
  border: 0;
}
.woocommerce .woocommerce-checkout #payment ul.payment_methods {
  padding-bottom: 1rem;
}
.woocommerce .woocommerce-checkout .order-review-wrapper .button {
  width: 100%;
}
#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
  background-color: var(--color-woo-misc);
  color: var(--color-description);
}
#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
  content: none;
}

.checkout_coupon.woocommerce-form-coupon .form-row-first,
.checkout_coupon.woocommerce-form-coupon .form-row-last {
  float: none;
  width: 100%;
}
.checkout_coupon.woocommerce-form-coupon .button {
  width: 100%;
}
.checkout_coupon.woocommerce-form-coupon .form-row-first {
  margin-bottom: 1rem;
}

.wc-block-checkout__shipping-method-option {
  border-radius: 0 !important;
  outline: 0 !important;
  border: 1px solid var(--color-border) !important;
}
.wc-block-checkout__shipping-method-option.components-button:focus:not(:disabled),
.wc-block-checkout__shipping-method-option.components-button:hover:not(:disabled),
.wc-block-checkout__shipping-method-option:focus,
.wc-block-checkout__shipping-method-option:hover {
  color: var(--color-font) !important;
}
.wc-block-checkout__shipping-method-option:hover {
  background-color: transparent !important;
  border-color: var(--color-border-input) !important;
}
.wc-block-checkout__shipping-method-option.wc-block-checkout__shipping-method-option--selected {
  background-color: var(--color-woo-misc) !important;
  border: none !important;
  outline: none !important;
}

.wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__container:after {
  border-left: 1px solid var(--color-border) !important;
  opacity: .5;
}

.wc-block-checkout__pickup-options .wc-block-components-local-pickup-rates-control .wc-block-components-radio-control__description-group,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-local-pickup-rates-control .wc-block-components-radio-control__description-group {
  background-color: var(--color-woo-misc) !important;
  border-radius: 0 !important;
}
.wc-block-checkout__pickup-options .wc-block-components-local-pickup-rates-control .wc-block-components-radio-control__option,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-local-pickup-rates-control .wc-block-components-radio-control__option {
  border-bottom: none !important;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control {
  border: none !important;
  border-radius: 0 !important;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option,
.wc-block-checkout__payment-method .wc-block-components-radio-control__option {
  border: none !important;
}
.wc-block-components-address-card {
  border: none !important;
  border-radius: 0 !important;
  background-color: var(--color-woo-misc) !important;
}
.wc-block-checkout__pickup-options .wc-block-components-local-pickup-rates-control .wc-block-components-radio-control__secondary-description,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-local-pickup-rates-control .wc-block-components-radio-control__secondary-description {
  color: var(--color-description) !important;
}
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option {
  border-bottom: none !important;
}

.wc-block-checkout-empty .wc-block-checkout-empty__image path:last-child {
  fill: var(--color-font) !important;
}

/* Order Page*/
.woocommerce .woocommerce-order .woocommerce-notice {
  text-align: center;
  font-size: 1.2rem;
  margin-bottom: 1.5rem;
}
.woocommerce .woocommerce-order .woocommerce-notice.woocommerce-notice--success {
  color: #32F6B1;
}
.woocommerce .woocommerce-order h2 {
  margin-bottom: 1.5rem;
}
.woocommerce ul.order_details {
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 2rem;
  border: 2px dashed var(--color-border);
}
.woocommerce ul.order_details li {
  padding-right: 3rem;
  margin-bottom: 0;
  border-right: 2px dashed var(--color-border);
  color: var(--color-description);
  line-height: 1.5;
  list-style-type: none;
  text-align: center;
}
.woocommerce ul.order_details li strong {
  color: var(--color-font);
  margin-top: 0.4rem;
}
.woocommerce table tbody .woocommerce-table__line-item td {
  border-bottom: 1px solid var(--color-border);
}
.woocommerce table tbody .woocommerce-table__line-item td a {
  color: var(--color-font);
}
.woocommerce table tbody .woocommerce-table__line-item td .wc-item-meta {
  padding: 0;
  margin-top: .5rem;
}
.woocommerce .woocommerce-customer-details address {
  padding: 0;
  border: none;
  color: var(--color-description);
}
@media only screen and (max-width: 1024px) {
  .woocommerce ul.order_details li {
    padding-left: 0;
    padding-right: 2rem;
  }
}
@media only screen and (min-width: 1024px) {
  body.woocommerce-checkout.woocommerce-order-received .woocommerce-order .woocommerce-order-details .woocommerce-table--order-details tfoot tr th {
    padding-left: 50%;
    width: 75%;
  }
}
@media only screen and (max-width: 767px) {
  .woocommerce .col2-set,
  .woocommerce-page .col2-set {
    margin-bottom: 3rem;
  }
  .woocommerce .woocommerce-billing-fields .form-row,
  .woocommerce .woocommerce-shipping-fields .form-row {
    margin-bottom: 1.5rem;
  }
  .woocommerce ul.order_details {
    padding: 1rem;
    flex-direction: column;
    align-items: inherit;
  }
  .woocommerce ul.order_details li {
    padding: 0;
    border: none;
    text-align: inherit;
  }
  .woocommerce ul.order_details li:not(:last-child) {
    margin-bottom: 1.5rem;
  }
}

/* My Account */
.woocommerce-account .woocommerce {
  margin-bottom: 4rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 28%;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
  border: 1px solid var(--color-border);
  list-style: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  color: var(--color-font);
  transition: all .2s ease-in-out;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li:hover a {
  background-color: var(--color-accent);
  color: var(--color-bg);
  transition: all .2s ease-in-out;
}
.woocommerce-account .woocommerce-MyAccount-navigation li:not(:last-child) a {
  border-bottom: 1px solid var(--color-border);
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  padding: 1rem 1rem 1rem 1.7rem;
  display: block;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:before {
  font-family: FontAwesome;
  display: inline-block;
  font-size: 1rem;
  font-weight: normal;
  width: 1rem;
  margin-right: 1rem;
  text-align: center;
}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--dashboard a:before {
  content: "\f0e4";
}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--orders a:before {
  content: "\f0f6";
}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--downloads a:before {
  content: "\f019";
}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--edit-address a:before {
  content: "\f041";
}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--edit-account a:before {
  content: "\f044";
}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:before {
  content: "\f08b";
}

.woocommerce .woocommerce-MyAccount-content table.shop_table tr:not(:last-child) td {
  border-bottom: 1px solid var(--color-border);
}
.woocommerce .woocommerce-MyAccount-content table.shop_table td {
  color: var(--color-description);
}
.woocommerce-MyAccount-content table.shop_table .woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status {
  color: #FFB951;
}
.woocommerce-MyAccount-content table.shop_table .woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status {
  color: #32F6B1;
}
.woocommerce-MyAccount-content table.shop_table .woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status {
  color: rgba(255, 95, 83, 1);
}
.woocommerce .woocommerce-MyAccount-content table.shop_table td .woocommerce-Price-amount.amount {
  color: var(--color-font);
}
.woocommerce .woocommerce-MyAccount-content .col-1,
.woocommerce .woocommerce-MyAccount-content .col-2 {
  max-width: unset;
  padding-right: 0;
  padding-left: 0;
}
.woocommerce .woocommerce-MyAccount-content .woocommerce-Address address {
  color: var(--color-description);
}
.woocommerce-account .addresses .title h3 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.woocommerce-account .addresses .title h3,
.woocommerce-account .addresses .title .edit {
  float: none;
}

.woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-1,
.woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-2 {
  max-width: unset;
}

.woocommerce form .show-password-input,
.woocommerce-page form .show-password-input {
  right: 1em;
  top: 0.8em;
}
@media only screen and (max-width: 992px) {
  .woocommerce-account .woocommerce-MyAccount-navigation {
    width: 30%;
  }
}
@media only screen and (max-width: 767px) {
  .woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100%;
    margin-bottom: 4rem;
  }
}
@media only screen and (max-width: 580px) {
  .woocommerce-account .woocommerce-MyAccount-navigation {
    margin-bottom: 2.5rem;
  }
}

/* Notices */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message,
.wc-block-components-notice-banner.is-error,
.wc-block-components-notice-banner.is-success,
.wc-block-components-notice-banner.is-warning,
.wc-block-components-notice-banner.is-info {
  background-color: var(--color-woo-misc) !important;
  color: var(--color-font);
  border: 0;
  border-left: 3px solid var(--color-border);
  line-height: normal;
}
.single-product .wc-block-components-notice-banner.is-error,
.single-product .wc-block-components-notice-banner.is-success,
.single-product .wc-block-components-notice-banner.is-warning,
.single-product .wc-block-components-notice-banner.is-info,
.woocommerce-MyAccount-content .wc-block-components-notice-banner.is-error,
.woocommerce-MyAccount-content .wc-block-components-notice-banner.is-success,
.woocommerce-MyAccount-content .wc-block-components-notice-banner.is-warning,
.woocommerce-MyAccount-content .wc-block-components-notice-banner.is-info {
  line-height: 35px;
}
.wc-block-components-notice-banner {
  border-radius: 0 !important;
  align-items: center !important;
  font-size: 1rem !important;
  margin-bottom: 2rem !important;
}
[data-theme="dark"] .wc-block-components-notice-banner > svg {
  fill: #19191B !important;
}
.wc-block-components-notice-banner.is-warning {
  border-left-color: #FFB951 !important;
}
.wc-block-components-notice-banner.is-warning > svg {
  background-color: #FFB951 !important;
}
.woocommerce-info,
.wc-block-components-notice-banner.is-info {
  border-left-color: #30aaed !important;
}
.woocommerce-info::before {
  color: #30aaed;
}
.wc-block-components-notice-banner.is-info > svg {
  background-color: #30aaed !important;
}
.woocommerce-message,
.wc-block-components-notice-banner.is-success {
  border-left-color: #32F6B1 !important;
}
.woocommerce-message::before {
  color: #32F6B1;
}
.wc-block-components-notice-banner.is-success > svg {
  background-color: #32F6B1 !important;
}
.woocommerce-error,
.wc-block-components-notice-banner.is-error {
  border-left-color: rgba(255, 95, 83, 1) !important;
}
.wc-block-components-notice-banner.is-error > svg {
  background-color: rgba(255, 95, 83, 1) !important;
}
.woocommerce-error::before {
  color: rgba(255, 95, 83, 1);
}
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-message,
.single-product .woocommerce-error,
.single-product .woocommerce-info,
.single-product .woocommerce-message {
  line-height: 2.2;
}
.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
  top: 1.25em !important;
}
body.woocommerce-account .woocommerce-error::before,
body.woocommerce-account .woocommerce-info::before,
body.woocommerce-account .woocommerce-message::before,
body.single-product .woocommerce-error::before,
body.single-product .woocommerce-info::before,
body.single-product .woocommerce-message::before {
  top: 1em !important;
}
.woocommerce .wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward {
  color: var(--color-accent) !important;
  opacity: 1 !important;
  line-height: 1 !important;
  padding: .612rem 1rem !important;
  margin-left: 1rem;
  text-decoration-line: none !important;
}
.woocommerce .wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward:hover {
  color: var(--color-bg) !important;
}
.woocommerce-message a.button,
.woocommerce-info a.button,
.woocommerce-error a.button{
  line-height: 1;
  padding: .612rem 1rem;
  margin-right: -1rem;
}

.wc-block-components-notice-banner > .wc-block-components-button.wp-element-button {
  margin: 0 0 0 auto !important;
  opacity: 1 !important;
}
.wc-block-components-notice-banner > .wc-block-components-button svg path {
  fill: var(--color-description);
}

/* Tracking Page */
.woocommerce form.woocommerce-form-track-order {
  max-width: 500px;
  margin: 0 auto;
  margin-bottom: 4rem;
  padding: 1.5rem;
  border: 1px solid var(--color-border);
}
.woocommerce form.woocommerce-form-track-order .form-row-first,
.woocommerce form.woocommerce-form-track-order .form-row-last {
  float: none;
  width: 100%;
  margin-bottom: 1rem;
}
.woocommerce form.woocommerce-form-track-order .button{
  width: 100%;
}

/* Login/Register Form */
.woo-customer_wrapper,
.woocommerce form.lost_reset_password {
  max-width: 500px;
  margin: 0 auto;
  border: 1px solid var(--color-border);
}
.woo-customer_wrapper form.login,
.woo-customer_wrapper form.register {
  border: none;
  padding: 1.5rem;
  margin: 0;
}
.woo-customer_login,
.woo-customer_register {
  display: none;
  text-align: center;
}
.woo-customer_login.active,
.woo-customer_register.active {
  display: block;
}
.woo-signup,
.woo-signin {
  margin-top: 2rem;
  margin-bottom: 0;
  text-align: center;
}
.woo-customer_login h2,
.woo-customer_register h2 {
  margin-bottom: 1rem;
}
.woo-signup,
.woo-signin {
  color: var(--color-font);
}
.woo-form__rememberme-lost-password {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.woo-customer_register .woocommerce-form-register__submit,
.woocommerce form.lost_reset_password .form-row-first,
.woocommerce form.lost_reset_password .button {
  width: 100%;
}
.woocommerce form.lost_reset_password .button:hover[disabled="disabled"] {
  color: var(--color-bg) !important;
}
.woocommerce form.lost_reset_password .button[disabled="disabled"] {
  color: var(--color-accent) !important;
}
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme {
  margin-bottom: 0;
}
.woocommerce .woocommerce-form-login .woocommerce-form-login__submit {
  float: none;
  margin-right: 0;
}
.woocommerce form.lost_reset_password {
  padding: 1.5rem;
}
.woocommerce-checkout form.woocommerce-form-login,
.woocommerce-checkout form.checkout_coupon {
  display: block;
  max-width: 500px;
  margin: 0 auto 2rem;
  border: 1px solid var(--color-border);
  padding: 1.5rem;
  text-align: left;
  border-radius: 0;
}
.woocommerce form.login .form-row,
.woocommerce form.lost_reset_password .form-row-first {
  margin-bottom: 1rem;
}
.woocommerce form.login .form-row-first {
  margin-bottom: 2rem;
}
.woocommerce form.login .lost_password {
  margin-bottom: 0;
}
.woocommerce form.login .form-row-first,
.woocommerce form.login .form-row-last {
  width: 100%;
}
.woocommerce .woocommerce-form-login .woocommerce-form-login__submit {
  width: 100%;
}

/* My Account */
.header-myaccount {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-width: 3rem;
  width: 3rem;
  height: 3rem;
  pointer-events: initial;
  vertical-align: middle;
}

/* Mini Cart */
.header-cart {
  display: flex;
  align-items: center;
  position: relative;
  pointer-events: initial;
}
.header-cart__button,
.header-cart-mini__close-button {
  position: relative;
  padding: 0;
  background-color: transparent;
  border: none;
  cursor: pointer;
  text-align: center;
  outline: none;
  min-width: 3rem;
  width: 3rem;
  height: 3rem;
  display: inline-flex;
  vertical-align: middle;
  align-items: center;
  justify-content: center;
}
.header-cart__icon,
.header-myaccount__icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.header-cart__icon svg path,
.header-myaccount__icon svg path,
.header-cart-mini__icon svg path {
  fill: var(--color-font);
}
.navbar.navbar--light .header-cart__icon svg path,
.navbar.navbar--light .header-myaccount__icon svg path {
  fill: #fff;
}
.navbar.sticky .header-cart__icon svg path,
.navbar.sticky .header-myaccount__icon svg path {
  fill: var(--color-font);
}
.header-cart__count {
  position: absolute;
  top: -2px;
  right: -4px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 1.125rem;
  min-height: 1.125rem;
  min-width: 1.125rem;
  padding: 0 .25rem;
  font-size: .7rem;
  line-height: 20px;
  font-weight: 600;
  background-color: var(--color-accent);
  color: var(--color-bg);
  border-radius: 1rem;
}
.header-cart__count.header-cart__icon-bag,
.header-cart__count.header-cart__icon-basket {
  top: -1px;
  right: -1px;
}
.header-cart-mini {
  position: absolute;
  right: 0;
  top: 100%;
  width: 440px;
  padding: .6rem 1.5rem .5rem;
  box-shadow: var(--color-submenu-shadow);
  opacity: 0;
  visibility: hidden;
  transform-origin: 50% -50px;
  transform: perspective(500px) rotateX(-10deg);
  transition: transform ease-in-out 0.3s;
  z-index: 10;
}
.header-cart-mini.visible {
  transform: none;
  visibility: visible;
  opacity: 1;
}
.header-cart-mini__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.header-cart-mini__title {
  margin-bottom: 0;
}
.header-cart-mini__close-button {
  margin-right: -1rem;
}
.woocommerce-mini-cart__buttons {
  display: flex;
  justify-content: space-between;
}
.woocommerce-mini-cart__buttons .button {
  width: calc(50% - .75rem);
  text-align: center;
}
.header-cart ul.product_list_widget {
  max-height: 300px;
  overflow-x: hidden;
  overflow-y: auto;
  list-style: none outside;
  padding: 0;
  margin: 0;
}
.header-cart ul.product_list_widget li {
  position: relative;
  display: block;
  padding: 0;
  width: 100%;
  padding: 1rem 0;
  border-bottom: solid 1px rgba(132, 132, 132, 0.2);
}
.header-cart ul.product_list_widget li::after {
  content: " ";
  display: table;
  clear: both;
}
.header-cart ul.product_list_widget li a {
  display: block;
}
.header-cart ul.product_list_widget li img {
  float: left;
  object-fit: cover;
  width: 75px;
  min-width: 75px;
  height: 100%;
  margin-right: 1rem;
  margin-left: 0;
}
.header-cart ul.product_list_widget li a:has(img) {
  font-weight: 500;
  line-height: normal;
  color: var(--color-font);
  padding-right: 1.25rem;
}
.header-cart ul.product_list_widget li .quantity {
  display: inline-block;
  color: var(--color-description);
}
.header-cart ul.product_list_widget li .remove {
  position: absolute;
  top: 1rem;
  right: 0;
  height: 1em;
  width: 1em;
  text-align: center;
  border-radius: 100%;
  border: 0;
  font-weight: 400;
  font-size: 1.3em;
  line-height: 1.1;
  color: var(--color-description) !important;
  transition: all .2s;
}
.header-cart ul.product_list_widget li .remove:hover {
  background: var(--color-border);
  color: var(--color-font) !important;
}
.header-cart .woocommerce-mini-cart__total {
  margin: 1.5rem 0;
}
.header-cart .woocommerce-mini-cart__total .woocommerce-Price-amount {
  float: right;
  color: var(--color-font);
}
@media only screen and (max-width: 580px) {
  .woocommerce-actions {
    margin-left: 0;
  }
  .header-myaccount,
  .header-cart {
    margin-left: 1rem;
  }
  .header-myaccount,
  .header-cart__button {
    min-width: 2rem;
    width: 2rem;
    height: 2rem;
  }
  .header-cart__count {
    top: -10px;
    right: -12px;
  }
  .header-cart__count.header-cart__icon-bag,
  .header-cart__count.header-cart__icon-basket {
    top: -7px;
    right: -8px;
  }
  .header-cart-mini {
    right: -57px;
    left: auto;
    top: 120%;
    width: 400px;
    padding: 0 1rem 0;
  }
  .header-cart-mini__inner {
    margin-bottom: .5rem;
  }
}

/* Input */
.wc-block-components-form .wc-block-components-text-input input[type=email],
.wc-block-components-form .wc-block-components-text-input input[type=number],
.wc-block-components-form .wc-block-components-text-input input[type=password],
.wc-block-components-form .wc-block-components-text-input input[type=tel],
.wc-block-components-form .wc-block-components-text-input input[type=text],
.wc-block-components-form .wc-block-components-text-input input[type=url],
.wc-block-components-text-input input[type=email],
.wc-block-components-text-input input[type=number],
.wc-block-components-text-input input[type=password],
.wc-block-components-text-input input[type=tel],
.wc-block-components-text-input input[type=text],
.wc-block-components-text-input input[type=url],
.wc-blocks-components-select .wc-blocks-components-select__container {
  height: 54px !important;
}

.wc-block-components-text-input input[type=text],
.wc-block-components-text-input input[type=email],
.wc-block-components-text-input input[type=tel],
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-block-components-textarea {
  border-color: var(--color-border) !important;
  border-radius: 0 !important;
  color: var(--color-font) !important;
  background-color: transparent !important;
}
.wc-block-components-text-input.is-active input[type=text],
.wc-block-components-text-input.is-active input[type=email],
.wc-block-components-text-input.is-active input[type=tel],
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
  padding: 1.5rem 1rem 0.5rem 1rem !important;
}
.wc-block-components-text-input input[type=text]:focus,
.wc-block-components-text-input input[type=email]:focus,
.wc-block-components-text-input input[type=tel]:focus,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input:focus,
.wc-block-components-textarea:focus {
  color: var(--color-font) !important;
  border: 1px solid var(--color-border-input-focus) !important;
  box-shadow: none !important;
  background-color: transparent !important;
}
.wc-block-components-text-input label,
.wc-block-components-combobox .wc-block-components-combobox-control label.components-base-control__label {
  left: 1rem !important;
  top: 1.7rem !important;
  color: var(--color-description) !important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-combobox.is-active .wc-block-components-combobox-control label.components-base-control__label {
  top: 0 !important;
}
.wc-block-components-text-input.has-error label {
  color: rgba(255, 95, 83, 1) !important;
}
.wc-block-components-text-input.has-error input {
  border-color: rgba(255, 95, 83, 1) !important;
}

body[data-theme="dark"] .wc-block-components-combobox .wc-block-components-combobox-control .components-form-token-field__suggestions-list {
  background-color: #1e1e1e !important;
}
body[data-theme="light"] .wc-block-components-combobox .wc-block-components-combobox-control .components-form-token-field__suggestions-list {
  background-color: #fff !important;
  /* border: 1px solid var(--color-border) !important; */
}
.wc-block-components-combobox .wc-block-components-combobox-control .components-form-token-field__suggestions-list {
  color: var(--color-font) !important;
  border-left-color: var(--color-border-input-focus) !important;
  border-right-color: var(--color-border-input-focus) !important;
  border-bottom-color: var(--color-border-input-focus) !important;
  border-radius: 0 !important;
  left: 1px !important;
}
.wc-block-components-combobox .wc-block-components-combobox-control .components-form-token-field__suggestions-list .components-form-token-field__suggestion {
  color: var(--color-font) !important;
}
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input[aria-expanded=true] {
  box-shadow: none !important;
}
.wc-block-components-combobox .wc-block-components-combobox-control .components-form-token-field__suggestions-list .components-form-token-field__suggestion.is-selected {
  background-color: var(--color-woo-misc) !important;
}
.wc-block-components-combobox .wc-block-components-combobox-control .components-form-token-field__suggestions-list .components-form-token-field__suggestion:hover {
  color: var(--color-bg) !important;
  background-color: var(--color-accent) !important;
}

.wc-block-components-radio-control .wc-block-components-radio-control__input {
  background: var(--color-bg) !important;
  border: 2px solid var(--color-border) !important;
}
.wc-block-components-radio-control .wc-block-components-radio-control__input:checked {
  border-color: var(--color-accent) !important;
  background-color: var(--color-accent) !important;
}
.wc-block-components-radio-control .wc-block-components-radio-control__input:checked:before {
  background: var(--color-bg) !important;
}
.wc-block-components-radio-control .wc-block-components-radio-control__input:focus {
  outline: none !important;
  outline-offset: 0 !important;
}

.wc-blocks-components-select .wc-blocks-components-select__container {
  background: transparent !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 0 !important;
}
.wc-blocks-components-select .wc-blocks-components-select__container .wc-blocks-components-select__label {
  color: var(--color-description) !important;
  left: 1em !important;
}
.wc-blocks-components-select .wc-blocks-components-select__container .wc-blocks-components-select__select {
  color: var(--color-font) !important;
  padding: 1em 1em 0 !important;
}
.wc-blocks-components-select .wc-blocks-components-select__expand {
  fill: var(--color-font) !important;
}

.wc-block-components-validation-error p {
  color: rgba(255, 95, 83, 1) !important;
}

.wc-block-components-checkout-step__heading-content a {
  color: var(--color-accent) !important;
}

.wc-block-checkout__pickup-options .wc-block-components-local-pickup-rates-control .wc-block-components-radio-control__description,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-local-pickup-rates-control .wc-block-components-radio-control__description {
  color: var(--color-font) !important;
}

.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
  border-radius: 0 !important;
  box-shadow: none !important;
}

.wc-block-components-radio-control-accordion-content {
  background-color: var(--color-woo-misc);
}