@charset "UTF-8";

/*
Theme Name: Dudinszky
Author: webwork
Author URI: https://webwork.hu
Version: 1.0
Text Domain: webwork
*/


/* ==========================================================================
   Table of contents:
   ==========================================================================


# Root
# Document Setup
# Misc
# Header
# Page
# Blog
# Blog Posts
# Portfolio
# Comments
# Sidebar
# Widgets
# Navigation
# Footer
# ACF Fields
# Custom CSS


========================================================================== */





/* ==========================================================================
   # Root
   ========================================================================== */
:root {
  --text-color: #333333;
  --bg-color: #ffffff;
  --black: #101010;
  --white: #ffffff;
  --color: #8C7F0B;
  --border-color: #dadada;
  --light-gray: #fafafa;
  --gray: #f5f5f5;
  --dark-gray: #f0f0f0;
  --dark: #8b8a8d;
  --red: #ff0b0b;
  --blue: #162c83;
  --yellow: #ffff00;
  --gold: #ffc000;
  --green: #49c5b6;
  --dark-green: #4f5c4c;
  --font-family: "Inter", sans-serif;
  --icon-family: "Line Awesome Free";
  --font-normal: 400;
  --font-medium: 500;
  --font-bold: 600;
  --font-extrabold: 700;
  --font-black: 900;
  --font-size-30: 1.875rem;
  --font-size-24: 1.5rem;
  --font-size-22: 1.375rem;
  --font-size-20: 1.25rem;
  --font-size-18: 1.125rem;
  --font-size-16: 1rem;
  --font-size-14: .875rem;
  --font-size-12: .75rem;
  --font-size-10: .625rem;
  --line-height-base: 1.3;
  --font-size-xl-max: 134; /* HC 94; */
  --font-size-xl-min: 42; /* HC 30; */
  --font-size-xl: calc(var(--font-size-xl-min) * 1px + (var(--font-size-xl-max) - var(--font-size-xl-min)) * ((100vw - 320px) / (1440 - 320)));
  --font-size-lg-max: 102;
  --font-size-lg-min: 42;
  --font-size-lg: calc(var(--font-size-lg-min) * 1px + (var(--font-size-lg-max) - var(--font-size-lg-min)) * ((100vw - 320px) / (1440 - 320)));
  --font-size-md-max: 82;
  --font-size-md-min: 42;
  --font-size-md: calc(var(--font-size-md-min) * 1px + (var(--font-size-md-max) - var(--font-size-md-min)) * ((100vw - 320px) / (1440 - 320)));
  --font-size-h1-max: 48;
  --font-size-h1-min: 34;
  --font-size-h1: calc(var(--font-size-h1-min) * 1px + (var(--font-size-h1-max) - var(--font-size-h1-min)) * ((100vw - 320px) / (1440 - 320)));
  --font-size-h2-max: 34;
  --font-size-h2-min: 24;
  --font-size-h2: calc(var(--font-size-h2-min) * 1px + (var(--font-size-h2-max) - var(--font-size-h2-min)) * ((100vw - 320px) / (1440 - 320)));
  --font-size-h3-max: 22;
  --font-size-h3-min: 20;
  --font-size-h3: calc(var(--font-size-h3-min) * 1px + (var(--font-size-h3-max) - var(--font-size-h3-min)) * ((100vw - 320px) / (1440 - 320)));
  --font-size-h4-max: 20;
  --font-size-h4-min: 18;
  --font-size-h4: calc(var(--font-size-h4-min) * 1px + (var(--font-size-h4-max) - var(--font-size-h4-min)) * ((100vw - 320px) / (1440 - 320)));
  --font-size-h5-max: 18;
  --font-size-h5-min: 16;
  --font-size-h5: calc(var(--font-size-h5-min) * 1px + (var(--font-size-h5-max) - var(--font-size-h5-min)) * ((100vw - 320px) / (1440 - 320)));
  --font-size-h6-max: 16;
  --font-size-h6-min: 14;
  --font-size-h6: calc(var(--font-size-h6-min) * 1px + (var(--font-size-h6-max) - var(--font-size-h6-min)) * ((100vw - 320px) / (1440 - 320)));
}





/* ==========================================================================
   # Document Setup
   ========================================================================== */
* {
  box-sizing: border-box;
  /* cursor: none; */
}

html {
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}

body {
  overflow-x: hidden;
  overflow-wrap: break-word;
  margin: 0;
  color: var(--white);
  background-color: var(--black);
  font-family: var(--font-family);
  font-size: var(--font-size-16);
  line-height: 1.7;
}
@media (min-width: 2000px) {
	body {
		font-size: var(--font-size-30);
	}
}

body.mobile-menu-active .site {
  margin-left: 45vw;
  white-space: nowrap;
  transition: margin-left 0.3s ease-in-out;
}

body:not(.mobile-menu-active) .site {
  margin-left: 0;
  overflow-wrap: break-word;
  transition: margin-left 0.3s ease-in-out;
}

.site-main {
  /*overflow-x: hidden;*/
}


/* # Fonts ------------------------------------------------------------------ */
@font-face {
  font-family: "Inter";
  font-display: swap;
  src: url(assets/fonts/Inter-Regular.woff2) format("woff2");
}

@font-face {
  font-family: "Inter";
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/Inter-Bold.woff2) format("woff2");
}

@font-face {
  font-family: "Inter";
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/Inter-ExtraBold.woff2) format("woff2");
}


/* # Clearings -------------------------------------------------------------- */
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
  content: "";
  display: table;
  table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both;
}

.clearfix {
  clear: both;
}


/* # Typography ------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  clear: both;
  margin: 1rem 0;
  color: var(--white);
  font-family: var(--font-family);
}
@media (min-width: 2000px) {
	h3, .h3 {
		font-size: xxx-large !important;
	}
}

h1,
.h1 {
  margin-top: 0;
	font-size: var(--font-size-h1);
  line-height: 1.15;
  letter-spacing: -0.03em;
}

h2,
.h2 {
	font-size: var(--font-size-h2);
  line-height: 1.15;
  letter-spacing: -0.03em;
}

h3,
.h3 {
	font-size: var(--font-size-h3);
  line-height: 1.15;
	letter-spacing: -0.03em;
}

h4,
.h4 {
  font-size: var(--font-size-h4);
  line-height: 1.25;
}

h5,
.h5 {
	font-size: var(--font-size-h5);
  line-height: 1.35;
}

h6,
.h6 {
  font-size: var(--font-size-h6);
}

p {
  margin: 1.25rem 0;
}

p:last-child {
  margin-bottom: 0;
}

.search-no-results .alert > p {
  margin-bottom: 1.875rem;
}


/* # Links ------------------------------------------------------------------ */
a {
  color: var(--white);
  transition: all 0.3s ease-in-out;
}
a:hover, a:focus, a:active {
  text-decoration: none;
  color: var(--color);
}
a:focus {
  outline: none;
}
a:hover, a:active {
  outline: 0;
}

.link,
.link-white,
.link-color {
  position: relative;
  display: inline-block;
  font-size: var(--font-size-14);
  text-decoration: none;
  transition: all 0.3s ease;
}

.link {
  color: var(--dark);
}

.link-white {
  color: var(--white);
}

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

.link:hover {
  color: var(--white);
}

.link-white:hover,
.link-color:hover {
  color: var(--dark);
}

.link i {
  rotate: -45deg;
  transition: .3s all;
}

.link:hover i {
  rotate: 0deg;
}


/* # Buttons ---------------------------------------------------------------- */
.btn,
.btn-white,
.btn-color,
input[type="button"],
input[type="reset"],
input[type="submit"],
button:not(.mobile-menu__search button):not(.customize-partial-edit-shortcut-button):not(.accordion):not(.gdpr_lightbox-close),
.woocommerce a.button:not(.woocommerce ul.products li.product .button):not(.woocommerce-info a.button),
.woocommerce-page a.button:not(.woocommerce ul.products li.product .button):not(.woocommerce-info a.button) {
  display: inline-block;
  position: relative;
  color: var(--white);
  background-color: #222;
  font-size: var(--font-size-12);
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.3px;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  text-shadow: none;
  padding: 1rem !important;
  min-width: 8rem;
  outline: 0;
  border-width: 0;
  border-style: solid;
  border-color: transparent;
  border-radius: 0;
  vertical-align: middle;
  cursor: pointer;
  transition: all 0.25s ease;
}
@media (min-width: 2000px) {
	.btn, .btn-white, .btn-color, input[type="button"], input[type="reset"], input[type="submit"], button:not(.mobile-menu__search button):not(.customize-partial-edit-shortcut-button):not(.accordion), .woocommerce a.button:not(.woocommerce ul.products li.product .button):not(.woocommerce-info a.button), .woocommerce-page a.button:not(.woocommerce ul.products li.product .button):not(.woocommerce-info a.button) {
		font-size: var(--font-size-30);
		padding: 2rem 8rem !important;
		min-width: 14rem;
	}
}

.btn:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
button:not(.mobile-menu__search button):not(.customize-partial-edit-shortcut-button):hover,
.woocommerce a.button:not(.woocommerce ul.products li.product .button):hover,
.woocommerce-page a.button:not(.woocommerce ul.products li.product .button):hover {
  color: var(--white);
  background-color: var(--color);
}

button:active, button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
  outline: none;
}

.btn-white {
  color: var(--color);
  background-color: var(--white);
}

.btn-color {
  color: var(--white);
  background-color: var(--color);
}

.btn:hover,
.btn-white:hover,
.btn-color:hover {
  color: var(--white);
  background-color: var(--color);
}

.btn-color:hover {
  color: var(--white);
  background-color: var(--black);
}

.btn-menu {
  padding: 1rem !important;
}

.btn-menu a {
  color: var(--white) !important;
  font-size: .75rem !important;
  line-height: 0 !important;
}


/* # Alignments ------------------------------------------------------------- */
.alignnone,
.aligncenter,
.alignleft,
.alignright,
.alignwide {
  margin: 2rem auto;
}

.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
}

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
}

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

.content-wrapper__narrow .alignfull,
.content-wrapper__fullwidth .alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: auto;
  max-width: 1000%;
}

.content-wrapper__narrow .alignwide,
.content-wrapper__fullwidth .alignwide {
  margin-left: calc(25% - 25vw);
  margin-right: calc(25% - 25vw);
  width: auto;
  max-width: 1000%;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

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

.text-lowercase {
  text-transform: lowercase;
}

.text-uppercase {
  text-transform: uppercase;
}

.text-capitalize {
  text-transform: capitalize;
}

@media (max-width: 991.98px) {
  .m-text-center {
    text-align: center;
  }
}


/* # Elements --------------------------------------------------------------- */
blockquote {
  position: relative;
  margin: 1.875rem;
  padding: 1.875rem;
}

blockquote::before {
  content: "“";
  position: absolute;
  font-size: 5rem;
  line-height: 1;
  top: -1rem;
  left: -0.75rem;
  color: var(--color);
}

hr {
  height: 1px;
  margin: 1.875rem;
  border: 0;
  background-color: var(--light-gray);
}

code {
  padding: 2px 4px;
  font-family: monospace;
  border-radius: 0.25rem;
  background-color: var(--gray);
}

mark {
  color: black;
  background-color: var(--yellow);
}

ins {
  text-decoration: underline;
}

dt {
  font-weight: bold;
}

dd {
  margin: 0 1.5em 1.5em;
}


/* # Media ------------------------------------------------------------------ */
figure {
  position: relative;
  display: block;
  margin: 0;
}

figcaption {
  position: absolute;
  bottom: 1.5rem;
  left: 0;
  background-image: linear-gradient(100deg, #222, #2223);
  padding: 0.25rem 1rem;
  color: var(--white);
  z-index: 10;
}

iframe {
  display: block;
  max-width: 100%;
}

video {
  display: block;
}

svg,
img,
embed,
object {
  display: block;
  height: auto;
  max-width: 100%;
}

.gallery {
  margin-bottom: 1.5em;
  position: relative;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  margin-bottom: 5px;
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 100%;
}
.gallery-item img {
  width: 100%;
  height: auto;
}
.gallery-item:hover .gallery-caption {
  opacity: 1;
  visibility: visible;
}
.gallery-columns-2 .gallery-item {
  width: calc(50% - 5px);
}
.gallery-columns-3 .gallery-item {
  width: calc(33.33% - 5px);
}
.gallery-columns-4 .gallery-item {
  width: calc(25% - 5px);
}
.gallery-columns-5 .gallery-item {
  width: calc(20% - 5px);
}
.gallery-columns-6 .gallery-item {
  width: calc(16.66% - 5px);
}
.gallery-columns-7 .gallery-item {
  width: calc(14.28% - 5px);
}
.gallery-columns-8 .gallery-item {
  width: calc(12.5% - 5px);
}
.gallery-columns-9 .gallery-item {
  width: calc(11.11% - 5px);
}
@media (max-width: 991.98px) {
  .gallery-columns-2 .gallery-item, .gallery-columns-3 .gallery-item, .gallery-columns-4 .gallery-item, .gallery-columns-5 .gallery-item, .gallery-columns-6 .gallery-item, .gallery-columns-7 .gallery-item, .gallery-columns-8 .gallery-item, .gallery-columns-9 .gallery-item {
    width: calc(50% - 5px);
  }
}
@media (max-width: 767.98px) {
  .gallery-columns-2 .gallery-item, .gallery-columns-3 .gallery-item, .gallery-columns-4 .gallery-item, .gallery-columns-5 .gallery-item, .gallery-columns-6 .gallery-item, .gallery-columns-7 .gallery-item, .gallery-columns-8 .gallery-item, .gallery-columns-9 .gallery-item {
    width: 100%;
  }
}


/* # Forms ------------------------------------------------------------------ */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea,
.form-control {
  color: var(--white);
  border: none;
  border-bottom: 1px solid var(--text-color);
  border-radius: 0;
  appearance: none;
  padding: 6px 12px 6px 0;
  box-shadow: none;
  transition: all 0.3s ease;
  font-size: var(--font-size-14);
  width: 100%;
  height: 45px;
  background-color: transparent;
}
@media (min-width: 2000px) {
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea,
	.form-control {
		padding: 25px 12px 50px 0;
		font-size: var(--font-size-30);
	}
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus,
.form-control:focus {
  outline: none;
  border-color: var(--dark);
}

input[type=checkbox],
input[type=radio] {
  accent-color: var(--black);
}

select {
  height: 45px;
  border: 1px solid var(--border-color);
  border-radius: 0;
  background-color: var(--white);
}

select:focus {
  outline: 0;
}

textarea {
  width: 100%;
  height: 150px;
}

.form-control.search-header-input:focus {
  border-color: var(--border-color);
}

.field-input-group {
  display: table;
  width: 100%;
}

.field-input-group .group-control,
.field-input-group .group-addon {
  display: table-cell;
}

.field-input-group .group-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}

.field-input-group .group-addon {
  position: relative;
  white-space: nowrap;
  width: 1%;
  vertical-align: middle;
}


/* # Tables ----------------------------------------------------------------- */
table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 30px;
}

table > thead > tr > th,
table > thead > tr > td,
table > tbody > tr > th,
table > tbody > tr > td,
table > tfoot > tr > th,
table > tfoot > tr > td {
  padding: .5rem;
  line-height: 1;
  vertical-align: top;
  border-top: 1px solid var(--text-color);
}

table > thead > tr > th {
  vertical-align: bottom;
}

table > caption + thead > tr:first-child > th,
table > caption + thead > tr:first-child > td,
table > colgroup + thead > tr:first-child > th,
table > colgroup + thead > tr:first-child > td,
table > thead:first-child > tr:first-child > th,
table > thead:first-child > tr:first-child > td {
  border-top: 0;
}

table > tbody + tbody {
  border-top: 2px solid var(--border-color);
}





/* ==========================================================================
   # Misc
   ========================================================================== */


/* # Fullwidth -------------------------------------------------------------- */
.fullwidth {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}
@media (min-width: 768px) {
  .fullwidth .container .hero-caption > *:first-child {
    margin-left: 1.333333%;
  }
}


/* # Subtitle --------------------------------------------------------------- */
.subtitle {
  color: var(--text-color);
  font-size: var(--font-size-14);
  font-weight: bold;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0.5rem;
}


/* # Gradient --------------------------------------------------------------- */
.gradient::after {
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  display:inline-block;
  background: linear-gradient(to bottom, rgb(0 0 0 / 0%) 0%,rgb(0 0 0 / 50%) 100%);
}


/* # Zoom Hover ------------------------------------------------------------- */
.hover {
  position: relative;
  overflow: hidden;
}

.hover img {
  transition: all 0.3s;
}

.hover:hover img {
  transform: scale(1.1);
}


/* # Swiper Arrows ---------------------------------------------------------- */
.swiper-button-next,
.swiper-button-prev {
  --swiper-navigation-size: .75rem;
  --swiper-navigation-color: var(--white);
  background-color: var(--color);
  border-radius: 100%;
  padding: 1.177rem;
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
  right: var(--swiper-navigation-sides-offset,60px);
  left: auto;
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset,10px);
  left: auto;
}

.swiper-button-next, .swiper-button-prev {
  top: var(--swiper-navigation-top-offset,85%);
}


/* # Width ------------------------------------------------------------------ */
@media (min-width: 992px) {
  .w-35 {
    width: 35%;
  }
  .w-75 {
    width: 75%;
  }
}


/* # CSS Classes ------------------------------------------------------------ */
.white {
  color: var(--white) !important;
}

.black {
  color: var(--black) !important;
}

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

.moveup {
  transition: all 0.3s ease;
}

.moveup:hover {
  transform: translateY(-10px);
}

.display-table {
  display: table;
}

.display-table-cell {
  display: table-cell;
}

.va-middle {
  vertical-align: middle;
}

.height-100 {
  height: 100%;
}

.img-full {
  width: 100%;
  height: auto;
}

.bold {
  font-weight: bold;
}

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

.large-title {
  /*font-size: var(--font-size-xl);*/
  font-size:clamp(3.2rem, 5vw, 4.375rem);
	font-weight: var(--font-bold) !important;
  letter-spacing: -0.06em;
  line-height: 1;
}

.large {
  /*font-size: var(--font-size-lg);*/
	/*font-size: clamp(1.9rem, 4.5vw, 3.125rem);*/
	font-size:clamp(3.2rem, 5vw, 3.375rem);
line-height: 1.15;
  font-weight: var(--font-bold) !important;
  letter-spacing: -0.06em;
  line-height: 1;
}

.dec-none {
  text-decoration: none;
}

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

.sub-title {
  color: var(--dark);
  font-size: var(--font-size-16);
  letter-spacing: normal;
  line-height: 1.5;
  text-indent: 0;
  margin-top: 0;
  float: left;
}
@media (min-width: 2000px) {
	.sub-title {
		font-size: var(--font-size-30);
	}
}

.text-indent {
  text-indent: 16.25vw;
}

#more {
  display: none;
}


/* # Animations ------------------------------------------------------------- */
.fadeIn {
	opacity: 0;
	transition: all 700ms cubic-bezier(0.250, 0.250, 0.750, 0.750);
}
  
.fadeIn.in-view {
	opacity: 1;
	transition: all 1700ms cubic-bezier(0.250, 0.250, 0.750, 0.750);
  transition-delay: .5s;
}

.moveUp {
  opacity: 0;
  transform: translateY(200px);
  transition: all 1400ms cubic-bezier(0.835, -0.090, 0.110, 1.060);
}

.moveUp.in-view {
  opacity: 1;
  transform: translateY(0);
  transition: all 1400ms cubic-bezier(0.835, -0.090, 0.110, 1.060);
}

.slide-animation {
  opacity: 0;
  transform: translateX(200px);
  transition: all 1400ms cubic-bezier(0.835, -0.090, 0.110, 1.060);
}

.slide-animation.in-view {
  opacity: 1;
  transform: translateX(0);
  transition: all 1400ms cubic-bezier(0.835, -0.090, 0.110, 1.060);
}

.slide-animation-next {
  opacity: 0;
  transform: translateX(200px);
  transition: all 1400ms cubic-bezier(0.835, -0.090, 0.110, 1.060);
}

.slide-animation-next.in-view {
  opacity: 1;
  transform: translateX(0);
  transition: all 1400ms cubic-bezier(0.835, -0.090, 0.110, 1.060);
  transition-delay: 1s;
}

.slide-in {
	visibility: hidden;
	display: block;
	height: auto;
}

.slide-in .char.in-view {
	visibility: visible !important;
	display: inline-block;
	animation: slide-in 2.0s cubic-bezier(0, 0, 0, 1) 0s both, will-change 0.2s ease-in-out;
	animation-delay: calc(0.4s * var(--char-percent) + 300ms);
	opacity: 1;
}
  
@-webkit-keyframes slide-in {
	0% {
	  opacity: 0;
		transform: translateY(100%) scaleY(0.96);
	}
}
@keyframes slide-in {
	0% {
	  opacity: 0;
			transform: translateY(100%) scaleY(0.96);
	}
}
@-webkit-keyframes will-change {
	0% {
	  will-change: transform;
	}
	100% {
	  will-change: auto;
	}
}
@keyframes will-change {
	0% {
	  will-change: transform;
	}
	100% {
	  will-change: auto;
	}
}

.home .site-hero .hero-title .whitespace {
  display: block;
}


/* # Cursor ----------------------------------------------------------------- */
.cursor {
	position: absolute;
	/*background-color: var(--color);
	border: 1px solid var(--color);*/
	width: 60px;
	height: 60px;
	top: -25px;
  left: -25px;
	border-radius: 100%;
	user-select: none;
	pointer-events: none;
	mix-blend-mode: exclusion;
	z-index: 10000;
	transform: scale(0.25);
	transition: 0.7s cubic-bezier(0.55, -1.27, 0.0, 1.33) transform, 0.2s cubic-bezier(0.55, -0.27, 0.0, 0.13) background-color;
}

.cursor.active {
	border: 1px solid var(--color);
	background-color: rgba(255, 255, 255, 0.0);
	transform: scale(1.2);
}


/* # Scrollbar -------------------------------------------------------------- */
::-webkit-scrollbar {
  width: 12px;
  background-color: #222;
}

::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px #222; 
  border-radius: 10px;
}

::-webkit-scrollbar-thumb {
  background: var(--color);
}

::-webkit-scrollbar-thumb:hover {
  background: #b8a814;
}




/* ==========================================================================
   # Header
   ========================================================================== */


/* # Top Bar ---------------------------------------------------------------- */
.topbar-header {
  position: relative;
  z-index: 3;
  color: var(--black);
  font-size: var(--font-size-12);
  line-height: 1.7;
  background-color: var(--gray);
}

.topbar-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.topbar-text {
  padding: 8px 0;
}


/* # Top Bar Navigation ----------------------------------------------------- */
.topbar-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.topbar-navigation li {
  list-style: none;
  display: inline-block;
  position: relative;
  padding: 8px 0;
}
.topbar-navigation li a {
  font-weight: var(--font-normal);
  text-decoration: none;
  font-size: var(--font-size-12);
  font-family: var(--font-family);
  color: var(--black);
  transition: 0.2s;
  display: block;
  position: relative;
}
.topbar-navigation li a:hover,
.topbar-navigation li a:active,
.topbar-navigation li a:focus {
  color: var(--black);
  text-decoration: none;
}
.topbar-navigation li + li {
  margin-left: 1.25rem;
}
.topbar-navigation li.current_page_item > a,
.topbar-navigation li.current-menu-item > a,
.topbar-navigation li.current_page_ancestor > a,
.topbar-navigation li.current-menu-ancestor > a {
  color: var(--black);
}


/* # Top Bar Social --------------------------------------------------------- */
.site-social {
  margin: 0;
  padding: 0;
  line-height: 1;
  list-style: none;
  display: initial;
}

.site-social > li:first-child {
  margin-left: 0;
}

.site-social > li:last-child {
  margin-right: 0;
}

.link-socialmedia {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0;
}

.link-socialmedia.open {
  display: block;
}

.link-socialmedia li {
  display: inline-block;
  position: relative;
  padding: 8px 0;
}

.link-socialmedia li a {
  font-size: var(--font-size-18);
  padding-left: 2px;
  padding-right: 2px;
  display: block;
  text-decoration: none;
}

@media (max-width: 991.98px) {
  .link-socialmedia {
    display: none;
  }
  .link-socialmedia.open {
    display: inline-flex;
  }
}

.link-socialmedia-trigger {
  display: none;
}
@media (max-width: 991.98px) {
  .link-socialmedia-trigger {
    display: inline-block;
  }
}

.tiktok-icon::before {
  content: "";
  display: inline-block;
  width: 1.125rem;
  height: 1.125rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50' width='50px' height='50px'%3E%3Cpath d='M41,4H9C6.243,4,4,6.243,4,9v32c0,2.757,2.243,5,5,5h32c2.757,0,5-2.243,5-5V9C46,6.243,43.757,4,41,4z M37.006,22.323 c-0.227,0.021-0.457,0.035-0.69,0.035c-2.623,0-4.928-1.349-6.269-3.388c0,5.349,0,11.435,0,11.537c0,4.709-3.818,8.527-8.527,8.527 s-8.527-3.818-8.527-8.527s3.818-8.527,8.527-8.527c0.178,0,0.352,0.016,0.527,0.027v4.202c-0.175-0.021-0.347-0.053-0.527-0.053 c-2.404,0-4.352,1.948-4.352,4.352s1.948,4.352,4.352,4.352s4.527-1.894,4.527-4.298c0-0.095,0.042-19.594,0.042-19.594h4.016 c0.378,3.591,3.277,6.425,6.901,6.685V22.323z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: bottom;
}


/* # Site Header Mobile ----------------------------------------------------- */
@media (max-width: 991.98px) {
  .site {
    overflow-x: hidden !important;
  }

  .site-header {
    right: 3% !important;
    bottom: 2% !important;
    border-radius: 10rem !important;
  }

  .site-header,
  .header-sticky-trigger,
  .header-navigation,
  .header-navigation-inner,
  .site-menu-toggle {
    height: 50px !important;
  }

  .site-menu-toggle span:nth-child(1) {
    top: 5px !important;
  }

  .site-menu-toggle span:nth-child(2) {
    position: relative !important;
    top: -5px !important;
  }

  /* .site-logo,
  .site-menu-wrap {
    display: none !important;
  } */

  .mobile-menu {
    width: 100vw !important;
  }
}


/* # Site Header ------------------------------------------------------------ */
.site-header {
  position: fixed;
  z-index: 105;
  width: 50px;
  height: 100vh;
  background-color: #222;
  cursor: pointer;
  transition: all .5s ease-in-out;
}
@media (max-width: 991.98px) {
  .site-header {
    top: 3.5%;
  }
}

.site-header:hover {
    background-color: #4d4d4d;
}

.site-header:hover .site-menu-toggle span {
  width: 1.85rem;
  background-color: #b8a814;
}

.header-sticky-trigger {
  position: relative;
  z-index: 999;
  height: 100vh;
}

.header-sticky-helper {
  transition: all 0.3s ease;
}

.header-navigation {
  position: relative;
  z-index: 998;
  width: 100%;
  height: 100vh;
  transition: all 0.2s ease;
}

.header-navigation.header-sticky.sticked {
  position: fixed;
}

.header-navigation-inner {
  position: relative;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}


/* # Site Logo -------------------------------------------------------------- */
.site-logo,
.site-logo .site-title {
  position: relative;
  z-index: 10;
  order: 1;
  margin-top: .5rem;
}

.site-logo a {
  text-decoration: none;
}

.site-title {
  margin: 0;
  font-weight: var(--font-bold);
}


/* # Site Menu -------------------------------------------------------------- */
.site-menu-wrap {
  display: flex;
  order: 3;
}

.site-menu {
  display: block;
  z-index: 5;
}

.site-menu ul {
  margin: 0;
  padding: 0;
}

.site-menu ul li {
  list-style: none;
  display: inline-block;
  position: relative;
}

.site-menu ul li a {
  font-size: var(--font-size-14);
  font-weight: var(--font-normal);
  color: var(--white);
  transition: 0.2s;
  display: block;
  line-height: 67px;
  text-decoration: none;
  position: relative;
}

.site-menu ul li a:hover,
.site-menu ul li a:active,
.site-menu ul li a:focus,
.site-menu ul li.current_page_item > a,
.site-menu ul li.current-menu-item > a,
.site-menu li ul li a:hover,
.site-menu li ul li.current_page_item > a,
.site-menu li ul li.current-menu-item > a {
  color: var(--color);
}

.site-menu ul li + li {
  margin-left: 1.25rem;
}

.site-menu ul li.menu-item-has-children > a:after {
  content: "\f107";
  font-family: var(--icon-family);
  font-weight: var(--font-black);
  margin-left: 5px;
  color: var(--color);
}

.site-menu li .subnav-toggle {
  display: none;
}

.site-menu li ul li a,
.site-menu li ul ul li a {
  line-height: 1.5;
}

.site-menu li ul {
  position: absolute;
  margin: 0;
  background-color: var(--black);
  min-width: 200px;
  padding: 0.5rem;
  opacity: 0;
  left: 0;
  visibility: hidden;
  border-width: 1px 1px 0px;
  border-color: var(--black);
  border-style: solid;
  transition: opacity 0.3s ease;
  z-index: -1;
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.08);
  transform: scaleX(0);
}

.site-menu li ul:after, .site-menu li ul:before {
  content: '';
  position: absolute;
  left: 15px;
  width: .75rem;
  height: .75rem;
  border: .75rem solid transparent;
  border-bottom-color: var(--black);
  bottom: 100%;
  margin-left: -4px;
}

.site-menu li ul:after {
  border-bottom-color: var(--black);
  top: -23px;
}

.site-menu li ul li {
  display: block;
  margin: 0;
  padding: 0 15px;
}

.site-menu li ul li a {
  margin: 0;
  padding: 10px 0 10px 15px;
}

.site-menu li ul li.menu-item-has-children > a:after {
  content: "\f105";
  font-family: var(--icon-family);
  font-weight: var(--font-black);
}

.site-menu li ul li a:before {
  content: "»";
  font-size: 1.125rem;
  color: var(--color);
  position: absolute;
  top: 6px;
  left: 0px;
}

.site-menu li:hover > ul {
  opacity: 1;
  visibility: visible;
  z-index: 5;
  transform: scaleX(1);
}

.site-menu li ul ul {
  top: -9px;
  left: 100%;
  opacity: 0;
  visibility: hidden;
  border-width: 1px 1px 0px 1px;
  transition: opacity 0.3s ease;
}

.site-menu li ul ul:after, .site-menu li ul ul:before {
  display: none;
}

@media (max-width: 991.98px) {
  .site-menu {
    display: none !important;
  }
}


/* # Site Icons ------------------------------------------------------------- */
.site-icons {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  order: 3;
  z-index: 5;
}
@media (min-width: 992px) {
  .site-icons {
    margin-left: 2rem;
  }
}

.site-icons ul.nav-link li a.link-search,
.site-icons ul.nav-link li a.cart-contents {
  display: block;
  position: relative;
  font-size: var(--font-size-20);
  line-height: 67px;
}


/* # Site Icons Nav Link ---------------------------------------------------- */
.nav-link {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0;
  display: initial;
}

.nav-link li,
.site-social li {
  display: inline-block;
  position: relative;
}

/* .nav-link > li, */
.site-social > li {
  margin-right: .625rem;
  margin-left: .625rem;
}

.nav-link > li:last-child,
.site-social > li:last-child {
  margin-right: 0;
}

.nav-link__cart,
.site-social__cart {
  position: relative;
}

.nav-link__cart .cart-contents-count,
.site-social__cart .cart-contents-count {
  position: absolute;
  font-size: var(--font-size-12);
  width: 1rem;
  height: 1rem;
  text-align: center;
  background-color: var(--color);
  line-height: 1rem;
  border-radius: 50%;
  top: 14px;
  right: 6px;
  color: var(--white);
  font-weight: var(--font-normal);
  letter-spacing: 0;
}

@media (max-width: 767.98px) {
  .nav-link > li,
  .site-social > li {
    margin-left: 5px;
    margin-right: 5px;
  }
}


/* # Site Cart -------------------------------------------------------------- */
.site-icons ul.nav-link li a.cart-contents {
  padding: 0 14px;
}

.nav-link__cart .header-cart-widget:not(:empty) {
  position: absolute;
  width: 330px;
  background-color: var(--white);
  right: 0;
  top: 51px;
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--border-color);
  padding: 1rem;
  opacity: 0;
  visibility: hidden;
  z-index: -1;
}

.nav-link__cart.active .header-cart-widget:not(:empty) {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}

.nav-link__cart .widget.widget_shopping_cart .woocommerce-mini-cart__empty-message {
  font-size: var(--font-size-14);
  margin: 0;
  text-align: center;
}

.nav-link__cart .widget.widget_shopping_cart ul.product_list_widget li {
  display: block;
  position: relative;
  padding-right: 30px;
  padding-left: 0;
  padding-top: 0;
  padding-bottom: .625rem;
  font-size: var(--font-size-14);
  border-bottom: 1px solid var(--border-color);
  margin-bottom: .625rem;
}

.nav-link__cart .widget.widget_shopping_cart ul.product_list_widget li:first-child {
  margin-top: 0;
}

.nav-link__cart .widget.widget_shopping_cart ul.product_list_widget li:last-child {
  margin-bottom: 0;
  border-bottom: 0;
  padding-bottom: 0;
}

.nav-link__cart .widget.widget_shopping_cart ul.product_list_widget li a:not(.remove) {
  font-size: var(--font-size-14);
}

.nav-link__cart .widget.widget_shopping_cart ul.product_list_widget li a.remove {
  left: auto;
  right: 0;
  color: var(--black) !important;
  opacity: .8;
}

.nav-link__cart .widget.widget_shopping_cart ul.product_list_widget li a.remove:before {
  border: 0;
}

.nav-link__cart .widget.widget_shopping_cart ul.product_list_widget li a.remove:hover {
  opacity: 1;
}

.nav-link__cart .widget.widget_shopping_cart ul.product_list_widget li img {
  width: 50px;
  border-radius: 50%;
  float: left;
  margin-left: 0;
  margin-right: 15px;
}

.nav-link__cart .widget.widget_shopping_cart ul.product_list_widget li.empty {
  padding-bottom: 5px;
  padding-right: 0;
  text-align: center;
}

.nav-link__cart .widget.widget_shopping_cart p.total {
  font-size: var(--font-size-14);
  text-align: right;
  padding-top: 0;
}

.nav-link__cart .widget.widget_shopping_cart p.total strong {
  float: left;
  font-size: var(--font-size-12);
  text-transform: uppercase;
}

.nav-link__cart .widget.widget_shopping_cart p.buttons {
  text-align: right;
}

.nav-link__cart .widget.widget_shopping_cart p.buttons a:first-of-type {
  color: var(--black) !important;
  background-color: var(--dark-gray) !important;
  margin-bottom: 0.75rem;
}

.nav-link__cart .widget.widget_shopping_cart p.buttons a:first-of-type:hover {
  color: var(--white) !important;
  background-color: var(--color) !important;
}

.nav-link__cart .widget.widget_shopping_cart p.buttons a:last-of-type {
  background-color: var(--color) !important;
}

.nav-link__cart .widget.widget_shopping_cart p.buttons a:last-of-type:hover {
  opacity: .8;
}

.nav-link__cart .widget.widget_shopping_cart p.buttons a {
  margin: 0;
  display: block !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
@media (max-width: 767.98px) {
  .nav-link__cart .header-cart-widget {
    width: 290px;
  }
}


/* # Site Search ------------------------------------------------------------ */
.link-search .las.la-search,
.mobile-menu__search .las.la-search {
  transform: scaleX(-1);
}

.site-search {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 35%;
  background-color: var(--light-gray);
  z-index: -1;
  visibility: hidden;
  opacity: 0;
  transition: all 0.8s cubic-bezier(0.55, 0, 0.1, 1);
  transform: translateY(-100%);
}

.site-search__inner {
  height: 100%;
  width: 100%;
  display: table;
}

.site-search__content {
  display: table-cell;
  vertical-align: bottom;
}

.site-search-active .site-search {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  z-index: 19;
}

.site-search__form {
  padding: 3rem 0;
}

.site-search .close-search-button {
  position: absolute;
  top: 25%;
  right: 15px;
  font-size: 25px;
  line-height: 0;
  cursor: pointer;
  color: var(--dark-gray);
  backface-visibility: hidden;
  transition: all 0.3s ease;
}

.site-search .close-search-button:hover {
  color: var(--black);
  transform: rotate(-90deg);
}

.site-search input {
  height: 70px;
  border: 0;
  border-bottom: 1px solid var(--border-color);
  font-size: var(--font-size-24);
  padding-left: 0;
  padding-right: 0;
  background-color: transparent;
}


/* # Site Menu Mobile ------------------------------------------------------- */
.site-menu-mobile {
  display: flex;
  align-items: center;
  order: 2;
  z-index: 15;
}
/* @media (min-width: 992px) {
  .site-menu-mobile {
    display: none;
  }
} */

.site-menu-toggle {
  pointer-events: initial;
  cursor: pointer;
  z-index: 9998;
  position: relative;
  user-select: none;
  height: 90vh;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  padding: 0 15px;
}

@media (min-width: 992px) {
  .site-menu-toggle {
    padding: 1rem;
  }
}

.site-menu-toggle span {
  display: block;
  width: 1.25rem;
  height: 2px;
  margin: 4px 0;
  background-color: var(--color);
  transition: all 0.5s ease;
}

.site-menu-toggle span:nth-child(1) {
  position: relative;
  top: 10px;
  rotate: 90deg;
}

.mobile-menu-active .site-menu-toggle span:nth-child(1) {
  transform: translate(0, 3px) rotate(45deg);
}

.mobile-menu-active .site-menu-toggle span:nth-child(2) {
  transform: translate(0, -3px) rotate(-45deg);
}


/* # Mobile Menu ------------------------------------------------------------ */
.mobile-menu {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 50vw;
  overflow: hidden;
  background-color: #222;
  padding: 25px 70px 35px 35px;
  z-index: 1200;
  transition: all 0.3s ease-in-out;
  transform: translateX(-100%);
}

.mobile-menu-active .mobile-menu {
  transform: translateX(0);
}

.mobile-menu__header {
  position: absolute;
  right: 0;
  top: 0;
  height: 100vh;
  width: 50px;
  border-left: 1px solid var(--black);
  background-color: #222;
  z-index: 9;
  cursor: pointer;
  transition: all .3s ease-in-out;
}

.mobile-menu__header:hover {
  background-color: #4d4d4d;
}

.mobile-menu-close {
  font-size: 28px;
  transition: all 0.5s ease;
  cursor: pointer;
  line-height: 0;
  display: block;
  color: var(--color);
  height: 100%;
  text-align: center;
}

.mobile-menu-close i {
  position: relative;
  top: 50%;
}

.mobile-menu__header:hover .mobile-menu-close {
  transform: scale(1.5);
  backface-visibility: hidden;
  color: #b8a814;
}

.mobile-menu__logo {
  margin-top: 1rem;
  padding-top: 1rem;
}

.mobile-menu__navigation, .mobile-menu__search, .mobile-menu__secondary, .mobile-menu__social, .mobile-menu__copyright {
  margin-top: 1rem;
  padding-top: 1rem;
  transform: translateY(40px);
  transition: 0.3s;
  transition-delay: 0;
  opacity: 0;
}

.mobile-menu-active .mobile-menu__navigation, .mobile-menu-active .mobile-menu__search, .mobile-menu-active .mobile-menu__secondary, .mobile-menu-active .mobile-menu__social, .mobile-menu-active .mobile-menu__copyright {
  transform: translateY(0);
  opacity: 1;
}

.mobile-menu-active .mobile-menu__navigation {
  transition-delay: 0.2s;
}

.mobile-menu-active .mobile-menu__navigation {
  transition-delay: 0.3s;
}

.mobile-menu-active .mobile-menu__secondary {
  transition-delay: 0.5s;
}

.mobile-menu-active .mobile-menu__social {
  transition-delay: 0.7s;
}

.mobile-menu-active .mobile-menu__copyright {
  transition-delay: 0.9s;
}

.mobile-menu__search input {
  border: 0;
  border-bottom: 1px solid var(--border-color);
  padding-left: 0;
  padding-right: 0;
}

.mobile-menu__search input:focus {
  border-color: var(--dark-gray);
}

.mobile-menu__search button {
  background-color: var(--white);
  border: 0;
  border-bottom: 1px solid var(--border-color);
  padding-right: 0;
  font-size: var(--font-size-20);
  color: var(--black);
}

.mobile-menu__navigation {
  border-top: 0;
}

.mobile-menu__social-copy {
  margin-top: auto;
}

.mobile-menu__social a {
  font-size: var(--font-size-18);
}

.mobile-menu__copyright {
  font-size: small;
  margin-bottom: 0;
}

@media (max-width: 767.98px) {
  .mobile-menu {
    padding: 10px 15px 15px;
  }
}

.mobile-menu-overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: none;
  z-index: 1100;
  cursor: pointer;
  background-color: rgba(0, 0, 0, 0.5);
}

.mobile-menu-active .mobile-menu-overlay {
  display: block;
}


/* # Mobile Menu Navigation ------------------------------------------------- */
.mobile-menu__navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mobile-menu__navigation ul li {
  position: relative;
  padding: 0 0 .5rem;
}

.mobile-menu__navigation ul li a {
  font-size: var(--font-size-h1);
  display: block;
  font-weight: var(--font-bold) !important;
  line-height: 1;
  border-bottom: 1px solid var(--black);
  padding-bottom: .5rem;
  text-decoration: none;
  position: relative;
  transition: transform 0.5s ease-in-out;
}

.mobile-menu__navigation ul .sub-menu {
  padding: 5px 0;
  display: none;
}

.mobile-menu__navigation ul .sub-menu.open {
  display: block;
}

.mobile-menu__navigation ul .sub-menu li a {
  color: var(--dark-gray);
}

.mobile-menu__navigation ul .sub-menu li a:hover, .mobile-menu__navigation ul .sub-menu li.current_page_item > a, .mobile-menu__navigation ul .sub-menu li.current-menu-item > a, .mobile-menu__navigation ul .sub-menu li.current_page_ancestor > a, .mobile-menu__navigation ul .sub-menu li.current-menu-ancestor > a {
  color: var(--black);
}

.mobile-menu__navigation ul .subnav-toggle {
  height: 48px;
  width: 30px;
  font-size: var(--font-size-20);
  position: absolute;
  top: 0;
  right: 0;
  text-align: right;
  display: block;
  cursor: pointer;
}

.mobile-menu__navigation ul .subnav-toggle.open:before {
  content: "\f106";
  font-family: var(--icon-family);
  font-weight: var(--font-black);
}

.mobile-menu__navigation ul .subnav-toggle:before {
  content: "\f107";
  display: inline-block;
  font-family: var(--icon-family);
  font-weight: var(--font-black);
  line-height: 2.4;
  transition: all 0.3s ease;
}

.mobile-menu__navigation ul li a:hover,
.mobile-menu__navigation ul li.current_page_item > a,
.mobile-menu__navigation ul li.current-menu-item > a {
  color: var(--color);
  text-decoration: none;
}

.mobile-menu__navigation ul li a:hover {
  transform: translateX(10px);
}


/* # Mobile Menu Nav Secondary ---------------------------------------------- */
.mobile-menu__secondary ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mobile-menu__secondary ul li {
  position: relative;
  padding: 5px 0;
}

.mobile-menu__secondary ul li a {
  font-size: var(--font-size-16);
  display: block;
  text-transform: uppercase;
  transition: all 0.3s ease;
  letter-spacing: 0.1em;
  text-decoration: none;
}

.eng a {
  font-weight: var(--font-bold) !important;
}


/* # Mobile Menu Social ----------------------------------------------------- */
.social-media-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.social-media-list li {
  display: inline-block;
}
.social-media-list li a {
  font-size: var(--font-size-18);
}





/* ==========================================================================
   # Page
   ========================================================================== */
.wrapper-404 {
  text-align: center;
  padding: 10rem 0;
}

.wrapper-404 h1 {
  font-size: var(--font-size-xl);
}





/* ==========================================================================
   # Blog
   ========================================================================== */
.blog .entry-title,
.archive .entry-title,
.search .entry-title {
  font-size: var(--font-size-24);
  margin-bottom: 0;
}

.sticky {
  position: relative;
  overflow: hidden;
}

.stikcy-badge {
  width: 200px;
  padding: 5px;
  background-color: var(--color);
  color: var(--white);
  transform: rotate(45deg);
  top: 1.25rem;
  right: -3.5rem;
  position: absolute;
  text-align: center;
  font-style: italic;
  z-index: 5;
}


/* # Entry Meta ------------------------------------------------------------- */
.entry-meta {
  font-size: var(--font-size-12);
  text-transform: uppercase;
}

.entry-meta a,
.related-posts-meta a {
  text-decoration: none;
  transition: color 0.3s ease;
}

.entry-meta a:hover,
.related-posts-meta a:hover {
  color: var(--color);
}


/* # Classic Layout --------------------------------------------------------- */
.entries-layout-default .entry-inner {
  margin: 50px 0;
}

.entries-layout-default .entry-thumbnail {
  margin-bottom: 2rem;
}


/* # Grid Layout ------------------------------------------------------------ */
.entries-layout-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 4rem 2rem;
  margin: 50px 0;
}
@media (min-width: 992px) {
  .entries-layout-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.entries-layout-grid .entry-thumbnail {
  margin-bottom: 2rem;
}

body:not(.paged) .entries-layout-grid.first-item-active .hentry:first-of-type,
body:not(.paged) .entries-layout-grid.first-item-active .entry-item:first-of-type {
  grid-column: 1 / span 2;
}


/* # Masonry Layout --------------------------------------------------------- */
.entries-layout-grid-masonry {
  margin: 50px 0;
}
@media (min-width: 992px) {
  .entries-layout-grid-masonry .grid-sizer,
  .entries-layout-grid-masonry .entry-item {
    width: 47%;
  }
  .gutter-sizer {
    width: 2rem;
  }
}

.entries-layout-grid-masonry .entry-item,
.entries-layout-grid-masonry .entry-thumbnail {
  margin-bottom: 2rem;
}

.entries-layout-grid-masonry .entry-item .entry-thumbnail img {
  object-fit: cover;
}

.entries-layout-grid-masonry .entry-item:nth-child(2n+1) .entry-thumbnail img {
  height: 350px;
}

.entries-layout-grid-masonry .entry-item:nth-child(4n+1) .entry-thumbnail img {
  height: 450px;
}


/* # List Layout ------------------------------------------------------------ */
.entries-layout-list .entry-inner {
  margin: 50px 0;
}
@media (min-width: 992px) {
  .entries-layout-list .entry-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 2rem;
  }

  .entries-layout-list .entry-thumbnail img {
    height: 300px;
    object-fit: cover;
  }
}
@media (max-width: 991.98px) {
  .entries-layout-list .entry-thumbnail img {
    margin-bottom: 2rem;
  }
}

body:not(.paged) .entries-layout-list.first-item-active .hentry:first-of-type,
body:not(.paged) .entries-layout-list.first-item-active .entry-item:first-of-type {
  display: block;
}

body:not(.paged) .entries-layout-list.first-item-active .hentry:first-of-type .entry-thumbnail,
body:not(.paged) .entries-layout-list.first-item-active .entry-item:first-of-type .entry-thumbnail {
  margin-bottom: 2rem;
}

body:not(.paged) .entries-layout-list.first-item-active .hentry:first-of-type .entry-thumbnail img,
body:not(.paged) .entries-layout-list.first-item-active .entry-item:first-of-type .entry-thumbnail img {
  height: auto;
}


/* # Pagination -------------------------------------------------------------- */
.navigation.pagination {
  margin: 5rem 0;
  text-align: center;
}

.navigation.pagination h2,
.navigation.pagination h2.screen-reader-text {
  display: none;
}

.navigation.pagination .page-numbers {
  color: var(--dark);
  font-size: var(--font-size-20);
  font-weight: var(--font-extrabold);
  padding: 0 5px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.navigation.pagination .page-numbers:hover, .navigation.pagination .page-numbers.current {
  color: var(--black);
}

.navigation.pagination .next.page-numbers::before {
  content: "";
  position: relative;
  display: inline-block;
  width: 1px;
  height: 1.125rem;
  background-color: var(--dark);
  opacity: .35;
  vertical-align: -1px;
  margin-right: 1.25rem;
  margin-left: 0.625rem;
}





/* ==========================================================================
   # Blog Posts
   ========================================================================== */
.content-wrapper.has-thumb {
  margin-top: 5rem;
}

.single-post section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}


/* # Progress Bar ----------------------------------------------------------- */
progress {
  left: 0;
  width: 100%;
  height: 1px;
  appearance: none;
  border: none;
  background-color: transparent;
  color: transparent;
}

.header-navigation progress {
  position: fixed;
  top: 0;
}

.header-navigation.header-sticky progress {
  position: absolute;
  top: auto;
  bottom: -1px;
}

progress::-webkit-progress-bar {
  background-color: transparent;
}

.header-navigation progress::-webkit-progress-value {
  background-color: var(--black);
}

.progress-container {
  width: 100%;
  background-color: transparent;
  position: fixed;
  top: 0;
  left: 0;
  height: 1px;
  display: block;
}

.progressbar {
  background-color: transparent;
  width: 50%;
  display: block;
  height: inherit;
}


/* # Enrty Footer ----------------------------------------------------------- */
.entry-footer-container {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  margin-top: 2rem;
}
@media (min-width: 992px) {
  .entry-footer-container {
    flex-direction: row;
  }
}


/* # Entry Tags ------------------------------------------------------------- */
.entry-tags a::before {
  content: "\0023";
  margin-right: .1rem;
}

.entry-tags a {
  font-size: var(--font-size-14);
  font-weight: var(--font-bold);
  text-decoration: none;
  margin-right: 1rem;
  transition: all 0.3s ease;
}

.entry-tags a:last-child {
  margin-right: 0;
}

.entry-tags a:hover {
  color: var(--color);
}


/* # Entry Share ------------------------------------------------------------ */
.entry-share span {
  font-size: var(--font-size-14);
}

.entry-share-list {
  margin: 0;
  padding: 0;
  display: inline-block;
}

.entry-share-list li {
  display: inline-block;
}

.entry-share-list a {
  padding-right: .25rem;
  transition: all 0.3s ease;
}

.entry-share-list li:last-child a {
  padding-right: 0;
}

.entry-share-list a:hover {
  color: var(--color);
}


/* # Entry Author ----------------------------------------------------------- */
.entry-author {
    margin-top: 80px;
    padding: 40px 0;
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
}
@media (min-width: 992px) {
  .entry-author {
    display: flex;
  }
  .entry-author .entry-author-avatar {
    flex: 0 0 15%;
    max-width: 15%;
  }
}

.entry-author .entry-author-avatar img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 50%;
}


/* # Post Navigation --------------------------------------------------------- */
.post-navigation {
  margin-top: 80px;
  padding: 40px 0;
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
}

.post-navigation .meta-nav {
  display: block;
  margin-bottom: 1rem;
  text-transform: uppercase;
  font-size: var(--font-size-12);
}

.nav-previous a,
.nav-next a {
  font-size: var(--font-size-h3);
  font-weight: var(--font-extrabold);
  text-decoration: none;
  line-height: 1;
  transition: all 0.3s ease;
}

.nav-previous a:hover,
.nav-next a:hover {
  color: var(--color);
}

@media (max-width: 991.98px) {
  .nav-next {
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid var(--border-color);
  }
}

@media (min-width: 992px) {
  .post-navigation {
    display: flex;
    justify-content: space-between;
  }

  .nav-previous {
    padding-right: 1rem;
  }

  .nav-next {
    padding-left: 1rem;
    text-align: right;
    border-left: 1px solid var(--border-color);
  }

  .nav-previous,
  .nav-next {
    flex: 0 0 50%;
    max-width: 50%;
  }
}


/* # Related Posts ----------------------------------------------------------- */
.related-posts {
  margin-top: 80px;
  margin-bottom: 80px;
}

.related-posts-meta {
  margin: 1rem 0 0.25rem;
  font-size: var(--font-size-10);
  text-transform: uppercase;
}

.related-posts-title {
  margin-top: 0;
}

.related-posts-title a {
  text-decoration: none;
}





/* ==========================================================================
   # Portfolio
   ========================================================================== */
.hover-reveal-list,
.archive-list {
  list-style: none;
  padding-left: 0;
}

.archive-list table > tbody > tr > td {
  padding: 1rem 0.5rem;
}

.hover-reveal-list li {
    padding: 2rem 0;
    border-top: 1px solid var(--text-color);
    border-bottom: 1px solid var(--text-color);
}

.hover-reveal-list li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  transition: transform 0.5s ease-in-out
}

.hover-reveal-list li a h2 {
  font-size: 30px;
  font-weight: var(--font-bold);
}

.hover-reveal-list li a:hover {
  transform: translateX(10px);
}

.hover-reveal-list li a:hover h2 {
  color: var(--color);
}

.hover-reveal-list li a i {
  font-size: var(--font-size-h2);
  rotate: -45deg;
  transition: .3s all;
}

.hover-reveal-list li a:hover i {
  rotate: 0deg;
}

.hover_reveal {
  font-size: var(--font-size-h2);
  text-decoration: none;
  cursor: pointer;
}

.hover-reveal {
  position: fixed;
  width: 250px;
  height: 300px;
  top: 0;
  left: 0;
  pointer-events: none;
  opacity: 0;
}

.hover-reveal__inner,
.hover-reveal__img {
	width: 100%;
	height: 100%;
	position: relative;
}

.hover-reveal__img {
	background-size: cover;
	background-position: 50% 50%;
}

.reveal-list {
  padding-left: 0;
}

.reveal-list li {
  display: inline;
  line-height: 2;
}

.reveal-list li span,
.reveal-list li a.hover_reveal {
  font-size: var(--font-size-lg);
}

.reveal-list li:last-child span {
  display: none;
}





/* ==========================================================================
   # Comments
   ========================================================================== */
.comments {
  margin-top: 80px;
  margin-bottom: 80px;
}

#wp-comment-cookies-consent {
  position: relative;
  top: 0.125rem;
}

.post-comments-wrap {
  margin-top: 70px;
  position: relative;
}

.post-comments-wrap .comment-reply-title {
  margin-top: 0;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: var(--font-size-18);
}

.post-comments-wrap .comment-reply-title small {
  font-size: 80%;
}

.post-comments-wrap .comment-reply-title small #cancel-comment-reply-link:before {
  content: "/";
  padding: 0 10px;
  display: inline-block;
}
@media (max-width: 767.98px) {
  .post-comments-wrap {
    padding: 1.25rem;
  }
}

.post-comments-title:not(:empty) {
  margin-bottom: 40px;
  margin-top: 0;
  text-transform: uppercase;
  font-size: var(--font-size-18);
  position: relative;
  padding-bottom: 1.25rem;
  letter-spacing: 1px;
  text-align: center;
}

.post-comments-title:not(:empty):after {
  content: "";
  width: 60px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  border-bottom: 1px solid var(--black);
  bottom: -1px;
}

.post-comments-list {
  margin-bottom: 30px;
}

.post-comments-list > ul,
.post-comments-list ul.children {
  margin: 0;
  padding: 0;
  list-style: none;
}

.post-comments-list ul.children {
  margin-left: 11%;
}

.post-comments-list .comment-entry,
.post-comments-list .comment-respond {
  margin-bottom: 30px;
  padding: 1.25rem;
  border: 1px solid var(--border-color);
}

.post-comments-list .comment-avatar {
  float: left;
  margin: 0;
  margin-right: 1.25rem;
  width: 8%;
}

.post-comments-list .comment-avatar img {
  border-radius: 50%;
}

.post-comments-list .comment-text {
  overflow: hidden;
  position: relative;
}

.post-comments-list .comment-body *:last-child {
  margin-bottom: 0;
}

.post-comments-list .comment-links {
  position: absolute;
  top: 0;
  right: 0;
  line-height: 0;
}

.post-comments-list .comment-links a {
  font-weight: 300;
  font-size: 13px;
  line-height: normal;
}

.post-comments-list .comment-links .comment-reply-link:after {
  content: "\f3e5";
  display: inline-block;
  font-family: var(--icon-family);
  font-weight: var(--font-black);
  margin-left: .625rem;
}

.post-comments-list .comment-links .comment-edit-link {
  margin-left: 30px;
}

.post-comments-list .comment-head {
  margin-bottom: .625rem;
}

.post-comments-list .comment-author-name {
  margin: 0;
  font-size: var(--font-size-16);
}

.post-comments-list .comment-time {
  font-size: var(--font-size-10);
  text-transform: uppercase;
}
@media (max-width: 575.98px) {
  .post-comments-list .comment-avatar {
    display: none;
  }
  .post-comments-list ul.children {
    margin-left: 10%;
  }
  .post-comments-list .comment-links {
    position: relative;
    top: auto;
    right: auto;
    line-height: normal;
    text-align: right;
  }
}

.comment-form {
  width: auto;
  margin-left: -15px;
  margin-right: -15px;
}

.comment-form p {
  margin-bottom: 1.25rem;
  padding-left: 15px;
  padding-right: 15px;
  font-size: var(--font-size-12);
}

.comment-form .comment-form-author,
.comment-form .comment-form-email,
.comment-form .comment-form-url {
  float: left;
  width: 33.333%;
}

.comment-form .comment-form-author input,
.comment-form .comment-form-email input,
.comment-form .comment-form-url input {
  width: 100%;
}

.comment-form .submit:hover {
  opacity: .8;
}

.comment-form .form-submit {
  clear: both;
}

@media (max-width: 575.98px) {
  .comment-form .comment-form-author,
  .comment-form .comment-form-email,
  .comment-form .comment-form-url {
    width: 100%;
    float: none;
  }
}

.comment-form .required {
  color: var(--red);
}

.comment-content a {
  -ms-word-wrap: break-word;
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}


/* # Comments Navigation ----------------------------------------------------- */
.post-comments-nav {
  margin-bottom: 30px;
}

.post-comments-nav .previous a,
.post-comments-nav .next a {
  margin-bottom: 5px;
  padding: 0 5px;
  display: inline-block;
  transition: all 0.3s ease;
}

.post-comments-nav .previous a:hover,
.post-comments-nav .next a:hover {
  color: var(--dark-gray);
}

.post-comments-nav .previous {
  float: left;
}

.post-comments-nav .next {
  float: right;
}
@media (max-width: 575.98px) {
  .post-comments-nav {
    text-align: center;
  }
  .post-comments-nav .previous,
  .post-comments-nav .next {
    float: none;
    margin-bottom: .625rem;
  }
}





/* ==========================================================================
   # Sidebar
   ========================================================================== */
.sidebar {
  position: relative;
  margin: 50px 0;
}

@media (min-width: 992px) {
  .sidebar-inner {
    padding-left: 50px;
    border-left: 1px solid var(--border-color);
  }

  .sidebar.order-md-1 .sidebar-inner {
    padding-left: 0;
    padding-right: 50px;
    border-left: none;
    border-right: 1px solid var(--border-color);
  }
}





/* ==========================================================================
   # Widgets
   ========================================================================== */
.sidebar .widget {
  overflow: hidden;
  margin: 0 0 2rem;
  padding: 0 0 2rem;
  border-bottom: 1px solid var(--border-color);
}

.sidebar .widget:last-child {
  margin: 0;
  padding: 0;
  border-bottom: none;
}

.widget .widget-title {
  margin-top: 0;
  font-size: var(--font-size-16);
}

.widget ul {
  list-style: none;
  margin-bottom: 0;
  padding-left: 0;
}

.widget li {
  overflow: hidden;
  padding: 0.4rem 0;
}

.widget a {
  text-decoration: none;
  transition: all 0.3s ease;
}

.widget a:hover {
  color: var(--color);
}

.widget_recent_comments li:last-child,
.widget_recent_entries li:last-child,
.widget_archive li:last-child,
.widget_categories li:last-child,
.widget_meta li:last-child,
.widget_rss li:last-child,
.widget_nav_menu li:last-child,
.widget_pages li:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
}

.widget_tag_cloud a::before {
  content: "\0023";
  margin-right: 0.1rem;
}

.widget_tag_cloud a {
  font-size: var(--font-size-14) !important;
  font-weight: var(--font-bold);
  margin-right: 1rem;
  transition: all 0.3s ease;
}

.widget_tag_cloud a:last-child {
  margin-right: 0;
}

.widget_tag_cloud a:hover {
  color: var(--color);
}

.widget_recent_entries li a {
  font-weight: var(--font-bold);
}

.widget_categories li {
  font-size: var(--font-size-14);
  text-transform: uppercase;
}

.widget_categories li.current-cat a{
  color: var(--color);
}





/* ==========================================================================
   # Navigation
   ========================================================================== */
.to-top {
  position: fixed;
  right: 1.25rem;
  bottom: 0;
  width: 35px;
  height: 35px;
  text-align: center;
  line-height: 35px;
  color: var(--white);
  background-color: var(--color);
  display: block;
  font-size: var(--font-size-14);
  border-radius: 100%;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

.to-top .las {
  transition: all 0.3s ease;
}

.to-top:hover, .to-top:focus, .to-top:active, .to-top:visited {
  color: var(--white);
}

.to-top.active {
  opacity: 1;
  visibility: visible;
  bottom: 1.25rem;
  z-index: 102;
}





/* ==========================================================================
   # Footer
   ========================================================================== */
.site-footer {
  position: relative;
  z-index: 101;
}

.site-footer .footer-sidebar:not(:empty) {
  padding-top: 5rem;
  padding-bottom: 5rem;
  overflow: hidden;
}
@media (min-width: 2000px) {
	.site-footer .footer-sidebar:not(:empty) {
		padding-top: 10rem;
		padding-bottom: 10rem;
	}
}
@media (max-width: 991.98px) {
  .site-footer .footer-sidebar .col-md-3:not(:last-child) {
    padding-bottom: 2rem;
  }
}
@media (min-width: 992px) {
  .site-footer .footer-sidebar .col-md-3:nth-child(1) {
    flex: 0 0 30%;
    max-width: 30%;
  }

  .site-footer .footer-sidebar .col-md-3:nth-child(2) {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .site-footer .footer-sidebar .col-md-3:nth-child(3) {
    flex: 0 0 20%;
    max-width: 20%;
  }

  .site-footer .footer-sidebar .col-md-3:nth-child(4) {
    flex: 0 0 30%;
    max-width: 30%;
  }
}

.site-footer a {
  color: var(--white);
}

.site-footer a:hover {
  color: var(--color);
}

.site-footer .footer-menu li {
  position: relative;
}

.site-footer .footer-menu li a{
  padding-left: .5rem;
}

.site-footer .footer-menu li a::before {
  content: "\00BB";
  font-size: 1.125rem;
  color: var(--color);
  position: relative;
  top: 0px;
  left: -6px;
}

.site-footer .footer-sidebar .widget .widget-title {
  color: var(--white);
}

.site-footer .footer-sidebar .widget_media_image img {
  margin-bottom: 1.5rem;
}
@media (max-width: 991.98px) {
  .site-footer .footer-sidebar .widget_media_image img {
    margin-right: auto;
    margin-left: auto;
  }
}

.footer-copyright {
  padding: 2rem 0;
}

.site-info,
.dev-info {
  font-size: var(--font-size-12);
}
@media (min-width: 2000px) {
	.site-info,
	.dev-info,
	.footer-social-list li .suffix {
		font-size: var(--font-size-20) !important;
	}
}

.dev-info span {
  margin-right: .1rem;
}

.dev-info svg {
  display: inline;
  max-height: .75rem;
  fill: var(--white);
}
@media (min-width: 992px) {
  .dev-info {
    text-align: right;
  }
}

.footer-col {
  border-right: 1px solid var(--text-color);
}


/* # Footer Social ---------------------------------------------------------- */
@media (min-width: 992px) {
  .footer-social {
    text-align: right;
  }
}

.footer-social-list {
  position: relative;
  z-index: 2;
  margin: 0 auto;
  list-style: none;
  padding: 0;
}

.footer-social-list li {
  display: inline-block;
  margin-left: 1rem;
}

.footer-social-list li:first-child {
  margin-left: 0;
}

.footer-social-list li::after {
  content: "/";
  margin-left: 1rem;
  color: var(--dark);
}

.footer-social-list li:last-child:after {
  content: none;
}

.footer-social-list li .suffix {
  font-size: var(--font-size-12);
  margin-left: .25rem;
}

.footer-social-list li a {
  display: inline-flex;
  align-items: center;
  line-height: 1;
  text-decoration: none;
  transition: all 0.3s ease;
}


/* # Footer MailChimp ------------------------------------------------------- */
.site-footer-mailchimp-text {
	font-size: var(--font-size-14);
}

.site-footer-mailchimp-wrap {
	display: flex;
}

.site-footer-mailchimp-wrap label {
	width: 100%;
}

.site-footer-mailchimp-email {
	border-radius: .5rem !important;
}

.site-footer-mailchimp-submit {
	min-width: 3rem !important;
  border-radius: 0.5rem !important;
	background-color: var(--color) !important;
	margin-left: .5rem;
}

.site-footer-mailchimp-terms {
	font-size: var(--font-size-12);
}





/* ==========================================================================
   # ACF Fields
   ========================================================================== */


/* # ACF Hero --------------------------------------------------------------- */
.site-hero {
  position: relative;
  padding: 5rem 0 0;
  z-index: 9;
}

.hero-slider {
  width: 100%;
}

.hero-slider .swiper-slide {
  padding-top: 100px;
  padding-bottom: 100px;
}

.hero-slider .swiper-pagination-bullet {
  --swiper-pagination-color: var(--color);
}

.hero-caption {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-bottom: 4rem;
}

.hero-caption > *:first-child {
  margin-top: 0;
}

.hero-caption > *:last-child {
  margin-bottom: 0;
}

.hero-caption .hero-subtitle {
  color: var(--black);
  text-transform: uppercase;
  margin-bottom: .5rem;
}

@media (min-width: 992px) {
  .hero-text {
    max-width: 65%;
  }
}

.hero-caption .link-white:hover {
  color: var(--black);
}

.hero-caption-inner {
  color: var(--black);
}

.hero-media {
  overflow: hidden;
  user-select: none;
  pointer-events: none;
  width: 100%;
  height: 50%;
  padding-top: 4rem;
}
@media (min-width: 2000px) {
	.hero-media {
		padding-top: 8rem;
	}
}


.hero-media img,
.hero-media video {
  width: 100%;
  height: 30%;
  opacity: .8;
  object-fit: cover;
}
@media (min-width: 992px) {
  .hero-media img,
  .hero-media video {
    height: 70vh;
  }
}

.intro,
.hero-description {
  font-size: 1.53rem;/*qqq*/
  letter-spacing: -0.04em;
  line-height: 1.25;
}

.sub-intro,
.hero-small {
  color: var(--dark);
  font-size: var(--font-size-16);
  margin-top: 0;
}
@media (min-width: 2000px) {
	.sub-intro,
	.hero-small,
	.hero-first a {
		font-size: var(--font-size-30);
	}

	.intro, .hero-description {
		font-size: 2.3rem!important;
	}
	
	.sub-intro, .hero-small {
		margin-bottom: 2.5rem;
	}
	
	.hero-caption {
		padding-bottom: 8rem;
	}
	
	.site-hero {
		padding: 12rem 0 0;
	}
	
	.site-logo, .site-logo img {
		width: 200px !important;
	}
}

.hero-first {
  border-right: 1px solid var(--text-color);
}
@media (min-width: 992px) {
  .hero-first {
    padding-left: 2rem;
  }
}

.hero-first a {
  text-decoration: none;
}


/* # ACF Office ------------------------------------------------------------- */
.office-img {
  width: 64px;
  height: 64px;
  border-radius: 100%;
  object-fit: cover;
  margin-right: 1rem;
}
@media (min-width: 2000px) {
	.office-img {
		width: 100px;
		height: 100px;
	}
}


/* # ACF Team --------------------------------------------------------------- */
.team {
  margin-bottom: 2rem;
}
.team:last-child {
  margin-bottom: 0;
}

.team-img {
  filter: grayscale(1);
  transition: .3s all;
}
.team-img:hover {
  filter: grayscale(0);
}

.team-title {
  margin-top: 2rem;
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--text-color);
}
@media (min-width: 2000px) {
	.team-title {
		font-size: larger;
	}
}


/* # ACF Services ----------------------------------------------------------- */
.services-item {
  background-color: var(--white);
  cursor: pointer;
  margin-top: 2rem;
  margin-bottom: 2rem;
  box-shadow: rgba(149, 157, 165, 0.1) 0px 8px 24px;
  transition: all 0.3s ease;
}

.services-item:hover {
  transform: translateY(-10px);
}

.services-body {
  position: relative;
  padding: 1.5rem;
}

.services-body h3 {
  line-height: 1;
}

.services-icon img {
  filter: invert(1);
}

.services-cards .services-item img {
  max-height: 200px;
  object-fit: cover;
}

.services-cards .services-icon {
  width: 4rem;
  height: 4rem;
}


/* # ACF Crawling Text ------------------------------------------------------ */
.quotes-section .quote-row {
  font-size: var(--font-size-xl);
  font-weight: var(--font-bold);
  letter-spacing: -0.06em;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px var(--gray);
  white-space: nowrap;
  width: auto;
}
@media (min-width: 2000px) {
	.quotes-section .quote-row {
		-webkit-text-stroke: 2px var(--gray);
	}
}

.quotes-section .quote-row:nth-child(even) {
	margin-right: -60vw;
}
.quotes-section.animation .quote-row {
	animation: crawling-line 20s linear infinite;
}
.quotes-section.animation .quote-row:nth-child(even) {
	animation: crawling-line 20s linear infinite reverse;
}

@-webkit-keyframes crawling-line {
	0% {
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
	}
	to {
		-webkit-transform: translate3d(-100vw, 0, 0);
		transform: translate3d(-100vw, 0, 0);
	}
	}
	@keyframes crawling-line {
	0% {
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
	}
	to {
		-webkit-transform: translate3d(-100vw, 0, 0);
		transform: translate3d(-100vw, 0, 0);
	}
}


/* # ACF Clients ------------------------------------------------------------ */
.clients-col {
  display: flex;
  align-items: center;
  height: 12rem;
  border: 1px solid var(--text-color);
}
@media (min-width: 2000px) {
	.clients-col {
		height: 350px;
	}
}

.clients-col img {
  width: 75px;
  margin: 0 auto;
}
@media (min-width: 2000px) {
	.clients-col img {
		width: 150px;
	}
}



/* # ACF Image Slider ------------------------------------------------------- */
#img-slider .container {
  max-width: 100%;
}

.image-slider .swiper-slide::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: inline-block;
    background: linear-gradient(to right, rgb(0 0 0 / 0%) 0%,#101010 95%);
}

.image-slider .swiper-slide {
  height: 600px;
}

.image-slider img {
  width: 700px;
  height: 600px;
  object-fit: cover;
}
@media (min-width: 2000px) {
	.image-slider .swiper-slide {
		height: 1000px;
	}
	
	.image-slider img {
		width: 100%;
		height: 1000px;
	}
}





/* # ACF Featured ----------------------------------------------------------- */
.featured-icon {
  width: 6rem;
  height: 6rem;
  margin: 0 auto;
}


/* # ACF CTA ---------------------------------------------------------------- */
.cta .cta-text {
  margin-bottom: 1rem;
}
@media (min-width: 992px) {
  .cta .cta-text {
      display: flex;
      margin-bottom: 0;
  }
  .cta .btn-white {
      float: right;
  }
}

.site-footer .btn-white {
  color: var(--color) !important;
}

.site-footer .btn-white:hover {
  background-color: var(--black);
}

.cta-link {
  display: flex;
  align-items: center;
  justify-content: center;
}

.cta-img {
  /*height: 100vh;*/
  width: 100%;
  object-fit: cover;
  opacity: .6;
  position: relative;
}

.cta-title {
  position: absolute;
  font-weight: var(--font-bold);
}
@media (min-width: 2000px) {
	.cta-title {
		font-size: var(--font-size-h1);
	}
}

.cta-bc {
  position: absolute;
  top: 0;
  left: 5rem;
  color: var(--color);
  font-weight: var(--font-bold);
}


/* # ACF FAQ ---------------------------------------------------------------- */
.accordion,
.accordion-archive {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: var(--font-size-h1);
  font-weight: var(--font-bold);
  background-color: transparent !important;
  color: var(--white);
  width: 100%;
  border: none;
  text-align: left;
  padding: 3rem 0;
  border-top: 1px solid var(--text-color);
  border-bottom: 1px solid var(--text-color);
  cursor: pointer;
  transition: .3s all;
}

.accordion:hover,
.accordion:hover:after,
.accordion.active,
button.accordion.active:after,
.accordion-archive:hover,
.accordion-archive:hover:after,
.accordion-archive.open,
div.accordion-archive.open:after {
  color: var(--color) !important; 
}

.accordion.active {
    padding-bottom: 0;
    margin-bottom: -2rem;
    border-bottom: 0;
    font-size: var(--font-size-md);
    color: transparent !important;
    -webkit-text-stroke: 1px var(--white);
	z-index: 1;
    position: relative;
}
@media (min-width: 2000px) {
	.accordion.active {
		margin-bottom: -4.5rem;
	}
}

.panel,
.panel-archive {
/*   padding: 1.5rem 1.5rem; */
  display: none;
  overflow: hidden;
  background-color: transparent;
}

.archive-panel {
  overflow-y: scroll;
  height: 500px;
	margin-top: -200px;
}
@media (min-width: 2000px) {
	.archive-panel {
		height: 750px;
	}
}

.panel p:first-child {
  margin: 0;
}

button.accordion:after,
div.accordion-archive:after {
  content: "\f067";
  font-family: var(--icon-family);
  float: right;
  margin-left: 5px;
  font-weight: 900 !important;
  color: var(--dark);
  font-size: var(--font-size-24);
}

button.accordion.active:after,
div.accordion-archive.open:after {
  content: "\f068";
  font-family: var(--icon-family);
  font-weight: 900 !important;
  color: var(--dark);
  font-size: var(--font-size-24);
}

div.accordion-archive:before {
  content: "";
}

.readmore-container {
  position: relative;
}

.readmore {
  display: block;
  margin-top: .5rem;
  color: var(--dark);
  cursor: pointer;
  transition: all .3s;
}

.readmore-open {
  position: absolute;
  bottom: -40px !important;
}

.readmore-open i {
  rotate: 180deg;
  color: var(--color);
}

.readmore-content {
  color: var(--dark);
  margin-top: 0 !important;
  display: none;
}

.grid-col p {
  margin-bottom: 0 !important;
}

.grid-col h3 {
  font-weight: var(--font-bold);
}





/* ==========================================================================
   # Custom CSS
   ========================================================================== */
.contact-details  {
  padding: 2.5rem;
  background-color: var(--gray);
}

.contact-details a {
  display: block;
  margin-bottom: 1rem;
  text-decoration: none;
}

.single-post .entry-title {
    margin-bottom: 2rem;
}

/* input.wpcf7-form-control.has-spinner.wpcf7-submit {
} */

.page-id-145 .service-number {
    font-size: var(--font-size-h2);
    color: var(--white);
    -webkit-text-stroke: 0;
}

.page-id-145 .readmore-content {
	color: var(--white);
}

.grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-gap: 1rem;
}
@media (min-width: 992px) {
	.grid {
	  grid-template-columns: repeat(3, 1fr);
	  grid-gap: 2rem;
	}
}

.grid-col {
  margin-bottom: 2rem;
}
@media (min-width: 992px) {
	.grid-col {
	  border-right: 1px solid var(--text-color);
	  padding-right: 2rem;
	}
}

.grid-col:nth-child(3),
.grid-col:last-child  {
  border-right: none;
}

.service-number {
  color: transparent;
  -webkit-text-stroke: 1px var(--white);
  font-size: var(--font-size-xl);
  font-weight: var(--font-bold);
  line-height: 1;
  letter-spacing: -0.1em;
}



/* Modern style ------------------------------ */
.portfolio-area.modern {
  display: grid;
  grid-row-gap: var(--spacing-lg);
  align-items: start;
}
@media (min-width: 768px) {
  .portfolio-area.modern {
    grid-template-columns: repeat(8, 1fr);
    grid-row-gap: var(--spacing-xxl);
  }
  .portfolio-area.modern .portfolio-item:nth-child(6n-5) {
    grid-column: 1/4;
  }
  .portfolio-area.modern .portfolio-item:nth-child(6n-4) {
    grid-column: 5/9;
    margin-top: 100px;
  }
  .portfolio-area.modern .portfolio-item:nth-child(3n-3) {
    grid-column: 3/7;
  }
  .portfolio-area.modern .portfolio-item:nth-child(6n-2) {
    grid-column: 1/5;
  }
  .portfolio-area.modern .portfolio-item:nth-child(6n-2):not(:last-of-type) {
    margin-top: 100px;
  }
  .portfolio-area.modern .portfolio-item:nth-child(6n-1) {
    grid-column: 6/9;
  }
}

:root {
  --spacing-lg-min: 70;
  --spacing-lg-max: 100;
  --spacing-lg: clamp(var(--spacing-lg-min) * 1px, var(--spacing-lg-max) * 100vw / 1440, var(--spacing-lg-max) * 1px);

  --spacing-xxl-min: 100;
  --spacing-xxl-max: 210;
  --spacing-xxl: clamp(var(--spacing-xxl-min) * 1px, var(--spacing-xxl-max) * 100vw / 1440, var(--spacing-xxl-max) * 1px);
}

.portfolio-item-img {
  opacity: .75;
  filter: grayscale(1);
  transition: all 1s !important;
  cursor: pointer;
}

.portfolio-item-img:hover {
  filter: grayscale(0);
}

.webgl {
  position: relative;
  width: 100%;
  max-width: 1200px;
  max-height: 600px;
  margin: 0 auto 1rem auto;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.swiper-container {
  width: 100%;
  height: 100%;
}

.swiper-wrapper:not([style]) {
  margin: 0 auto;
}

[webgl-swiper] .canvas {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

[webgl-swiper] .swiper-container {
  position: relative;
  z-index: 1;
}

[webgl-swiper] .swiper-slide {
  overflow: hidden;
  display: block;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

[webgl-swiper] .swiper-slide img {
    visibility: hidden;
}

.mobile-menu i.lab.la-facebook-f::before,
.mobile-menu i.lab.la-instagram::before,
.mobile-menu i.lab.la-linkedin-in::before  {
  content: "";
}

.mobile-menu i.lab.la-facebook-f::after {
  content: "Facebook";
}

.mobile-menu i.lab.la-instagram::after {
  content: "Instagram";
}

.mobile-menu i.lab.la-linkedin-in::after {
  content: "Linkedin";
}

.mobile-menu i.lab.la-facebook-f::after,
.mobile-menu i.lab.la-instagram::after,
.mobile-menu i.lab.la-linkedin-in::after {

  font-family: var(--font-family);
  font-size: var(--font-size-h2);
  font-weight: var(--font-bold);
}

.mobile-menu .mobile-menu__social a {
  color: var(--black);
  transition: all 0.3s ease;
}

.mobile-menu .mobile-menu__social a:hover {
  color: var(--white);
}

.mobile-menu .social-media-list li {
  display: block;
  border-bottom: 1px solid var(--black);
  padding: 0.5rem 0;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-cookie-notice button.change-settings-button {
    padding: 0 !important;
    min-width: 0 !important;
    vertical-align: unset !important;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton {
    min-width: unset !important;
    padding: 8px 30px !important;
}

#moove_gdpr_cookie_info_bar.moove-gdpr-dark-scheme {
    background-color: #222 !important;
    border-top: none !important;
}

#moove_gdpr_cookie_info_bar.gdpr_infobar_postion_bottom_right:not(.gdpr-full-screen-infobar).moove-gdpr-dark-scheme {
	border: none !important;
}

#moove_gdpr_cookie_info_bar.gdpr_infobar_postion_bottom_right:not(.gdpr-full-screen-infobar) {
	border-radius: 5px !important;
}

.text {
	position: absolute;
	top: 50%;;
	left: 50%;;;
	text-transform: uppercase;
	animation: rotating 20s linear infinite;
	position: absolute;
	transform-origin: bottom center;
}

@keyframes rotating {
	from
	transform: rotate(0deg)
	to
	transform: rotate(360deg);
}