
/* !@group variables */

:root {

	--page: #fff;
	--text: #2b2e2f;
	--text-lt: #5a5a5a;

	--grey: #eeecec;
	--blue: #0771ca;
	--cyan: #a3d0e0;
	--footer: #f8f8f8;
	--link: #0987f0;
	--select: rgba(0, 5, 56, 0.33);
	--menu-back: rgba(7,113,202,.8);
	--gutter: min(9.25vw, 18.5rem);
	--gutter-small: min(3vw, 6rem);
	--rule: #0987f0;
	--attention: rgb(255, 145, 168);
	--form-button: #0771ca;
	--form-button-hover: #00569f;

	--font1: 'Manrope', sans-serif;

	--header: 12.5rem;
	--scroll: 10rem;
}

/* .scroll,
.menu-open { --header: 10rem; } */

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

	:root {

		--header: 10rem;
		--scroll: 8rem;
	}
}

@media screen and (max-width: 767px) {

	:root {

		--header: 8rem;
		--scroll: 7rem;
	}
}

/* @end */


/* !@group common */

[data-aos] { visibility: hidden; }
[data-aos].animate__animated { visibility: visible; }
*,
*::before,
*::after { box-sizing: border-box; }

::-moz-selection { background: var(--select); }
::selection { background: var(--select); }

html {

	-webkit-tap-highlight-color: transparent;
	font-size: 10px;
	scroll-behavior: smooth;
}

body {

	-webkit-font-smoothing: antialiased;
	background: var(--page);
	color: var(--text);
	font-family: var(--font1);
	font-size: 2.2rem;
	line-height: 1.6;
}

img {

	display: block;
	max-width: 100%;
	height: auto;
}

img.static {

	min-width: auto;
	max-width: none;
	display: inline-block;
}

a,
a:hover,
a:active,
a:focus {

	text-decoration: none;
	outline: none;
}

b, strong { font-weight: 600; }
i, em { font-style: italic; }

button {

	appearance: none;
	-webkit-appearance: none;
	border: 0;
	padding: 0;
	background: transparent;
	font-family: var(--font1);
	outline: none;
}

/* @end */


/* !@group no scrollbars */

.hidescroll::-webkit-scrollbar { display: none; }

.hidescroll {

	-ms-overflow-style: none;
	scrollbar-width: none;
}

/* @end */


/* !@group page */

#page {

	padding-top: var(--header);
	transition: padding-top .25s ease;
}

/* @end */


/* !@group header */

#site-header {

	color: var(--page);
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	padding: 0 3rem;
	z-index: 5;
}

#site-header > .inner {

	height: var(--header);
	display: flex;
	flex-direction: row;
	width: 100%;
	max-width: 90%;
	padding-top: 3.6rem;
	margin: 0 auto;
	transition: height .25s ease, padding-top .25s ease;
	pointer-events: none;
}

#site-header a,
#site-header button { pointer-events: all; }
.scroll #site-header,
.menu-open #site-header { height: var(--scroll); }
.scroll #site-header > .inner,
.menu-open #site-header > .inner { padding-top: 2rem; }

#site-header .left,
#site-header .right {

	flex: 0 0 calc( 50% - 12rem );
	display: flex;
	flex-direction: row;
}

#site-header .left { justify-content: flex-start; }
#site-header .right { justify-content: flex-end; }

#site-header .center {

	flex: 0 0 24rem;
	display: flex;
}

.site-logo img { transition: width .25s ease; }
.no-feature .site-logo img { width: 17rem; }
.scroll .site-logo img,
.menu-open .site-logo img,
.no-slider .site-logo img { width: 15rem; }

.header-contacts {

	display: flex;
	flex-direction: row;
}

.header-contacts li + li { margin-left: min(2vw, 4rem); }

.header-contacts a {

	color: var(--page);
	display: flex;
	flex-direction: row;
	align-items: flex-start;
}

.header-contacts svg {

	fill: var(--page);
	margin-right: 1.6rem;
	display: block;
}

.header-contacts [data-trackClick='telefono'] svg { margin-top: .5rem; }

.header-contacts .label {

	display: flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: 1;
	font-weight: 600;
}

.header-contacts .line-1 {

	color: var(--cyan);
	font-size: 1.5rem;
	letter-spacing: .1ch;
	text-transform: uppercase;
}

.header-contacts .line-2 {

	font-size: 2.2rem;
	margin-top: 1rem;
}

@media screen and (max-width: 1300px) {

	.header-contacts .label { display: none; }
}

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

	#site-header > .inner {

		max-width: 100%;
		padding-top: 3rem;
	}

	.scroll .site-logo img,
	.menu-open .site-logo img,
	.no-feature .site-logo img { width: 11rem; }
}

@media screen and (max-width: 767px) {

	#site-header { padding: 0 1.5rem; }
	#site-header > .inner { padding-top: 1.8rem; }
	.scroll #site-header > .inner,
	.menu-open #site-header > .inner { padding-top: 1.2rem; }
	#site-header .left,
	#site-header .right { flex: 0 0 calc( 50% - 4rem ); }
	#site-header .center { flex: 0 8rem; }
	.header-contacts li + li { margin-left: 2rem; }
	.header-contacts svg { margin-right: initial; }
	.site-logo img,
	.scroll .site-logo img,
	.menu-open .site-logo img,
	.no-feature .site-logo img { width: 11rem; }
}

/* @end */


/* !@group menu */

#open-menu {

	margin: 1.2rem auto auto;
	position: relative;
	cursor: context-menu;
}

#open-menu > svg { display: block; }

#open-menu > .label {

	color: var(--page);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: .2ch;
	position: absolute;
	left: calc(100% + 2rem);
	top: 50%;
	transform: translateY(-50%);
}

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

	#open-menu { margin-top: .6rem; }
}

@media screen and (max-width: 767px) {

	#open-menu > .label { display: none; }
}

/* @end */


/* !@group header feature / video */

#header-feature {

	position: relative;
	background-color: var(--blue);
}


#header-feature img {

	width: 100%;
	height: auto;
	height: calc( 100vh - var(--header) );
	max-height: 104.4rem;
	object-position: center center;
	object-fit: cover;
}

.video-header {

	position: relative;
	padding-bottom: 56.25%;
	height: 0;
}

#vimeo {

	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

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

	#header-feature img {

		width: 100%;
		height: auto;
	}
}

/* @end */


/* !@group news slider */

#news-slider {

	background-color: var(--grey);
	width: 100%;
	max-width: min(32vw, 64rem);
	position: absolute;
	right: var(--gutter);
	bottom: max(-3vw, -6rem);
	padding: min(2vw, 4rem) min(3vw, 6rem) min(1.5vw, 3rem);

}

#news-slider .glide__track { border-right: .1rem solid var(--rule); }

#news-slider .news-slide {

	white-space: normal;
	padding-right: min(1.5vw, 3rem);
}

.news-slide h4 {

	color: var(--blue);
	font-size: min(2.25vw, 4.5rem);
	line-height: .9;
	font-weight: 200;
	padding-right: 10%;
	margin-bottom: min(1.25vw, 2.5rem);
}

.news-slide h4 a { color: var(--blue); }

.news-slide p {

	color: var(--text-lt);
	font-size: min(1vw, 2rem);
}

.news-slide .article-cta {

	align-self: flex-start;
	display: flex;
	background-color: var(--blue);
	height: min(3.5vw, 7rem);
	width: min(4.6vw, 9.2rem);
	border-radius: min(1.75vw, 3.5rem);
	margin-top: min(1.5vw, 3rem);
}

.news-slide .article-cta > span { margin: auto; }

.news-slide .article-cta svg {

	display: block;
	width: min(2.2vw, 4.4rem);
	height: min(.9vw, 1.8rem);
	fill: var(--page);
}

#news-slider .bullets {

	justify-content: flex-end;
	margin-top: min(1.5vw, 3rem);
}

@media screen and (max-width: 1600px) {

	.news-slide p { font-size: 1.6rem; }
}

@media screen and (max-width: 1400px) {

	.news-slide .article-cta {

		height: 4.9rem;
		width: 6.43rem;
		border-radius: 2.45rem;
		margin-top: 2.1rem;
	}

	.news-slide .article-cta svg {

		width: 3.08rem;
		height: 1.25rem;
	}
}

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

	#news-slider {

		max-width: 30rem;
		position: absolute;
		right: var(--gutter);
		bottom: -3rem;
		padding: 3rem 3rem 2rem;
	}

	#news-slider .bullets { margin-top: 2rem; }
}

@media screen and (max-width: 767px) {

	#news-slider {

		position: static;
		max-width: 100%;
	}

	.news-slide h4 {

		font-size: 2.4rem;
		margin-bottom: 1.5rem;
	}
}

/* @end */


/* !@group page content */

#page-content {

	width: 100%;
	max-width: 200rem;
	margin: 0 auto;
	padding: min(6.1vw, 12.2rem) var(--gutter) 0;
}

#page-content > .inner { position: relative; }

#page-content > .inner::before {

	background-color: var(--rule);
	content: '';
	display: block;
	width: .1rem;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
}

.page-header {

	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-end;
	padding-top: min(1.25vw, 2.5rem);
	margin: 0 max(-2.4vw, -4.8rem) min(9.5vw, 19rem) max(-1.85vw, -3.7rem);
}

.page-template-page-contatti .page-header { margin-bottom: min(3vw, 6rem); }
.single-notizie .page-header { margin: 0 max(-2.4vw, -4.8rem) min(4.5vw, 9rem) max(-.9vw, -1.8rem); }
.single-notizie .page-header { flex-direction: column; }

.page-header h1 {

	color: var(--grey);
	font-size: min(9.2vw, 18.4rem);
	line-height: .76;
	font-weight: 800;
	text-transform: uppercase;
}

.single-notizie .page-header h1 {

	font-size: min(4.6vw, 9.2rem);
	line-height: 1;
	color: var(--blue);
}

.page-header h1 span { color: var(--blue); }

.page-header p {

	color: var(--blue);
	font-size: min(1.9vw, 3.8rem);
	line-height: 1.18;
	font-weight: 200;
	text-align: right;
}

.single-notizie .page-header p { margin-top: min(1.5vw, 3rem); }

.page-content {

	padding:
		0
		min(3.5vw, 7rem)
		min(8.7vw, 17.4rem)
		min(10.9vw, 21.8rem)
	;
}

.home .page-content {

	columns: 2;
	gap: min(6.9vw, 13.8rem);
	text-align: justify;
}

.page-template-page-contatti .page-content { padding-bottom: min(4vw, 8rem); }

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

	.single-notizie .page-header h1 {

		font-size: 3.8rem;
		line-height: 1;
	}

	.page-header p,
	.single-notizie .page-header p { font-size: 2rem; }
	.home .page-content { columns: 1; }
}

@media screen and (max-width: 767px) {

	.page-header {

		flex-direction: column;
		justify-content: space-between;
		align-items: flex-start;
		padding-top: 1.4rem;
	}

	.single-notizie .page-header h1 {

		font-size: 3rem;
		line-height: 1;
	}

	.page-header p,
	.single-notizie .page-header p {

		font-size: 1.8rem;
		margin-top: 1.8rem;
		align-self: flex-end;
	}

	.home .page-content {

		text-align: left;
		padding: 0 0 4rem 3rem;
	}
}

/* @end */
