 /*
Theme Name: Girardi
Author: Neiko srl
Author URI: http://www.neiko.it/
Description: Girardi - 2026
Version: 1.0
License: GNU General Public License v2 or later
*/

/*  FONTS e COLORI */
:root {
	
	--light: #FCF7F8;
	--dark: #141414; 
	
	--font-family: "courier-new", sans-serif;
	--regular: 400; /* Light */
	--bold: 700; /* Bold */
	
	--100: clamp(3.571rem, 5.208vw, 7.143rem);
	--50: clamp(1.786rem, 2.604vw, 3.571rem);
	--30: clamp(1.000rem, 1.563vw, 2.143rem);
	--20: clamp(1.000rem, 1.042vw, 1.429rem);
	--16: clamp(1.000rem, 0.938vw, 1.125rem);
	--14: clamp(0.929rem, 0.729vw, 1.000rem);
	--transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* GENERAL */
html,body { 
	margin:0;
	padding:0;
	background-color: var(--dark);
	color: var(--light);
	font-family: var(--font-family);
	font-weight: var(--regular);
	font-size: 14px !important;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
}

@media (min-width: 1400px){ 
	html,body {
		font-size: 14px !important;
	}
}


img,a img {
	border:none!important;
}

::-moz-selection {
	background:none repeat scroll 0 0 #FFF;
	color:#000;
}

* {
	outline:0!important;
}

b,strong,.bold { 
	font-weight:var(--bold);
}

a,a:visited { 
	outline-style: none;
	text-decoration: none;
	color: var(--light);
}

a:hover { 
	cursor: pointer !important;
	color:var(--light);
	text-decoration: none;
}

/* MARGIN E PADDING */

.pt10 {
	padding-top: clamp(0.500rem, 0.521vw, 0.625rem);
}

.pt20 {
	padding-top: clamp(1.000rem, 1.563vw, 1.875rem);
}

.pt30 {
	padding-top: clamp(1.500rem, 1.563vw, 1.875rem);
}

.pl30 {
	padding-left: clamp(1rem, 1.563vw, 1.875rem);
}

.pt50 {
	padding-top: clamp(1.875rem, 2.604vw, 3.125rem);
}

.px30 {
	padding-left: clamp(1.500rem, 1.563vw, 1.875rem);
	padding-right: clamp(1.500rem, 1.563vw, 1.875rem);
}

/* TYPO */

.big{
	font-size: 1.1rem;  
}
.small{
	font-size: 0.9rem;	
}

h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{ 
	font-family: var(--font-family);
	font-weight: var(--regular);
	color:var(--light);
	line-height: 100%;
	margin-bottom: 0;
}

h1,.h1 {
	font-size: var(--16);
}

p,.p {
	margin-bottom: 0;
	line-height: 120%;
	font-size: var(--16);
}

/* BUTTONS */

.primary-btn {
	display: flex;
	color: var(--light);
	position: relative;
	overflow: hidden;
	width: fit-content;
	padding-bottom: 0px;
	font-size: var(--16);
}

.primary-btn::after {
	content: "";
	height: 0.5px;
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: var(--light);
	transform: translateX(0);
	transition: var(--transition); 
}

.primary-btn:hover::after {
	transform: translateX(100%);
}


/* ANIMAZIONE TESTI */

.animated-text {
	overflow: hidden;
	display: block;
}

.animated-text span {
	display: inline-block;
	transform: translateY(100%);
	opacity: 0;
	transition: transform 1.5s cubic-bezier(0.08,0.82,0.17,1), opacity 1s cubic-bezier(0.08,0.82,0.17,1);
}

.animated-text.visible span {
	transform: translateY(0);
	opacity: 1;
}

/* LOADER */

#loader {
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.8);
	z-index: 9999; 
	display: flex;
	justify-content: center;
	align-items: center;
}

.loader-inner {
	border: 8px solid #fff; /* Colore di sfondo del loader */
	border-top: 8px solid #000; /* Colore del loader */
	border-radius: 50%;
	width: 50px;
	height: 50px;
	animation: spin 1s linear infinite;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* HEADER */

#header {
	position: fixed;
	background-color: transparent;
}


/* FOOTER */




/* PAGINE */

.container-hero {
	width: 100%;
	height: 100vh;
	padding: var(--50) var(--100);
	align-content: start;
	display: block;
	align-items: center;
	overflow: hidden;
	position: relative;
}

.container-hero-mob {
	display: none;
}

@media (max-width: 575.99px) {
	
	.container-hero-mob {
		width: 100%;
		max-height: 100vh;
		padding: 0;
		display: block;
		overflow-x: hidden;
	}
	
	.container-hero {
		display: none;
	}
}


.wrapper-link {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.wrapper-link-desktop {
	display: flex;
	flex-direction: row;
	gap: 30px;
}

.wrapper-link-mobile {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

@media (min-width: 1199.99px) {
	.carousel-wrapper {
		overflow: hidden;
		position: relative;
		width: 90% !important;
		justify-self: center !important;
		align-items: center;
	}
}

.carousel-wrapper {
	overflow: hidden;
	position: relative;
	width: 100%;
}

.carousel-slide {
	text-align: start;
}

.carousel-slide img {
	width: 100%;
	aspect-ratio: 1;
	-webkit-user-drag: none;
	user-drag: none;
	pointer-events: none;
	border-radius: 4px;
}

.carousel-description {
	margin-top: 10px;
	opacity: 0;
	transition: opacity 0.4s ease;
}

.slick-active .carousel-description {
	opacity: 1;
}

@media (max-width: 575.99px) {
	.carousel-slide img {
		width: 100%;
		aspect-ratio: 1;
		-webkit-user-drag: none;
		user-drag: none;
		pointer-events: none;
		border-radius: 0px;
	}
}

/* WPML */

.otgs-development-site-front-end {
	display: none;
}

.wpml-ls-legacy-list-horizontal.wpml-ls-statics-footer {
	display: none;
}

@media (max-width: 767.99px) {
	.carousel-description {
		margin-top: 10px;
		opacity: 0;
		transition: opacity 0.4s ease;
	}
	
	.carousel-description p {
		font-size: var(--14);
	}
}