/* ==========================================================
   THYMOS — BACKGROUND GENERALE
   ========================================================== */

html {
	background-color: #670627;
	overflow-x: hidden;
	  float: left;
	  width: 100%;
}

body {
	min-height: 100vh;

	background-color: #670627;

	background-image: linear-gradient(
		145deg,
		#d4e4f3 0%,
		#a6b5c2 28%,
		#7b0e22 68%,
		#670627 100%
	);

	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	background-attachment: fixed;
}

body.home.page {
	background-image: linear-gradient(
		145deg,
		#d4e4f3 0%,
		#a6b5c2 28%,
		#7b0e22 68%,
		#670627 100%
	);
}

body.page {
background-color: #8a141f;
background-image: -webkit-linear-gradient(
  -30deg,
  #8a141f 0%,
  #d4e4f3 27%,
  #a6b5c2 100%
);
background-image: linear-gradient(
  -30deg,
  #8a141f 0%,
  #d4e4f3 27%,
  #a6b5c2 100%
);
}

/* Twenty Twenty-One applica un proprio sfondo a .site */
body .site {
	background: transparent !important;
}



/* ==========================================================
   BOTTONE THYMOS — TRANSIZIONE GRADIENTE
   Widget Elementor: c74bbec
   ========================================================== */

.elementor-button {
	position: relative;
	isolation: isolate;
	overflow: hidden;

	border: 0;
	border-radius: 20px;

	transition:
		transform 400ms cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 400ms cubic-bezier(0.22, 1, 0.36, 1),
		color 300ms ease !important;
}

/* Gradiente dello stato hover */
.elementor-button::before {
	content: "";

	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: inherit;

	opacity: 0;

	transition:
		opacity 500ms cubic-bezier(0.22, 1, 0.36, 1);
}

/* Contenuto sempre sopra lo sfondo */
.elementor-button
.elementor-button-content-wrapper {
	position: relative;
	z-index: 2;
}

/* Hover */
.elementor-button:hover {
}

.elementor-button:hover::before {
	opacity: 1;
}

.button-02 .elementor-button-icon {
  width: 10px;
  height: 15px;
  background-image: url(https://www.thymosinternational.com/wp-content/uploads/2026/07/asset-09-1.png);
  background-repeat: no-repeat;
  background-size: contain;
  contain: "";
  position: relative;
  top: 2px;
}

.button-02 .elementor-button-icon svg {
	opacity: 0;
}

/* ==========================================================
   BOTTONE THYMOS — TRANSIZIONE GRADIENTE
   Widget Elementor: c74bbec
   ========================================================== */



.attachment-full.size-full {
	width: 100%!important;
	height: auto!important;
}



/* ==========================================================
   THYMOS — FOOTER
   ========================================================== */

.site-footer.thymos-footer {
	width: 100%;
	max-width: none;

	margin: 0;
	padding: 0;

	color: #d4e4f3;

	background-image: none;
	background-color: rgba(0,0,0,0);

	border: 0;
}

.thymos-footer__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;

	width: min(calc(100% - 96px), 1480px);
	min-height: 118px;

	margin: 0 auto;
	padding: 30px 0;

	color: #d4e4f3;

	font-family:
		var(
			--th-font-body,
			"area-normal",
			Arial,
			sans-serif
		);

	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.4;
}

.home.page .thymos-footer__copyright,
.home.page .thymos-footer__navigation {
	color: inherit;
}

.page .thymos-footer__copyright,
.page .thymos-footer__navigation {
	color: #670627;
}

.thymos-footer__navigation {
	display: flex;
	align-items: center;

	gap: 4px;

	text-transform: uppercase;
}

.page .thymos-footer__navigation a {
	color: #670627;
}

.home.page .thymos-footer__navigation a {
	position: relative;

	color: #d4e4f3;

	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	text-decoration: none;

	transition:
		color 250ms ease,
		opacity 250ms ease;
}

.thymos-footer__navigation a::after {
	content: "";

	position: absolute;
	right: 0;
	bottom: -4px;
	left: 0;

	height: 1px;

	background-color: currentColor;

	transform: scaleX(0);
	transform-origin: right center;

	transition:
		transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.thymos-footer__navigation a:hover,
.thymos-footer__navigation a:focus-visible {
	color: #faf9f6;
}

.thymos-footer__navigation a:hover::after,
.thymos-footer__navigation a:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left center;
}

.home.page .thymos-footer__separator {
	color: #d4e4f3;
}

.page .thymos-footer__separator {
	color: #670627;
}


/* Elimina eventuali stili ereditati da Twenty Twenty-One */

.site-footer.thymos-footer > * {
	margin-top: 0;
	margin-bottom: 0;
}

.site-footer.thymos-footer a:focus {
	background: transparent;
	text-decoration: none;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1024px) {

	.thymos-footer__inner {
		width: min(calc(100% - 56px), 1480px);
		min-height: 108px;
	}

}


@media (max-width: 767px) {

	.site-footer.thymos-footer {
		background-image: linear-gradient(
			135deg,
			#8a141f 0%,
			#670627 100%
		);
	}

	.thymos-footer__inner {
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;

		gap: 16px;

		width: calc(100% - 36px);
		min-height: 0;

		padding-top: 34px;
		padding-bottom: 34px;

		font-size: 11px;
	}

	.thymos-footer__navigation {
		flex-wrap: wrap;
	}

}











.button-01 .elementor-button-icon svg {display: none;}
.button-01 .elementor-button-icon {
	width: 10px; height: 15px;
	background-image: url(https://www.thymosinternational.com/wp-content/uploads/2026/07/asset-09.png);
	background-repeat: no-repeat;
	background-size: contain;
	contain: "";
	position: relative;
	  top: 2px;
}



.thymos-outline-title {
  width: 100%;
  overflow: hidden;
}

.thymos-outline-title svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.thymos-outline-title__text {
  font-family: "the-seasons", Sans-serif;
  font-size: 280px;
  font-weight: 300;
  letter-spacing: -0.045em;

  stroke-width: 1.6px;
  paint-order: stroke;
  vector-effect: non-scaling-stroke;

  text-rendering: geometricPrecision;
}




.gradient-01 {
	background: linear-gradient( 180deg, #670627 0%, rgba(138, 20, 31, 0.20) 100% );
}

.gradient-02 {
	background: #CD0C4B;
	background: -webkit-linear-gradient(45deg,rgba(205, 12, 75, 1) 0%, rgba(103, 6, 38, 1) 100%);
	background: -moz-linear-gradient(45deg,rgba(205, 12, 75, 1) 0%, rgba(103, 6, 38, 1) 100%);
	background: linear-gradient(45deg,rgba(205, 12, 75, 1) 0%, rgba(103, 6, 38, 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(
	  startColorstr="#CD0C4B",
	  endColorstr="#670626",
	  GradientType=0
	);
}

.col-differenza .elementor-heading-title {
	min-height: 90px;
}









/* Variabile animabile per il bordo */
@property --th-border-progress {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

/* Box */
.elementor-262 .elementor-element.col-differenza {
  position: relative;
  isolation: isolate;

  border: 0;
  border-radius: 20px;

  /* Evita che eventuali regole Elementor ripristinino il bordo */
  --border-style: none;
  --border-top-width: 0;
  --border-right-width: 0;
  --border-bottom-width: 0;
  --border-left-width: 0;
}

/* Unico bordo visibile */
.elementor-262 .elementor-element.col-differenza::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;

  padding: 1px;
  border-radius: inherit;
  pointer-events: none;

  --th-border-progress: 0deg;

  /*
   * Parte già percorsa: rosso.
   * Parte non ancora percorsa: bianco.
   */
  background: conic-gradient(
	from -90deg,
	#8a141f 0deg,
	#8a141f var(--th-border-progress),
	rgba(250, 249, 246, 0.9) var(--th-border-progress),
	rgba(250, 249, 246, 0.9) 360deg
  );

  /* Nasconde il centro e mostra soltanto la cornice */
  -webkit-mask:
	linear-gradient(#000 0 0) content-box,
	linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;

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

  transition:
	--th-border-progress 1s cubic-bezier(0.22, 1, 0.36, 1);
}

/* La variabile va modificata direttamente sullo pseudo-elemento */
.elementor-262 .elementor-element.col-differenza:hover::after {
  --th-border-progress: 360deg;
}

.elementor-262 .elementor-element.col-differenza:hover .elementor-heading-title {
	color:#d4e4f3!important;
}

.elementor-262 .elementor-element.col-differenza:hover .elementor-widget-text-editor {
	color:#d4e4f3!important;
}








/* Box */
.elementor-262 .elementor-element.col-differenza {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 20px;
  background: transparent;
}

/* Gradiente interno */
.elementor-262 .elementor-element.col-differenza::before {
  content: "";
  position: absolute;

  /* Lascia libero il bordo da 1px */
  inset: 1px;

  z-index: 0;
  border-radius: 19px;
  pointer-events: none;

  background: linear-gradient(
	180deg,
	#670627 0%,
	rgba(138, 20, 31, 0.20) 100%
  );

  opacity: 0;
  transform: translateY(10px) scale(0.985);

  transition:
	opacity 700ms ease,
	transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

/* Comparsa fluida del gradiente */
.elementor-262 .elementor-element.col-differenza:hover::before {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Mantiene testi e contenuti sopra al gradiente */
.elementor-262 .elementor-element.col-differenza > * {
  position: relative;
  z-index: 1;
}

/* Il bordo animato rimane sopra a tutto */
.elementor-262 .elementor-element.col-differenza::after {
  z-index: 2;
}











.thymos-outline-title {
  width: 100%;
  overflow: hidden;
}

.thymos-outline-title svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.thymos-outline-title__text,
.thymos-outline-title__text tspan {
  font-family: "the-seasons", Sans-serif;
  font-size: 280px;
  font-weight: 300;
  letter-spacing: -0.045em;

  fill: transparent;
  stroke-width: 1.6px;
  stroke-linecap: round;
  stroke-linejoin: round;

  paint-order: stroke;
  vector-effect: non-scaling-stroke;
  text-rendering: geometricPrecision;
}

/* Outline completo sempre visibile */
.thymos-outline-title__base {
  opacity: 0.12;
}

/* Lettere del livello animato */
.thymos-outline-title__draw-letter {
  stroke-dasharray: 2000;
  stroke-dashoffset: 2000;

  transition:
	stroke-dashoffset 1.15s cubic-bezier(0.22, 1, 0.36, 1);

  transition-delay: var(--delay-out);
}

/* Disegno progressivo in hover */
.thymos-outline-title:hover .thymos-outline-title__draw-letter {
  stroke-dashoffset: 0;
  transition-delay: var(--delay-in);
}

/* Outline iniziale: rosso uniforme e molto leggero */
.thymos-outline-title .thymos-outline-title__base {
  fill: transparent;
  stroke: #8a141f;
  opacity: 0.14;
}

/* Outline animato: rosso pieno */
.thymos-outline-title .thymos-outline-title__draw {
  fill: transparent;
  stroke: #8a141f;
  opacity: 1;
}

/* Le singole lettere ereditano il rosso */
.thymos-outline-title .thymos-outline-title__base-letter,
.thymos-outline-title .thymos-outline-title__draw-letter {
  stroke: inherit;
}














/* Card immagini ambiti di applicazione */
.img-hover {
  position: relative;
  z-index: 1;
}

/* Contenitore che mantiene gli angoli arrotondati */
.img-hover .elementor-widget-container {
  overflow: hidden;
  border-radius: 44px;
  transition:
	transform 400ms cubic-bezier(0.22, 1, 0.36, 1),
	box-shadow 400ms ease;
}

/* Immagine */
.img-hover img {
  display: block;
  transform: scale(1);
  transition: transform 550ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

/* Hover solo sui dispositivi che supportano il mouse */
@media (hover: hover) {
  .img-hover:hover {
	z-index: 2;
  }

  .img-hover:hover .elementor-widget-container {
	transform: translateY(-5px);
	box-shadow: 0 16px 32px rgba(17, 16, 15, 0.2);
  }

  .img-hover:hover img {
	transform: scale(1.04);
  }
}

/* Accessibilità da tastiera */
.img-hover:focus-within .elementor-widget-container {
  transform: translateY(-5px);
  box-shadow: 0 16px 32px rgba(17, 16, 15, 0.2);
}

.img-hover:focus-within img {
  transform: scale(1.04);
}



.thymos-video-4-5 .elementor-wrapper {
	--video-aspect-ratio: 0.8 !important;
}

.wpa-test-msg {display: none!important;}


.thymos-press-lightbox__image-wrap .thymos-press-lightbox__image {
	height: 100%!important;
}

.box-accordion {
	margin-top: -30px;
}



.thymos-press-slider__media {
	border-radius: 25px!important;
}


