/* Import Fonts */
@font-face {
  font-family: 'Font-Regular';
  src:url(../font/Montserrat-Regular.ttf)
}
@font-face {
  font-family: 'Font-Normal';
  src:url(../font/Geometria.ttf)
}
@font-face {
  font-family: 'Font-Bold';
  src:url(../font/Montserrat-Bold.ttf)
}


/* Toggle Styles */
html,
body {
  height:100% !important;
}
body {
	font-family: 'Font-Regular', sans-serif;
	color:#333333;
	font-size:18px;
	line-height:26px;
	letter-spacing:0px;
	padding:0;
	margin:0;
	}
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.container-fluid {position:relative}
ul {list-style:none; margin:0; padding:0}
ul li { }
a { color:#222222; text-decoration:none}
a:HOVER  { color:#444444; text-decoration:none}
p {margin-top:0; margin-bottom:0;}
.dropdown-toggle:focus {outline: none !important;}

img {max-width: 100%}

/* Margin e Padding */
.marginReset 		{margin-left:0 !important; margin-right:0 !important;}
.paddingReset 	{padding-left:0 !important; padding-right:0 !important;}
.marginTop0			{margin-top:0px !important}
.marginTop25		{margin-top:25px !important}
.marginTop50 		{margin-top:50px !important}
.marginTop100 	{margin-top:100px !important}
.marginTop150 	{margin-top:150px !important}
.marginTop200 	{margin-top:200px !important}
.marginBot25 		{margin-bottom:25px !important}
.marginBot50 		{margin-bottom:50px !important}
.marginBot100 	{margin-bottom:100px !important}
.paddingTop0 		{padding-top:0px !important}
.paddingTop50 	{padding-top:50px !important}
.paddingTop100 	{padding-top:100px !important}
.paddingTop150 	{padding-top:150px !important}
.paddingBot0 		{padding-bottom:0px !important}
.paddingBot50 	{padding-bottom:50px !important}
.paddingBot100 	{padding-bottom:100px !important}

.marginTop100R {margin-top:100px !important}
.paddingTop100R 	{padding-top:100px !important}

.paddingGutter	{padding:0 15px !important}

.pL0 {padding-left:0px !important} 
.pR0 {padding-right:0px !important}
.mL0 {margin-left:0px !important} 
.mR0 {margin-right:0px !important} 

@media only screen and (max-width: 992px) {
	.pL0 {padding-left:0px !important; padding-right:0px !important} 
	.pR0 {padding-right:0px !important; padding-left:0px !important;} 
	.marginTop0		{margin-top:0px !important}
	.marginTop25	{margin-top:25px !important}
	.marginTop50 	{margin-top:25px !important}
	.marginTop100 	{margin-top:25px !important}
	.marginTop150 	{margin-top:25px !important}
	.marginTop200 	{margin-top:150px !important}
	.marginBot25 	{margin-bottom:25px !important}
	.marginBot50 	{margin-bottom:25px !important}
	.marginBot100 	{margin-bottom:25px !important}
	.paddingTop0 	{padding-top:0px !important}
	.paddingTop50 	{padding-top:25px !important}
	.paddingTop100 	{padding-top:25px !important}
	.paddingTop150 	{padding-top:25px !important}
	.paddingBot0 	{padding-bottom:0px !important}
	.paddingBot50 	{padding-bottom:25px !important}
	.paddingBot100 	{padding-bottom:25px !important}
	
	.marginTop100R {margin-top:75px !important}
	.paddingTop100R 	{padding-top:75px !important}
	
}

@media only screen and (max-width: 576px) {
	.marginTop100R {margin-top:55px !important}
	.paddingTop100R 	{padding-top:55px !important}
}

/* Typography Styles */
.noline::after {display:none !important}
.introText { border-left:5px solid #0F0; margin-top:20px; padding-top:20px; padding-bottom:5px;}
.undSx::after { margin-left:0 !important;}
.undCx::after { margin:0 auto; margin-top: 8px}

h1{
	font-family: 'Font-Bold', Calibri, Arial, sans-serif;
	color:#222222;
	font-size:50px;
	line-height:auto;
	text-transform: uppercase;
}

h2{
	font-family: 'Font-Bold', Calibri, Arial, sans-serif;
	color:#343f51;
	font-size:30px;
	line-height:auto;
	text-transform: uppercase;
	
}

h3{
	font-family: 'Font-Bold', Calibri, Arial, sans-serif;
	color:#f2b825;
	font-size:20px;
	line-height:25px;
	margin-top:0px;
	margin-bottom:0px;
}
h3::after {
	width:60px;
	height:2px;
	background-color: #f2b825;
	margin:15px 0 30px 0;
  display: block;
  content: "";
}

h3.text-center::after,
.text-center h3::after{
	width:60px;
	height:2px;
	background-color: #f2b825;
	margin:15px auto 30px auto;
  display: block;
  content: "";
}

h4{
	font-family: 'Font-Bold', Calibri, Arial, sans-serif;
	color:#444444;
	font-size:25px;
	line-height:30px;
	text-transform:uppercase
}

h5{
	font-family: 'Font-Bold', Calibri, Arial, sans-serif;
	color:#333333;
	font-size:16px;
	line-height:23px;
	margin-bottom:15px;
	padding-bottom: 5px;
}


h6{
	font-family: 'Font-Bold', Calibri, Arial, sans-serif;
	margin:0;
	color:#555555;
	font-size:20px;
	line-height:28px;
	margin-bottom:15px;
	padding:0;}

p{
	font-family: 'Font-Normal', Calibri, Arial, sans-serif;
	margin:0;
	color:#333333;
	font-size:15px;
	line-height:20px;
	margin-bottom:15px;}

@media only screen and (max-width: 992px) {
	h1 {font-size:35px !important;line-height:40px !important;}
	h2 {font-size:25px !important;line-height:30px !important;}
	h3 {font-size:18px !important;line-height:22px; margin-top: 10px}
}

@media only screen and (max-width: 576px) {
	h1 {font-size:30px !important;line-height:35px !important;}
	h2 {font-size:20px !important;line-height:25px !important;}
	h3 {font-size:16px !important;line-height:20px; margin-top: 5px}
}


/* HEADER Styles */
header {
	font-family: 'Font-Regular', Calibri, Arial, sans-serif;
	color:#203846;
	font-size:15px;
	text-transform: uppercase;
	line-height:auto;
	background-color: #f0f0f0;
	border-bottom: 3px solid #f2b825;
}

header .active {font-family: 'Font-Bold', Calibri, Arial, sans-serif;}
.navbarRow {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	flex-direction: column;
	padding-left: 0;
	margin-bottom: 0;
	list-style: none;
}
.navbar-toggler {
	padding: .25rem .75rem;
	font-size: 1.25rem;
	line-height: 1;
	border: 1px solid transparent;
	border-radius:0;
}

.navbar-dark .navbar-nav .nav-link {color: #203846;}
.navbar-dark .navbar-nav .nav-link:hover, 
.navbar-dark .navbar-nav .nav-link:focus { color: #203846;}


.logoNav img {max-width: 250px; padding: 10px 0}

.topHeader {
	font-family: 'Font-Normal', Calibri, Arial, sans-serif;
	background-color: #304d7e;
	font-size:14px;
	padding-top: 10px;
	padding-bottom: 5px;
	text-transform:none !important;
}
.topHeader a { color: #ffffff; padding-left: 15px}
.topHeader img {height: 15px; padding-right: 15px;}

.topHeader .langSelect {
	text-align: right
}
.topHeader .langSelect img.active {
	opacity: 1;
}
.topHeader .langSelect img {
	opacity: .7;
}
.topHeader .dropdown-menu {
	padding: 0.5rem !important;
	font-size: 1rem;
	min-width:inherit !important;
	color: #212529;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid rgba(0, 0, 0, 0.15);
	border-radius: 0.25rem;
}




.navbar-nav .nav-link,
.navbar-nav .nav-link.active {color: #203846 !important;}

.flagActive {margin-top: 15px; margin-left: 20px; width: 20px}


.navbar .dropdown-menu {
	width: 20px;
	padding:0;
	margin:0;
	background-color:transparent !important;
	border:none !important;
}

.navbar .dropdown-item {
	padding:0 !important;
	text-align: right;
}

.navbar .dropdown-item:hover, .dropdown-item:focus {
background-color:transparent !important;
}


@media only screen and (min-width: 992px) {
	.navbar-expand-lg .navbar-nav .nav-link {
		padding-right: 0;
		padding-left: 0.9rem;
	}
}

@media only screen and (max-width: 1200px) {
	header {font-size: 12px !important}	
	.navbar-expand-lg .navbar-nav .nav-link {
		padding-right: 0;
		padding-left: 0.5rem;
	}
}

@media only screen and (max-width: 991px) {
		
	.infoHeader { display: none}

	.navbar-nav {
		margin-top:20px;
		border-top:1px solid #203846;
		padding-top:10px;
		color:#444444;
		font-size:16px;
		line-height:22px;
		text-transform:uppercase
	}
	.nav-link {
		display: block;
		padding: 6px 0px !important;
	}
	.navbarSocial {display:none}
}

.nav-item.nav-link img {max-width: 20px; padding-top: 0 !important; margin-top: -3px}

/* END HEADER Styles */

/* FOOTER Styles */
.certificazioni {background-color: #eaeaea; padding-top:30px; padding-bottom: 30px; border-bottom: 1px solid #f2b825}
.certificazioni p {
	font-family: 'Font-Normal', Calibri, Arial, sans-serif;
	color:#999;
	font-size:25px;
	font-style: italic;
	line-height:18px;
	text-align: center;
	margin-bottom: 0px !important;
}

@media only screen and (max-width: 991px) {
	.certificazioni p {
		font-size:20px;
		line-height:18px;
	}
}

footer { background-color: #2c3646;}
footer img {margin-top: 40px; width: 60%}
footer h5 {margin-top: 40px; color: #ffffff !important}
footer p, footer p a {
	font-family: 'Font-Normal', Calibri, Arial, sans-serif;
	color:#eaeaea;
	font-size:14px;
	line-height:18px;
}
footer .credits {
	background-color: #171717;
}

footer .credits p, footer .credits p a {color: #666666; margin-bottom: 0}
footer a:HOVER {color: #f2b825}

footer div div div {text-align: left !important}

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

	footer div div div {text-align: center !important}
	
}


/* END FOOTER Styles */

/* PAGES ELEMENT */
.highl {color:#e6af27 !important}
.bgf4 {background-color: #f4f4f4}

.shad1 {text-shadow: 0px 0px 5px rgba(0, 0, 0, .8);}

.bgShadow {
	-webkit-box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.10);
		 -moz-box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.10);
					box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.10);
}

.titleTag {
	font-size: 15px;
	background-color: #f2b825;
	border: 2px solid #f2b825;
	text-transform: uppercase;
	padding: 7px 20px;
	text-align: center;
	color: #333333;
	display: inline-block;
	margin-bottom: 20px;
	font-family: 'Font-Bold', Calibri, Arial, sans-serif;
}

.titleTag.link {
	font-size: 13px;
	background-color: #f2b825;
	border: 1px solid #f2b825;
	text-transform: uppercase;
	padding: 15px 40px;
	text-align: center;
	display: inline-block;
	margin-bottom: 10px;
	font-family: 'Font-Bold', Calibri, Arial, sans-serif;
	color: #333333;
	transition:.2s;
}

.titleTag.link:HOVER {border: 1px solid #343f51;}

a .titleTag.contattoAgente {
	font-size: 10px;
	background-color: #f2b825;
	border: 1px solid #f2b825;
	text-transform: uppercase;
	padding: 10px 20px;
	text-align: center;
	display: inline-block;
	margin-bottom: 10px;
	font-family: 'Font-Bold', Calibri, Arial, sans-serif;
	color: #333333;
	transition:.2s;
}

a .titleTag.contattoAgente:HOVER {border: 1px solid #343f51;}


.imageBg {
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	min-height: 300px
}

.imageBgContain {
	background-position: center center;
	background-size:contain;
	background-repeat: no-repeat;
	min-height: 300px
}

.borderTop {border-top: 2px solid #f2b825}

@media only screen and (max-width: 992px) {
	
}

/* END PAGES ELEMENT */



/* INDEX */
.carousel-inner {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.carousel-item { 
	height: 100vh !important;
	background-size: cover;
	background-position: center bottom;
}




.topHome {
	position: absolute;
	top: 5%;
	min-height: 100vh;
	padding-top: 10%;
}

.topHome .homeBoxs .contenitor {
	background-color: rgb(44,54,70,1);
	padding:25px;
}
.topHome .homeBoxs .contenitor img { 
	max-width: 100%; 
	text-align: center}

.topHome h4{
	font-family: 'Font-Bold', Calibri, Arial, sans-serif;
	color:#ffffff;
	font-size:16px;
	line-height:20px;
	text-transform:uppercase
}
.topHome h4::after {
	width:60px;
	height:2px;
	background-color: #e6af27;
	margin:10px 0 20px 0;
  display: block;
  content: "";
}

.topHome p{
	font-family: 'Font-Reguler', Calibri, Arial, sans-serif;
	color:#ffffff;
	font-size:14px;
	line-height:18px;
}


.serviziHome {
	background-image: url(../images/homeServiziBG.jpg);
	background-position: center center;
	background-size: cover;
	border-top: 2px solid #f2b825;
	border-bottom: 2px solid #f2b825;
}

.serviziHome .colLeft 	{text-align: right !important}
.serviziHome .colRight 	{text-align: left !important}


@media only screen and (max-width: 992px) {
	.serviziHome .colLeft 	{text-align: center !important}
	.serviziHome .colRight 	{text-align: center !important}
	.topHome h4{ font-size:14px; line-height:18px;}
	.topHome p{ font-size:13px; line-height:16px;}
}

@media only screen and (max-width: 576px) {
	.topHome h4{ font-size:13px; line-height:18px;}
	.topHome p{ font-size:12px; line-height:15px;}
}

.arrow-up {
  width: 0; 
  height: 0; 
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-bottom: 15px solid #304d7e;
	margin: 0 auto;
	margin-top: 15px;
}
.appHome h5 {
	background-color: #304d7e;
	color: #fff;
	text-align: center;
	margin-top: 0px;
	padding-top: 10px !important;
	padding-bottom: 10px !important;
	text-transform: uppercase
}





/* Carousel Slider */
.slider {width: 100%; margin: 100px auto;}
.slick-slide { margin: 0px 20px;}
.slick-slide img { width: 100%;}
.slick-prev:before,
.slick-next:before {color: black !important;}
.slick-slide { transition: all ease-in-out .3s; opacity: .2}
.slick-active {opacity: .5;}
.slick-current {opacity: 1;}



/* PRODOTTI */
.prodotto {
	border:1px solid #f2b825;
	background-color: rgb(0,0,0,.3);
	padding: 0 100px
}

.prodotto .row {
	border-bottom:1px solid #f2b825;
}

.prodotto .row:last-child {
	border-bottom:none;
}

/* AGENTE */
.agente {
	border:1px solid #f2b825;
	background-color: #fff
}


/* CONTATTI */
.contactBox {
	padding: 20px 0px;
	background-color: #ffffff
}

.contactBox ul li {margin-bottom: 40px}
.contactBox ul li:last-child {margin-bottom:0px}
.contactBox ul li h4 {
	padding-left: 35px;
	background-position: 0px 3px;
	background-size: 18px 18px;
	background-repeat: no-repeat;
	font-size: 20px;
	line-height: 25px;
}
.contactBox ul li h4.loc {background-image: url(../img/icon_cont_loc.svg);}
.contactBox ul li h4.tel {background-image: url(../img/icon_cont_tel.svg);}
.contactBox ul li h4.mai {background-image: url(../img/icon_cont_mail.svg);}
.contactBox ul li h4.iva {background-image: url(../img/icon_cont_piva.svg);}

.contactBox ul li p {
	padding-left: 35px;
	font-size: 15px !important;
	line-height: 19px;
}

.contact strong {font-family: 'Font-Bold', Calibri, Arial, sans-serif;}
.privacyLabel {
	font-size: 14px !important;
	line-height: 16px;
	color: #666666 !important;
}


/* Keyframes */
@keyframes fadeIn {
  0% {opacity: 0;}
  100% {opacity: 1;}
}
@keyframes fadeInUp {
  0% {opacity: 0;transform: translate3d(0, 100%, 0);}
  100% {opacity: 1;transform: none;}
}
@keyframes fadeInRight {
  0% {opacity: 0;transform: translate3d(100%, 0, 0);}
  100% {opacity: 1;transform: none;}
}
/* CSS Page Transitions */
.m-scene {}
.m-scene .scene_element {
  animation-duration: 1s;
  transition-timing-function: ease-in;
  animation-fill-mode: both;
}
.m-scene .scene_element--fadein {animation-name: fadeIn;}
.m-scene .scene_element--fadeinup {animation-name: fadeInUp;}
.m-scene .scene_element--fadeinright {animation-name: fadeInRight;}
.m-scene.is-exiting .scene_element {animation-direction: alternate-reverse;}

/* Lazyload */
.lazyload {opacity: 0;}

.lazyloading {
  opacity: 1;
  transition: 300ms opacity;
  background: #ffffff url(../img/loader.gif)no-repeat center center;
  min-height: 60px;
}





/* Bounce Animation */
.scroll-down {
	display: block;
	padding: 25px;
	position: absolute;
	bottom: 50px;
	left: 50%;
	-webkit-transform: translate(-50%);
	-moz-transform: translate(-50%);
	-ms-transform: translate(-50%);
	-o-transform: translate(-50%);
	transform: translate(-50%);
	z-index: 500;}
.bounce {
	-moz-animation: bounce 2s infinite;
	-webkit-animation: bounce 2s infinite;
	animation: bounce 2s infinite;
}
@-moz-keyframes bounce {
	0%, 20%, 50%, 80%, 100% {
		-webkit-transform: translateY(0);
		-moz-transform: translateY(0);
		-ms-transform: translateY(0);
		-o-transform: translateY(0);
		transform: translateY(0);
	}
	40% {
		-webkit-transform: translateY(-30px);
		-moz-transform: translateY(-30px);
		-ms-transform: translateY(-30px);
		-o-transform: translateY(-30px);
		transform: translateY(-30px);
	}
	60% {
		-webkit-transform: translateY(-15px);
		-moz-transform: translateY(-15px);
		-ms-transform: translateY(-15px);
		-o-transform: translateY(-15px);
		transform: translateY(-15px);
	}
}
@-webkit-keyframes bounce {
	0%, 20%, 50%, 80%, 100% {
		-webkit-transform: translateY(0);
		-moz-transform: translateY(0);
		-ms-transform: translateY(0);
		-o-transform: translateY(0);
		transform: translateY(0);
	}
	40% {
		-webkit-transform: translateY(-30px);
		-moz-transform: translateY(-30px);
		-ms-transform: translateY(-30px);
		-o-transform: translateY(-30px);
		transform: translateY(-30px);
	}
	60% {
		-webkit-transform: translateY(-15px);
		-moz-transform: translateY(-15px);
		-ms-transform: translateY(-15px);
		-o-transform: translateY(-15px);
		transform: translateY(-15px);
	}
}
@keyframes bounce {
	0%, 20%, 50%, 80%, 100% {
		-webkit-transform: translateY(0);
		-moz-transform: translateY(0);
		-ms-transform: translateY(0);
		-o-transform: translateY(0);
		transform: translateY(0);
	}
	40% {
		-webkit-transform: translateY(-30px);
		-moz-transform: translateY(-30px);
		-ms-transform: translateY(-30px);
		-o-transform: translateY(-30px);
		transform: translateY(-30px);
	}
	60% {
		-webkit-transform: translateY(-15px);
		-moz-transform: translateY(-15px);
		-ms-transform: translateY(-15px);
		-o-transform: translateY(-15px);
		transform: translateY(-15px);
	}
}




/* Privacy EU popup */
.eupopup-container-block {
	margin-top: -50px;
	margin-left: -70px;
	margin-right: -70px;
	margin-bottom: 40px;
	padding-top: 10px;
}
.clearfix {clear: both;}
.eupopup-container {
	background-color: rgba(25, 25, 25, 0.9);
	color: #efefef;
	padding: 5px 20px;
	font-size: 12px;
	line-height: 1.2em;
	text-align: center;
	display: none;
	z-index: 9999999;
}
.eupopup-container-top, .eupopup-container-fixedtop {position: absolute;top: 0; left: 0; right: 0;}
.eupopup-container-fixedtop {position: fixed;}
.eupopup-container-bottom {position: fixed;bottom: 0; left: 0; right: 0;}
.eupopup-container-bottomleft {
	position: fixed;
	bottom: 10px;
	left: 10px;
	width: 300px;
}
.eupopup-container-bottomright {
	position: fixed;
	bottom: 10px;
	right: 10px;
	width: 300px;
}
.eupopup-closebutton {
	font-size: 16px;
	font-weight: 100;
	line-height: 1;
	color: #a2a2a2;
	filter: alpha(opacity=20);
	position: absolute;
	font-family: helvetica, arial, verdana, sans-serif;
	top: 0; right: 0;
	padding: 5px 10px;
}
.eupopup-closebutton:hover,.eupopup-closebutton:active {color: #fff;text-decoration: none;}
.eupopup-head {
	font-size: 1.2em;
	font-weight: bold;
	padding: 7px;
	color: #fff;
}
.eupopup-body {color: #a2a2a2;}
.eupopup-buttons {padding: 7px 0 5px 0;}
.eupopup-button_1 {
	color: #CCCCCC;
	font-weight: bold;
	font-size: 14px;
}
.eupopup-button_2 {
	color: #CCCCCC;
	font-weight: normal;
	font-size: 12px;
}
.eupopup-button {margin: 0 10px;}
.eupopup-button:hover,.eupopup-button:focus {text-decoration: none;color: #00518F;}
body .eupopup-color-inverse {color: #000;background-color: rgba(255, 255, 255, 0.9);}
body .eupopup-color-inverse .eupopup-head {color: #000;}
body .eupopup-style-compact {
	text-align: left;
	padding: 8px 30px 7px 20px;
	line-height: 15px;
}
body .eupopup-style-compact .eupopup-head,
body .eupopup-style-compact .eupopup-body,
body .eupopup-style-compact .eupopup-buttons {
	display: inline;
	padding: 0;
	margin: 0;
}
body .eupopup-style-compact .eupopup-button {margin: 0 5px;}

/* ToTop Plugin */
.cd-top {
  display: inline-block;
  height: 40px;
  width: 40px;
  position: fixed;
	border-radius:50%;
  bottom: 40px;
  right: 10px;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
  /* image replacement properties */
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background: rgba(200, 200, 200, 0.6) url(../img/cd-top-arrow.svg) no-repeat center 50%;
	background-size:50% 50%;
  visibility: hidden;
  opacity: 0;
	z-index:500;
  -webkit-transition: opacity .3s 0s, visibility 0s .3s, background-color .3s 0s;
  transition: opacity .3s 0s, visibility 0s .3s, background-color .3s 0s;
}
.cd-top.cd-top--show,
.cd-top.cd-top--fade-out,
.cd-top:hover {
  -webkit-transition: opacity .3s 0s, visibility 0s 0s, background-color .3s 0s;
  transition: opacity .3s 0s, visibility 0s 0s, background-color .3s 0s;
}
.cd-top.cd-top--show {visibility: visible;opacity: 1;}
.cd-top.cd-top--fade-out {opacity: .5;}
.cd-top:hover {background-color: #203846;opacity: 1;}
@media only screen and (min-width: 768px) {
  .cd-top {
    right: 20px;
    bottom: 20px;
  }
}
@media only screen and (min-width: 1024px) {
  .cd-top {
    height: 40px;
    width: 40px;
    right: 30px;
    bottom: 30px;
  }
}
