.elementor-kit-7{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Satoshi";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"permanent-marker-pro";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Satoshi";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Space Mono";--e-global-typography-accent-font-weight:500;font-family:"Satoshi", Sans-serif;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 h5{font-family:"permanent-marker-pro", Sans-serif;}.elementor-kit-7 h6{font-family:"Space Mono", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --cervena_main:#CC2020; }
/* Start custom CSS *//* CUSTOM CURSOR */

/* Skryje výchozí kurzor na kontejneru */
.jh-view-project, 
.jh-view-project * {
    cursor: none !important;
}

.jh-view-activity, 
.jh-view-activity * {
    cursor: none !important;
}

/* Hlavní kontejner kurzoru - drží okamžitou pozici 1:1 s myší */
.jh-custom-cursor {
    position: fixed;
    top: -150px;
    left: -150px;
    width: 140px; 
    height: 140px;
    pointer-events: none; 
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    
    /* Plynulé zjevení/skrytí celého prvku při hoveru */
    transform: translate(-50%, -50%) scale(0.6);
    opacity: 0;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

/* Aktivní stav při hoveru */
.jh-custom-cursor.is-active {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

/* REAKTIVNÍ POZADÍ - Zužuje se na základě směru */
.jh-cursor-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 0px; /* Jemné zaoblení pro čistý gelový vzhled */
    will-change: transform;
}

/* TEXT - Stabilní, nedeformuje se a je stále perfektně čitelný */
.jh-cursor-text {
    position: relative;
    z-index: 2;
    color: #ffffff;
    font-family: 'Satoshi', sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-align: center;
}


/* MARQUEE 2 */

/* 1. Klíčové nastavení pro rodičovský prvek */
.infinite-marquee {
    width: 100% !important;
    max-width: 100vw !important;
    overflow: hidden !important; /* Toto schová vše, co trčí ven */
    display: block !important;    /* Ruší flexbox chování Elementoru, pokud tam je */
}

/* 2. Nastavení pro samotný nadpis, ve kterém rotují spany */
.infinite-marquee h2, 
.infinite-marquee .heading-title, 
.infinite-marquee .atomic-headline-text {
    display: flex !important;
    flex-wrap: nowrap !important; /* Spany musí jít striktně do jedné řady */
    width: max-content !important; /* Nadpis se natáhne podle vygenerovaných spanů */
    animation: marquee-anim var(--marquee-duration, 20s) linear infinite;
}

/* 3. Mezera 40px mezi jednotlivými názvy (spany) */
.infinite-marquee h2 span, 
.infinite-marquee .heading-title span, 
.infinite-marquee .atomic-headline-text span {
    display: inline-block !important;
    padding-right: 100px !important; /* Vzdálenost mezi texty */
    box-sizing: border-box !important;
}

/* 4. Definice samotné animace */
@keyframes marquee-anim {
    0% {
        transform: translate3d(0, 0, 0);
    }
    100% {
        transform: translate3d(-50%, 0, 0); /* Posun přesně o polovinu šířky */
    }
}


/* --- DVOUŘÁDKOVÝ NADPIS --- */
.jh-animated-headline--two-rows {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
}

.jh-animated-headline--two-rows .line-1,
.jh-animated-headline--two-rows .line-2 {
  display: inline-block;
  white-space: nowrap;
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%); /* Výchozí skrytý stav */
}

/* Zde je změna: animace se přiřazuje řádkům až když obal dostane .is-visible */
.jh-animated-headline--two-rows.is-visible .line-1 {
  animation: reveal-line 1s linear forwards;
  animation-delay: 0s;
}

.jh-animated-headline--two-rows.is-visible .line-2 {
  animation: reveal-line 1s linear forwards;
  animation-delay: 1s; 
}

@keyframes reveal-line {
  from { clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%); }
  to { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Satoshi';
	font-display: auto;
	src: url('https://www.plechsson.com/wp-content/uploads/2026/04/Satoshi-Variable.ttf') format('truetype');
}
/* End Custom Fonts CSS */