@charset "UTF-8";

/*
Theme Name: Theme
Author: Atelier Design
Author URI: https://atelierdesign.hu
Version: 1.0
Text Domain: webwork
*/


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


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


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





/* ==========================================================================
   # Root
   ========================================================================== */
:root {
  --text-color: #555555;
  --dark-text-color: #807f76;
  --subtitle-color: #7e7e7e;
  --black: #000000;
  --matte-black: #151515;
  --white: #ffffff;
  --color: var(--black);
  --hover: var(--black);
  --gray: #f5f5f5;
  --dark-gray: #eae3dc;
  --light-gray: #fafafa;
  --dark: #7e7e7e;
  --border-color: #dadada;
  --brown: #be8c4c;
  --light-green: #87c6bd;
  --green: #006241;
  --red: #ff0b0b;
  --yellow: #ffd200;
  --gold: #ffc000;
  --font-family: "FKGrotesk", sans-serif;
  --icon-family: "Line Awesome Free";
  --font-light: 300;
  --font-normal: 400;
  --font-medium: 500;
  --font-bold: 600;
  --font-extrabold: 700;
  --font-size-30: 1.875rem;
  --font-size-28: 1.75rem;
  --font-size-26: 1.625rem;
  --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-11: .688rem;
  --font-size-10: .625rem;
  --font-size-8: .535rem;
  --line-height-base: 1.3;
  --font-size-h1-max: 60;
  --font-size-h1-min: 40;
  --font-size-h1: clamp(var(--font-size-h1-min) * 1px, var(--font-size-h1-max) * 100vw / 1740, var(--font-size-h1-max) * 1px);
  --font-size-h2-max: 46;
  --font-size-h2-min: 28;
  --font-size-h2: clamp(var(--font-size-h2-min) * 1px, var(--font-size-h2-max) * 100vw / 1740, var(--font-size-h2-max) * 1px);
  --font-size-h3-max: 36;
  --font-size-h3-min: 20;
  --font-size-h3: clamp(var(--font-size-h3-min) * 1px, var(--font-size-h3-max) * 100vw / 1740, var(--font-size-h3-max) * 1px);
  --font-size-h4-max: 26;
  --font-size-h4-min: 18;
  --font-size-h4: clamp(var(--font-size-h4-min) * 1px, var(--font-size-h4-max) * 100vw / 1740, var(--font-size-h4-max) * 1px);
  --font-size-h5-max: 22;
  --font-size-h5-min: 16;
  --font-size-h5: clamp(var(--font-size-h5-min) * 1px, var(--font-size-h5-max) * 100vw / 1740, var(--font-size-h5-max) * 1px);
  --font-size-h6-max: 20;
  --font-size-h6-min: 14;
  --font-size-h6: clamp(var(--font-size-h6-min) * 1px, var(--font-size-h6-max) * 100vw / 1740, var(--font-size-h6-max) * 1px);
}





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

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

body {
  overflow-x: hidden;
  overflow-wrap: break-word;
  margin: 0;
  color: var(--text-color);
  font-family: var(--font-family);
  font-size: var(--font-size-16);
  line-height: 1.7;
  background-color: var(--white);
}

.site {
  overflow-x: hidden;
}

.section {
  margin-top: 5rem;
  margin-bottom: 5rem;
}

.light-mode,
.dark-mode,
.color-mode {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media (min-width: 992px) {
  .section {
    margin-top: 7rem;
    margin-bottom: 7rem;
  }

  .light-mode,
  .dark-mode,
  .color-mode {
    padding-top: 7rem;
    padding-bottom: 7rem;
  }
}

.light-mode {
  background-color: var(--gray);
}

.dark-mode {
  color: var(--white);
  background-color: var(--matte-black);
}

.dark-mode h1,
.dark-mode h2,
.dark-mode h3,
.dark-mode h4,
.dark-mode h5,
.dark-mode h6,
.dark-mode .title,
.dark-mode a {
  color: var(--white);
}

.dark-mode .link::after {
  background-color: var(--white);
}

.dark-mode .link:hover::after {
  background-color: var(--hover);
}

.dark-mode .btn {
  color: var(--black);
  background-color: var(--white);
  border: 0.094rem solid var(--white);
}

.dark-mode .btn:hover {
  color: var(--white);
  background-color: transparent;
}

.dark-mode .swiper-button-next,
.dark-mode .swiper-button-prev {
  border: 1px solid var(--white);
}

.color-mode {
  background-color: hsl(from var(--color) h s 93.5%);
}


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

@font-face {
  font-family: "FKGrotesk";
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/FKGrotesk-Regular.woff2) format("woff2");
}

@font-face {
  font-family: "FKGrotesk";
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/FKGrotesk-Medium.woff2) format("woff2");
}

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


/* # Typography ------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
  margin: 1rem 0;
  color: var(--black);
  font-family: var(--font-family);
  font-weight: var(--font-normal) !important;
}

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

h2 {
	font-size: var(--font-size-h2);
  line-height: 1.2;
  letter-spacing: -0.035em;
}

h3 {
	font-size: var(--font-size-h3);
  line-height: 1.2;
	letter-spacing: -0.015em;
}

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

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

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(--black);
  transition: all 0.3s ease-in-out;
}
a:hover {
  color: var(--hover);
}

a:hover, a:focus, a:active {
  text-decoration: none;
}

a:focus {
  outline: none;
}

a:hover, a:active {
  outline: 0;
}

.link,
.link-white,
.link-color {
  position: relative;
  display: inline-block;
  font-family: var(--font-family);
  font-size: var(--font-size-11);
  font-weight: var(--font-bold);
  letter-spacing: -0.03em;
  text-transform: uppercase;
  text-decoration: none;
  padding-right: 1.25rem;
}

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

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

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

.link::after,
.link-white::after,
.link-color::after {
  position: absolute;
  top: 4px;
  right: 0;
  transition: all 0.3s ease-in-out;
}

.link::after {
  content: '';
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='M476.655,638.625h10.131l-3.441,3.308a0.61,0.61,0,0,0,0,.884,0.67,0.67,0,0,0,.92,0l4.55-4.375a0.61,0.61,0,0,0,0-.884l-4.55-4.375a0.67,0.67,0,0,0-.92,0,0.61,0.61,0,0,0,0,.884l3.441,3.308H476.655A0.625,0.625,0,1,0,476.655,638.625Z' transform='translate(-476 -633)' fill='%23000000'%3E%3C/path%3E%3C/svg%3E%0A");
  mask-size: contain;
  mask-repeat: no-repeat;
  width: 14px;
  height: 8px;
  background-color: var(--black);
}
.link-white::after {
  content: '';
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='M476.655,638.625h10.131l-3.441,3.308a0.61,0.61,0,0,0,0,.884,0.67,0.67,0,0,0,.92,0l4.55-4.375a0.61,0.61,0,0,0,0-.884l-4.55-4.375a0.67,0.67,0,0,0-.92,0,0.61,0.61,0,0,0,0,.884l3.441,3.308H476.655A0.625,0.625,0,1,0,476.655,638.625Z' transform='translate(-476 -633)' fill='%23ffffff'%3E%3C/path%3E%3C/svg%3E%0A");
  mask-size: contain;
  mask-repeat: no-repeat;
  width: 14px;
  height: 8px;
  background-color: var(--white);
}
.link-color::after {
  content: '';
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='M476.655,638.625h10.131l-3.441,3.308a0.61,0.61,0,0,0,0,.884,0.67,0.67,0,0,0,.92,0l4.55-4.375a0.61,0.61,0,0,0,0-.884l-4.55-4.375a0.67,0.67,0,0,0-.92,0,0.61,0.61,0,0,0,0,.884l3.441,3.308H476.655A0.625,0.625,0,1,0,476.655,638.625Z' transform='translate(-476 -633)' fill='%23ffbe17'%3E%3C/path%3E%3C/svg%3E%0A");
  mask-size: contain;
  mask-repeat: no-repeat;
  width: 14px;
  height: 8px;
  background-color: var(--hover);
}

@keyframes slide {
	0% { right:0 } to { right:4px }
}

.link:hover::after,
.link-white:hover::after,
.link-color:hover::after  {
  -webkit-animation: slide .5s linear infinite alternate;
  animation: slide .5s linear infinite alternate;
}

.link:hover::after  {
  content: '';
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='M476.655,638.625h10.131l-3.441,3.308a0.61,0.61,0,0,0,0,.884,0.67,0.67,0,0,0,.92,0l4.55-4.375a0.61,0.61,0,0,0,0-.884l-4.55-4.375a0.67,0.67,0,0,0-.92,0,0.61,0.61,0,0,0,0,.884l3.441,3.308H476.655A0.625,0.625,0,1,0,476.655,638.625Z' transform='translate(-476 -633)' fill='%23ffbe17'%3E%3C/path%3E%3C/svg%3E%0A");
  mask-size: contain;
  mask-repeat: no-repeat;
  width: 14px;
  height: 8px;
  background-color: var(--hover);
}

.link-white:hover::after  {
  content: '';
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='M476.655,638.625h10.131l-3.441,3.308a0.61,0.61,0,0,0,0,.884,0.67,0.67,0,0,0,.92,0l4.55-4.375a0.61,0.61,0,0,0,0-.884l-4.55-4.375a0.67,0.67,0,0,0-.92,0,0.61,0.61,0,0,0,0,.884l3.441,3.308H476.655A0.625,0.625,0,1,0,476.655,638.625Z' transform='translate(-476 -633)' fill='%23ffbe17'%3E%3C/path%3E%3C/svg%3E%0A");
  mask-size: contain;
  mask-repeat: no-repeat;
  width: 14px;
  height: 8px;
  background-color: var(--hover);
}

.link-color:hover::after  {
  content: '';
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='M476.655,638.625h10.131l-3.441,3.308a0.61,0.61,0,0,0,0,.884,0.67,0.67,0,0,0,.92,0l4.55-4.375a0.61,0.61,0,0,0,0-.884l-4.55-4.375a0.67,0.67,0,0,0-.92,0,0.61,0.61,0,0,0,0,.884l3.441,3.308H476.655A0.625,0.625,0,1,0,476.655,638.625Z' transform='translate(-476 -633)' fill='%23000000'%3E%3C/path%3E%3C/svg%3E%0A");
  mask-size: contain;
  mask-repeat: no-repeat;
  width: 14px;
  height: 8px;
  background-color: var(--hover);
}

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

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


/* # Buttons ---------------------------------------------------------------- */
.btn,
.btn-white,
.btn-white-inv,
.btn-color,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  display: inline-block;
  position: relative;
  font-family: var(--font-family);
  font-size: var(--font-size-11);
  font-weight: var(--font-bold);
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  text-shadow: none;
  padding: 1.075rem 1.5rem;
  min-width: 8.5rem;
  outline: 0;
  border-radius: 10rem;
  vertical-align: middle;
  cursor: pointer;
  transition: all 0.5s ease;
}

.btn {
  color: var(--white);
  background-color: var(--black);
  border: 0.094rem solid var(--black);
}

.btn-white {
  color: var(--black);
  background-color: var(--white);
  border: 0.094rem solid var(--white);
}

.btn-color {
  color: var(--white);
  background-color: var(--color);
  border: 0.094rem solid var(--color);
}

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

.btn:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  color: var(--black);
  background-color: transparent;
}

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

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-menu {
  min-width: 8.5rem;
  padding: 1rem 1.5rem;
  background-color: transparent;
}

.btn-menu a {
  line-height: 1 !important;
}

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

.btn-menu a:hover {
  color: var(--black) !important;
}

.btn-menu:hover a {
    color: var(--black) !important;
}


/* # Alignments ------------------------------------------------------------- */
.alignnone,
.aligncenter,
.alignleft,
.alignright,
.alignwide {
  margin: 2rem 0;
  width: 100%;
}

.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;
}

.blog-layout-narrow .alignfull,
.blog-layout-fullwidth .alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: auto;
  max-width: 1000%;
}

.blog-layout-narrow .alignwide,
.blog-layout-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;
}
@media (max-width: 991.98px) {
  .m-text-center {
    text-align: center;
  }
}

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

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

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


/* # Elements --------------------------------------------------------------- */
blockquote {
  position: relative;
  color: var(--black);
  font-weight: var(--font-bold);
  margin: 3rem 0;
  padding: 1rem 0 1rem 1.5rem;
  border-left: 5px solid var(--color);
}

blockquote p {
  margin-top: 0;
}

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(--color);
  padding: 5px 15px;
}

ins {
  text-decoration: underline;
}

dt {
  font-weight: bold;
}

dd {
  margin: 0 1.5em 1.5em;
}

#general-content ul {
  padding-left: 1rem;
}

#general-content ul li::marker {
  color: var(--color);
}

#general-content ul li:not(:last-child) {
  margin-bottom: .5rem;
}

#general-content ul li strong {
  color: var(--black);
}


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

figcaption:not(.mfp-figure figcaption) {
  position: absolute;
  bottom: 15px;
  left: 0;
  z-index: 10;
  color: var(--white);
  padding: 4px 15px;
  background-image: linear-gradient(to right, #0e0e0e5c 0%, #1b1515 100%);
}

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

video {
  display: block;
}

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

.mfp-arrow-left::after,
.mfp-arrow-right::after  {
  display: none;
}

.mfp-arrow-left::before {
    content: "\f104";
}

.mfp-arrow-right::before {
    content: "\f105";
}

.mfp-arrow-left::before,
.mfp-arrow-right::before {
    color: var(--white);
    font-family: var(--icon-family);
    font-weight: var(--font-bold);
    font-size: var(--font-size-30);
    border: none;
}


/* # 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,
select,
.form-control {
  appearance: none;
  resize: none;
  color: var(--black);
  font-family: var(--font-family);
  font-size: var(--font-size-12);
  padding: .65rem 0;
  width: 100%;
  height: 2.75rem;
  box-shadow: none;
  border: 0;
  border-radius: 0;
  border-bottom: 1px solid var(--black);
  background: none;
  transition: all 0.3s ease;
}

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,
select:focus {
  outline: none;
  border-color: var(--black);
}

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

select {
    cursor: pointer;
}

.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: 8px;
  line-height: 1.7;
  text-align: left;
  vertical-align: top;
  border-top: 1px solid var(--border-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
   ========================================================================== */


/* # Subtitle --------------------------------------------------------------- */
.subtitle {
  color: var(--subtitle-color);
  font-size: var(--font-size-8);
  font-weight: var(--font-medium) !important;
  text-transform: uppercase;
  letter-spacing: 0.245em;
  margin-top: 0;
}

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


/* # 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%);
}

.gradient-text {
  background-image: linear-gradient(100deg, #b79827, #804d1e);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}


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

.hover img {
  transition: all 0.5s ease-in-out;
}

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


/* # Swiper Slider ---------------------------------------------------------- */
.swiper-button-next,
.swiper-button-prev {
  --swiper-navigation-size: .75rem;
  --swiper-navigation-color: var(--white);
  background-color: transparent;
  border-radius: 100%;
  padding: 1.177rem;
  transition: all 400ms ease-in-out 0s;
}

.swiper-button-next:hover, .swiper-button-prev:hover {
  background-color: var(--hover);
}

.swiper-button-next {
  right: -5%;
}

.swiper-button-prev {
  left: -5%;
}

.swiper-pagination-bullet-active {
  background: var(--black);
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  width: fit-content;
  margin: 5% auto 0;
  position: relative;
  background-color: var(--white);
  border-radius: 999px;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.swiper .swiper-slide {
  opacity: 0;
  transform: translate3d(0, 20px, 0); 
  transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}

.swiper-initialized .swiper-slide {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}


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


/* # CSS Classes ------------------------------------------------------------ */
.fullwidth {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}

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

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

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

.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;
}

.medium {
  font-weight: var(--font-medium);
}

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

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

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

.line-through {
  text-decoration: line-through;
}

.line-height-1 {
  line-height: 1;
}





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


/* # Header ----------------------------------------------------------------- */
.site-header .col-lg-12 {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767.98px) {
  .site-header .site-header-top .col-lg-12 {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* # Header Top ------------------------------------------------------------- */
.site-header-top {
  position: relative;
  z-index: 3;
  font-size: var(--font-size-12);
  line-height: 1;
  color: var(--white);
  background-color: var(--gray);
}


/* # Site Menu Top ---------------------------------------------------------- */
.site-menu-top ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-menu-top li {
  list-style: none;
  display: inline-block;
  position: relative;
  padding: 12px 0;
}

.site-menu-top li:not(:last-child) {
  padding-right: 1.25rem;
}

.site-menu-top li:not(:last-child):after {
  content: "•";
  position: absolute;
  top: 0;
  right: 0;
  line-height: 38px;
  font-size: var(--font-size-20);
  font-weight: var(--font-bold);
  color: var(--black);
}

.site-menu-top li a {
  color: var(--black);
  font-size: var(--font-size-12);
  font-weight: var(--font-normal) !important;
  text-decoration: none;
}

.site-menu-top li a:hover,
.site-menu-top li a:active,
.site-menu-top li a:focus {
  color: var(--hover);
  text-decoration: none;
}

.site-menu-top li + li {
  margin-left: .5rem;
}

.site-menu-top li.current_page_item > a,
.site-menu-top li.current-menu-item > a,
.site-menu-top li.current_page_ancestor > a,
.site-menu-top li.current-menu-ancestor > a {
  color: var(--color);
}

.site-menu-top-icon {
  margin-right: 2px;
}


/* # Site Text Top ---------------------------------------------------------- */
.site-text-top,
.site-text-top a {
  font-size: var(--font-size-14);
  color: var(--black);
  margin: 0 auto;
  text-decoration: none;
  transition: all 0.3s ease;
  padding-bottom: 8px;
}
@media (min-width: 768px) {
  .site-text-top,
  .site-text-top a {
    padding: 8px 0;
  }
}

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


/* # Site Social Top -------------------------------------------------------- */
.site-social-top {
  margin: 0;
  padding: 0;
  line-height: 1;
  list-style: none;
  display: initial;
}
@media (max-width: 767.98px) {
  .site-social-top {
    padding-bottom: 10px;
  }
}

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

.site-social-top > 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);
  color: var(--white);
  padding-left: 3px;
  padding-right: 3px;
  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;
  color: var(--color);
}
@media (max-width: 991.98px) {
  .link-socialmedia-trigger {
    display: inline-block;
  }
}

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

.tiktok-icon::before {
  content: "";
  display: inline-block;
  width: .85rem;
  height: .85rem;
  background-image: url("data:image/svg+xml,%3Csvg id='fi_3046120' enable-background='new 0 0 512 512' height='512' viewBox='0 0 512 512' width='512' xmlns='http://www.w3.org/2000/svg'%3E%3Cg%3E%3Cpath d='m480.32 128.39c-29.22 0-56.18-9.68-77.83-26.01-24.83-18.72-42.67-46.18-48.97-77.83-1.56-7.82-2.4-15.89-2.48-24.16h-83.47v228.08l-.1 124.93c0 33.4-21.75 61.72-51.9 71.68-8.75 2.89-18.2 4.26-28.04 3.72-12.56-.69-24.33-4.48-34.56-10.6-21.77-13.02-36.53-36.64-36.93-63.66-.63-42.23 33.51-76.66 75.71-76.66 8.33 0 16.33 1.36 23.82 3.83v-62.34-22.41c-7.9-1.17-15.94-1.78-24.07-1.78-46.19 0-89.39 19.2-120.27 53.79-23.34 26.14-37.34 59.49-39.5 94.46-2.83 45.94 13.98 89.61 46.58 121.83 4.79 4.73 9.82 9.12 15.08 13.17 27.95 21.51 62.12 33.17 98.11 33.17 8.13 0 16.17-.6 24.07-1.77 33.62-4.98 64.64-20.37 89.12-44.57 30.08-29.73 46.7-69.2 46.88-111.21l-.43-186.56c14.35 11.07 30.04 20.23 46.88 27.34 26.19 11.05 53.96 16.65 82.54 16.64v-60.61-22.49c.02.02-.22.02-.24.02z' fill='%23ffffff'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

.mobile-menu__social .tiktok-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg id='fi_3046120' enable-background='new 0 0 512 512' height='512' viewBox='0 0 512 512' width='512' xmlns='http://www.w3.org/2000/svg'%3E%3Cg%3E%3Cpath d='m480.32 128.39c-29.22 0-56.18-9.68-77.83-26.01-24.83-18.72-42.67-46.18-48.97-77.83-1.56-7.82-2.4-15.89-2.48-24.16h-83.47v228.08l-.1 124.93c0 33.4-21.75 61.72-51.9 71.68-8.75 2.89-18.2 4.26-28.04 3.72-12.56-.69-24.33-4.48-34.56-10.6-21.77-13.02-36.53-36.64-36.93-63.66-.63-42.23 33.51-76.66 75.71-76.66 8.33 0 16.33 1.36 23.82 3.83v-62.34-22.41c-7.9-1.17-15.94-1.78-24.07-1.78-46.19 0-89.39 19.2-120.27 53.79-23.34 26.14-37.34 59.49-39.5 94.46-2.83 45.94 13.98 89.61 46.58 121.83 4.79 4.73 9.82 9.12 15.08 13.17 27.95 21.51 62.12 33.17 98.11 33.17 8.13 0 16.17-.6 24.07-1.77 33.62-4.98 64.64-20.37 89.12-44.57 30.08-29.73 46.7-69.2 46.88-111.21l-.43-186.56c14.35 11.07 30.04 20.23 46.88 27.34 26.19 11.05 53.96 16.65 82.54 16.64v-60.61-22.49c.02.02-.22.02-.24.02z' fill='%23000000'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
}


/* # Header Bottom ---------------------------------------------------------- */
.site-header {
  position: relative;
  z-index: 105;
  background-color: var(--matte-black);
}

.site-header-bottom {
  position: relative;
  z-index: 999;
  height: 70px;
}

.site-header-sticky {
  position: relative;
  z-index: 998;
  height: 70px;
  width: 100%;
  background-color: var(--matte-black);
  transition: all 0.3s ease;
}

.site-header-sticky.header-sticky.sticked {
  position: fixed;
  background-color: var(--matte-black);
}


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

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

.site-title {
  color: var(--white);
  font-size: var(--font-size-24);
  font-weight: var(--font-medium);
  letter-spacing: -0.05em;
  margin: 0;
}


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

.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;
}

@media (min-width: 1025px) {
  .site-menu ul li {
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .site-menu ul li:last-child {
    padding-right: 1rem;
  }
}

.site-menu ul li a {
  display: block;
  position: relative;
  color: var(--white);
  font-size: var(--font-size-11);
  font-weight: var(--font-bold) !important;
  text-transform: uppercase;
  text-decoration: none;
  line-height: 70px;
}

.site-menu ul li a:hover,
.site-menu ul li a:active,
.site-menu ul li a:focus,
.site-menu ul li:not(.btn-menu).current_page_item > a,
.site-menu ul li:not(.btn-menu).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(--dark-text-color);
}

/*
LEGÖRDÜLŐ MENÜ IKON, NE TÖRÖLD KI!
.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(--matte-black);
  min-width: 225px;
  padding: 0.5rem;
  opacity: 0;
  left: 0;
  visibility: hidden;
  border-width: 1px 1px 0px;
  border-color: var(--matte-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(--matte-black);
  bottom: 100%;
  margin-left: -4px;
}

.site-menu li ul:after {
  border-bottom-color: var(--matte-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(--white);
  position: absolute;
  top: 10px;
  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: 1rem;
  }
}

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

.site-icons ul.nav-link li:last-child a {
  padding-right: 0;
}


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

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

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

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

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

.nav-link__cart .cart-contents-count,
.site-social-top__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: 22px;
  right: -6px;
  color: var(--white);
  font-weight: var(--font-normal);
  letter-spacing: 0;
}

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


/* # Site Cart -------------------------------------------------------------- */
.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;
  transition: all 400ms ease-in-out 0s;
}

.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;
}

.woocommerce .widget_shopping_cart .total,
.woocommerce.widget_shopping_cart .total {
  border-top: 1px solid var(--border-color);
  padding-top: 1rem;
}

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

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

.nav-link__cart .widget.widget_shopping_cart p.buttons a {
  position: relative;
  color: var(--black);
  font-family: var(--font-family);
  font-size: var(--font-size-18);
  line-height: 1;
  letter-spacing: -0.03em;
  text-align: center;
  text-decoration: none;
  text-shadow: none;
  padding: 1.15rem 1.75rem 1.25rem;
  min-width: 12rem;
  margin: 0;
  display: block;
  border-radius: 0;
  outline: 0;
  cursor: pointer;
  transition: all 0.5s ease;
}

.nav-link__cart .widget.widget_shopping_cart p.buttons a:first-of-type {
  background-color: var(--dark-gray);
  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(--black);
}

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

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

@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: 4;
  z-index: 15;
  padding-left: 2rem;
  height: 70px;
}
@media (min-width: 992px) {
  .site-menu-mobile {
    display: none;
  }
}

.site-menu-toggle,
.mobile-menu-toggle {
  pointer-events: initial;
  cursor: pointer;
  z-index: 9998;
  position: relative;
  user-select: none;
}

.site-menu-toggle span,
.mobile-menu-toggle span {
  display: block;
  width: 26px;
  height: 2px;
  margin: 4px 0;
  background-color: var(--white);
  transition: transform 0.3s, background 1s cubic-bezier(0.23, 1, 0.32, 1);
}

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

.mobile-menu-active .site-menu-toggle span:nth-child(2),
.mobile-menu-active .mobile-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: 300px;
  overflow: hidden;
  background-color: var(--white);
  padding: 25px 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 {
  height: 35px;
  position: relative;
}

.mobile-menu-close {
  font-size: 25px;
  transition: all 0.3s ease;
  cursor: pointer;
  line-height: 0;
  position: absolute;
  top: 5px;
  display: block;
}

.mobile-menu-close:hover {
  transform: rotate(-90deg);
  backface-visibility: hidden;
}

.mobile-menu__logo {
  margin-top: 1rem;
  padding-top: 1rem;
  width: 150px;
  filter: invert(1);
}

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

.mobile-menu__contact {
  margin-top: 1rem;
  transform: translateY(40px);
  transition: 0.3s;
  transition-delay: 0;
  opacity: 0;
}

.mobile-menu__navigation {
  margin-top: 2rem;
  padding-top: 2rem;
}

.mobile-menu-active .mobile-menu__navigation, .mobile-menu-active .mobile-menu__search, .mobile-menu-active .mobile-menu__secondary, .mobile-menu-active .mobile-menu__contact, .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__contact {
  transition-delay: 0.6s;
}

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

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

.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: var(--font-size-11);
  margin-bottom: 0;
}

@media (max-width: 767.98px) {
  .mobile-menu {
    padding: 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: 20px 0;
  border-bottom: 1px solid var(--border-color);
}
@media (max-width: 991.98px) {
  .mobile-menu__navigation ul li.btn-menu {
    display: none;
  }
}

.mobile-menu__navigation ul li:first-child {
  border-top: 1px solid var(--border-color);
}

.mobile-menu__navigation ul li a {
  font-size: var(--font-size-18);
  font-weight: var(--font-normal) !important;
  display: block;
  text-decoration: none;
  transition: all 0.3s ease;
}

.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(--hover);
  text-decoration: none;
}


/* # 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;
}


/* # Mobile Menu Contact ---------------------------------------------------- */
.mobile-menu__phone, .mobile-menu__email {
  display: flex;
  align-items: center;
  margin-top: 1rem;
}

.mobile-menu__phone .mobile-menu__phone-icon,
.mobile-menu__email .mobile-menu__email-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 100%;
  background: var(--gray);
  margin-right: .75rem;
}


/* # 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);
}





/* ==========================================================================
   # Portfolio
   ========================================================================== */
.single-portfolio .hero-title {
    line-height: 1;
}

.single-portfolio #general-content {
  margin-top: 0;
  margin-bottom: 0;
}


/* # Portfolio Filter ------------------------------------------------------- */
.portfolio-filter {
  margin: 3rem 0;
}

.portfolio-filter .btn.filter-button {
  color: var(--black);
  background-color: transparent;
  min-width: unset;
  padding: 0;
  text-transform: uppercase;
  font-size: var(--font-size-16);
}

.portfolio-filter .btn.filter-button:not(:last-child) {
  margin-right: 2rem;
}

.portfolio-filter .btn.filter-button::before {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--black);
  transform-origin: right;
  transform: scaleX(0);
  transition: transform .3s ease-in-out;
}

.portfolio-filter .btn.filter-button.active::before {
  transform-origin: left;
  transform: scaleX(1);
}

.portfolio-filter .btn.filter-button:hover::before {
  transform-origin: left;
  transform: scaleX(1);
}

.filter {
  animation: scaleIn 0.5s ease-in-out;
}
  
@keyframes scaleIn {
  0% {
    transform: scale(0.95);
    opacity: 0.5;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}


/* # Portfolio Content ------------------------------------------------------ */
.portfolio-content {
  margin-bottom: 7.813rem;
}

.portfolio-content .entry-item .entry-thumbnail {
  cursor: pointer;
}

.portfolio-grid .entry-thumbnail img {
  height: 250px;
  object-fit: cover;
}

.portfolio-content .entry-caption a {
  text-decoration: none;
}

.portfolio-content .entry-caption a:hover .entry-title {
  color: var(--hover);
}

.portfolio-content .entry-title {
  font-size: var(--font-size-22);
  margin-bottom: 0;
  transition: all 0.3s ease-in-out;
}

.portfolio-content .portfolio-meta-category {
  font-size: var(--font-size-14);
  font-weight: var(--font-normal);
  margin: 0;
}


/* # Portfolio Link --------------------------------------------------------- */
.portfolio-link {
  color: var(--color);
  font-size: var(--font-size-28);
  font-weight: var(--font-bold);
  letter-spacing: -0.03em;
  margin: 1rem 0;
}

.portfolio-link a {
  color: var(--color);
  text-decoration: none;
  transition: all 0.3s ease;
}

.portfolio-link a:hover {
  color: var(--black);
}


/* # Portfolio Category ----------------------------------------------------- */
.portfolio-meta-category {
  font-size: var(--font-size-18);
  font-weight: var(--font-bold);
  letter-spacing: -0.03em;
  margin: 1rem 0;
}

.portfolio-meta-category a {
  color: var(--black);
  text-decoration: none;
  margin-right: 1rem;
  transition: all 0.3s ease;
}

.portfolio-meta-category a:hover {
  color: var(--hover);
}


/* # Portfolio Classic Layout ----------------------------------------------- */
.portfolio-content.portfolio-default .entry-item:not(:last-child) {
  margin-bottom: 7.813rem;
}

.portfolio-content.portfolio-default .entry-title {
  font-size: var(--font-size-h2);
}


/* # Portfolio Grid Layout -------------------------------------------------- */
.portfolio-content.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 4rem 2rem;
}
@media (min-width: 992px) {
  .portfolio-content.portfolio-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}


/* # Portfolio Columns Layout ----------------------------------------------- */
.portfolio-content.portfolio-columns {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 4rem 2rem;
}
@media (min-width: 992px) {
  .portfolio-content.portfolio-columns {
    grid-template-columns: repeat(2, 1fr);
  }
}

.portfolio-content.portfolio-columns .entry-thumbnail img {
  height: 300px;
  object-fit: cover;
}


/* # Portfolio Squares Layout ----------------------------------------------- */
.portfolio-content.portfolio-squares {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 4rem 2rem;
}
@media (min-width: 992px) {
  .portfolio-content.portfolio-squares {
    grid-template-columns: repeat(2, 1fr);
  }
}

.portfolio-content.portfolio-squares .entry-item .entry-thumbnail {
    border-radius: .5rem;
}

.portfolio-content.portfolio-squares .entry-item .entry-thumbnail img {
  height: 475px;
  object-fit: cover;
}


/* # Portfolio Masonry Layout ----------------------------------------------- */
.portfolio-content.portfolio-masonry {
  margin-bottom: 9rem;
}

.portfolio-content.portfolio-masonry {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2rem 2rem;
}

@media (min-width: 992px) {
  .portfolio-content.portfolio-masonry {
      grid-template-columns: repeat(2, 1fr);
      grid-auto-rows: 300px;
      grid-auto-flow: dense;
  }
}

.portfolio-content.portfolio-masonry .entry-item .entry-thumbnail {
  height: 100%;
}

.portfolio-content.portfolio-masonry .entry-item .entry-thumbnail img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.portfolio-content.portfolio-masonry .entry-item:nth-child(4n+2),
.portfolio-content.portfolio-masonry .entry-item:nth-child(4n+3),
.portfolio-content.portfolio-masonry .entry-item:nth-child(4n+6),
.portfolio-content.portfolio-masonry .entry-item:nth-child(4n+7) {
  grid-row: span 2;
}

.portfolio-content.portfolio-masonry .entry-item:last-child {
  grid-row: span 1;
}


/* # Portfolio Masonry Gird Layout ------------------------------------------ */
.portfolio-content.portfolio-masonry-grid {
  margin-bottom: 9rem;
}

.portfolio-content.portfolio-masonry-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2rem 2rem;
}

@media (min-width: 992px) {
  .portfolio-content.portfolio-masonry-grid {
      grid-template-columns: repeat(3, 1fr);
      grid-auto-flow: dense;
      grid-auto-rows: 200px;
  }
}

.portfolio-content.portfolio-masonry-grid .entry-item .entry-thumbnail {
  height: 100%;
}

.portfolio-content.portfolio-masonry-grid .entry-thumbnail img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.portfolio-content.portfolio-masonry-grid .entry-item:nth-child(6n+2),
.portfolio-content.portfolio-masonry-grid .entry-item:nth-child(6n+4),
.portfolio-content.portfolio-masonry-grid .entry-item:nth-child(6n+5) {
  grid-row: span 2;
}

.portfolio-content.portfolio-masonry-grid .entry-item:last-child {
  grid-row: span 1;
}


/* # Portfolio Masonry Mixed Layout ----------------------------------------- */
.portfolio-content.portfolio-masonry-mixed {
  margin-bottom: 9rem;
}

.portfolio-content.portfolio-masonry-mixed {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2rem 2rem;
}

@media (min-width: 992px) {
  .portfolio-content.portfolio-masonry-mixed {
      grid-template-columns: repeat(4, 1fr);
      grid-auto-flow: dense;
      grid-auto-rows: 250px;
  }
}

.portfolio-content.portfolio-masonry-mixed .entry-item .entry-thumbnail {
  height: 100%;
}

.portfolio-content.portfolio-masonry-mixed img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.portfolio-content.portfolio-masonry-mixed .entry-item:nth-child(8n + 1),
.portfolio-content.portfolio-masonry-mixed .entry-item:nth-child(8n + 7) {
    grid-row: span 2;
    grid-column: span 2;
}

.portfolio-content.portfolio-masonry-mixed .entry-item:nth-child(8n + 4),
.portfolio-content.portfolio-masonry-mixed .entry-item:nth-child(8n + 8) {
    grid-column: span 2;
}


/* # Portfolio List Layout -------------------------------------------------- */
.portfolio-content.portfolio-list .entry-item:not(:last-child) {
  margin-bottom: 7.813rem;
}

@media (min-width: 992px) {
  .portfolio-content.portfolio-list .entry-item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 4rem;
  }

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

.portfolio-content.portfolio-list .entry-title {
  font-size: var(--font-size-h2);
  margin-top: 2rem;
  margin-bottom: 1rem;
}


/* # Portfolio List Reverse Layout ------------------------------------------ */
.portfolio-content.portfolio-list-reverse .entry-item:not(:last-child) {
  margin-bottom: 7.813rem;
}

@media (min-width: 992px) {
  .portfolio-content.portfolio-list-reverse .entry-item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 4rem;
  }

  .portfolio-content.portfolio-list-reverse .entry-thumbnail img {
    height: 350px;
    object-fit: cover;
  }
}
@media (max-width: 991.98px) {
  .portfolio-content.portfolio-list-reverse .entry-thumbnail img {
    margin-bottom: 2rem;
  }
}

.portfolio-content.portfolio-list-reverse .entry-title {
  font-size: var(--font-size-h2);
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.portfolio-content.portfolio-list-reverse .entry-item:nth-child(even) .entry-thumbnail {
  order: 2;
}


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


/* # Portfolio Caption Style ------------------------------------------------ */
.portfolio-content.caption-style-over:not(.portfolio-list):not(.portfolio-list-reverse) .entry-item,
.portfolio-content.caption-style-invisible:not(.portfolio-list):not(.portfolio-list-reverse) .entry-item {
  position: relative;
}

.portfolio-content.caption-style-over:not(.portfolio-list):not(.portfolio-list-reverse) .entry-item .entry-caption,
.portfolio-content.caption-style-invisible:not(.portfolio-list):not(.portfolio-list-reverse) .entry-item .entry-caption  {
  position: absolute;
  left: 2rem;
  bottom: 2rem;
}

.portfolio-content.caption-style-over:not(.portfolio-list):not(.portfolio-list-reverse) .entry-item .entry-caption a,
.portfolio-content.caption-style-over:not(.portfolio-list):not(.portfolio-list-reverse) .entry-item .entry-caption h2,
.portfolio-content.caption-style-invisible:not(.portfolio-list):not(.portfolio-list-reverse) .entry-item .entry-caption a,
.portfolio-content.caption-style-invisible:not(.portfolio-list):not(.portfolio-list-reverse) .entry-item .entry-caption h2 {
  color: var(--white);
}

.portfolio-content.caption-style-over:not(.portfolio-list):not(.portfolio-list-reverse) .entry-item .entry-caption a:hover,
.portfolio-content.caption-style-invisible:not(.portfolio-list):not(.portfolio-list-reverse) .entry-item .entry-caption h2:hover,
.portfolio-content.caption-style-invisible:not(.portfolio-list):not(.portfolio-list-reverse) .entry-item .entry-caption a:hover {
  color: var(--white);
}

.portfolio-content.caption-style-over:not(.portfolio-list):not(.portfolio-list-reverse) .entry-item .entry-thumbnail a::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%);
}

.portfolio-content.caption-style-over.portfolio-grid,
.portfolio-content.caption-style-invisible.portfolio-grid,
.portfolio-content.caption-style-over.portfolio-columns,
.portfolio-content.caption-style-invisible.portfolio-columns,
.portfolio-content.caption-style-over.portfolio-squares,
.portfolio-content.caption-style-invisible.portfolio-squares {
  gap: 2.5rem;
}

.portfolio-content.caption-style-invisible:not(.portfolio-list):not(.portfolio-list-reverse) .entry-item .entry-caption {
  opacity: 0;
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
  transform: translateY(20px);
}

.portfolio-content.caption-style-invisible:not(.portfolio-list):not(.portfolio-list-reverse) .entry-item:hover .entry-caption {
  opacity: 1;
  transform: translateY(0);
}

.portfolio-content.caption-style-invisible:not(.portfolio-list):not(.portfolio-list-reverse) .entry-item .entry-thumbnail a::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%);
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.portfolio-content.caption-style-invisible:not(.portfolio-list):not(.portfolio-list-reverse) .entry-item:hover .entry-thumbnail a::after {
  opacity: 1;
}

.portfolio-content.portfolio-modern.caption-style-over .entry-item {
  height: auto !important;
}


/* # Portfolio Gap Size ----------------------------------------------------- */
.portfolio-content.gap-size-narrow.portfolio-default .entry-item {
  margin-bottom: 1rem;
}

.portfolio-content.gap-size-null.portfolio-default .entry-item {
  margin-bottom: 0;
}

.portfolio-content.gap-size-narrow.portfolio-grid,
.portfolio-content.gap-size-narrow.portfolio-columns,
.portfolio-content.gap-size-narrow.portfolio-squares,
.portfolio-content.gap-size-narrow.portfolio-masonry,
.portfolio-content.gap-size-narrow.portfolio-masonry-grid,
.portfolio-content.gap-size-narrow.portfolio-masonry-mixed,
.portfolio-content.gap-size-narrow.portfolio-list .entry-item,
.portfolio-content.gap-size-narrow.portfolio-list-reverse .entry-item {
  gap: 1rem !important;
}

.portfolio-content.gap-size-null.portfolio-grid,
.portfolio-content.gap-size-null.portfolio-columns,
.portfolio-content.gap-size-null.portfolio-squares,
.portfolio-content.gap-size-null.portfolio-masonry,
.portfolio-content.gap-size-null.portfolio-masonry-grid,
.portfolio-content.gap-size-null.portfolio-masonry-mixed,
.portfolio-content.gap-size-null.portfolio-list .entry-item,
.portfolio-content.gap-size-null.portfolio-list-reverse .entry-item {
  gap: 0rem !important;
}

.portfolio-content.caption-style-default.portfolio-masonry,
.portfolio-content.caption-style-default.portfolio-masonry-grid,
.portfolio-content.caption-style-default.portfolio-masonry-mixed {
  row-gap: 6rem !important;
}

.portfolio-content.gap-size-null.portfolio-list .entry-caption,
.portfolio-content.gap-size-null.portfolio-list-reverse .entry-caption {
  margin-left: -2rem;
  z-index: 1;
}

.portfolio-content.gap-size-null.portfolio-list-reverse .entry-item:nth-child(even) .entry-caption {
  margin-right: -2rem;
  z-index: 1;
}

.portfolio-content.gap-size-narrow.portfolio-modern {
  grid-row-gap: 25px;
}
@media (min-width: 768px) {
  .portfolio-content.gap-size-narrow.portfolio-modern {
    grid-row-gap: 50px;
  }
}

.portfolio-content.gap-size-null.portfolio-modern {
  grid-row-gap: 0px;
}
@media (min-width: 768px) {
  .portfolio-content.gap-size-null.portfolio-modern {
    grid-row-gap: 0px;
  }
  .portfolio-content.gap-size-null.portfolio-modern .entry-item:nth-child(6n-5) {
    grid-column: 1 / 5;
  }
  .portfolio-content.gap-size-null.portfolio-modern .entry-item:nth-child(6n-2) {
    grid-column: 1 / 6;
  }
}


/* ==========================================================================
   # Blog
   ========================================================================== */
.blog-content {
  margin-top: 5rem;
}

.blog .entry-title,
.archive .entry-title,
.search .entry-title {
  font-size: var(--font-size-20);
  margin-bottom: 0;
}

.blog .entry-title a {
  text-decoration: none;
}

.blog .entry-content p {
  font-size: var(--font-size-12);
}

.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(--hover);
}


/* # Classic Layout --------------------------------------------------------- */
.blog-default .entry-item:not(:last-child) {
  margin-bottom: 7.813rem;
}

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

.blog-default .entry-title {
  font-size: var(--font-size-h2);
}


/* # Grid Layout ------------------------------------------------------------ */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 3rem 1.5rem;
}
@media (min-width: 768px) {
  .blog-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .blog-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.blog-grid .entry-thumbnail {
  border-top-left-radius: .5rem;
  border-top-right-radius: .5rem;
}

.blog-grid .entry-thumbnail img {
  height: 175px;
  object-fit: cover;
}

.blog-grid .entry-caption {
  padding: 2rem 2.5rem 3rem;
  border-bottom-left-radius: .5rem;
  border-bottom-right-radius: .5rem;
  background-color: var(--gray);
}

.blog-grid .entry-title {
  margin-top: 0;
}

body:not(.paged) .blog-grid.first-item-active .entry-item:first-of-type {
  grid-column: 1 / span 3;
}


/* # Columns Layout --------------------------------------------------------- */
.blog-columns {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 4rem 2rem;
}
@media (min-width: 992px) {
  .blog-columns {
    grid-template-columns: repeat(2, 1fr);
  }
}

.blog-columns .entry-thumbnail {
  margin-bottom: 2rem;
}

body:not(.paged) .blog-columns.first-item-active .entry-item:first-of-type {
  grid-column: 1 / span 2;
}


/* # Squares Layout --------------------------------------------------------- */
.blog-squares {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2rem;
}
@media (min-width: 992px) {
  .blog-squares {
    grid-template-columns: repeat(2, 1fr);
  }
}

.blog-squares .entry-item {
  position: relative;
}

.blog-squares .entry-thumbnail img {
  height: 475px;
  object-fit: cover;
}

.blog-squares .entry-thumbnail a::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%);
}

.blog-squares .entry-caption {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
}

.blog-squares .entry-caption * {
  color: var(--white);
}

.blog-squares .entry-caption .entry-title a:hover,
.blog-squares .entry-caption .link:hover {
  color: var(--hover);
}

.blog-squares .entry-caption .link::after {
  background-color: var(--white);
}

.blog-squares .entry-caption .link:hover::after {
  background-color: var(--hover);
}

body:not(.paged) .blog-squares.first-item-active .entry-item:first-of-type {
  grid-column: 1 / span 2;
}


/* # Masonry Layout --------------------------------------------------------- */
.blog-content.blog-masonry {
  margin-bottom: 9rem;
}

.blog-masonry {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 6rem 2rem;
}
@media (min-width: 992px) {
  .blog-masonry {
    grid-template-columns: repeat(3, 1fr);
    grid-auto-flow: dense;
    grid-auto-rows: 200px;
  }
}

.blog-masonry .entry-item .entry-thumbnail {
  height: 100%;
}

.blog-masonry .entry-thumbnail img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.blog-masonry .entry-item:nth-child(6n+2),
.blog-masonry .entry-item:nth-child(6n+4),
.blog-masonry .entry-item:nth-child(6n+5) {
  grid-row: span 2;
}

.blog-masonry .entry-content {
  display: none;
}


/* # List & List Reverse Layout --------------------------------------------- */
.blog-list .entry-item:not(:last-child),
.blog-list-reverse .entry-item:not(:last-child) {
  margin-bottom: 5rem;
}
@media (min-width: 992px) {
  .blog-list .entry-item,
  .blog-list-reverse .entry-item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 4rem;
  }

  .blog-list .entry-thumbnail img,
  .blog-list-reverse .entry-thumbnail img {
    height: 350px;
    object-fit: cover;
  }
}
@media (max-width: 991.98px) {
  .blog-list .entry-thumbnail img,
  .blog-list-reverse .entry-thumbnail img {
    margin-bottom: 1rem;
  }
}

.blog-list .entry-title,
.blog-list-reverse .entry-title {
  font-size: var(--font-size-h2);
}

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

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

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

.blog-list-reverse .entry-item:nth-child(even) .entry-thumbnail {
  order: 2;
}


/* # Pagination -------------------------------------------------------------- */
.pagination-wrapper {
  margin: 7.813rem 0;
}

.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-bold);
  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
   ========================================================================== */
.single .site-content::before {
  content: "";
  position: absolute;
  top: 0;
  width: 100vw;
  height: 55vh;
  background-color: var(--matte-black);
}
@media (min-width: 992px) {
  .single .site-content::before {
    height: 65vh;
  }
}

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

.single-post .entry-title {
  color: var(--white);
  margin-bottom: 2rem;
}

.single-post .entry-media.entry-thumbnail img {
  width: 100%;
  border-radius: .5rem;
}

.single-post #general-content .col-12 {
  padding: 0;
}

.single-post #general-content p,
.single-post #general-content ul li,
.single-post #general-content ol li {
  font-size: var(--font-size-20);
}


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

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

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

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

.site-header-bottom progress::-webkit-progress-value {
  background-color: var(--color);
}

.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: 2.5rem;
}
@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(--hover);
}


/* # 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(--hover);
}


/* # 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: 2.5rem;
  padding: 5rem 0;
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
}

.post-navigation .meta-nav {
  display: block;
  color: var(--subtitle-color);
  font-size: var(--font-size-8);
  font-weight: var(--font-medium);
  text-transform: uppercase;
  letter-spacing: 0.245em;
  margin-bottom: 1rem;
}

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

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

@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: 2.5rem;
  }

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

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


/* # Related Posts ----------------------------------------------------------- */
.related-posts {
  margin: 5rem 0 7rem;
}
@media (max-width: 991.98px) {
  .related-posts .col-md-4:not(:last-child) article {
    margin-bottom: 2rem;
  }
}

.related-posts-heading {
  text-align: center;
  margin-bottom: 2.5rem;
}

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

.related-posts article .entry-thumbnail {
  border-top-left-radius: .5rem;
  border-top-right-radius: .5rem;
}

.related-posts article .entry-thumbnail img {
  height: 180px;
  object-fit: cover;
}

.related-posts .entry-caption {
  padding: 2rem 2.5rem 3rem;
  border-bottom-left-radius: .5rem;
  border-bottom-right-radius: .5rem;
  background-color: var(--gray);
}

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

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

.related-posts .entry-caption p {
  font-size: var(--font-size-12);
}



/* ==========================================================================
   # 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-11);
  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: 6rem 0;
}

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

  .sidebar.order-md-1 .sidebar-inner {
    padding-left: 0;
    padding-right: 2.5rem;
    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: 0;
  font-size: var(--font-size-18);
}

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

.widget li {
  font-size: var(--font-size-12);
  margin-bottom: .35rem;
}

.widget a:not(.btn) {
  color: var(--text-color);
  font-size: var(--font-size-12);
  text-decoration: none;
}

.widget a:not(.btn):hover {
  text-decoration: underline;
  text-underline-offset: 2.5px;
}

.widget p {
  font-size: var(--font-size-12);
}

.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(--hover);
}

.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;
  display: block;
  width: 35px;
  height: 35px;
  color: var(--black);
  font-size: var(--font-size-14);
  line-height: 35px;
  text-align: center;
  border-radius: 100%;
  border: 1px solid var(--black);
  opacity: 0;
  visibility: hidden;
  transition: all 400ms ease-in-out 0s;
}

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

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

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





/* ==========================================================================
   # Footer
   ========================================================================== */
.page-id-860 .site-footer #cta,
.page-id-2976 .site-footer #cta {
  display: none;
}

.site-footer {
  position: relative;
  z-index: 101;
}

.site-footer .footer-sidebar:not(:empty) {
  padding-top: 5rem;
  padding-bottom: 5rem;
  overflow: hidden;
}
@media (min-width: 992px) {
  .site-footer .footer-sidebar:not(:empty) {
    padding-top: 7rem;
    padding-bottom: 7rem;
  }

  .site-footer .footer-sidebar .footer-sidebar-column:nth-child(1) {
    flex: 0 0 33%;
    max-width: 33%;
  }

  .site-footer .footer-sidebar .footer-sidebar-column:nth-child(2) {
    flex: 0 0 22.33%;
    max-width: 22.33%;
  }

  .site-footer .footer-sidebar .footer-sidebar-column:nth-child(3) {
    flex: 0 0 22.33%;
    max-width: 22.33%;
  }

  .site-footer .footer-sidebar .footer-sidebar-column:nth-child(4) {
    flex: 0 0 22.33%;
    max-width: 22.33%;
  }
}

.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;
  }
}

.site-logo-widget {
  margin: 0 0 1rem;
}

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

.footer-info,
.dev-info {
  display: flex;
}
@media (max-width: 992px) {
  .footer-info {
    justify-content: center;
  }
}

.site-info,
.dev-info {
  color: var(--black);
  font-size: var(--font-size-11);
}

.dev-info {
  margin-left: .25rem;
}

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

.dev-info svg {
  display: inline;
  max-height: .65rem;
  width: 100%;
  fill: var(--black);
}


/* # Footer Accordion ------------------------------------------------------- */
@media (max-width: 991.98px) {
  .footer-sidebar-column .widget:not(.widget_site_logo_widget) {
    padding: 2rem 0;
    border-bottom: 1px solid var(--border-color);
  }

  .footer-sidebar-column:first-child .widget_custom_html {
    padding-top: 0;
  }

  .footer-sidebar-column .widget > *:not(.widget-title) {
    display: none;
  }

  .footer-sidebar-column.active .widget > *:not(.widget-title) {
    display: block;
  }

  .footer-sidebar-column .widget .widget-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .footer-sidebar-column .widget .widget-title::after {
    content: '\f107';
    font-family: var(--icon-family);
    font-weight: var(--font-bold);
    margin-left: 1rem;
  }

  .footer-sidebar-column.active .widget .widget-title::after {
    content: '\f106';
  }
}


/* # Footer Social ---------------------------------------------------------- */
.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: .75rem;
}

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

.footer-social-list li .suffix {
  margin-left: 7px;
  display: none;
}

.footer-social-list li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 35px;
  height: 35px;
  color: var(--black);
  border-radius: 100%;
  border: 1px solid var(--black);
  text-decoration: none;
  transition: all 400ms ease-in-out 0s;
}

.footer-social-list li a:hover {
  color: var(--white);
  background-color: var(--black);
}

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

  .footer-social-list li .suffix {
    display: none;
  }
}
@media (min-width: 992px) {
  .footer-social {
    float: right;
  }
}

.footer-social-list li a .tiktok-icon::before {
  vertical-align: middle;
  background-image: url("data:image/svg+xml,%3Csvg id='fi_3046120' enable-background='new 0 0 512 512' height='512' viewBox='0 0 512 512' width='512' xmlns='http://www.w3.org/2000/svg'%3E%3Cg%3E%3Cpath d='m480.32 128.39c-29.22 0-56.18-9.68-77.83-26.01-24.83-18.72-42.67-46.18-48.97-77.83-1.56-7.82-2.4-15.89-2.48-24.16h-83.47v228.08l-.1 124.93c0 33.4-21.75 61.72-51.9 71.68-8.75 2.89-18.2 4.26-28.04 3.72-12.56-.69-24.33-4.48-34.56-10.6-21.77-13.02-36.53-36.64-36.93-63.66-.63-42.23 33.51-76.66 75.71-76.66 8.33 0 16.33 1.36 23.82 3.83v-62.34-22.41c-7.9-1.17-15.94-1.78-24.07-1.78-46.19 0-89.39 19.2-120.27 53.79-23.34 26.14-37.34 59.49-39.5 94.46-2.83 45.94 13.98 89.61 46.58 121.83 4.79 4.73 9.82 9.12 15.08 13.17 27.95 21.51 62.12 33.17 98.11 33.17 8.13 0 16.17-.6 24.07-1.77 33.62-4.98 64.64-20.37 89.12-44.57 30.08-29.73 46.7-69.2 46.88-111.21l-.43-186.56c14.35 11.07 30.04 20.23 46.88 27.34 26.19 11.05 53.96 16.65 82.54 16.64v-60.61-22.49c.02.02-.22.02-.24.02z' fill='%23ffffff'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
}

.footer-social-list li a:hover .tiktok-icon::before {
  background-image: url("data:image/svg+xml,%3Csvg id='fi_3046120' enable-background='new 0 0 512 512' height='512' viewBox='0 0 512 512' width='512' xmlns='http://www.w3.org/2000/svg'%3E%3Cg%3E%3Cpath d='m480.32 128.39c-29.22 0-56.18-9.68-77.83-26.01-24.83-18.72-42.67-46.18-48.97-77.83-1.56-7.82-2.4-15.89-2.48-24.16h-83.47v228.08l-.1 124.93c0 33.4-21.75 61.72-51.9 71.68-8.75 2.89-18.2 4.26-28.04 3.72-12.56-.69-24.33-4.48-34.56-10.6-21.77-13.02-36.53-36.64-36.93-63.66-.63-42.23 33.51-76.66 75.71-76.66 8.33 0 16.33 1.36 23.82 3.83v-62.34-22.41c-7.9-1.17-15.94-1.78-24.07-1.78-46.19 0-89.39 19.2-120.27 53.79-23.34 26.14-37.34 59.49-39.5 94.46-2.83 45.94 13.98 89.61 46.58 121.83 4.79 4.73 9.82 9.12 15.08 13.17 27.95 21.51 62.12 33.17 98.11 33.17 8.13 0 16.17-.6 24.07-1.77 33.62-4.98 64.64-20.37 89.12-44.57 30.08-29.73 46.7-69.2 46.88-111.21l-.43-186.56c14.35 11.07 30.04 20.23 46.88 27.34 26.19 11.05 53.96 16.65 82.54 16.64v-60.61-22.49c.02.02-.22.02-.24.02z' fill='%23ffffff'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
}





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


/* # ACF PopUp -------------------------------------------------------------- */
.acf-fc-popup ul {
  column-count: 2 !important;
  column-fill: balance !important;
}


/* # ACF Hero --------------------------------------------------------------- */
.site-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  z-index: 9;
  color: var(--white);
  background-color: var(--matte-black);
  margin-top: -1px;
}

.hero-slider {
  width: 100%;
  height: 60vh;
  background-color: var(--matte-black);
  margin-top: -1px;
}
@media (min-width: 992px) {
  .hero-slider {
    height: 65vh;
  }
}

.hero-slider .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 50px;
  padding-bottom: 50px;
}
@media (min-width: 992px) {
  .hero-slider .swiper-slide {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

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

.hero-caption {
  position: relative;
  z-index: 2;
  align-items: center;
}

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

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

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

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

.hero-title {
  color: var(--white);
  margin-bottom: 2rem;
}

.hero-subtitle {
  color: var(--subtitle-color);
  margin-bottom: 2rem;
}

.hero-description {
  line-height: 1.5;
}
@media (min-width: 992px) {
  .hero-description {
    font-size: var(--font-size-20);
  }
}

.hero-media {
  overflow: hidden;
  user-select: none;
  pointer-events: none;
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  width: 100%;
  height: 100%;
  transition: opacity 0.3s ease;
}

.site-hero.hero-top .hero-caption,
.site-hero.hero-bottom .hero-caption {
  padding-top: 8rem;
  padding-bottom: 6rem;
}

.site-hero.hero-top.hero-image .hero-caption {
  margin-top: -1.5rem;
  padding-top: 0;
}
@media (min-width: 992px) {
  .site-hero.hero-top.hero-image .hero-caption {
    margin-top: -3rem;
  }
}

.site-hero.hero-top {
  flex-direction: column-reverse;
}

.site-hero.hero-top .hero-media,
.site-hero.hero-top .hero-media img {
  position: relative;
}

.site-hero.hero-default,
.site-hero.hero-top .hero-media {
  height: 250px;
}
@media (min-width: 992px) {
  .site-hero.hero-default,
  .site-hero.hero-top .hero-media {
    height: 350px;
  }
}

.site-hero.hero-bottom {
  flex-direction: column;
}

.site-hero.hero-bottom .hero-media {
  position: relative;
}

.site-hero.hero-bottom .hero-media {
  height: 250px;
  background-color: var(--white);
}
@media (min-width: 992px) {
  .site-hero.hero-bottom .hero-media {
    height: 500px;
  }
}

.site-hero.hero-bottom .hero-media::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: calc(25% + 1vw);
  background-color: var(--matte-black);
}

.site-hero.hero-bottom .hero-media img {
  width: 97%;
}
@media (min-width: 992px) {
  .site-hero.hero-bottom .hero-media img {
    width: 91%;
  }
}
@media (min-width: 1400px) {
  .site-hero.hero-bottom .hero-media img {
    width: 88%;
  }
}

.hero-media img,
.hero-media video {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/* # ACF Content ------------------------------------------------------------ */
#general-content h2:not(.title),
#general-content h3:not(.subtitle),
#general-content h4,
#general-content h5,
#general-content h6 {
  margin-top: 3rem;
  margin-bottom: 1.5rem;
}

.blog #general-content p {
  font-size: var(--font-size-18);
}

.section .row.text-center .text {
  margin-left: auto;
  margin-right: auto;
}


/* # ACF About -------------------------------------------------------------- */
#about .title:after {
  content: none;
}

.about-img img {
  height: 250px;
  width: 100%;
  object-fit: cover;
  border-radius: .5rem;
}
@media (min-width: 992px) {
  .about-img img {
    height: 350px;
  }
}


/* # ACF Services ----------------------------------------------------------- */
.services-item {
  margin-bottom: 4rem;
}

.services-body {
  padding-top: 1.5rem;
}

.services-title-link {
  display: block;
  width: fit-content;
  text-decoration: none;
}

.services-title {
  margin-top: 0;
  width: fit-content;
  text-transform: uppercase;
  transition: all 0.2s ease;
}

.services-title:hover {
  color: var(--hover);
}

.soon {
  opacity: .75;
  text-transform: none;
  font-size: var(--font-size-14);
  font-style: italic;
}


/* # ACF Services List ------------------------------------------------------ */
.service-list-title {
  font-size: var(--font-size-h2);
  transition: all 0.3s ease;
}
@media (min-width: 992px) {
  .service-list-title {
    margin-top: 0;
  }
}

.services-list-thumbnail img {
  height: 350px;
  object-fit: cover;
}


/* # ACF Services Masonry --------------------------------------------------- */
.services-masonry {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.masonry-item {
  position: relative;
}

.services-masonry .masonry-item:nth-child(1) {
  grid-row: span 2;
  height: calc(300px * 2 + 1rem);
}

.services-masonry .masonry-item:nth-child(2),
.services-masonry .masonry-item:nth-child(3) {
  height: 250px
}

.services-masonry .masonry-item:nth-child(4) {
  grid-column: span 2;
  height: 350px
}

.masonry-caption {
  position: absolute;
  z-index: 1;
  bottom: 2rem;
  left: 2rem;
}

.masonry-caption h3 {
  color: var(--white);
  margin: 0;
}

.services-masonry .masonry-thumbnail {
  height: 100%;
}

.services-masonry .masonry-thumbnail img {
  height: 100%;
  object-fit: cover;
}


/* # ACF Products ----------------------------------------------------------- */
#products .woocommerce-LoopProduct-link.woocommerce-loop-product__link img,
#products-slider  .woocommerce-LoopProduct-link.woocommerce-loop-product__link img,
#products-slider-2 .woocommerce-LoopProduct-link.woocommerce-loop-product__link img {
  width: 100%;
}


/* # ACF Products & Products Slider ----------------------------------------- */
#products .woocommerce-LoopProduct-link.woocommerce-loop-product__link,
#products-slider .woocommerce-LoopProduct-link.woocommerce-loop-product__link {
  text-decoration: none;
}

#products .woocommerce-loop-product__title,
#products-slider .woocommerce-loop-product__title {
  font-size: var(--font-size-16);
  margin-bottom: .5rem;
}

#products .woocommerce-price-suffix,
#products-slider .woocommerce-price-suffix {
  color: var(--dark);
  display: block;
}

#products .price,
#products-slider .price {
  color: var(--black);
}

#products.dark-mode .price,
#products-slider.dark-mode .price {
  color: var(--white);
}

#products .price ins,
#products-slider .price ins,
#products-slider-2 .price ins {
  text-decoration: none;
}


/* # ACF Products Slider 2 -------------------------------------------------- */
#products-slider-2 .woocommerce-LoopProduct-link.woocommerce-loop-product__link {
  text-decoration: none;
}

#products-slider-2 .woocommerce-loop-product__title {
  font-size: var(--font-size-18);
  text-align: center;
  margin: 1.5rem 0 .5rem;
}

#products-slider-2 .price {
  display: block;
  text-align: center;
}

#products-slider-2 .woocommerce-Price-amount.amount {
  color: var(--black);
  font-size: var(--font-size-30);
  font-weight: var(--font-bold);
  letter-spacing: -0.03em;
}

#products-slider-2 .woocommerce-price-suffix {
  color: var(--dark);
  display: block;
}

#products-slider-2 .cart {
  display: table;
  margin: 1rem auto 0;
}

#products-slider-2 .woocommerce-LoopProduct-link.woocommerce-loop-product__link {
  display: table;
  margin: 1rem auto 0;
}

#products-slider-2.dark-mode .woocommerce-Price-amount.amount {
  color: var(--white);
}

#products-slider-2 .price del {
  display: inline-flex;
  opacity: .5;
}


/* # ACF Image Slider ------------------------------------------------------- */
#img-slider {
  position: relative;
  z-index: 9;
}

.home #img-slider {
  margin-top: -2rem;
}

.home #img-slider::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: calc(25% + 1vw);
  background-color: var(--matte-black);
}

.image-slider {
  overflow: visible;
}

.image-slider-item {
   border-radius: .5rem;
}

.image-slider-item img {
  height: 250px;
  object-fit: cover;
}


/* # ACF Gallery Grid ------------------------------------------------------- */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2rem;
}
@media (min-width: 992px) {
  .gallery-grid.gallery-grid-columns-2 {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
  }

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

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

.gallery-grid .gallery-grid-item {
  border-radius: .5rem;
}

.gallery-grid .gallery-grid-item img {
  height: 375px;
  width: 100%;
  object-fit: cover;
}
@media (min-width: 992px) {
  .gallery-grid.gallery-grid-columns-2 .gallery-grid-item img {
    height: 475px;
  }

  .gallery-grid.gallery-grid-columns-3 .gallery-grid-item img {
    height: 325px;
  }

  .gallery-grid.gallery-grid-columns-4 .gallery-grid-item img {
    height: 250px;
  }
}

.filter-button {
  color: var(--dark);
  background-color: transparent;
  border-color: var(--dark);
  padding: .825rem 1.25rem;
}

.filter-button:hover {
  border-color: var(--black);
}

.filter-button.active {
  color: var(--white);
  background-color: var(--black);;
  border-color: var(--black);
}


/* # ACF Featured Items ----------------------------------------------------- */
#featured-items .col-lg-3:not(:last-child) .featured-box {
  margin-bottom: 2rem;
}
@media (min-width: 992px) {
  #featured-items .col-lg-3:nth-last-child(-n+4) .featured-box {
    margin-bottom: 0;
  }
}

#featured-items.light-mode .featured-box.featured-box-bg,
#featured-items.color-mode .featured-box.featured-box-bg {
  padding: 1.5rem 1.5rem 2rem;
  border-radius: .5rem;
  background-color: var(--white);
}

#featured-items.dark-mode .featured-box.featured-box-bg {
  padding: 1.15rem;
  border-radius: .5rem;
  background-color: var(--matte-black);
}

.featured-box img {
  width: 2.25rem;
  height: 2.25rem;
  object-fit: contain;
}

#featured-items .row.text-center .featured-box img {
  margin: 0 auto;
}

.featured-box i {
  color: var(--black);
  font-size: 2.25rem;
}

#featured-items.dark-mode .featured-box i {
  color: var(--white);
}

.featured-box.featured-icon-medium i {
  font-size: 3.5rem;
}

.featured-box.featured-icon-large i {
  font-size: 5rem;
}

.featured-box.featured-icon-medium img {
  width: 3.5rem;
  height: 3.5rem;
}

.featured-box.featured-icon-large img {
  width: 8rem;
  height: 8rem;
}

.featured-box-title {
  font-size: var(--font-size-18);
}

.featured-box .featured-box-title a {
  text-decoration: none;
}

.featured-box .featured-box-title a:hover {
  color: var(--black);
}

#featured-items.dark-mode .featured-box .featured-box-title a:hover {
  color: var(--white);
}

.featured-box .featured-box-text {
  font-size: var(--font-size-14);
  margin-top: 1rem;
}


/* # ACF Numbered List ------------------------------------------------------ */
#numbered-list .col-lg-6:not(:last-child) .numbered-list-item {
  padding-bottom: 3rem;
}

.numbered-list-item {
  display: flex;
  align-items: flex-start;
}

.numbered-list-number {
  color: transparent;
  -webkit-text-stroke: 1px var(--black);
  font-family: var(--font-family);
  font-size: var(--font-size-h1);
  font-weight: var(--font-medium);
  line-height: 1;
  padding-right: 2rem;
}

#numbered-list.dark-mode .numbered-list-number {
  color: var(--white);
}

.numbered-list-item h3 {
  font-size: var(--font-size-20);
}

.numbered-list-item p {
  margin-top: 1rem;
}


/* # ACF Accordion ---------------------------------------------------------- */
.accordion-item {
  cursor: pointer;
  border-bottom: 1px solid var(--border-color);
}

.accordion-item:first-child {
  border-top: 1px solid var(--border-color);
}

.accordion {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--font-family);
  font-size: var(--font-size-18);
  text-align: left;
  line-height: 1;
  width: 100%;
  padding: 2rem 0;
  border: none;
  background-color: transparent;
  transition: all 0.3s ease-in-out;
}

.accordion.active {
  padding-bottom: 1rem;
}

#accordion.dark-mode .accordion {
  color: var(--white);
}

button.accordion:after {
  content: '\f107';
  font-family: var(--icon-family);
  font-weight: var(--font-bold);
  margin-left: 1rem;
}

button.accordion.active:after {
  content: '\f106';
}

.accordion-panel {
  font-size: var(--font-size-14);
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-in-out;
}

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

.accordion-panel p:last-child {
  margin-bottom: 1.25rem;
}


/* # ACF Cards -------------------------------------------------------------- */
#cards .col-lg-4:not(:last-child) {
  padding-bottom: 4rem;
}
@media (min-width: 992px) {
  #cards .col-lg-4:nth-last-child(-n+3) {
    padding-bottom: 0;
  }
}

.card-head img {
  height: 180px;
  object-fit: cover;
  border-top-left-radius: .5rem;
  border-top-right-radius: .5rem;
}

.card-body {
  padding: 2rem;
  border-bottom-left-radius: .5rem;
  border-bottom-right-radius: .5rem;
  background-color: var(--gray);
}

.light-mode .card-body,
.color-mode .card-body {
  background-color: var(--white);
}

.dark-mode .card-body {
  background-color: var(--matte-black);
}

.card-title {
  font-size: var(--font-size-18);
  margin-top: 0;
}

.card-body .card-title a {
  text-decoration: none;
}

.card-body .card-title a:hover {
  color: var(--black);
}

.card-body .card-text {
  font-size: var(--font-size-14);
  margin-top: 0;
}


/* # ACF Testimonial -------------------------------------------------------- */
.testimonial-slider {
	overflow: visible;
}

.testimonial {
  display: flex;
  flex-wrap: wrap;
  min-height: 280px;
	padding: 2.5rem;
  border-radius: .5rem;
  background-color: var(--white);
}

.testimonial-content {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nOTUnIGhlaWdodD0nMTUnIHZpZXdCb3g9JzAgMCA5NSAxNScgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48cGF0aCBkPSdNNy41IDBMOS42MDI4IDQuNjA1NzRMMTQuNjMyOSA1LjE4MjM3TDEwLjkwMjQgOC42MDU1MUwxMS45MDg0IDEzLjU2NzZMNy41IDExLjA3NzVMMy4wOTE2MSAxMy41Njc2TDQuMDk3NiA4LjYwNTUxTDAuMzY3MDc2IDUuMTgyMzdMNS4zOTcyIDQuNjA1NzRMNy41IDBaJyBmaWxsPSdibGFjaycvPjxwYXRoIGQ9J00yNy41IDBMMjkuNjAyOCA0LjYwNTc0TDM0LjYzMjkgNS4xODIzN0wzMC45MDI0IDguNjA1NTFMMzEuOTA4NCAxMy41Njc2TDI3LjUgMTEuMDc3NUwyMy4wOTE2IDEzLjU2NzZMMjQuMDk3NiA4LjYwNTUxTDIwLjM2NzEgNS4xODIzN0wyNS4zOTcyIDQuNjA1NzRMMjcuNSAwWicgZmlsbD0nYmxhY2snLz48cGF0aCBkPSdNNDcuNSAwTDQ5LjYwMjggNC42MDU3NEw1NC42MzI5IDUuMTgyMzdMNTAuOTAyNCA4LjYwNTUxTDUxLjkwODQgMTMuNTY3Nkw0Ny41IDExLjA3NzVMNDMuMDkxNiAxMy41Njc2TDQ0LjA5NzYgOC42MDU1MUw0MC4zNjcxIDUuMTgyMzdMNDUuMzk3MiA0LjYwNTc0TDQ3LjUgMFonIGZpbGw9J2JsYWNrJy8+PHBhdGggZD0nTTY3LjUgMEw2OS42MDI4IDQuNjA1NzRMNzQuNjMyOSA1LjE4MjM3TDcwLjkwMjQgOC42MDU1MUw3MS45MDg0IDEzLjU2NzZMNjcuNSAxMS4wNzc1TDYzLjA5MTYgMTMuNTY3Nkw2NC4wOTc2IDguNjA1NTFMNjAuMzY3MSA1LjE4MjM3TDY1LjM5NzIgNC42MDU3NEw2Ny41IDBaJyBmaWxsPSdibGFjaycvPjxwYXRoIGQ9J004Ny41IDBMODkuNjAyOCA0LjYwNTc0TDk0LjYzMjkgNS4xODIzN0w5MC45MDI0IDguNjA1NTFMOTEuOTA4NCAxMy41Njc2TDg3LjUgMTEuMDc3NUw4My4wOTE2IDEzLjU2NzZMODQuMDk3NiA4LjYwNTUxTDgwLjM2NzEgNS4xODIzN0w4NS4zOTcyIDQuNjA1NzRMODcuNSAwWicgZmlsbD0nYmxhY2snLz48L3N2Zz4K);
  background-repeat: no-repeat;
  background-size: 5.5rem auto;
  padding: 2.5rem 0 1.25rem;
}

.testimonial-text {
  margin-top: 0;
  font-size: var(--font-size-14);
}

.testimonial-footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  width: 100%;
}

.testimonial-client{
  display: flex;
  align-items: center;
}

.testimonial-client-img {
  display: flex;
  align-items: center;
  width: 65px;
  height: 65px;
  margin: 0 auto 1rem;
  border-radius: 100%;
  background-color: var(--black);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (min-width: 1024px) {
  .testimonial-client-img {
      width: 65px;
      height: 65px;
      margin-bottom: 0;
  }
}

.testimonial-slider .swiper-slide:first-child .testimonial .testimonial-client-img {
    transform: rotate(25deg);
}

.testimonial-details {
  margin-left: 1rem;
}

.testimonial-name,
.testimonial-brand {
  display: block;
  color: var(--black);
}

.testimonial-name {
  font-size: var(--font-size-12);
  font-weight: var(--font-medium);
}

.testimonial-brand {
  font-size: var(--font-size-11);
}

.testimonial-verify span {
  font-size: var(--font-size-8);
  color: var(--black);
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTYgMEw3LjUzODkgMS4yNjM3NEw5LjUyNjcxIDEuMTQ1OUwxMC4wMjg5IDMuMDcyODNMMTEuNzA2MyA0LjE0NTlMMTAuOTggNkwxMS43MDYzIDcuODU0MUwxMC4wMjg5IDguOTI3MTdMOS41MjY3MSAxMC44NTQxTDcuNTM4OSAxMC43MzYzTDYgMTJMNC40NjExIDEwLjczNjNMMi40NzMyOSAxMC44NTQxTDEuOTcxMSA4LjkyNzE3TDAuMjkzNjYxIDcuODU0MUwxLjAyIDZMMC4yOTM2NjEgNC4xNDU5TDEuOTcxMSAzLjA3MjgzTDIuNDczMjkgMS4xNDU5TDQuNDYxMSAxLjI2Mzc0TDYgMFoiIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iI2ZmZmZmZiIvPgo8cGF0aCBkPSJNNCA2TDUuNSA3LjVMOCA1IiBzdHJva2U9IiNmZmZmZmYiLz4KPC9zdmc+");
  background-repeat: no-repeat;
  padding: 2px 0px 2px 15px;
  background-size: 12px auto;
  background-position: left center;
}


/* # ACF Clients ------------------------------------------------------------ */
.clients-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 150px;
}

#clients.light-mode .clients-item,
#clients.color-mode .clients-item,
#clients.dark-mode .clients-item {
  border-radius: .5rem;
}

.clients-item img {
  width: 150px;
  filter: grayscale(1) opacity(.5);
}

.clients-item img:hover {
    filter: none;
    transition: all 400ms ease-in-out 0s;
}


/* # ACF Clients Slider ----------------------------------------------------- */
.swiper-free-mode>.swiper-wrapper {
  transition-timing-function : linear !important;
}

.clients-slider-item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 12rem;
  min-height: 6rem;
  padding: .5rem 2rem;
  border-radius: .625rem;
  background-color: #1e1e1e;
}

#clients-slider.light-mode .clients-slider-item,
#clients-slider.color-mode .clients-slider-item {
  border-radius: .5rem;
  background-color: var(--white);
}

#clients-slider.dark-mode .clients-slider-item {
  border-radius: .5rem;
  background-color: var(--matte-black);
}

.clients-slider-item img {
  max-width: 250px;
}


/* # ACF Team --------------------------------------------------------------- */
#team .col-lg-4:not(:last-child) .team-member {
  padding-bottom: 4rem;
}
@media (min-width: 992px) {
  #team .col-lg-4:nth-last-child(-n+3) .team-member {
    padding-bottom: 0;
  }
}

.team-member a {
  text-decoration: none;
}

.team-member a:hover {
  color: var(--black);
}

#team .team-member .team-member-img {
  position: relative;
}

#team .team-member .team-member-img::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 75%;
  background-color: var(--matte-black);
}

.team-member h3 {
  margin-bottom: 0;
}

.team-member p {
  margin-top: .5rem;
  line-height: 1;
}


/* # ACF Prices ------------------------------------------------------------- */
.prices-item {
  display: grid;
  grid-template-columns: 4fr 1fr 1fr;
  align-items: center;
  padding: 1.5rem 0;
}
@media (max-width: 991.98px) {
  .prices-item {
    grid-template-columns: 2fr 2fr 0fr;
    grid-row-gap: 1rem;
  }

  .prices-head {
    grid-column: 1 / -1;
  }

  .prices-link {
    grid-column: 2 / -1;
  }
  
}

.prices-item * {
  z-index: 1;
}

.prices-item:nth-child(even) {
  position: relative;
}

.prices-item:nth-child(even)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  right: 50%;
  width: 100vw;
  height: 100%;
  background-color: var(--gray);
  z-index: 0;
  transform: translateX(-50%);
}
@media (min-width: 1400px) {
  .prices-item:nth-child(even)::before {
    width: 115vw;
  }
}

#prices.light-mode .prices-item:nth-child(even)::before,
#prices.color-mode .prices-item:nth-child(even)::before {
  background-color: var(--white);
}

#prices.dark-mode .prices-item:nth-child(even)::before {
  background-color: var(--matte-black);
}

#prices.dark-mode .prices-item .prices-price span {
  color: var(--white);
}

@media (min-width: 992px) {
  .prices-item:nth-child(even)::before {
    transform: translateX(-42%);
  }

  .prices-head {
    padding-right: 5rem;
  }
}

@media (min-width: 1400px) {
  .prices-item:nth-child(even)::before  {
    transform: translateX(-33.5%);
  }
}

.prices-head h3 {
  font-size: var(--font-size-18);
  margin: 0;
}

.prices-head p {
  margin-top: .5rem;
}

.prices-price .price {
  color: var(--black);
  font-size: var(--font-size-h3);
  font-weight: var(--font-bold);
}

.prices-price .price-span {
  font-size: var(--font-size-16);
  font-weight: var(--font-normal);
}

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


/* # ACF Price Table -------------------------------------------------------- */
.price-table {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 600px;
  padding: 2rem 1.5rem 2.25rem;
  background-color: var(--gray);
}
@media (max-width: 991.98px) {
  #price-table .col-lg-4:not(:last-child) .price-table {
    margin-bottom: 3rem;
  }
}

#price-table.light-mode .price-table,
#price-table.color-mode .price-table {
  background-color: var(--white);
}

#price-table.dark-mode .price-table {
  background-color: var(--matte-black);
}

.price-table h2 {
  margin-top: 0;
}

.price-table-price {
  color: var(--black);
  font-size: var(--font-size-30);
  font-weight: var(--font-bold);
}

#price-table.dark-mode .price-table-price {
  color: var(--white);
}

.price-table-currency {
  font-size: var(--font-size-18);
  letter-spacing: -0.05em;
}

.price-table h4 {
  padding: 1rem 0;
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
}

.price-table ul {
  padding-left: 1rem;
}

.price-table ul li {
  padding-bottom: .5rem;
}


/* # ACF Blog --------------------------------------------------------------- */
.blog-slider .entry-thumbnail {
  border-top-right-radius: .5rem;
  border-top-left-radius: .5rem;
}

.blog-slider .entry-thumbnail img {
  height: 180px;
  object-fit: cover;
}

.blog-slider .entry-body {
  padding: 2rem 2.5rem 3rem;
  border-bottom-left-radius: .5rem;
  border-bottom-right-radius: .5rem;
  background-color: var(--gray);
}

.blog-slider .entry-title {
  font-size: var(--font-size-20);
  margin-top: 0;
}

.blog-slider .entry-title a {
  text-decoration: none;
}

.blog-slider .entry-title a:hover {
  color: var(--black);
}

.blog-slider .entry-content p {
  margin-top: 0;
  font-size: var(--font-size-12);
}

#blog.light-mode .entry-thumbnail,
#blog.color-mode .entry-thumbnail,
#blog.dark-mode .entry-thumbnail {
  border-top-left-radius: .5rem;
  border-top-right-radius: .5rem;
}

#blog.light-mode .entry-body,
#blog.color-mode .entry-body,
#blog.dark-mode .entry-body {
  margin-top: 0;
  padding: 1.5rem;
  border-bottom-left-radius: .5rem;
  border-bottom-right-radius: .5rem;
}

#blog.light-mode .entry-body,
#blog.color-mode .entry-body {
  background-color: var(--white);
}

#blog.dark-mode .entry-body {
  background-color: var(--matte-black);
}

#blog.light-mode .entry-body .entry-header .entry-title,
#blog.color-mode .entry-body .entry-header .entry-title,
#blog.dark-mode .entry-body .entry-header .entry-title {
  margin-top: 0;
}

#blog.dark-mode .entry-body .entry-header .entry-title a {
  color: var(--white);
}


/* # ACF CTA inline --------------------------------------------------------- */
#cta-inline .container {
  position: relative;
  padding: 3rem;
  border-radius: .5rem;
}

#cta-inline.light-mode {
  padding: 0;
  background-color: transparent;
}

#cta-inline.light-mode .container {
  background-color: var(--gray);
}

#cta-inline.color-mode {
  padding: 0;
  background-color: transparent;
}

#cta-inline.color-mode .container {
  background-color: hsl(from var(--color) h s 93.5%);
}

#cta-inline.dark-mode {
  padding: 0;
  background-color: transparent;
}

#cta-inline.dark-mode .container {
  background-color: var(--matte-black);
}

#cta-inline .container::after {
  position: absolute;
  top: -5rem;
  right: 0;
  background-size: contain;
  background-repeat: no-repeat;
  width: 165px;
  height: 165px;
  z-index: 0;
}
@media (min-width: 992px) {
  #cta-inline .container::after {
      width: 350px;
      height: 350px;
  }
}


/* # ACF CTA ---------------------------------------------------------------- */
#cta {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: var(--matte-black);
}
@media (min-width: 992px) {
  #cta {
    padding-top: 7rem;
    padding-bottom: 7rem;
  }
}

#cta *:not(.subtitle) {
    color: var(--white);
}

#cta.light-mode {
  background-color: var(--gray);
}

#cta.color-mode {
  background-color: hsl(from var(--color) h s 93.5%);
}

#cta.dark-mode {
  background-color: var(--black);
}

#cta input[type="text"],
#cta input[type="email"],
#cta input[type="tel"],
#cta textarea {
  border-bottom: 1px solid var(--white);
}

#cta .btn {
  color: var(--black);
  border-color: var(--white);
  background-color: var(--white);
}

#cta .btn:hover {
  color: var(--white);
  background-color: transparent;
}


/* # ACF Contact Form ------------------------------------------------------- */
.column {
  margin-bottom: 2rem;
}

.column:has(.btn) {
  margin-bottom: 0;
}

@media (min-width: 992px) {
  .column-2 {
      column-count: 2;
      column-fill: balance;
  }
}

.light-mode input[type="text"],
.color-mode input[type="text"],
.light-mode input[type="email"],
.color-mode input[type="email"],
.light-mode input[type="url"],
.color-mode input[type="url"],
.light-mode input[type="password"],
.color-mode input[type="password"],
.light-mode input[type="search"],
.color-mode input[type="search"],
.light-mode input[type="number"],
.color-mode input[type="number"],
.light-mode input[type="tel"],
.color-mode input[type="tel"],
.light-mode input[type="range"],
.color-mode input[type="range"],
.light-mode input[type="date"],
.color-mode input[type="date"],
.light-mode input[type="month"],
.color-mode input[type="month"],
.light-mode input[type="week"],
.color-mode input[type="week"],
.light-mode input[type="time"],
.color-mode input[type="time"],
.light-mode input[type="datetime"],
.color-mode input[type="datetime"],
.light-mode input[type="datetime-local"],
.color-mode input[type="datetime-local"],
.light-mode input[type="color"],
.color-mode input[type="color"],
.light-mode textarea,
.color-mode textarea,
.light-mode .form-control,
.color-mode .form-control {
  background-color: var(--white);
}

.dark-mode input[type="text"],
.dark-mode input[type="email"],
.dark-mode input[type="url"],
.dark-mode input[type="password"],
.dark-mode input[type="search"],
.dark-mode input[type="number"],
.dark-mode input[type="tel"],
.dark-mode input[type="range"],
.dark-mode input[type="date"],
.dark-mode input[type="month"],
.dark-mode input[type="week"],
.dark-mode input[type="time"],
.dark-mode input[type="datetime"],
.dark-mode input[type="datetime-local"],
.dark-mode input[type="color"],
.dark-mode textarea,
.dark-mode .form-control {
  color: var(--white);
  background-color: var(--matte-black);
}

.form-checkbox input[type=checkbox] {
  width: 25px;
  height: 25px;
  vertical-align: bottom;
  margin-right: 5px;
}

.form-checkbox .wpcf7-list-item {
  color: var(--black);
  font-size: var(--font-size-18);
  font-weight: var(--font-bold);
  margin-right: 2rem;
  margin-bottom: 1rem;
}

.form-checkbox .wpcf7-list-item.last {
    margin-right: 0;
    margin-bottom: 0;
}

.wpcf7-list-item {
  font-size: var(--font-size-12);
  margin: 0;
}

.wpcf7-list-item a {
  color: var(--text-color);
  text-underline-offset: 2.5px;
}

.wpcf7-not-valid-tip {
  font-size: var(--font-size-12);
  color: var(--black);
}

.conatct-details {
  align-items: center;
  margin-bottom: .875rem;
}

.conatct-details-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 100%;
  perspective: 1px;
  background: #1e1e1e;
  margin-right: .75rem;
}

.conatct-details-icon svg {
  width: .75rem;
  height: .75rem;
}

.conatct-details p {
  font-size: var(--font-size-14);
  font-weight: var(--font-medium);
  margin-top: 0;
}

.wpcf7-spinner {
  display: none;
}

.wpcf7 .wpcf7-submit:disabled {
  cursor: pointer;
}

#contact-form .wpcf7-submit.btn {
  width: 100%;
}

.grecaptcha-badge {
  display: none !important;
}


/* # ACF Form Contact ------------------------------------------------------- */
.form-contact-header {
  margin-bottom: 3rem;
}

.form-contact-item {
  display: flex;
  margin-bottom: 1.5rem;
}

.form-contact-item i {
  color: var(--black);
  font-size: var(--font-size-30);
}

#form-contact.dark-mode .form-contact-item i {
  color: var(--white);
}

.form-contact {
  padding-left: 1rem;
}

.form-contact h4 {
  margin-top: 0;
  margin-bottom: .5rem;
}

.form-contact p {
  margin-top: 0;
}

.form-contact a {
  text-decoration: none;
}

.form-contact-map iframe {
  width: 100%;
  filter: grayscale(1);
}


/* # ACF Contact ------------------------------------------------------------ */
.page-id-149 #cta {
  display: none;
}

#contact {
  padding-top: 10rem;
  padding-bottom: 10rem;
}

.contact-item {
  text-align: center;
}
@media (max-width: 991.98px) {
  #contact .col-lg-3:not(:last-child) .contact-item {
    margin-bottom: 4rem;
  }
}

.contact-item .contact p {
  margin-top: 0;
  font-size: var(--font-size-14);
}

#contact .contact-item {
  padding: 2.5rem 1.25rem;
  border-radius: .5rem;
  background-color: var(--gray);
}

#contact.light-mode .contact-item {
  background-color: var(--light-gray);
}

#contact.color-mode .contact-item {
  background-color: var(--white);
}

#contact.dark-mode .contact-item {
  background-color: #1e1e1e;
}

.contact-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  margin: -4.5rem auto 1.5rem;
  border-radius: 100%;
  background-color: var(--light-gray);
}

#contact.light-mode .contact-icon {
  background-color: var(--white);
}

#contact.color-mode .contact-icon {
  background-color: var(--gray);
}

#contact.dark-mode .contact-icon {
  background-color: var(--gray);
}

.contact-icon i {
  color: var(--black);
  font-size: var(--font-size-24);
}

#contact.dark-mode .contact-icon i {
  color: var(--black);
}





/* ==========================================================================
   # Custom CSS
   ========================================================================== */
