/*
Theme Name: Emiel Dewulf
Theme URI: https://emieldewulf.be
Author: Emiel Dewulf
Author URI: https://emieldewulf.be
Description: Thema voor Emiel Dewulf
Version: 1.0
Text Domain: emieldewulf
Requires at least: 5.0
Tested up to: 6.6
Requires PHP: 7.4
License: Proprietary
*/

body {
    font-family: 'Be Vietnam Pro', sans-serif;
}

/* animated highlight */
.highlight-title {
  text-align: left;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 32px;
  font-weight: 400;
}

[data-highlight-marker-reveal]{
  visibility: hidden;
}

[data-highlight-marker-reveal] .highlight-marker-line{
  width: auto;
  display: inline-block !important;
  margin: -0.055em 0px;
}

.highlight-marker-bar{
  position: absolute;
  inset: -0.055em 0px;
  z-index: 1;
  pointer-events: none;
}

.text--highlight {
    position: relative;
    display: inline;
    width: fit-content;
    z-index: 0;
}

.text--highlight::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 8px;
    background-color: var(--primary-color);
    z-index: -1;
}

.bg--gradient-primary {
    position: relative;
    background: linear-gradient(
        to top right,
        transparent 50%,
        color-mix(in srgb, var(--primary-color) 50%, transparent) 100%
    );
    background-size: 180% 180%;
    background-position: 100% 0%;
    animation: gradient-float 8s ease-in-out infinite alternate;
}

.bg--gradient-primary::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 120px;
    background: linear-gradient(to top, #ffffff, transparent);
    pointer-events: none;
}

@keyframes gradient-float {
    0%   { background-position: 100% 0%; }
    100% { background-position: 70% 30%; }
}

/* marquee */
.marquee-section {
    overflow: hidden;
}

.marquee-inner {
    will-change: transform;
    white-space: nowrap;
}

.marquee-img {
    width: 200px;
    height: 120px;
    flex-shrink: 0;
    background-color: #e8e8e8;
    object-fit: cover;
    display: block;
}





.motionpath-wrap {
  width: 100%;
  height: 450vh;
  position: relative;
  overflow: clip;
}

.motionpath-container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.motionpath-content {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  display: flex;
  position: sticky;
  top: 0;
}

.motionpath-content-inner {
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.motionpath-content-path {
  width: 100vmax;
  height: 100%;
  max-height: 45vh;
}

.motionpath-svg {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.motionpath-content-wrap {
  z-index: 1;
  position: absolute;
}

.motionpath-cursor {
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 9999;
  opacity: 0;
  background-color: var(--primary-color);
  border-radius: 8px;
  padding: .75em 1.5em;
  font-weight: 700;
  white-space: nowrap;
  will-change: transform;
}

.motionpath-content-item {
  grid-column-gap: 2em;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
  position: absolute;
  text-decoration: none;
  color: inherit;
  cursor: none;
}

.motionpath-content-item__visual {
  aspect-ratio: 1 / 1.5;
  border-radius: .75em;
  flex: none;
  width: max(24vw, 12rem);
  overflow: hidden;
}

.motionpath-content-item__img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.motionpath-content-item__details {
  grid-row-gap: .75em;
  flex-flow: column;
  justify-content: flex-end;
  align-items: flex-start;
  width: max(24vw, 12rem);
  padding-top: 2em;
  display: flex;
  overflow: hidden;
}

.motionpath-content-item__title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 2em;
  font-weight: 500;
  line-height: 1;
}

.motionpath-content-item__labels {
  display: flex;
  flex-wrap: wrap;
  gap: .4em;
}

.motionpath-content-item__label {
  color: #13131399;
  background-color: #fff;
  border-radius: 100em;
  padding: .5em .75em;
  font-size: .75em;
  font-weight: 500;
  line-height: 1.2;
}

.motionpath-content-title {
  z-index: 0;
  color: #1313130f;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 30vw;
  line-height: .8;
  position: absolute;
}

@media screen and (max-width: 767px) {
  .motionpath-content-inner {
    justify-content: flex-start;
    align-items: flex-start;
  }

  .motionpath-content-path {
    max-height: 70vh;
  }

  .motionpath-content-item {
    grid-column-gap: 1em;
  }

  .motionpath-content-item__details {
    grid-row-gap: .5em;
    padding-top: 1em;
    width: max(24vw, 12rem);
  }

  .motionpath-content-item__title {
    font-size: 1.25em;
  }

  .motionpath-content-item__label {
    font-size: .625em;
  }
}

/* Testimonial Slider */
.testimonial-track {
  will-change: transform;
}

.testimonial-card {
  flex: none;
  width: calc((100vw - var(--spacing-x) - 2 * 24px) / 2.5);
  min-height: 280px;
}

.testimonial-avatar {
  width: 56px;
  height: 56px;
  flex: none;
  object-fit: cover;
}

.testimonial-arrow {
  width: 48px;
  height: 48px;
  border-radius: 100em;
  border: 1px solid var(--border-color);
  background-color: #fff;
  cursor: pointer;
  color: var(--text-color);
  transition: background-color 0.2s, border-color 0.2s;
}

.testimonial-arrow:hover {
  background-color: var(--primary-color);
  border-color: var(--primary-color);
}

.testimonial-dot {
  width: 8px;
  height: 8px;
  border-radius: 100em;
  border: none;
  background-color: var(--border-color);
  cursor: pointer;
  padding: 0;
  transition: background-color 0.2s, width 0.2s;
}

.testimonial-dot.is--active {
  width: 24px;
  background-color: var(--secondary-color);
}

@media screen and (max-width: 767px) {
  .testimonial-card {
    width: calc((100vw - var(--spacing-x) - 24px) / 1.2);
  }
}

