h1, h2, h3 {
	font-family: "Instrument Serif", serif;
	font-weight: normal;
	text-transform: none;
}

h2 {
	font-size: 48px;
}

h3 {
	font-size: 36px;
}

.centered {
	text-align: center;
}

.uppercase {
	text-transform: uppercase;
	letter-spacing: 2px;
}

.cta {
	border-radius: 24px;
		padding: 12px 24px;
}

.cta--primary {
	min-width: 148px;
	padding: 24px;
	border-radius: 48px;
	font-weight: normal;
	background-color: #6CBF5C;
	border: 1px solid #6CBF5C;
	color: white;
}

.cta--secondary {
	font-weight: normal;
	color: white;
	background-color: #6CBF5C;
	border: 1px solid #6CBF5C;
	border-radius: 48px;
}

.cta--primary.gray-gradient {
	border-color: white;
	background: linear-gradient(90deg, 
				rgba(217, 217, 217, 0.25) 0%, /* #D9D9D9 con opacità 0.25 */
				rgba(115, 115, 115, 0.25) 31%, /* #737373 con opacità 0.25 */
				rgba(46, 46, 46, 0.25) 53%,   /* #2E2E2E con opacità 0.25 */
				rgba(180, 180, 180, 0.25) 75%, /* #B4B4B4 con opacità 0.25 */
				rgba(197, 197, 197, 0.25) 100% /* #C5C5C5 con opacità 0.25 */
		);
}

.above-the-fold .cta--primary.position-absolute {
	position: absolute;
	bottom: 6vh;
	right: 6vw;
}

main .buttons-wrapper.align-left {
	text-align: left;
}

main section.bgr-coloured-light {
	background-color: #F1F1F1;
}

main section {
		padding: 96px 0;
}

main section.bgr-gradient-img {
	background-image: url("../images/bgr/gradient-bgr.jpg");
	background-size: cover;
	background-position: center;
}

main section.bgr-waves-img {
	background-image: url("../images/bgr/waves-bgr.jpg");
	background-size: cover;
	background-position: center;
}

main .icon {
		width: 64px;
		padding: 0;
		margin: 24px 0;
}

main .icon.small {
		width: 24px;
		padding: 0;
		margin: 12px 0;
}

main p.medium {
	font-size: 24px;
	line-height: 1.6;
	margin: 48px 0;
	font-weight: 300;
}

main p.has-sep.white {
	padding-top: 12px;
	border-top: 2px solid white;
	width: 48px;
	margin: 0 auto;
}

main p.large.no-margin-bottom {
	margin-bottom: 0;
}

main .row.has-margin {
    margin-bottom: 32px;
}

main p.circle {
	font-family: "Instrument Serif", serif;
	font-weight: normal;
	text-transform: none;
	font-size: 96px;
	border-radius: 100%;
	background-color: white;
	color: black;
	margin-bottom: 0;
	aspect-ratio: 1 / 1;
	display: flex;
	justify-content: center;
	align-items: center;
}

main img.avatar {
	-webkit-filter: none;
	filter: none;
	margin-bottom: 24px;
}

main .grid img.logo {
	margin: 0;
}

main input[type=text], main input[type=password], main input[type=number], main input[type=email], main input[type=date], main input:-webkit-autofill:hover, main input:-webkit-autofill:focus, main input:-webkit-autofill, main select, main textarea, main .fileuploader, main .radio-wrapper {
	border-radius: 48px;
	padding: 24px;
	background-color: #F1F1F1;
}

main input[type=checkbox] {
	width: 24px;
	height: 24px;
	border-radius: 48px;
	border: 1px solid #000;
	background-color: #F1F1F1;
}

.privacy-consent {
		display: flex;
		align-items: flex-start;
		margin-bottom: 1em;
}

.privacy-consent input[type="checkbox"] {
		position: absolute;
		opacity: 0;
		width: 0;
		height: 0;
}

.privacy-consent label {
		position: relative;
		padding-left: 30px;
		cursor: pointer;
		font-size: 16px;
		line-height: 1.5;
		display: block;
}

.privacy-consent label::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 20px;
		height: 20px;
		border-radius: 50%;
		border: 1px solid #000000;
		background-color: white;
		transform: translateY(2px);
}

.privacy-consent input[type="checkbox"]:checked + label::before {
	background-color: #6CBF5C;
}

footer {
	padding: 96px 48px 24px 48px;
	background-image: url(../images/bgr/gradient-bgr.jpg);
	background-size: cover;
	background-position: center;
}

footer .grid__col {
	display: flex;
	align-items: center;
}

footer .grid__col:nth-of-type(1) {
	justify-content: flex-start;
}

footer .grid__col:nth-of-type(2) {
	justify-content: center;
}

footer .grid__col:nth-of-type(3) {
	flex-direction: column;
	justify-content: center;
}

footer .grid__col:nth-of-type(3) img {
	padding-bottom: 12px;
}

footer img {
	display: block;
}

footer .grid img.logo {
	margin: 48px auto;
}

footer .contact-icons {
    width: 100%;
    display: flex;
    flex-direction: column; 
    align-items: flex-end; 
}

footer .contact-icons .icon-wrapper {
    margin: 5px 0;
}

.display-none {
	display: none;
}

.small-screen {
	display: none;
}

.large-screen {
	display: block;
}

@media (min-width: 360px) and (max-width: 1023px) {

	.small-screen {
		display: block;
	}

	.large-screen {
		display: none;
	}

	.above-the-fold .cta--primary {
		position: absolute;
		bottom: 6vh;
		left: 50%;
		right: auto;
		transform: translateX(-50%);
	}

	footer {
		background-position: center;
	}

	footer .contact-icons {
		flex-direction: row;
		justify-content: space-around;
		align-items: center;
	}

}