/*
Theme Name: lc
Theme URI: /themes/lc/
Author: Leo Caldas
Author URI: https://leocaldas.com
Description: Lead designer in Design Systems, User Experience and Product Design
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lc
*/
@font-face {
  font-family: "Inter";
  src: url("assets/fonts/Inter-Italic-VariableFont_opsz,wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("assets/fonts/Inter-VariableFont_opsz,wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
/**
 * Reset specific elements to make them easier to style in other contexts.
 */
html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
form,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
h3,
h4,
h5,
h6 {
  padding: 0;
  margin: 0;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

/**
 * Apply generic border-box to all elements.
 * See:
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
html {
  /* Apply border-box across the entire page. */
  box-sizing: border-box;
  font-family: var(--global--font-secondary);
  line-height: var(--global--line-height-body);
}

/**
 * Relax the definition a bit, to allow components to override it manually.
 */
*, *::before, *::after {
  box-sizing: inherit;
}

body {
  font-size: var(--global--font-size-base);
  font-weight: normal;
  color: var(--global--color-primary);
  text-align: left;
  background-color: var(--global--color-background);
}

button {
  cursor: pointer;
}

/* LC Variables */
/* Pixels */
/* Layout */
:root {
  --color-white: #FFFFFF;
  --color-black: #000000;
  --color-off-black: #111111;
  --color-grey--50: #FAFAFA;
  --color-grey--100: #EEEEEE;
  --color-grey--200: #D5D5D5;
  --color-grey--300: #BDBDBD;
  --color-grey--400: #A5A5A5;
  --color-grey--500: #8B8B8B;
  --color-grey--600: #717171;
  --color-grey--700: #5F5F5F;
  --color-grey--800: #4C4C4C;
  --color-grey--900: #383838;
  --border-color-dark: #111;
  --border-color-mid: #5F5F5F;
  --border-color-lite: #fafafa;
  --background-color-dark: #111;
  --background-color-mid: #5F5F5F;
  --background-color-lite: #fafafa;
  --status-success: #007000;
  --status-fail: #BD1809;
  --text-neutral-dark: #333;
  --text-neutral-mid: #666;
  --text-neutral-lite: #bbb;
  --link-tint: #a9d5ff;
  --link-shade: #1a5fa1;
  --link-color: #2179cc;
  --link-hover: #0c2d4c;
  --font-family--heading: "Inter", "Helvetica Neue", "HelveticaNeue", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-family--body: "Inter", "Helvetica Neue", "HelveticaNeue", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-family--testimonial: "Merriweather", serif;
  --font-weight--light: 300;
  --font-weight--regular: 400;
  --font-weight--medium: 500;
  --font-weight--semibold: 600;
  --font-weight--bold: 700;
  --font-style--italic: italic;
  --font-size--heading-xl: 3.75rem;
  --font-size--heading-l: 3rem;
  --font-size--heading-m: 2.25rem;
  --font-size--heading-s: 1.875rem;
  --font-size--body-l: 1.575rem;
  --font-size--body: 1.4rem;
  --font-size--body-m: 1.25rem;
  --font-size--body-s: .875rem;
  --font-size--body-xs: .675rem;
  --line-height-base: 1.4;
  --line-height-hs: 1.2;
  --break-xlarge: 80rem;
  --break-large: 64rem;
  --break-medium: 42.5rem;
  --break-po: 32rem;
  --break-small: 30rem;
  --global-text: var(--color-black);
  --global-border-primary: var(--border-color-dark);
  --global-border-secondary: var(--border-color-lite);
  --global-button-primary: var(--link-color);
}

header {
  position: relative;
  z-index: 5;
  padding: 2rem 0 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
header.lc__mobile-header {
  display: flex;
}
@media screen and (min-width: 768px) {
  header.lc__mobile-header {
    display: none;
  }
}

.menu {
  display: flex;
  gap: 1rem;
  flex-direction: row;
  padding: 0;
}
.menu li {
  list-style-type: none;
  padding: 0;
}
.menu li a {
  font-weight: normal;
}

.lc_contact-info {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
}
.lc_contact-info small {
  display: flex;
  flex-direction: row;
  gap: 0.6rem;
  justify-content: flex-start;
  align-items: center;
}

.lc__social-list {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0;
  margin: 0;
}
.lc__social-list li {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  list-style-type: none;
  padding: 0;
}
.lc__social-list li a {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
}

html {
  font-size: 62.5%;
  height: 100%;
}

body {
  color: var(--global-text);
  font-family: var(--font-family--body);
  font-size: var(--font-size--body);
  font-weight: var(--font-weight--regular);
  font-optical-sizing: auto;
  letter-spacing: -0.022em;
  background-color: var(--background-color-lite);
  height: 100%;
  /* Set link color and reset WP link variable */
  /* Forms */
  /* Layout */
  /* Use .scol for Custom layouts */
  /* Layout: mcol */
  /* Layout: mcol */
}
body p,
body ul,
body ol {
  font-size: var(--font-size--body);
  line-height: var(--line-height-base);
}
body p li,
body ul li,
body ol li {
  padding-bottom: 0.6rem;
}
body ul,
body ol {
  padding: 0 0 0 16px;
  margin: 0;
}
body p {
  padding-bottom: 1rem;
}
body h1, body h2, body h3, body h4, body h5, body h6 {
  font-weight: 500;
  line-height: var(--line-height-base);
  padding-bottom: 0;
}
body .entry-title {
  font-size: clamp(4rem, 4vw, 4rem);
  line-height: 1;
}
body figure figcaption {
  font-size: var(--font-size--body-m);
}
body figure img {
  margin: 0 0 8px;
}
body img {
  height: auto;
  width: 100%;
  max-width: 100%;
  vertical-align: middle;
  border-radius: 8px;
}
body mark {
  color: var(--color-black);
  background-color: var(--background-color-lite);
  padding: 0 0.8rem;
  border-radius: 0.1rem;
}
body a,
body a:active {
  cursor: pointer;
  color: var(--link-color);
  font-weight: 700;
  transition: linear 0.15s;
  text-decoration: underline 0.1rem;
  text-underline-offset: 0.3rem;
}
body a .lc__arrow,
body a:active .lc__arrow {
  opacity: 0;
}
body a:hover {
  color: var(--link-color);
  text-decoration-color: var(--link-color);
  text-decoration: underline 0.2rem;
}
body a:hover .lc__arrow {
  opacity: 1;
}
body .skip-link {
  display: none;
  position: absolute;
  z-index: 10;
  top: 1rem;
  right: 2rem;
  font-size: 1rem;
}
body iframe {
  width: 100%;
}
body label {
  font-weight: 700;
}
body label.lc__small {
  font-size: var(--font-size--body-xs);
}
body :focus {
  display: flex;
  outline-color: transparent;
  outline-style: solid;
  box-shadow: 0 0 0 2px var(--color-grey--500), 0 0 0 4px var(--color-grey--500);
}
body select {
  width: 100%;
  padding: 1rem;
  border: none;
  background-color: var(--color-white);
  border-color: var(--border-color-dark);
  border-radius: 1rem;
  border: 1px solid var(--border-color-dark);
  font-size: var(--font-size--body);
}
body .post-password-form {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
body .post-password-form input[type=password] {
  border-radius: 8px;
  border: 2px solid var(--color-grey--900);
  padding: 1rem;
}
body .row {
  /* Rows are the main wrapping element above ANY column-type NEVER put a .row inside a column */
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
  padding: 0 3rem;
  position: relative;
  box-sizing: border-box;
  *zoom: 1;
  justify-content: center;
  display: flex;
}
body .row:before,
body .row:after {
  content: "";
  display: table;
}
body .row:after {
  clear: both;
}
body .row.full {
  max-width: 100% !important;
  padding: 0;
  flex-direction: column;
}
body .row.full.flat {
  margin: 0;
}
body .col,
body .mcol,
body .scol {
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
body .col > .inner,
body .mcol > .inner,
body .scol > .inner {
  padding: 0 16px;
}
body .scol {
  display: flex;
}
body .scol.one {
  width: 8.3333%;
}
body .scol.two {
  width: 16.6667%;
}
body .scol.three {
  width: 25%;
}
body .scol.four {
  width: 33.3333%;
}
body .scol.five {
  width: 41.6667%;
}
body .scol.six {
  width: 50%;
}
body .scol.seven {
  width: 58.3333%;
}
body .scol.eight {
  width: 66.6667%;
}
body .scol.nine {
  width: 75%;
}
body .scol.ten {
  width: 83.3333%;
}
body .scol.eleven {
  width: 91.6667%;
}
body .scol.twelve {
  width: 100%;
}
@media screen and (min-width: 640px) {
  body body .row {
    padding: 0 4rem;
  }
  body .col.one {
    width: 8.3333%;
  }
  body .col.two {
    width: 16.6667%;
  }
  body .col.three {
    width: 25%;
  }
  body .col.four {
    width: 33.3333%;
  }
  body .col.five {
    width: 41.6667%;
  }
  body .col.six {
    width: 50%;
  }
  body .col.seven {
    width: 58.3333%;
  }
  body .col.eight {
    width: 66.6667%;
  }
  body .col.nine {
    width: 75%;
  }
  body .col.ten {
    width: 83.3333%;
  }
  body .col.eleven {
    width: 91.6667%;
  }
  body .col.twelve {
    width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  body {
    /* Cols */
    /* 1/12 of container */
    /* 1/6 of container */
    /* 1/4 of container */
    /* 1/3 of container */
    /* 5/12 of container */
    /* 1/2 of container */
    /* 7/12 of container */
    /* 2/3 of container */
    /* 3/4 of container */
    /* 5/6 of container */
    /* 11/12 of container */
    /* Full Width */
  }
  body .mcol.one {
    width: 8.3333%;
  }
  body .mcol.two {
    width: 16.6667%;
  }
  body .mcol.three {
    width: 25%;
  }
  body .mcol.four {
    width: 33.3333%;
  }
  body .mcol.five {
    width: 41.6667%;
  }
  body .mcol.six {
    width: 50%;
  }
  body .mcol.seven {
    width: 58.3333%;
  }
  body .mcol.eight {
    width: 66.6667%;
  }
  body .mcol.nine {
    width: 75%;
  }
  body .mcol.ten {
    width: 83.3333%;
  }
  body .mcol.eleven {
    width: 91.6667%;
  }
  body .mcol.twelve {
    width: 100%;
  }
  body .one {
    width: 8.3333%;
  }
  body .two {
    width: 16.6667%;
  }
  body .three {
    width: 25%;
  }
  body .four {
    width: 33.3333%;
  }
  body .five {
    width: 41.6667%;
  }
  body .six {
    width: 50%;
  }
  body .seven {
    width: 58.3333%;
  }
  body .eight {
    width: 66.6667%;
  }
  body .nine {
    width: 75%;
  }
  body .ten {
    width: 83.3333%;
  }
  body .eleven {
    width: 91.6667%;
  }
  body .twelve {
    width: 100%;
  }
  body .skip-link {
    display: block;
  }
}

#lc__hero {
  position: relative;
  height: 480px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#lc__hero .lc__hero-image {
  opacity: 1;
}
#lc__hero .lc__hero-pic {
  width: 100%;
  max-width: 640px;
  padding: 12rem 0 0;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
#lc__hero .lc__hero-pic img {
  object-fit: cover;
}
#lc__hero .lc__hero-container {
  display: flex;
  justify-content: center;
}
#lc__hero .lc__hero-container .lc__hero-top,
#lc__hero .lc__hero-container .lc__hero-bottom {
  font-size: 16px;
  font-weight: 900;
  line-height: var(--line-height-hs);
  color: darkseagreen;
  mix-blend-mode: difference;
  font-size: clamp(4rem, 12vw, 12rem);
}
#lc__hero .lc__hero-container .lc__hero-top {
  position: absolute;
  bottom: 16px;
  animation: fgColorShift2 30s ease-in-out infinite;
}
#lc__hero .lc__hero-container .lc__hero-top {
  display: block;
  opacity: 0;
}
#lc__hero .lc__hero-container .lc__hero-bottom {
  position: absolute;
  bottom: -18px;
  z-index: 10;
  animation: fgColorShift1 30s ease-in-out infinite;
}
@keyframes fgColorShift1 {
  0% {
    color: #1c1c1e;
  }
  10% {
    color: #3a3a40;
  }
  20% {
    color: #2a2e5b;
  }
  30% {
    color: #144272;
  }
  40% {
    color: #0a9396;
  }
  50% {
    color: #94d2bd;
  }
  60% {
    color: #ee9b00;
  }
  70% {
    color: #ca6702;
  }
  80% {
    color: #bb3e03;
  }
  90% {
    color: #ae2012;
  }
  100% {
    color: #1c1c1e;
  }
}
@keyframes fgColorShift2 {
  0% {
    color: #1c1c1e;
  }
  10% {
    color: #ae2012;
  }
  20% {
    color: #bb3e03;
  }
  30% {
    color: #ee9b00;
  }
  40% {
    color: #94d2bd;
  }
  50% {
    color: #0a9396;
  }
  60% {
    color: #ca6702;
  }
  70% {
    color: #144272;
  }
  80% {
    color: #2a2e5b;
  }
  90% {
    color: #3a3a40;
  }
  100% {
    color: #1c1c1e;
  }
}

.lc__hero-header {
  position: fixed;
  z-index: 10;
  right: 1rem;
  top: 1rem;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 0.6rem;
  backdrop-filter: blur(5px);
  border-radius: 2rem;
  padding: 1rem 0.6rem;
  border: 1px solid rgba(56, 56, 56, 0.8);
  background: linear-gradient(134deg, hsla(0, 0%, 100%, 0.8), hsla(0, 0%, 100%, 0.2), hsla(0, 0%, 100%, 0) 75%);
}
.lc__hero-header #fz__hero-toggle {
  position: relative;
}
.lc__hero-header #fz__hero-toggle .material-symbols-outlined {
  font-size: var(--font-size--body-l);
}

.hero-toggle-btn {
  position: relative;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

.progress-ring {
  transform: rotate(-90deg);
  overflow: visible;
}

.progress-ring circle {
  stroke: var(--color-white);
  stroke-width: 4;
  fill: none;
}

#lc__statement .lc__statement-content {
  padding: 48px 0 0;
  max-width: 480px;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.lc__changing-background {
  animation: none;
  transition: background-color 5s linear;
}

.lc__bounce {
  -webkit-animation: bounce 1s infinite alternate;
  animation: bounce 1s infinite alternate;
}

@-webkit-keyframes bounce {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-10px);
  }
}
@keyframes bounce {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-10px);
  }
}
@media screen and (min-width: 1024px) {
  #lc__hero .lc__hero-top {
    bottom: 38px;
  }
}
.lc__page-title {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  padding: 32px 16px;
}

#lc__filter-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 0 2rem;
}

#lc__work-feed {
  max-width: 1024px;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 0;
}
#lc__work-feed .category-filters {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  background-color: transparent;
  border-radius: 150px;
  border: 1px solid var(--border-color-dark);
  padding: 1rem 2rem;
  line-height: inherit;
  overflow: hidden;
}
#lc__work-feed .category-filters:hover {
  transition: linear 0.2s;
}
#lc__work-feed .category-filters .material-symbols-outlined {
  font-size: inherit;
}
#lc__work-feed .category-filters .border-highlight {
  background: transparent;
  opacity: 0.6;
  height: 1px;
  position: absolute;
  top: 0;
  left: 50px;
  width: 60%;
  z-index: 4;
}
#lc__work-feed .category-filters button.lc__button-secondary,
#lc__work-feed .category-filters button.lc__button:not(:hover):not(:active):not(.has-background).lc__button-secondary {
  border: transparent;
  font-size: var(--font-size--body-m);
  font-weight: 500;
}
#lc__work-feed .category-filters button.lc__button:not(:hover):not(:active):not(.has-background).lc__button-secondary:focus {
  color: var(--color-white);
}
#lc__work-feed #cpt-work-entries {
  display: grid;
  padding: 0;
  gap: 2rem;
  grid-gap: 8px;
  grid-template-columns: repeat(auto-fill, minmax(45%, 1fr));
}
#lc__work-feed #cpt-work-entries.lc__card-feed img {
  aspect-ratio: 0;
}
@media screen and (min-width: 640px) {
  #lc__work-feed #cpt-work-entries {
    grid-template-columns: repeat(auto-fill, minmax(20%, 1fr));
    grid-gap: 16px;
  }
}

.work-entry {
  opacity: 1;
  display: flex;
  flex-direction: column;
  transition: opacity 0.4s ease;
}
.work-entry:hover, .work-entry:focus {
  transition: linear 0.2s;
}
.work-entry:hover img, .work-entry:focus img {
  filter: none;
  transition: linear 0.5s;
}
.work-entry img {
  filter: grayscale(100%);
}

.work-entry.hide {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  left: -9999px;
}

#lc__content {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 2rem;
  margin: 0 auto;
}

aside {
  display: none;
}

footer {
  padding: 3rem 0;
}
footer .row {
  flex-direction: column;
  padding: 0;
}
footer .lc__menu-wrapper {
  display: flex;
  flex-direction: column;
  padding: 0 2rem;
  gap: 0.6rem;
}

@media screen and (min-width: 600px) {
  footer .row {
    flex-direction: row;
  }
}
@media screen and (min-width: 768px) {
  footer .lc__menu-wrapper {
    display: none;
  }
  aside {
    display: flex;
    position: relative;
    z-index: 10;
    width: 100%;
    max-width: 280px;
    padding: 0 2rem;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: visible;
  }
  aside:hover {
    transition: linear 0.2s;
    box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.15), 0px 17px 24px rgba(0, 0, 0, 0.15);
  }
  .lc__menu-footer {
    position: absolute;
    left: 2rem;
    bottom: 2rem;
    display: flex;
    gap: 1rem;
  }
  .lc__menu-footer .lc__menu-item {
    display: flex;
    align-items: center;
    flex-direction: column-reverse;
    gap: 0.6rem;
  }
  .lc__menu-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
  }
  .lc__profile-thumb {
    max-width: 180px;
    padding: 16px 0 0;
    border-radius: 0;
  }
  .lc__social-list {
    padding: 0;
    display: flex;
    flex-direction: row;
    gap: 2rem;
  }
  .lc__social-list li {
    list-style-type: none;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 0.6rem;
  }
  .lc__social-list li a {
    display: flex;
    align-items: center;
  }
  .lc__social-list li .material-icons {
    font-size: inherit;
  }
}
.lc__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  border-radius: 8px;
  background: linear-gradient(134deg, hsla(0, 0%, 100%, 0.08), hsla(0, 0%, 100%, 0.02), hsla(0, 0%, 100%, 0) 75%);
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.lc__card a {
  text-decoration: none;
  display: flex;
  text-decoration: underline 0.1rem;
  text-underline-offset: 0.3rem;
}
.lc__card a:hover .lc__text-secondary {
  text-decoration: none;
}
.lc__card:hover {
  border: 1px solid var(--global-border-secondary);
  transition: linear 0.2s;
}
.lc__card .lc__card-excerpt {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  padding: 2rem;
}
.lc__card .lc__card-excerpt.inner {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.lc__card .lc__card-pic {
  display: flex;
  align-items: flex-end;
}
.lc__card .lc__card-pic figure img {
  aspect-ratio: 4/3;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  margin: 0 auto;
}

.lc__text-secondary {
  font-weight: normal;
}

.lc__relationship {
  width: 100%;
  margin: 0 auto;
  padding: 48px 16px;
  display: grid;
  grid-gap: 16px;
  grid-template-columns: repeat(auto-fill, minmax(49%, 1fr));
}
.lc__relationship h2 {
  display: flex;
  align-items: flex-start;
}
.lc__relationship > .row {
  padding: 2rem 0 8rem;
  gap: 2rem;
}

@media screen and (min-width: 640px) {
  .lc__relationship {
    grid-template-columns: repeat(auto-fill, minmax(25%, 1fr));
  }
}
@media screen and (min-width: 1280px) {
  .lc__relationship {
    max-width: 1024px;
  }
}
/* Case Studies */
#lc__case-study {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
  overflow: hidden;
}
#lc__case-study .row {
  max-width: 1024px;
  padding: 0;
  justify-content: flex-start;
  gap: 3rem;
}
#lc__case-study .lc__screens {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
#lc__case-study figcaption {
  color: var(--global-text);
  padding: 0.6rem 0;
  font-size: 1rem;
}

/* Featured image & title */
.lc__case-feature-thumb img,
.lc__card-screen img {
  aspect-ratio: 16/9;
  transform: translateX(2%) scale(0.95) rotateX(47deg) rotateY(31deg) rotate(324deg);
  margin-left: 0;
  box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.25), 0px 17px 24px rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.5);
}

.lc__case-feature-main img,
.lc__screens img {
  aspect-ratio: 16/9;
  transform: translateX(2%) scale(0.95) rotateX(47deg) rotateY(31deg) rotate(324deg);
  width: 1600px;
  mask-image: linear-gradient(to bottom, #000 50%, transparent);
  backdrop-filter: blur(5px);
}

/* Case Feature */
#lc__case-feature {
  width: 100%;
  max-width: 1024px;
}
#lc__case-feature .entry-title {
  width: 100%;
  display: flex;
  align-items: center;
}
#lc__case-feature .post-thumbnail {
  padding: 2rem 0 4rem;
}
#lc__case-feature .entry-content {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
#lc__case-feature article {
  display: flex;
  gap: 3rem;
  /* Featured image */
}
#lc__case-feature article .entry-header {
  max-width: 768px;
}

.lc__bar {
  width: 4px;
  height: 100%;
  background: var(--color-grey--500);
  border-radius: 2rem;
  margin-right: 1rem;
}

.lc__content-types-cols {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 0 3rem 3rem;
}
.lc__content-types-cols p:last-child {
  padding: 0;
}
.lc__content-types-cols.lc__content-highlight {
  margin: 0 2rem 2rem;
}

.lc__content-highlight {
  background: linear-gradient(134deg, hsla(0, 0%, 100%, 0.4), hsla(0, 0%, 100%, 0.04), hsla(0, 0%, 100%, 0) 75%);
  padding: 4rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 2rem;
}
.lc__content-highlight.lc__content-highlight-sm {
  padding: 2rem;
}

@media screen and (min-width: 640px) {
  .lc__content-types-cols {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}
.lc__content-types-single {
  width: 100%;
  display: flex;
  padding: 0 3rem 3rem;
}
.lc__content-types-single .lc__intro-featured-thumb {
  max-width: 480px;
  margin: -6rem auto -3rem;
}
.lc__content-types-single .wp-video {
  width: 100% !important;
  max-width: 100%;
  height: auto;
}
.lc__content-types-single .wp-video video {
  background-color: var(--color-off-black);
  border-radius: 1rem;
}
.lc__content-types-single.lc__badge-section {
  padding: 0 2rem 0;
}
.lc__content-types-single.lc__badge-section .lc__badges {
  padding: 0;
}
.lc__content-types-single .lc__single-grid {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 2rem;
  align-items: center;
}
.lc__content-types-single .lc__single-grid a {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  font-weight: normal;
}
.lc__content-types-single .lc__intro {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.lc__content-types-single .lc__intro p {
  font-size: var(--font-size--heading-m);
  padding-bottom: 2rem;
}
.lc__content-types-single .lc__intro p:last-child {
  padding: 0;
}
.lc__content-types-single .lc__intro span {
  color: var(--color-grey--500) --shade;
  background-color: var(--color-grey--500);
  padding: 0 1rem;
  border-radius: 1rem;
}

@media screen and (min-width: 1024px) {
  .lc__content-types-single .lc__single-grid {
    flex-direction: row;
  }
  .lc__single-grid {
    flex-direction: row-reverse;
  }
  .lc__single-grid.lc__swap-order {
    flex-direction: row-reverse;
  }
}
.lc__double-image {
  display: flex;
  flex-direction: row;
  gap: 2rem;
  padding: 0 3rem 3rem;
}
.lc__double-image .col {
  display: flex;
  flex-direction: 1;
}
.lc__double-image .col a {
  font-weight: normal;
  text-decoration: none;
}

.lc__content-types-image-grid {
  display: flex;
  flex-direction: row;
  padding: 0 3rem;
}
.lc__content-types-image-grid .lc__screens {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 0;
}

.lc__content-types-testimonial {
  padding: 0 0 4rem;
}
.lc__content-types-testimonial .lc_testimonial {
  max-width: 480px;
  font-family: var(--font-family--testimonial);
  font-optical-sizing: auto;
  font-weight: 100;
  font-variation-settings: "wdth" 100;
  font-size: 2rem;
  font-style: italic;
}

.lc__moving-element {
  will-change: transform;
  transform-style: preserve-3d;
}

.lc__image-overlap {
  padding: 0rem 2rem 0;
}
.lc__image-overlap .image-stack__item--top a,
.lc__image-overlap .image-stack__item--bottom a {
  display: flex;
}
.lc__image-overlap .image-stack__item--top {
  grid-row: 1;
  width: 100%;
  --x: 0;
  --y: 4%;
  --z: 0;
  transform: skewY(4deg) rotateX(4deg) rotateY(4deg) translateZ(var(--z)) translateX(var(--x)) translateY(var(--y));
  grid-column: 1/span 2;
}
.lc__image-overlap .image-stack__item--top img {
  mask-image: linear-gradient(to bottom, #000 40%, transparent);
  aspect-ratio: 16/9;
}
.lc__image-overlap .image-stack__item--bottom {
  top: 0;
  width: 100%;
  border-radius: 4rem;
  margin-right: 0;
  position: relative;
  z-index: 1;
  --x: -32px;
  --y: 0;
  --z: 4px;
  transform: skewY(4deg) rotateX(4deg) rotateY(4deg) translateZ(var(--z)) translateX(var(--x)) translateY(var(--y));
  grid-column: 3/span 2;
}
.lc__image-overlap .image-stack__item--bottom img {
  aspect-ratio: 4/6;
  box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.25), 0px 17px 24px rgba(0, 0, 0, 0.25);
}
.lc__image-overlap .image-stack__item--bottom img.lc__4-6 {
  aspect-ratio: 4/6;
}
.lc__image-overlap .image-stack__item--bottom img.lc__16-9 {
  aspect-ratio: 16/9;
}

.image-stack {
  display: grid;
  position: relative;
  grid-template-columns: auto;
  transform: translateX(0%) scale(0.95) rotateX(44deg) rotateY(32deg) rotate(324deg);
}

footer {
  width: 100%;
}

.lc__blink {
  display: block;
  animation: blinker 2.5s linear infinite;
  width: 1rem;
  height: 1rem;
  border: 1px solid var(--border-color-dark);
  background-color: var(--status-success);
  border-radius: 1rem;
}
.lc__blink.lc__blink-dead {
  animation: none;
  background-color: var(--status-fail);
}

@keyframes blinker {
  50% {
    opacity: 25%;
  }
}
.lc__badges {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.4rem;
  padding: 0 0 1rem;
  margin: 0;
}
.lc__badges li {
  list-style-type: none;
  padding: 0;
}
.lc__badges li span {
  color: var(--global-text);
  display: flex;
  flex-wrap: nowrap;
  background-color: transparent;
  font-size: var(--font-size--body-s);
  line-height: 1;
  letter-spacing: 0.01rem;
  text-align: center;
  text-wrap: nowrap;
  transition: linear 0.2s;
  border: 1px solid var(--global-border-secondary);
  border-radius: 4rem;
  padding: 4px;
}
.lc__badges li span.lc__badge-large {
  font-size: var(--font-size--body-l);
  letter-spacing: -0.02rem;
}

button,
button.lc__button:not(:hover):not(:active):not(.has-background),
.lc__button,
.post-password-form__submit {
  display: flex;
  align-items: center;
  gap: 0.1rem;
  cursor: pointer;
  width: auto;
  max-width: fit-content;
  color: var(--color-white);
  font-weight: 600;
  font-size: inherit;
  text-align: center;
  line-height: 1;
  position: relative;
  z-index: 5;
  border: 2px solid var(--link-shade);
  background-color: var(--global-button-primary);
  padding: 8px;
  border-radius: 4px;
  transition: linear 0.3s;
}
button.lc__button-sm,
button.lc__button:not(:hover):not(:active):not(.has-background).lc__button-sm,
.lc__button.lc__button-sm,
.post-password-form__submit.lc__button-sm {
  padding: 4px 8px;
}
button.lc__button-sm .material-symbols-outlined,
button.lc__button:not(:hover):not(:active):not(.has-background).lc__button-sm .material-symbols-outlined,
.lc__button.lc__button-sm .material-symbols-outlined,
.post-password-form__submit.lc__button-sm .material-symbols-outlined {
  font-size: var(--font-size--body-l);
}
button:hover,
button.lc__button:not(:hover):not(:active):not(.has-background):hover,
.lc__button:hover,
.post-password-form__submit:hover {
  color: var(--color-white);
  border-color: var(--link-hover);
  text-decoration: none;
  background-color: var(--link-hover);
}
button.lc__button-white,
button.lc__button:not(:hover):not(:active):not(.has-background).lc__button-white,
.lc__button.lc__button-white,
.post-password-form__submit.lc__button-white {
  color: var(--color-black);
  background-color: var(--color-white);
}
button.lc__button-secondary,
button.lc__button:not(:hover):not(:active):not(.has-background).lc__button-secondary,
.lc__button.lc__button-secondary,
.post-password-form__submit.lc__button-secondary {
  color: var(--link-color);
  background: transparent;
}
button.lc__button-secondary.active,
button.lc__button:not(:hover):not(:active):not(.has-background).lc__button-secondary.active,
.lc__button.lc__button-secondary.active,
.post-password-form__submit.lc__button-secondary.active {
  color: var(--color-white);
  border-color: var(--link-hover);
  text-decoration: none;
  background-color: var(--link-color);
}
button.lc__button-secondary.active:hover,
button.lc__button:not(:hover):not(:active):not(.has-background).lc__button-secondary.active:hover,
.lc__button.lc__button-secondary.active:hover,
.post-password-form__submit.lc__button-secondary.active:hover {
  color: var(--color-white);
}
button.lc__button-secondary:hover,
button.lc__button:not(:hover):not(:active):not(.has-background).lc__button-secondary:hover,
.lc__button.lc__button-secondary:hover,
.post-password-form__submit.lc__button-secondary:hover {
  color: var(--color-white);
  background-color: var(--link-hover);
}
button.lc__button-circle,
button.lc__button:not(:hover):not(:active):not(.has-background).lc__button-circle,
.lc__button.lc__button-circle,
.post-password-form__submit.lc__button-circle {
  border-radius: 50%;
  padding: 4px;
  text-decoration: none;
}
button.lc__button-circle-transparent,
button.lc__button:not(:hover):not(:active):not(.has-background).lc__button-circle-transparent,
.lc__button.lc__button-circle-transparent,
.post-password-form__submit.lc__button-circle-transparent {
  color: var(--color-white);
}
button.lc_button-lrg,
button.lc__button:not(:hover):not(:active):not(.has-background).lc_button-lrg,
.lc__button.lc_button-lrg,
.post-password-form__submit.lc_button-lrg {
  font-size: 3rem;
}

.hero-toggle-btn {
  position: relative;
  border-radius: 50%;
  overflow: visible;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.hero-toggle-btn .hero-progress-ring {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
  pointer-events: none;
  overflow: visible;
}

.hero-progress-ring__circle {
  fill: none;
  stroke: var(--link-shade);
  stroke-width: 8;
  transition: stroke-dashoffset 0s;
  transform-origin: 50% 50%;
}

#bgToggle {
  display: flex;
  gap: 0.6rem;
}

.lc__bg-toggle-wrapper {
  position: relative;
  display: inline-block;
  width: 24px;
  height: 24px;
}

svg {
  border-radius: 50%;
}
svg.progress-ring {
  width: 16px;
  height: 16px;
  position: relative;
  display: inline-block;
}

.progress-ring__circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
}

#theme-toggle {
  position: relative;
  border-radius: 50%;
  padding: 4px;
  border: 2px solid var(--link-shade);
}
#theme-toggle:hover {
  color: var(--color-white);
  border-color: var(--link-hover);
}

.f-thumbs__slide__button,
button:not(:hover):not(:active):not(.has-background).f-thumbs__slide__button {
  background: transparent;
}

.f-carousel__thumbs button,
.fancybox__footer button {
  max-width: inherit;
}

.is-horizontal .f-carousel__nav .f-button {
  border-radius: 50%;
}
.is-horizontal .f-carousel__nav .f-button.is-next, .is-horizontal .f-carousel__nav .f-button.is-prev {
  background-color: rgba(189, 189, 189, 0.75);
}
.is-horizontal .f-carousel__nav .f-button.is-next {
  right: 2rem;
  border: 2px solid var(--color-white);
  width: auto;
  height: auto;
  padding: 1rem;
}
.is-horizontal .f-carousel__nav .f-button.is-next:hover {
  color: var(--color-white);
  background: var(--color-grey--900);
}
.is-horizontal .f-carousel__nav .f-button.is-prev {
  left: 2rem;
  border: 2px solid var(--color-white);
  width: auto;
  height: auto;
  padding: 1rem;
}
.is-horizontal .f-carousel__nav .f-button.is-prev:hover {
  color: var(--color-white);
  background: var(--color-grey--900);
}

.f-carousel {
  padding: 0 3rem;
}
.f-carousel .f-carousel__slide {
  justify-content: center;
  align-items: center;
  display: flex;
}
.f-carousel .f-carousel__slide img {
  border-radius: 1rem;
}

:root {
  --global-text-h: 220;
  --global-text-s: 10%;
  --global-text-l: 10%;
  --global-border-h: 220;
  --global-border-s: 10%;
  --global-border-l: 30%;
  --global-text: hsl(var(--global-text-h), var(--global-text-s), var(--global-text-l));
  --global-border-secondary: hsl(var(--global-border-h), var(--global-border-s), var(--global-border-l));
}

.theme-light-img, .theme-dark-img {
  display: none;
}

[data-theme=light] .theme-light-img {
  display: block;
}

[data-theme=dark] .theme-dark-img {
  display: block;
}

html[data-theme=light] {
  --global-text-l: 10%;
  --global-border-l: 40%;
  --link-color: var(--global-text);
}
html[data-theme=light] figure figcaption {
  color: var(--color-grey--800);
}
html[data-theme=light] #theme-toggle {
  border: 2px solid var(--global-border-secondary);
}
html[data-theme=light] #theme-toggle:hover {
  border: 2px solid var(--global-border-secondary);
}
html[data-theme=light] button,
html[data-theme=light] button.lc__button:not(:hover):not(:active):not(.has-background),
html[data-theme=light] .lc__button {
  border-color: var(--global-border-secondary);
}
html[data-theme=light] .lc__card {
  border: 1px solid rgba(0, 0, 0, 0.35);
}
html[data-theme=light] .lc__card:hover {
  border: 1px solid var(--global-text);
}
html[data-theme=light] .lc__badges li span {
  border: 1px solid var(--global-text);
}

html[data-theme=dark] {
  --global-text-l: 90%;
  --global-border-l: 50%;
}
html[data-theme=dark] mark {
  color: var(--global-text);
  background-color: var(--link-shade);
}
html[data-theme=dark] figure figcaption {
  color: var(--color-grey--200);
}
html[data-theme=dark] .lc__hero-header {
  border-radius: 2rem;
  padding: 1rem 0.6rem;
  border: 1px solid rgba(255, 255, 255, 0.8);
  background: linear-gradient(134deg, hsla(0, 0%, 100%, 0.08), hsla(0, 0%, 100%, 0.02), hsla(0, 0%, 100%, 0) 75%);
}
html[data-theme=dark] #theme-toggle {
  color: var(--color-white);
  background: var(--link-shade);
  border-color: var(--link-hover);
}
html[data-theme=dark] #theme-toggle:hover {
  color: var(--color-white);
  border: 2px solid var(--link-hover);
  background: var(--link-hover);
}
html[data-theme=dark] #lc__work-feed .category-filters {
  border-color: var(--global-border-l);
}
html[data-theme=dark] button.lc__button-secondary,
html[data-theme=dark] button.lc__button:not(:hover):not(:active):not(.has-background).lc__button-secondary,
html[data-theme=dark] .lc__button.lc__button-secondary {
  color: var(--color-white);
}
html[data-theme=dark] button.lc__button-secondary.active,
html[data-theme=dark] button.lc__button:not(:hover):not(:active):not(.has-background).lc__button-secondary.active,
html[data-theme=dark] .lc__button.lc__button-secondary.active {
  color: var(--color-white);
  background: var(--link-shade);
}
html[data-theme=dark] button.lc__button-circle,
html[data-theme=dark] button.lc__button:not(:hover):not(:active):not(.has-background).lc__button-circle,
html[data-theme=dark] .lc__button.lc__button-circle {
  border-color: var(--link-hover);
  background: var(--link-shade);
}
html[data-theme=dark] .lc__badges li span {
  border: 1px solid var(--global-text);
}
html[data-theme=dark] body a {
  color: var(--global-text);
}
html[data-theme=dark] body a:hover {
  color: var(--color-white);
  text-decoration-color: var(--color-white);
}
html[data-theme=dark] body img {
  opacity: 0.9;
}
html[data-theme=dark] body .post-password-form input[type=password] {
  background-color: var(--color-grey--100);
}

.lc__utl-inline {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.6rem;
}
.lc__utl-inline small {
  display: flex;
  align-items: anchor-center;
  gap: 8px;
}

.lc__jcfs.row {
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.6rem;
  padding: 0;
}

.lc__swap-order {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}

.lc__flex-end {
  display: flex;
  justify-content: flex-end;
}

.lc__pad-l {
  padding-left: 8px;
}

.lc__pad-b {
  padding-bottom: 16px;
}

.lc__fade-mask {
  mask-image: linear-gradient(to bottom, #000 50%, transparent);
  backdrop-filter: blur(5px);
}

.lc__perspective {
  aspect-ratio: 16/9;
  transform: translateX(2%) scale(0.95) rotateX(47deg) rotateY(31deg) rotate(324deg);
  margin-left: 0;
  box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.25), 0px 17px 24px rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.5);
}

/*# sourceMappingURL=style.css.map */
