@import url('https://fonts.googleapis.com/css?family=Raleway:300,300i,400,400i,500,600,700&display=swap');
@import url('https://fonts.googleapis.com/css?family=Libre+Baskerville:400,700&display=swap');

html {
	font-size: 14px;
}

body {
	font-family: 'Raleway', sans-serif;
	color: #666666;
	font-size: 12px;
	font-weight: 300;
	line-height: 1.7;
}

h1, h2, h3, h4, h5, h6 {
	color: #020202;
	font-weight: 300;
	line-height: 1.4;
	margin: 0 0 0.6em 0;
}

h1 {
	font-size: 2.2em;
}

h2 {
	font-size: 1.9em;
}

h3 {
	font-size: 1.6em;
}

h4 {
	font-size: 1.4em;
}

h5 {
	font-size: 1.2em;
}

h6 {
	font-size: 1em;
}

* ~ h1,
* ~ h2,
* ~ h3,
* ~ h4,
* ~ h5,
* ~ h6 {
	margin-top: 1.3em;
}

p,
ul,
ol,
dl {
	font-size: 1rem;
	margin: 0 0 0.8rem;
}

ul,
ol {
	padding-left: 2.5rem;
}

* > p:last-child,
* > h1:last-child,
* > h2:last-child,
* > h3:last-child,
* > h4:last-child,
* > h5:last-child,
* > h6:last-child,
* > ul:last-child,
* > ol:last-child,
* > dl:last-child {
	margin-bottom: 0;
}

a {
	color: #2b5c93;
	-webkit-transition: color 0.3s ease, border 0.3s ease;
	transition: color 0.3s ease, border 0.3s ease;
}

a:focus,
a:hover {
    text-decoration: none;
	color: #020202;
}

a:active,
a:hover,
a:focus {
	outline: 0;
}

input, textarea, select, table, form {
    font-size: 0.9375rem;
	color: inherit;
	font-weight: inherit;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
	opacity: 0.6;
	color: inherit;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
	opacity: 0.6;
	color: inherit;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
	opacity: 0.6;
	color: inherit;
}

input:-moz-placeholder,
textarea:-moz-placeholder {
	opacity: 0.6;
	color: inherit;
}

button:hover,
button:active,
button:focus {
	outline: 0;
}

img {
	max-width: 100%;
	height: auto;
}

figure {
	margin-bottom: 0;
}

hr {
	margin-top: 2rem;
	margin-bottom: 2rem;
	border: 0;
	border-top: 1px solid #e5e5e5;
}

strong, b {
	font-weight: 600;
}

::-moz-selection {
    background-color: #2b5c93;
	color: #fff;
}

::selection {
    background-color: #2b5c93;
	color: #fff;
}

.light {
	font-weight: 300;
}

.regular {
	font-weight: 400;
}

.medium {
	font-weight: 500;
}

.semi-bold {
	font-weight: 600;
}

.bold {
	font-weight: 700;
}

.text-italic {
	font-style: italic;
}

.title-1,
.title-2 {
	color: #020202;
	line-height: 1.4;
	margin: 0;
}

.title-1 {
	font-size: 2em;
	font-weight: 400;
	text-transform: uppercase;
}

.title-2 {
	font-size: 1.8em;
}

.text-1 {
	font-size: 1.5rem;
}

.text-2 {
	font-size: 1.25rem;
}

.button-1,
.button-2 {
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 400;
	text-align: center;
	padding: 0.625rem 3rem;
	border-style: solid;
	border-width: 1px;
	cursor: pointer;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.button-1 {
	color: #fff;
	background-color: #2b5c93;
	border-color: #2b5c93;
}

.button-1:hover,
.button-1:focus {
	color: #fff;
	background-color: #020202;
	border-color: #fff;
}

.button-2 {
	color: #fff;
	background-color: #020202;
	border-color: #fff;
}

.button-2:hover,
.button-2:focus {
	color: #fff;
	background-color: #2b5c93;
	border-color: #2b5c93;
}

.white {
	color: #fff;
}

.black {
	color: #020202;
}

.slate-blue {
	color: #2b5c93;
}

.baskerville {
	font-family: 'Libre Baskerville', serif;
}

.no-scroll {
    overflow: hidden;
    -ms-touch-action: none;
    -webkit-overflow-scrolling: touch;
}

@media (min-width: 576px) {
	body {
		font-size: 13px;
	}

	.container {
		max-width: none;
	}
}

@media (min-width: 768px) {
	html {
		font-size: 15px;
	}

	body {
		font-size: 14px;
	}

	.container {
		max-width: 740px;
	}
}

@media (min-width: 992px) {
	body {
		font-size: 15px;
	}

	.container {
		max-width: 960px;
	}
}

@media (min-width: 1200px) {
	html {
		font-size: 16px;
	}

	body {
		font-size: 16px;
	}

	.container {
		max-width: 1170px;
	}
}

@media (min-width: 1400px) {
	.container {
		max-width: 1300px;
	}
}

body.home {
	padding-top: 55px;
}

@media (min-width: 320px) {
	body.home {
		padding-top: 65px;
	}
}

@media (min-width: 576px) {
	body.home {
		padding-top: 75px;
	}
}

@media (min-width: 992px) {
	body.home {
		padding-top: 0;
	}
}


/* Global
================================*/

/* Absolute full
================*/
.absolute-full {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
/*
================*/

/* Figure hover
================*/
.figure-hover {
	position: relative;
	overflow: hidden;
}

.figure-hover::before {
	position: absolute;
	content: "";
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(43,92,147,0.6);
	z-index: 1;
	opacity: 0;
	-webkit-transition: opacity 0.4s ease;
	transition: opacity 0.4s ease;
}

.figure-hover:hover::before {
	opacity: 1;
}

.figure-hover > img {
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: -webkit-transform 1.5s ease;
	transition: transform 1.5s ease;
}

.figure-hover:hover > img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

.figure-hover > a {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
}
/*
================*/
/*
================================*/


/* Header
================================*/
.home {
	margin: 0 !important;
}

.home .header {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	background-color: #fff;
	z-index: 100;
}

.header.fixed {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	background-color: #fff;
	z-index: 100;
	-webkit-transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
}

.header.fixed.no-transition {
	-webkit-transition: none;
    transition: none;
}

.header.fixed.scroll-down {
	-webkit-transform: translateY(-100%);
    transform: translateY(-100%);
}

.header.fixed.scroll-up {
	box-shadow: 0px 1px 2px rgba(150,150,150,0.15);
}

	.header-1 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}

/* Logo
================*/
.logo {
	padding: 10px 0;
}

	.logo > div {
		position: relative;
	}

		.logo > div > img {
			height: 35px;
		}

		.logo > div > a {
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
		}
		
	@media (min-width: 320px) {
		.logo > div > img {
			height: 45px;
		}
	}

	@media (min-width: 576px) {
		.logo > div > img {
			height: 55px;
		}
	}

	@media (min-width: 992px) {
		.logo > div > img {
			height: 70px;
		}
	}
/*
================*/

/* Nav desktop
================*/
.nav-desktop {
	display: none;
}

@media (min-width: 992px) {
	.nav-desktop {
		display: block;
	}

	.nav-desktop ul {
		list-style: none;
		padding: 0;
		margin: 0;
	}

		.nav-desktop li {
			position: relative;
		}

			.nav-desktop a {
				position: relative;
				display: inline-block;
			}

	.nav-desktop > ul {
		font-size: 13px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}

		.nav-desktop > ul > li + li {
			margin-left: 20px;
		}

			.nav-desktop > ul > li > a {
				color: #020202;
				line-height: 90px;
				font-weight: 300;
				text-transform: uppercase;
				-webkit-transition: color 0.3s ease;
				transition: color 0.3s ease;
			}

			.nav-desktop > ul > li > a.active {
				color: #2b5c93;
				font-weight: 500;
			}

			.nav-desktop > ul > li:hover > a {
			   color: #2b5c93;
			}

			.nav-desktop > ul > li.children > a::after {
				content: "\f107";
				font-family: 'icomoon';
				font-size: 10px;
				font-style: normal;
				line-height: 1;
				margin-left: 5px;
			}
			
			.nav-desktop > ul > li:last-child > a {
				color: #fff;
				background-color: #2b5c93;
				padding: 0 20px;
				line-height: 40px;
				font-weight: 400;
				-webkit-transition: background-color 0.3s ease, color 0.3s ease;
				transition: background-color 0.3s ease, color 0.3s ease;
			}
			
			.nav-desktop > ul > li:last-child > a:hover {
				color: #fff;
				background-color: #020202;
			}

	/* livello 2 e 3 */
	.nav-desktop > ul > li > ul.sub-menu,
	.nav-desktop > ul > li > ul.sub-menu > li > ul.sub-menu {
		position: absolute;
		background-color: #fff;
		font-size: 13px;
		width: 220px;
		box-shadow: 0 1px 2px rgba(0,0,0,0.2);
		opacity: 0;
		visibility: hidden;
		z-index: 50;
		-webkit-transition: all 0.3s ease;
		transition: all 0.3s ease;
	}
	
		.nav-desktop > ul > li > ul.sub-menu > li + li,
		.nav-desktop > ul > li > ul.sub-menu > li > ul.sub-menu > li + li {
			margin-top: 1px;
		}
		
			.nav-desktop > ul > li > ul.sub-menu > li > a,
			.nav-desktop > ul > li > ul.sub-menu > li > ul.sub-menu > li > a {
				display: block;
				font-weight: 300;
				line-height: 1.4;
				padding: 10px 35px 10px 20px;
				color: #020202;
				background-color: rgba(0,0,0,0);
				-webkit-transition: background-color 0.3s ease, color 0.3s ease;
				transition: background-color 0.3s ease, color 0.3s ease;
			}
			
			.nav-desktop > ul > li > ul.sub-menu > li > a.active,
			.nav-desktop > ul > li > ul.sub-menu > li > ul.sub-menu > li > a.active {
				color: #fff;
				background-color: #2b5c93;
			}
			
			.nav-desktop > ul > li > ul.sub-menu > li > a:hover,
			.nav-desktop > ul > li > ul.sub-menu > li > ul.sub-menu > li > a:hover {
				color: #fff;
				background-color: #2b5c93;
			}
	/* */

	/* Livello 2 */
	.nav-desktop > ul > li > ul.sub-menu {
		top: 100%;
		left: 0;
		-webkit-transform: translateY(25px);
		transform: translateY(25px);
	}
	
	.nav-desktop > ul > li:hover > ul.sub-menu {
		opacity: 1;
		visibility: visible;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	
		.nav-desktop > ul > li > ul.sub-menu > li.children > a::after {
			content: "\f105";
			font-family: 'icomoon';
			font-size: 10px;
			font-style: normal;
			line-height: 1;
			position: absolute;
			top: 50%;
			right: 20px;
			margin-top: -5px;
		}
	/* */

	/* Livello 3 */
	.nav-desktop > ul > li > ul.sub-menu > li > ul.sub-menu {
		top: 0;
		left: 120%;
	}
	
	.nav-desktop > ul > li > ul.sub-menu > li:hover > ul.sub-menu {
		opacity: 1;
		visibility: visible;
		left: 100%;
	}
	/* */
	
	/* Livello 4 */
	.nav-desktop > ul > li > ul.sub-menu > li > ul.sub-menu > li > ul.sub-menu {
		display: none;
	}
	/* */
}

@media (min-width: 1200px) {
	.nav-desktop > ul > li + li {
		margin-left: 30px;
	}
}
/*
================*/

/* Nav toggle
================*/
.nav-mobile-toggle {
	position: relative;
	height: 30px;
	width: 30px;
	cursor: pointer;	
	z-index: 2;
}

	.nav-mobile-toggle span {
		display: block;
		position: absolute;
		height: 1.5px;	
		background-color: #2b5c93;
		left: 0;
		width: 100%;
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
		-webkit-transition: all 0.3s ease;
		transition: all 0.3s ease;
	}

	.nav-mobile-toggle span:nth-child(1) {
		top: 6px;
	}

	.nav-mobile-toggle span:nth-child(2),
	.nav-mobile-toggle span:nth-child(3) {
		top: 14px;
	}

	.nav-mobile-toggle span:nth-child(4) {
		top: 22px;
		width: 60%;
	}
	
	.nav-mobile-toggle:hover span:nth-child(4) {
		width: 100%;
	}

	.nav-mobile-toggle.active span {
		left: 0;
		width: 100%;
	}
	
	.nav-mobile-toggle.active span:nth-child(1) {
		top: 14px;
		left: 50%;
		width: 0;
	}
	
	.nav-mobile-toggle.active span:nth-child(2) {	
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	
	.nav-mobile-toggle.active span:nth-child(3) {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	
	.nav-mobile-toggle.active span:nth-child(4) {
		top: 14px;
		left: 50%;
		width: 0;
	}
	
@media (min-width: 992px) {
	.nav-mobile-toggle {
		display: none;
	}
}
/*
================*/
/* Fine header
================================*/


/* Nav mobile
================================*/
.nav-mobile {
	display: none;
	visibility: hidden;
}

	.nav-mobile .wrap {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background-color: rgba(2,2,2,0.9);
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		overflow-y: auto;
		z-index: 1001;
		opacity: 0;
		visibility: hidden;
		-webkit-transition: all 0.5s ease;
		transition: all 0.5s ease;
	}

	.nav-mobile .wrap.open {
		opacity: 1;
		visibility: visible;
	}

		.nav-mobile ul {
			font-size: 20px;
			width: 100%;
			list-style: none;
			padding: 75px 8.333%;
			margin: auto 0;
		}

			.nav-mobile li {
				position: relative;
			}

				.nav-mobile ul > li > a {
					display: block;
					color: #fff;
					font-weight: 500;
					text-transform: uppercase;
					padding: 15px 0;
					margin-right: 40px;
				}

				.nav-mobile ul > li > a.active {
					color: #2b5c93;
				}

				.nav-mobile ul > li > a:hover {
					color: #2b5c93;
				}

		.nav-mobile .nav-mobile-plus {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-pack: center;
			-ms-flex-pack: center;
			justify-content: center;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			position: absolute;
			top: 10px;
			right: 0;
			bottom: 10px;
			width: 30px;
			background-color: rgba(255,255,255,0.05);
			font-family: 'icomoon';
			color: #fff;
			font-size: 20px;
			text-align: center;
			cursor: pointer;
			-webkit-transition: color 0.3s ease;
			transition: color 0.3s ease;
		}

		.nav-mobile .nav-mobile-plus:hover {
			color: #2b5c93;
		}

		.nav-mobile .nav-mobile-plus::after {
			content: "\e903";
		}
		
		.nav-mobile .nav-mobile-close {
			display: block;
			position: absolute;
			top: 12px;
			right: 15px;
			height: 30px;
			width: 30px;
			cursor: pointer;
		}
		
			.nav-mobile .nav-mobile-close > span {
				display: block;
				position: absolute;
				top: 14px;
				height: 1.5px;
				background-color: #fff;
				left: 0;
				width: 100%;
				-webkit-transform: rotate(0deg);
				transform: rotate(0deg);
				-webkit-transition: all 0.3s ease;
				transition: all 0.3s ease;
			}
			
			.nav-mobile .nav-mobile-close > span:nth-child(1) {	
				-webkit-transform: rotate(45deg);
				transform: rotate(45deg);
			}
			
			.nav-mobile .nav-mobile-close > span:nth-child(2) {
				-webkit-transform: rotate(-45deg);
				transform: rotate(-45deg);
			}
			
			.nav-mobile .nav-mobile-close:hover > span {
				background-color: #2b5c93;
			}
			
@media (min-width: 320px) {
	.nav-mobile ul {
		padding-right: 10%;
		padding-left: 10%;
	}
	
	.nav-mobile .nav-mobile-close {
		top: 17px;
	}
}

@media (min-width: 576px) {
	.nav-mobile ul {
		font-size: 24px;
		padding-right: 15%;
		padding-left: 15%;
	}
	
	.nav-mobile .nav-mobile-plus {
		font-size: 24px;
	}
	
	.nav-mobile .nav-mobile-close {
		top: 23px;
	}
}

@media (min-width: 768px) {
	.nav-mobile ul {
		padding-right: 25%;
		padding-left: 25%;
	}
	
	.nav-mobile .nav-mobile-close {
		right: calc((50% - (740px * 50) / 100 + 15px));
	}
}

@media (min-width: 992px) {
	.nav-mobile {
		display: none !important;
	}
}

@media (max-height: 480px) {
	.nav-mobile ul {
		font-size: 18px;
	}
	
	.nav-mobile .nav-mobile-plus {
		font-size: 14px;
	}
	
		.nav-mobile ul > li > a {
			padding: 8px 0;
		}
}
/*
================================*/


/* Header home e page
================================*/
.header-h {
	position: relative;
	padding: 25% 0;
	min-height: 300px;
	font-size: 10px;
}

	.header-h ul.rslides {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		font-size: inherit;
		background-color: #2b5c93;
	}

			.header-h ul.rslides > li {
				height: 100%;
			}

				.header-h ul.rslides > li figure {
					position: absolute;
					top: 0;
					right: 0;
					bottom: 0;
					left: 0;
					background-position: center center;
					background-repeat: no-repeat;
					background-size: cover;
				}

				.header-h ul.rslides > li figure::before {
					content: "";
					position: absolute;
					top: 0;
					right: 0;
					bottom: 0;
					left: 0;
					background: rgba(2,2,2,0.4);
					background: -moz-linear-gradient(45deg, rgba(2,2,2,0.1) 0%, rgba(2,2,2,0.4) 100%);
					background: -webkit-linear-gradient(45deg, rgba(2,2,2,0.1) 0%, rgba(2,2,2,0.4) 100%);
					background: -o-linear-gradient(45deg, rgba(2,2,2,0.1) 0%, rgba(2,2,2,0.4) 100%);
					background: -ms-linear-gradient(45deg, rgba(2,2,2,0.1) 0%, rgba(2,2,2,0.4) 100%);
					background: linear-gradient(45deg, rgba(2,2,2,0.1) 0%, rgba(2,2,2,0.4) 100%);
				}
				
	.header-h figcaption {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 2;
	}
	
		.header-h figcaption > div {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-pack: center;
			-ms-flex-pack: center;
			justify-content: center;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			text-align: center;
			height: 100%;
		}
		
			.header-h figcaption h1 {
				font-family: 'Libre Baskerville', serif;
				font-size: 3em;
				color: #fff;
			}
			
				.header-h figcaption h1 span {
					display: block;
					font-family: 'Raleway', sans-serif;
					font-size: 0.7em;
					font-weight: 300;
					text-transform: uppercase;
				}

@media (min-width: 576px) {
	.header-h {
		font-size: 11px;
	}
}

@media (min-width: 768px) {
	.header-h {
		font-size: 13px;
	}
}

@media (min-width: 992px) {
	.header-h {
		font-size: 14px;
		padding: 0;
		height: 100vh;
	}
}

@media (min-width: 1200px) {
	.header-h {
		font-size: 15px;
	}
}

@media (min-width: 1400px) {
	.header-h {
		font-size: 16px;
	}
}
	
@media (max-width: 450px) {
	.header-h .rslides_nav {
		display: none;
	}
}

.header-page {
	position: relative;
	padding: 5em 0;
	background-color: rgba(43,92,147,0.7);
	font-size: 10px;
	text-align: center;
}

.header-page::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #2b5c93 url('../../images/header-page.jpg') center center no-repeat;
	background-size: auto;
	background-size: cover;
	z-index: -1;
}

	.header-page h1 {
		font-family: 'Libre Baskerville', serif;
		font-size: 2.2em;
		color: #fff;
	}

@media (min-width: 576px) {
	.header-page {
		font-size: 11px;
	}
}

@media (min-width: 768px) {
	.header-page {
		font-size: 13px;
	}
}

@media (min-width: 992px) {
	.header-page {
		font-size: 14px;
	}
}

@media (min-width: 1200px) {
	.header-page {
		font-size: 15px;
	}
}

@media (min-width: 1400px) {
	.header-page {
		font-size: 16px;
	}
}
/*
================================*/


/* Responsive slides
================================*/
.rslides {
	position: relative;
	list-style: none;
	overflow: hidden;
	width: 100%;
	padding: 0;
	margin: 0;
}

	.rslides li {
		position: absolute;
		display: none;
		width: 100%;
		left: 0;
		top: 0;
	}

	.rslides li:first-child {
		position: relative;
		display: block;
		float: left;
	}

		.rslides img {
			display: block;
			height: auto;
			float: left;
			width: 100%;
			border: 0;
		}
		
.rslides_nav {
	position: absolute;
	top: 50%;
	width: 2.5rem;
	height: 2.5rem;
	margin-top: -1.25rem;
	font-size: 0;
	text-align: center;
	background-color: #2b5c93;
	letter-spacing: 0;
	cursor: pointer;
	z-index: 3;
	opacity: 0.5;
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}

.rslides_nav.prev {
	left: 0.9375rem;
}

.rslides_nav.next {
	right: 0.9375rem;
}

.rslides_nav:hover {
	opacity: 0.75;
}

.rslides_nav::before {
	font-family: 'icomoon';
	color: #fff;
	font-size: 1rem;
	line-height: 2.5rem;
}

.rslides_nav.prev::before {
	content: "\e901";
}

.rslides_nav.next::before {
	content: "\e903";
}

.rslides_tabs {
	position: absolute;
	bottom: 0.9375rem;
	right: 0;
	left: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
	list-style: none;
	padding: 0;
	margin: 0;
	z-index: 3;
}

	.rslides_tabs > li {
		margin: 5px;
	}

		.rslides_tabs > li > a {
			display: block;
			font-size: 0;
			width: 20px;
			height: 6px;
			background-color: #fff;
			-webkit-transition: all 0.3s ease;
			transition: all 0.3s ease;
		}
		
		.rslides_tabs > li.rslides_here > a {
			width: 35px
		}
		
		.rslides_tabs > li > a:hover {
			background-color: #2b5c93;
		}
/*
================================*/


/* Owl carousel
================================*/
.owl-nav .owl-prev,
.owl-nav .owl-next {
	position: absolute;
	top: 50%;
	width: 2.5rem;
	height: 2.5rem;
	margin-top: -1.25rem;
	font-size: 0;
	text-align: center;
	background-color: #2b5c93;
	letter-spacing: 0;
	cursor: pointer;
	z-index: 2;
	opacity: 0.5;
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}

.owl-nav .owl-prev {
	left: 0;
}

.owl-nav .owl-next {
	right: 0;
}

.owl-nav .owl-prev:hover,
.owl-nav .owl-next:hover {
	opacity: 0.75;
}

.owl-nav .owl-prev::before,
.owl-nav .owl-next::before {
	font-family: 'icomoon';
	color: #fff;
	font-size: 1rem;
	line-height: 2.5rem;
}

.owl-nav .owl-prev::before {
	content: "\e901";
}

.owl-nav .owl-next::before {
	content: "\e903";
}

.owl-dots {
    margin-top: 0.9375rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
    -ms-flex-pack: center;
	justify-content: center;
}

	.owl-dots .owl-dot {
		margin: 5px;
	}

		.owl-dots .owl-dot > span {
			display: block;
			font-size: 0;
			width: 20px;
			height: 6px;
			background-color: #bcbcbc;
			-webkit-transition: all 0.3s ease;
			transition: all 0.3s ease;
		}

		.owl-dots .owl-dot.active > span {
			background-color: #2b5c93;
			width: 35px
		}
		
		.owl-dots .owl-dot > span:hover {
			background-color: #666666;
		}
/*
================================*/


/* Perfect scrollbar
================================*/
.ps {
	overflow: hidden !important;
	overflow-anchor: none;
	-ms-overflow-style: none;
	touch-action: auto;
	-ms-touch-action: auto;
}

	.ps__rail-x {
		display: none;
		opacity: 0;
		transition: background-color .2s linear, opacity .2s linear;
		-webkit-transition: background-color .2s linear, opacity .2s linear;
		height: 15px;
		bottom: 0px;
		position: absolute;
	}

	.ps__rail-y {
		display: none;
		opacity: 0;
		transition: background-color .2s linear, opacity .2s linear;
		-webkit-transition: background-color .2s linear, opacity .2s linear;
		width: 15px;
		right: 0;
		position: absolute;
	}

	.ps--active-x > .ps__rail-x,
	.ps--active-y > .ps__rail-y {
		display: block;
		background-color: transparent;
	}

	.ps:hover > .ps__rail-x,
	.ps:hover > .ps__rail-y,
	.ps--focus > .ps__rail-x,
	.ps--focus > .ps__rail-y,
	.ps--scrolling-x > .ps__rail-x,
	.ps--scrolling-y > .ps__rail-y {
		opacity: 0.6;
	}

	.ps .ps__rail-x:hover,
	.ps .ps__rail-y:hover,
	.ps .ps__rail-x:focus,
	.ps .ps__rail-y:focus,
	.ps .ps__rail-x.ps--clicking,
	.ps .ps__rail-y.ps--clicking {
		background-color: #eee;
		opacity: 0.9;
	}

		.ps__thumb-x {
			background-color: #aaa;
			border-radius: 6px;
			transition: background-color .2s linear, height .2s ease-in-out;
			-webkit-transition: background-color .2s linear, height .2s ease-in-out;
			height: 6px;
			bottom: 2px;
			position: absolute;
		}

		.ps__thumb-y {
			background-color: #aaa;
			border-radius: 6px;
			transition: background-color .2s linear, width .2s ease-in-out;
			-webkit-transition: background-color .2s linear, width .2s ease-in-out;
			width: 6px;
			right: 2px;
			position: absolute;
		}

		.ps__rail-x:hover > .ps__thumb-x,
		.ps__rail-x:focus > .ps__thumb-x,
		.ps__rail-x.ps--clicking .ps__thumb-x {
			background-color: #999;
			height: 11px;
		}

		.ps__rail-y:hover > .ps__thumb-y,
		.ps__rail-y:focus > .ps__thumb-y,
		.ps__rail-y.ps--clicking .ps__thumb-y {
			background-color: #999;
			width: 11px;
		}

@supports (-ms-overflow-style: none) {
	.ps {
		overflow: auto !important;
	}
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
	.ps {
		overflow: auto !important;
	}
}
/*
================================*/


/* Grid
================================*/
.grid-2,
.grid-3,
.grid-4,
.grid-5,
.grid-6 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -0.5rem;
	margin-left: -0.5rem;
}

	.grid-2 > div,
	.grid-3 > div,
	.grid-3 > div,
	.grid-4 > div,
	.grid-5 > div,
	.grid-6 > div {
		width: 100%;
		padding-right: 0.5rem;
		padding-left: 0.5rem;
		margin-top: 1rem;
	}

	.grid-2 > div:first-child,
	.grid-3 > div:first-child,
	.grid-4 > div:first-child,
	.grid-5 > div:first-child,
	.grid-5 > div:first-child,
	.grid-6 > div:first-child {
		margin-top: 0; 
	}

@media (min-width: 320px) {
	.grid-2 > div,
	.grid-3 > div,
	.grid-4 > div {
		width: 50%;
	}

	.grid-2 > div:nth-child(-n+2),
	.grid-3 > div:nth-child(-n+2),
	.grid-4 > div:nth-child(-n+2) { /* i primi 2 */
		margin-top: 0; 
	}

	.grid-5 > div,
	.grid-6 > div {
		width: 50%;
	}

	.grid-5 > div:nth-child(-n+2),
	.grid-6 > div:nth-child(-n+2) { /* i primi 2 */
		margin-top: 0; 
	}
}

@media (min-width: 576px) {
	.grid-2,
	.grid-3,
	.grid-4,
	.grid-5,
	.grid-6 {
		margin-right: -0.9375rem;
		margin-left: -0.9375rem;
	}
	
		.grid-2 > div,
		.grid-3 > div,
		.grid-4 > div,
		.grid-5 > div,
		.grid-6 > div {
			padding-right: 0.9375rem;
			padding-left: 0.9375rem;
			margin-top: 1.875rem;
		}
}

@media (min-width: 768px) {
	.grid-2 > div,
	.grid-3 > div,
	.grid-4 > div {
		width: 50%;
	}

	.grid-2 > div:nth-child(-n+2),
	.grid-3 > div:nth-child(-n+2),
	.grid-4 > div:nth-child(-n+2) { /* i primi 2 */
		margin-top: 0;
	}

	.grid-5 > div,
	.grid-6 > div {
		width: 33.333333%;
	}

	.grid-5 > div:nth-child(-n+3),
	.grid-6 > div:nth-child(-n+3) { /* i primi 3 */
		margin-top: 0; 
	}
}

@media (min-width: 992px) { 
	.grid-3 > div {
		width: 33.333333%;
	}

	.grid-3 > div:nth-child(-n+3) { /* i primi 3 */
		margin-top: 0;
	}

	.grid-4 > div {
		width: 33.333333%;
	}

	.grid-4 > div:nth-child(-n+3) { /* i primi 3 */
		margin-top: 0; 
	}

	.grid-5 > div,
	.grid-6 > div {
		width: 25%;
	}

	.grid-5 > div:nth-child(-n+4),
	.grid-6 > div:nth-child(-n+4) { /* i primi 4 */
		margin-top: 0;
	}
}

@media (min-width: 1200px) { 
	.grid-4 > div {
		width: 25%;
	}

	.grid-4 > div:nth-child(-n+4) { /* i primi 4 */
		margin-top: 0; 
	}

	.grid-5 > div {
		width: 20%;
	}

	.grid-5 > div:nth-child(-n+5) { /* i primi 5 */
		margin-top: 0; 
	}

	.grid-6 > div {
		width: 16.666667%;
	}

	.grid-6 > div:nth-child(-n+6) { /* i primi 6 */
		margin-top: 0; 
	}
}
/*
================================*/


/* Form
================================*/

/*
================================*/


/* Home
================================*/
.home-1-col {
	height: 100%;
	background-color: #fff;
	border: 1px solid #e5e5e5;
	box-shadow: 0px 5px 30px 0px rgba(218,218,218,0.16);
}

	.home-1-col-1 {
		padding: 1.875rem 2.5rem;
	}
	
		.home-1-col-1 h3 {
			font-size: 1.375rem;
			text-transform: uppercase;
		}
		
	.home-1-col.lt .home-1-col-3 {
		padding: 1.875rem 2.5rem;
	}
	
		.home-1-col.lt .home-1-col-3 h4 {
			font-size: 1rem;
			font-weight: 500;
			text-transform: uppercase;
		}
		
	.home-1-col.lt .home-1-col-2 .owl-nav .owl-prev,
	.home-1-col.lt .home-1-col-2 .owl-nav .owl-next {
		top: -3.75rem;
		width: 1.875rem;
		height: 1.875rem;
		margin: 0;
		opacity: 0.75;
	}
	
	.home-1-col.lt .home-1-col-2 .owl-nav .owl-prev {
		right: 4.6875rem;
		left: auto;
	}
	
	.home-1-col.lt .home-1-col-2 .owl-nav .owl-next {
		right: 2.5rem;
	}
	
	.home-1-col.lt .home-1-col-2 .owl-nav .owl-prev:hover,
	.home-1-col.lt .home-1-col-2 .owl-nav .owl-next:hover {
		opacity: 1;
	}
	
	.home-1-col.lt .home-1-col-2 .owl-nav .owl-prev::before,
	.home-1-col.lt .home-1-col-2 .owl-nav .owl-next::before {
		font-size: 0.875rem;
		line-height: 1.875rem;
	}

	.home-1-col.cr .home-1-col-2 > div {
		padding: 1.25rem 2.5rem;
		border-top: 1px solid #e5e5e5;
	}
	
		.home-1-col.cr .home-1-col-2 > div > div {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-ms-flex-wrap: wrap;
			flex-wrap: wrap;
			-webkit-box-pack: justify;
			-ms-flex-pack: justify;
			justify-content: space-between;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
		}
		
			.home-1-col.cr .home-1-col-2 span {
				-ms-flex: 1 0 0;
				flex: 1 0 0;
			}

			.home-1-col.cr .home-1-col-2 i {
				-ms-flex: 0 0 auto;
				flex: 0 0 auto;
				color: #2b5c93;
				font-size: 1.25rem;
				margin-left: 0.9375rem;
			}

	.home-1-col.rt .home-1-col-3 {
		padding: 1.875rem 2.5rem;
	}
	
		.home-1-col.rt .home-1-col-3 h4 {
			font-size: 1rem;
			font-weight: 500;
			text-transform: uppercase;
		}

@media (min-width: 992px) {
	.home-1 {
		position: relative;
		margin-top: -10.675rem;
		z-index: 3;
	}
}

@media (max-width: 450px) {
	.home-3-col .owl-dots {
		display: none;
	}
}
/*
================================*/


/* Da visitare
================================*/
.visitare-1-col > ul,
.visitare-1-col > ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

	.visitare-1-col > ul > li + li,
	.visitare-1-col > ul > li + li {
		margin-top: 0.75rem;
	}
/*
================================*/


/* Altre pagine
================================*/
.privacy .main {
	overflow-wrap: break-word;
}
/*
================================*/


/* Footer
================================*/
.footer-1 {
	position: relative;
	background-color: rgba(43,92,147,0.6);
	padding: 3.75rem 0;
}

.footer-1::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: url('../../images/bg-footer.jpg') center center no-repeat;
	background-size: cover;
	z-index: -1;
}

	.footer-1-col ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		list-style: none;
		padding: 0;
		margin: 0;
		font-size: 2rem;
	}
	
		.footer-1-col ul > li + li {
			margin-left: 3rem;
		}
	
			.footer-1-col ul li a {
				color: #fff;
				display: inline-block;
				-webkit-transition: opacity 0.3s ease;
				transition: opacity 0.3s ease;
			}
			
			.footer-1-col ul li a:hover {
				opacity: 0.6;
			}

.footer-2 {
	position: relative;
    background-color: #2b5c93;
    padding: 4.375rem 0;
}

.footer-2::after {
	content: "";
	position: absolute;
	top: 1.25rem;
	right: 0;
	bottom: 1.25rem;
	left: 0;
	background: url('../../images/icon-logo-b.svg') top right no-repeat;
	background-size: auto 100%;
	opacity: 0.05;
}

	.footer-2 > div {
		position: relative;
		z-index: 1;
	}

		.footer-2-col h4 {
			color: #fff;
			font-size: 1.6rem;
			font-weight: 400;
			margin-bottom: 1rem;
		}
		
		.footer-2-col ul {
			list-style: none;
			padding: 0;
			margin: 0;
			font-size: 1rem;
		}
		
			.footer-2-col ul li + li {
				margin-top: 0.5rem;
			}
		
				.footer-2-col ul li a,
				.footer-2-col ul li span {
					display: inline-block;
					color: #fff;
				}
				
				.footer-2-col ul li a {
					-webkit-transition: opacity 0.3s ease;
					transition: opacity 0.3s ease;
				}
				
				.footer-2-col ul li a:hover {
					opacity: 0.6;
				}
			
.footer-3 {
    padding: 1.25rem 0;
	font-size: 0.875rem;
}

@media (min-width: 576px) {
	.footer-1-col ul > li + li {
		margin-left: 4rem;
	}
}

@media (min-width: 768px) {
	.footer-2::after {
		opacity: 0.1;
	}
}
/*
================================*/


/* Francybox
================================*/
.fancybox-slide--iframe .fancybox-content {
	width: 80%!important;
    height: 80%!important;
    max-width: calc(100% - 100px);
    max-height: calc(100% - 88px);
}

	.fancybox-slide--iframe .fancybox-content .fancybox-iframe {
		background-color: #000;
	}
/*
================================*/


/* Cookie
================================*/
.cookie-banner {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(2,2,2,0.9);
    color: #fff;
    font-size: 0.8125rem;
    padding: 3.125rem;
    z-index: 9999;
    opacity: 1;
    -webkit-transition: opacity 1s ease;
    transition: opacity 1s ease;
}

.cookie-banner.cookie-banner-invisible {
	opacity: 0;
}

	.cookie-banner a {
		-webkit-transition: all 0.3s ease;
		transition: all 0.3s ease;
	}

	.cookie-text {
		display: block;
		text-align: justify;
	}

		.cookie-text a {
			color: #fff;
			border-bottom: 1px solid #fff;
		}

		.cookie-text a:hover {
			color: #2b5c93;
			border-bottom-color: #2b5c93;
		}

	.cookie-button {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		margin: 1.25rem 0 0 0;
	}

		.cookie-button a {
			display: inline-block;
			font-weight: 400;
			white-space: nowrap;
		}

		.cookie-button a + a {
			margin-left: 1.875rem;
		}

		.cookie-button .cookie-button-deny {
			color: #fff;
		}

		.cookie-button .cookie-button-deny:hover {
			color: #2b5c93;
		}

		.cookie-button .cookie-button-accept {
			color: #fff;
			text-transform: uppercase;
			background-color: #2b5c93;
			border: 1px solid #2b5c93;
			padding: 0.4rem 1.25rem;
		}

		.cookie-button .cookie-button-accept:hover,
		.cookie-button .cookie-button-accept:focus {
			color: #020202;
			background-color: #fff;
			border-color: #fff;
		}

@media (min-width: 768px) {
	.cookie-banner > div {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
	
		.cookie-text {
			-ms-flex-preferred-size: 0;
			flex-basis: 0;
			-webkit-box-flex: 1;
			-ms-flex-positive: 1;
			flex-grow: 1;
		}

		.cookie-button {
			margin: 0 0 0 3.75rem;
		}
}
/*
================================*/