@charset "UTF-8";
/* =========================
   Fonts
   ========================= */
@font-face {
  font-family: "DonerBlackItalic";
  src: url("/wp-content/themes/jelenas-theme/fonts/doner-semibolddisplayitalic-webfont.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "InstrumentSansRegular";
  src: url("/wp-content/themes/jelenas-theme/fonts/InstrumentSans-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
body {
  font-family: "InstrumentSansRegular", sans-serif;
}

/* =========================
   Headings
   ========================= */
h1 {
  font-family: "DonerBlackItalic", sans-serif;
  font-size: clamp(1.8rem, 5vw, 2.875rem);
  /* 1.5rem on mobile → scales → max 46px */
}

h2 {
  font-family: "DonerBlackItalic", sans-serif;
  font-size: clamp(1.5rem, 4vw, 2.25rem);
  /* 1.5rem on mobile → scales → max 36px */
}

h3,
h4,
h5 {
  font-family: "DonerBlackItalic", sans-serif;
}

/* =========================
   Paragraphs
   ========================= */
p, ul {
  font-family: "InstrumentSansRegular", sans-serif;
  line-height: 1.5;
}

ul#menu-main-menu li,
#footer p,
#copyright p, button.slideout-panel-close {
  font-family: "DonerBlackItalic", sans-serif;
  text-transform: uppercase;
  font-size: 13px;
  margin: 0;
}

/* =========================
   Utilities
   ========================= */
.text-white {
  color: white;
}

/*!
Theme Name: Jelena
Theme URI: https://them.es/starter
Author: GC
Author URI: https://them.es/
Description: Design portfolio
Version: 3.6.0
Requires at least: 5.0
Tested up to: 6.8
Requires PHP: 7.2
License: GPL version 2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0
Tags: custom-background, custom-colors, featured-images, flexible-header, microformats, post-formats, rtl-language-support, theme-options, translation-ready, accessibility-ready
Text Domain: jelenas-theme
*/
/* Don't overwrite this file. Compile "/assets/main.scss" to "/build/main.css" */
/* From http://codex.wordpress.org/CSS */
.alignnone {
  margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 5px auto;
}

.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

a img.alignnone {
  margin: 5px 20px 20px 0;
}

a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption {
  max-width: 96%;
  /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center;
}

.wp-caption.alignnone {
  margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
  margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
  margin: 5px 0 20px 20px;
}

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto;
}

.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
}

.gallery-item {
  display: inline-block;
  text-align: left;
  vertical-align: top;
  width: 50%;
}

.gallery-item a,
.gallery-item a:hover,
.gallery-item a:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
  background: none;
  display: inline-block;
  max-width: 100%;
}

.gallery-item a img {
  display: block;
  -webkit-transition: -webkit-filter 0.2s ease-in;
  transition: -webkit-filter 0.2s ease-in;
  transition: filter 0.2s ease-in;
  transition: filter 0.2s ease-in, -webkit-filter 0.2s ease-in;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.gallery-item a:hover img,
.gallery-item a:focus img {
  -webkit-filter: opacity(60%);
  filter: opacity(60%);
}

.gallery-caption {
  display: block;
  text-align: left;
  padding: 0 10px 0 0;
  margin-bottom: 0;
}

.gallery-columns-1 .gallery-item {
  max-width: 100%;
}

.gallery-columns-2 .gallery-item {
  max-width: 50%;
}

.gallery-columns-3 .gallery-item {
  max-width: 33%;
}

.gallery-columns-4 .gallery-item {
  max-width: 25%;
}

.gallery-columns-5 .gallery-item {
  max-width: 20%;
}

.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}

.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
  display: none;
}

.bypostauthor {
  font-weight: bold;
}

/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/* Cursor for entire page */
body {
  cursor: url("/wp-content/themes/jelenas-theme/cursor/body-cursor.svg") 16 26, auto;
  background-color: #f7f7f7;
}

/* Cursor for links only */
a {
  cursor: url("/wp-content/themes/jelenas-theme/cursor/pointer-finger.svg") 16 18, auto;
}

/* Navigation */
.navigation {
  position: absolute;
  z-index: 2;
  width: 100%;
  padding: 3rem 2.5rem;
}

ul#menu-main-menu li {
  border: 1px solid;
  border-radius: 90px;
  margin-right: 0.5rem;
  padding: 0rem 1rem;
  transition: all 0.3s ease;
  background: white;
  color: black;
  box-shadow: 3px 3px 0px #000, 0 4px 6px rgba(0, 0, 0, 0.2);
  cursor: pointer;
}
ul#menu-main-menu li:hover {
  transform: translate(2px, 2px);
  box-shadow: inset 2px 2px 5px rgba(0, 0, 0, 0);
}
ul#menu-main-menu li.current_page_item {
  background: #A693F3;
}

/* On page */
.purple-block {
  background: #E4E4FF;
  border-top: 1px solid black;
  border-bottom: 1px solid black;
  margin-top: 9rem;
}

.py-2-px-3 {
  padding: 2rem 3rem;
}

.experience-blocks ul {
  list-style: none;
  padding: 0;
}

/* Footer */
footer {
  margin-bottom: 2rem;
}

/* Scroll bar */
::-webkit-scrollbar-track {
  border-left: 2px solid black;
  background-color: #fff;
}

::-webkit-scrollbar {
  width: 10px;
  background-color: #fff;
}

::-webkit-scrollbar-thumb {
  background-color: #A693F3;
  border-left: 2px solid black;
  border-top: 2px solid black;
  border-bottom: 2px solid black;
}

/* Logo spin */
.svg-3d-wrapper {
  perspective: 1000px;
  /* keeps 3D depth */
  display: inline-block;
  cursor: pointer;
}

.svg-3d {
  display: block;
  transform-style: preserve-3d;
  transition: transform 0.3s ease;
}

.svg-3d-wrapper:hover .svg-3d {
  animation: spin360 2s linear infinite;
}

@keyframes spin360 {
  from {
    transform: rotateY(0deg);
  }
  to {
    transform: rotateY(360deg);
  }
}
/* Time stamp */
.time-stamp {
  position: absolute;
  z-index: 2;
  bottom: 2rem;
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.5rem;
  padding-right: 2.5rem;
}
.time-stamp .time {
  display: flex;
  flex-direction: column;
}
.time-stamp .time h5,
.time-stamp .time p {
  text-transform: uppercase;
}
.time-stamp .time p {
  font-size: 10px;
}
.time-stamp .globe {
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-star {
  margin-left: 8px;
  width: 30px;
  margin-bottom: 5px;
}

.overflow {
  overflow: hidden;
  width: 100%;
}

.hero-title {
  opacity: 0;
  /* hide at first */
}

.hero-title .cursor::after {
  content: "_";
  animation: blink 1s steps(2, start) infinite;
}

@keyframes blink {
  0%, 50% {
    opacity: 1;
  }
  50.1%, 100% {
    opacity: 0;
  }
}
.marquee {
  /* Set width to ensure it is large enough to contain both lists side-by-side */
  /* max-content works well here as it makes the container as wide as its widest content,
     which is both ul.skills lists next to each other. */
  width: max-content;
  display: flex;
  gap: 1rem;
  animation: marqueeAnim 20s linear infinite;
  /* flex-wrap: nowrap is good here */
  flex-wrap: nowrap;
}

.skills {
  display: flex;
  align-items: center;
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 1rem 0;
  /* This prevents the items inside the list from wrapping */
  flex-shrink: 0;
}

/* Other .skill styles can remain the same */
.skill {
  white-space: nowrap;
  font-family: "DonerBlackItalic", sans-serif;
  text-transform: uppercase;
  padding: 0.8rem 1rem;
  border-radius: 90px;
  font-size: 0.75rem;
  font-weight: 500;
  border: 1px solid black;
}

.skill:has(img) {
  border: none;
  padding: 0;
  background: none;
}

@keyframes marqueeAnim {
  /* Start at the beginning */
  0% {
    transform: translateX(0);
  }
  /* Animate EXACTLY the width of the original, non-duplicated content.
     Since you duplicated the content, this is -50% of the total .marquee width. */
  100% {
    transform: translateX(-50%);
  }
}
.border-rounded {
  border-radius: 40px;
}

.stat {
  z-index: 1;
}

.stat ul {
  display: flex;
  gap: 0.5rem;
  padding: 0;
  list-style: none;
}

.stat li {
  width: 20px;
  height: 20px;
  border: 1px solid #000;
  border-radius: 3px;
  background: transparent;
  transform: scale(1);
  transition: background 0.4s ease, transform 0.3s ease;
}

.stat li.filled {
  background: #000;
  transform: scale(1.2);
  /* optional little pop */
}
