/*
Theme Name: Eleva
Template: kadence
Author: Alessandro Bonacina
Author URI: https://alessandrobonacina.com
Description: Child Theme based on Kadence v1.2.15
Version: 1.2.15.1738444330
Updated: 2025-02-01 22:12:10

*/

/* SELEZIONE TESTO CUSTOM */
::selection {
	background-color: var(--global-palette2);
	color: var(--global-palette3);
}

/* per Firefox */
::-moz-selection {
	background-color: var(--global-palette2);
	color: var(--global-palette3);
}

/* SCROLLBAR CUSTOM Per browser basati su WebKit (Chrome, Edge, Safari) */
::-webkit-scrollbar {
	width: 8px;
}

::-webkit-scrollbar-thumb {
	background-color: var(--global-palette2);
	border-radius: 6px;
}

::-webkit-scrollbar-track {
	background-color: transparent;
}

/* per Firefox */
* {
	scrollbar-color: var(--global-palette2) transparent;
}

/* UTILITIES */
.margin-inline-auto .kt-accordion-wrap {
    margin-inline: auto !important;
}

/* HEADER */
.transparent-header #masthead .site-main-header-wrap .site-header-row-container-inner {
	box-shadow: 0px 0px 12px rgba(0,0,0,0.1);
}

.site-main-header-wrap .site-header-row-container-inner > .site-container {
	border-radius: 1rem !important;
    border: 1px solid var(--global-palette8);
}

.site-header-upper-inner-wrap.child-is-fixed .site-main-header-wrap {
	margin-top: 1rem;
}

header .item-is-stuck .site-container {
	backdrop-filter: blur(10px);
}

.site-header-row-container-inner {
	margin-inline: -1rem;
	border-radius: 1.25rem;
}

nav > div > ul > li.menu-item > a {
	border-radius: 100vmax;
	padding-inline: 1.2rem !important;
}
/* MENU A DISCESA */
nav ul#primary-menu li.menu-item-has-children {
	position: relative;
}

nav ul#primary-menu li.menu-item-has-children:after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 1rem;
}
nav ul#primary-menu li.menu-item-has-children > .sub-menu{
  position: absolute;
  top: calc(100% + 1rem);
  left: 0;
  margin-top: 0;
}
nav ul#primary-menu li.menu-item-has-children > ul.sub-menu {
    border: 1px solid var(--global-palette8);
    border-radius: 0.5rem;
    overflow: hidden !important;
}

/* FINE HEADER */

/* FOOTER */

footer.el-footer {
	background-color: transparent;
}

/* LINES BG */
.lines {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: calc(100% + 500px);
	margin: auto;
	width: 100%;
	padding-bottom: 12rem;
	background-color: transparent;
}

.line {
	position: absolute;
	width: 1px;
	height: 100%;
	top: 0;
	left: 50%;
	background: rgba(255, 255, 255, 0.0);
	overflow: hidden;
}

.line::after {
	content: "";
	display: block;
	position: absolute;
	height: 15vh;
	width: 100%;
	top: -50%;
	left: 0;
	background: linear-gradient(
		to bottom,
		rgba(255, 255, 255, 0) 0%,
		var(--global-palette2) 75%,
		var(--global-palette2) 100%
	);
	animation: drop 5s 0s infinite;
	animation-fill-mode: forwards;
	animation-timing-function: cubic-bezier(0.4, 0.26, 0, 0.97);
}

.line:nth-child(1) {
	margin-left: -36%;
}

.line:nth-child(1)::after {
	animation-delay: 1s;
}

.line:nth-child(2) {
	margin-left: -18%;
}

.line:nth-child(2)::after {
	animation-delay: 2s;
}

.line:nth-child(3) {
	margin-left: 18%;
}

.line:nth-child(3)::after {
	animation-delay: 2.5s;
}

.line:nth-child(4) {
	margin-left: 36%;
}

.line:nth-child(4)::after {
	animation-delay: 1.25s;
}

@keyframes drop {
	0% {
		top: -50%;
	}
	100% {
		top: 110%;
	}
}

/* CUBES
.cube-start-origin-1 .kt-row-column-wrap:before {
content: '';
position: absolute;
bottom: -2rem;
right: -1rem;
width: 1rem;
height: 1rem;
z-index: -1;
background-color: rgba(255,255,255,0.1);
border: solid 1px var(--global-palette1);
transform-origin: top left;
transform: scale(0) rotate(0deg) translate(-50%, -50%);
animation: cube 4s ease-in forwards infinite;
}

@keyframes cube {
from {
transform: scale(0) rotate(0deg) translate(-50%, -50%);   
opacity: 1;
}
to {
transform: scale(6) rotate(960deg) translate(-50%, -50%); 
opacity: 0;
}
} */

/* NET */
/* Reticolato + fade ai bordi */
.net { position: relative; }
.net:before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	/* Configurazione */
	--bg: #010b12;
	--gap: 48px;
	--line: 1px;
	--grid: rgba(255,255,255,.08);
	--fade-inner: 40%;
	--fade-outer: 75%;

	background-color: var(--bg);

	/* Reticolato */
	background-image:
		repeating-linear-gradient(0deg,
			var(--grid) 0 var(--line),
			transparent var(--line) var(--gap)),
		repeating-linear-gradient(90deg,
			var(--grid) 0 var(--line),
			transparent var(--line) var(--gap));
	background-size: var(--gap) var(--gap), var(--gap) var(--gap);
	background-position: 0 0, 0 0;

	/* Maschera: centro visibile, bordi nascosti */
	-webkit-mask-image: radial-gradient(ellipse at center,
		rgba(0,0,0,1) 0,
		rgba(0,0,0,1) var(--fade-inner),
		rgba(0,0,0,0) var(--fade-outer));
	mask-image: radial-gradient(ellipse at center,
		rgba(0,0,0,1) 0,
		rgba(0,0,0,1) var(--fade-inner),
		rgba(0,0,0,0) var(--fade-outer));
}

/* Viewport */
.infinite-loop{
	--speed: 30s;
	--gap: 4rem;
	--edge: 8%;

	position: relative;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--edge), #000 calc(100% - var(--edge)), transparent 100%);
	mask-image: linear-gradient(to right, transparent 0, #000 var(--edge), #000 calc(100% - var(--edge)), transparent 100%);
}

/* Track */
.infinite-loop .kt-inside-inner-col {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--gap);
	width: max-content;
	box-sizing: content-box;

	/* allinea la “giunta” al 50% */
	padding-inline: calc(var(--gap)/2) !important;
	margin-inline: calc(var(--gap)/-2);

	animation: loopLeft  var(--speed) linear infinite;
	will-change: transform;
	backface-visibility: hidden;
}

/* Direzioni */
.infinite-loop.right .kt-inside-inner-col { animation-direction: reverse; }

/* Figli */
.infinite-loop .kt-inside-inner-col > *{ flex: 0 0 auto; margin: 0; }

/* Keyframes senza “salti” */
@keyframes loopLeft  {
	to {
		transform: translateX(-50%);
	}
}

/* Hover pausa, opzionale */
.infinite-loop:hover .kt-inside-inner-col { animation-play-state: paused; }

@media (prefers-reduced-motion: reduce){
	.infinite-loop .kt-inside-inner-col { animation: none; }
}

/* FORM */
.kb-advanced-form :is(.kb-adv-form-label, .kb-adv-form-label:hover) {
	cursor: inherit !important;
}

:is(label.kb-adv-form-label, legend.kb-adv-form-label) {
	font-size: var(--global-kb-font-size-sm, 0.9rem);
	background-color: var(--global-palette1);
	width: fit-content;
	padding: 0.25rem 1rem !important;
}

.kb-advanced-form :not(.kb-form-field-focus) label.kb-adv-form-label {
	transform: translate(0.5rem, 1rem) scale(0.85) !important;
}

.kb-advanced-form .wp-block-kadence-advanced-form-select label.kb-adv-form-label {
	margin-left: -0.5rem;
}

.kb-advanced-form :not(.kb-form-field-focus) label.kb-adv-form-label + span + select {
	margin-top: 1.5rem;
}

.kb-advanced-form :is(.kb-form-field-focus label.kb-adv-form-label, legend.kb-adv-form-label)  {
	transform: translate(0, -0.75rem) scale(0.85) !important;
}

.kb-advanced-form legend.kb-adv-form-label {
	margin-bottom: 0.5rem;
}

.kb-advanced-form :is(input, textarea) {
	margin-top: -1rem;
}

.kb-advanced-form span.screen-reader-text {
	z-index: 20;
}

.extra-mt {
	margin-top: 1rem !important;
}

html {
	color-scheme: only dark;
}

@property --glow-deg {
	syntax: "<angle>";
	inherits: true;
	initial-value: -90deg;
}

@property --clr-primary {
	syntax: "<color>";
	inherits: true;
	initial-value: #00f8b1;
}


@property --clr-primary-step-1 {
	syntax: "<color>";
	inherits: true;
	initial-value: #00D4C4;
}

@property --clr-secondary-step-2 {
	syntax: "<color>";
	inherits: true;
	initial-value: #00A1DE;
}

@property --clr-secondary {
	syntax: "<color>";
	inherits: true;
	initial-value: #0079f3;
}

/* Effetto glow */
.glowing-border {
	--gradient-glow: var(--clr-primary), var(--clr-primary-step-1), var(--clr-secondary-step-2), var(--clr-secondary), var(--clr-secondary-step-2), var(--clr-primary-step-1);
	--glow-size: 1rem;
	--glow-intensity: 0.1;
	--border-width: 2px;

	border-bottom: var(--border-width) solid transparent;
	background: linear-gradient(var(--surface, canvas) 0 0) padding-box,
		conic-gradient(from var(--glow-deg), var(--gradient-glow)) border-box;

	position: relative;
	isolation: isolate;
	animation: glow 8s infinite linear;
}

.glowing-border::before,
.glowing-border::after {
	content: "";
	position: absolute;
	border-radius: inherit;
	pointer-events: none;
}

.glowing-border::before {
	z-index: -1;
	background: var(--surface, canvas);
	inset: 0.5rem;
	scale: 1.1 1;
	transform-origin: right;
	filter: blur(var(--glow-size));
}

.glowing-border::after {
	z-index: -2;
	inset: -0.75rem;
	background: conic-gradient(from var(--glow-deg), var(--gradient-glow));
	filter: blur(var(--glow-size));
	opacity: var(--glow-intensity);
}

/* Direzione inversa */
.glowing-border.right::before {
	transform-origin: left;
}

/* Effetto glow per pulsanti */
.glow-border-only {
	--gradient-glow: var(--clr-primary-step-1), var(--clr-secondary-step-2), var(--clr-secondary), var(--clr-secondary-step-2), var(--clr-primary-step-1);
	--glow-size: 0.5rem;
	--glow-intensity: 0.2;
	--border-width: 1px;

	position: relative;
	border: none;
	background-color: inherit;
	color: inherit;
	isolation: isolate;

	animation: glow 3s linear infinite;
	z-index: 0;
	overflow: visible;
}

.glow-border-only::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: inherit;
	background: conic-gradient(from var(--glow-deg), var(--gradient-glow));
	padding: var(--border-width);

	-webkit-mask:
		linear-gradient(#000 0 0) content-box,
		linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	mask:
		linear-gradient(#000 0 0) content-box,
		linear-gradient(#000 0 0);
	mask-composite: exclude;

	filter: blur(0px);
	opacity: 1;
}

.glow-border-only::after {
	content: "";
	position: absolute;
	inset: calc(-1 * var(--glow-size));
	z-index: -2;
	border-radius: inherit;
	background: conic-gradient(from var(--glow-deg), var(--gradient-glow));
	filter: blur(var(--glow-size));
	opacity: var(--glow-intensity);
}

@keyframes glow {
	to {
		--glow-deg: 270deg;
	}
}