@charset "UTF-8";

:root {
	--font1: 'Libre Baskerville', serif;
	--font2:  serif;
	--col1: #133A14; /* VERDE SMERALDO */
	--col2: #7A9E83; /* VERDE SCURO PASTELLO */
	--col3: #7A9E83; /* VERDE SCURO PASTELLO */
}

html {
    -webkit-backface-visibility: hidden;
    backface-visibility: initial;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizelegibility;
	scroll-behavior: smooth;
}

html,
body {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
   /* -webkit-animation-delay: 0.1s;
    -webkit-animation-name: fontfix;
    -webkit-animation-duration: 0.1s;
    -webkit-animation-iteration-count: 1;
    -webkit-animation-timing-function: linear;
	*/
	background: #fff;
    font-family: var(--font1);
    font-size: 16px;
    color: #333;
    font-weight: normal;
	overflow-x: hidden;

}


*,
*:before,
*:after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
}

@-webkit-keyframes fontfix {
    from {
        opacity: 1;
    }
    to {
        opacity: 1;
    }
}


/* text selection */
::-moz-selection {
    background: var(--col1);
    color: #fff;
}

::selection {
    background: var(--col1);
    color: #fff;
}

::-moz-selection {
    background: var(--col1);
    color: #fff;
}

::-webkit-selection {
    background: var(--col1);
    color: #fff;
}

:focus {
    outline: none !important;
	box-shadow: none !important;
}

.hide {
    display: none;
}

a {
    color: var(--col2);  text-decoration: none;
}

a:hover,
a:focus {
    text-decoration: none;
    outline: none;
    color: #ccc;
}


a.active {
    color: #000; cursor:default;
}

.error {
    background: #ed5050;
    color: #fff;
    padding: 5px;
}

.sent {
    background: #baf17a;
    color: #000;
    padding: 5px;
}

hr {
    border-top: 1px solid var(--col1);
    margin: 0 0 5px;
}


@media (min-width: 767px) {
	.equal {
		display: flex;
		display: -webkit-flex;
		flex-wrap: wrap;
	}
}

/* W3C recommends */
h1 { font-size: 2.20em; }
h2 { font-size: 2.00em; }
h3 { font-size: 1.80em; }
h4 { font-size: 1.50em; }
h5 { font-size: 1.30em; }
h6 { font-size: 1.10em; }


h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font1);
}


p {
    margin: 0 0 20px
}

iframe {
    border: 0
}

blockquote {
    margin: 25px 40px
}

legend {
    padding-bottom: 10px
}

img:not(.noresp) {
    height: auto;
    max-width: 100%;
}

.left { text-align:left; }
.right { text-align:right; }
.center { text-align:center; }
.justify { text-align:justify;}
.nopadding { padding:0; }




@media (min-width: 1480px) {
    .container {
        width:1480px
    }
}

/* safari problem */
.row:before, .row:after{
  display:inline-block;
}


/* width */
::-webkit-scrollbar {
  width: 10px;
}

/* Track */
::-webkit-scrollbar-track {
  background: #f1f1f1; 
}
 
/* Handle */
::-webkit-scrollbar-thumb {
  background: var(--col2); 
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: var(--col1); 
}

mark {
    color: #fff;
    background: var(--col2);
}


.b { font-weight:bold; }
.l { font-weight:lighter; }
.col1 { color:var(--col1);}
.col2 { color:var(--col2);}
.alt-font { font-family: var(--font2); }

/* ANIMAZIONI */
.appear { opacity:0; transition-duration: 3s; }
.visible { opacity:1; }
.noscroll { overflow:hidden !important; }


#toTop {
	background-color: var(--col2);
    bottom: 20px;
    right: 20px;
    color: #fff;
    height: 60px;
    opacity: 0.7;
    overflow: hidden;
    position: fixed;
    text-decoration: none;
    width: 60px;
    z-index: 2;
    border-radius: 50%;
	font-size: 30px;
    line-height: 55px;
    text-align: center;
	display:none;
}
#toTop.show {display:block; }
#toTop:hover { opacity: 1; }

/* ########################################## CUSTOM */
/* HEADER */
header {background:#444; padding-top:40px; color:#FFF;} 
header > div {position: relative; }
header a{color:#FFF;} 
header a:hover{color:var(--col2);  transition: all 0.5s;} 
#logo svg { max-width:410px; }
#phone { position: absolute; right: 0; border-bottom:2px solid #727272; margin-right: 15px; }
#phone:hover{ border-bottom:2px solid var(--col2); color:#fff;}
#phone:hover svg #Tracciato_138 { stroke: var(--col2);  }
.phoneico { position: absolute; left: -50px; }

/* MAIN MENU DESKTOP */
nav#mainmenu {     position: absolute; top: 77px;  display: block;  right: 0;     text-align: right; font-size:15px; max-width: 60%; }
ul.menu { list-style:none; display: inline-block; position:relative;  width: auto; }
ul.menu li { list-style:none; float: left;  display: block; }
ul.menu li a { text-transform:uppercase; margin: 10px 15px; display: block;}
ul.menu li.active { border-bottom:1px solid #ccc; }
/*ul.menu li:first-child a {margin-left:0px !important;}*/

ul.menu .submenu { position: absolute;
    margin: 0;
    font-size: 12px;
	display:none;
	padding:0px;
    max-width: 230px;
	    background: #000;
    z-index: 99;
	}
ul.menu ul.submenu li{ float:none; text-align: left;margin: 20px 0;	}

ul.menu ul.submenu.opened{display:block;}

ul.menu > li:hover > .submenu {display:block;}

ul.menu .has-child a { margin-right: 25px; }
ul.menu li.has-child > a:after {
	font-family: 'FontAwesome';
	content: '\f078';
	font-size:8px; 
	margin: 0 0 0 8px;
    position: absolute;
    top: 15px;
 /*  content: ' ▾';*/
}


#footermenu  li.has-child > a:after {
	font-family: 'FontAwesome';
	content: '\f078';
	font-size:8px; 
	margin: 0 0 0 8px;
    position: absolute;
    top: 0px;
 /*  content: ' ▾';*/
}


#footermenu li { text-transform:uppercase;  }
/* OVERLAY MENU tablet-mobile */
	#toggle { display:none; }
	.sub-menu { display:none !important;     margin-top: 20px !important; } 
	.open > .sub-menu { display:block !important; } 
	.overlay nav .sub-menu { font-size: 30px; }
	.button_container {
	    position: absolute;
		top: 80px;
		right: calc(((100vw - 1400px) / 2) + 17px);
		height: 27px;
		width: 35px;
		cursor: pointer;
		z-index: 100;
	}
	@media (max-width: 1400px) {
		.button_container {  right: 20px; }
	}
	@media (max-width: 490px) {
		.button_container {  right: 10px; }
	}


	.button_container.active .top {
	  -webkit-transform: translateY(11px) translateX(0) rotate(45deg);
			  transform: translateY(11px) translateX(0) rotate(45deg);
	  background: #fff;
	}
	.button_container.active .middle {
	  opacity: 0;
	  background: #FFF;
	}
	.button_container.active .bottom {
	  -webkit-transform: translateY(-11px) translateX(0) rotate(-45deg);
			  transform: translateY(-11px) translateX(0) rotate(-45deg);
	  background: #fff;
	}
	.button_container span {
	  background: #fff;
	  border: none;
	  height: 1px;
	  width: 100%;
	  position: absolute;
	  top: 0;
	  left: 0;
	  -webkit-transition: all .35s ease;
	  transition: all .35s ease;
	  cursor: pointer;
	}
	.button_container span:nth-of-type(2) {
	  top: 11px;
	}
	.button_container span:nth-of-type(3) {
	  top: 22px;
	}
	.overlay {
	  position: fixed;
	  background: rgb(0 0 0 / 70%);
	  top: 0;
	  right: 0;
	  width: 100%;
	  height: 0%;
	  opacity: 0;
	  visibility: hidden;
	  -webkit-transition: opacity .35s, visibility .35s, height .35s;
	  transition: opacity .35s, visibility .35s, height .35s;
	  overflow: hidden;
	}

	.suboverlay {
	  position: fixed;
	  background: #000;
	  top: 0;
	  right: 0;
	  width: 100%;
	  height: 100vh;
	  overflow: hidden;
	}
	.overlay.open {
		opacity:1;
	  visibility: visible;
	  height: 100%;
	  overflow:hidden;
	  z-index: 9;
	}
	.overlay.open li {
	  -webkit-animation: fadeInRight .5s ease forwards;
			  animation: fadeInRight .5s ease forwards;
	  -webkit-animation-delay: .35s;
			  animation-delay: .35s;
	}
	.overlay.open li:nth-of-type(2) {
	  -webkit-animation-delay: .40s;
			  animation-delay: .40s;
	}
	.overlay.open li:nth-of-type(3) {
	  -webkit-animation-delay: .45s;
			  animation-delay: .45s;
	}
	.overlay.open li:nth-of-type(4) {
	  -webkit-animation-delay: .50s;
			  animation-delay: .50s;
	}
	.overlay.open li:nth-of-type(5) {
	  -webkit-animation-delay: .55s;
			  animation-delay: .55s;
	}
	.overlay.open li:nth-of-type(6) {
	  -webkit-animation-delay: .60s;
			  animation-delay: .60s;
	}
	.overlay.open li:nth-of-type(7) {
	  -webkit-animation-delay: .65s;
			  animation-delay: .65s;
	}
	.overlay.open li:nth-of-type(8) {
	  -webkit-animation-delay: .70s;
			  animation-delay: .70s;
	}
	.overlay.open li:nth-of-type(9) {
	  -webkit-animation-delay: .75s;
			  animation-delay: .75s;
	}



	.overlay img {     opacity: 0; max-width: 180px; 
	   bottom: 25px;
		position: absolute;
		left: 50%;
		margin-left: -80px;;}
	.overlay.open img {
	  -webkit-animation: fadeIn 1.5s ease forwards;
			  animation: fadeIn 1.5s ease forwards;
	  -webkit-animation-delay: .65s;
			  animation-delay: .65s;
	}

	.overlay nav {
		height: calc(100% - 180px);
		font-size: 40px;
		font-family: var(--font2);
		font-weight: 400;
		/* text-transform: uppercase; */
		position: absolute;
		z-index: 1;
		left: 0px;
		right: 0px;
		top: 130px;
		overflow-y: auto;
		text-align: center;
	}
	.overlay ul {
	  list-style: none;
	  padding: 0;
	  margin: 0 auto;
	  display: inline-block;
	  position: relative;
	  height: 100%;
	}
	.overlay ul li {
	  display: block;
	  min-height: 50px;
	  position: relative;
	  opacity: 0;
	}
	.overlay ul li a {
	  display: block;
	  position: relative;
	  color: #fff;
	  text-decoration: none;
	  overflow: hidden;
	  line-height: 50px;
		font-size:28px; 
	}

	.overlay ul li a:hover {
		
	}

	.overlay ul.submenu { display:none; }
	.overlay ul.submenu.opened { display:block; }

	.overlay ul.submenu li a {
	    font-size: 20px;
		line-height: 22px;
	}
	.overlay ul.submenu li  {
	    margin-top: 10px;
		}
	@-webkit-keyframes fadeInRight {
	  0% {
		opacity: 0;
		left: 20%;
	  }
	  100% {
		opacity: 1;
		left: 0;
	  }
	}
	@keyframes fadeInRight {
	  0% {
		opacity: 0;
		left: 20%;
	  }
	  100% {
		opacity: 1;
		left: 0;
	  }
	}



.firstfoto { background:#fff; /* url('../img/bg_home1b.jpg') repeat-x top center*/    background: linear-gradient(0deg, rgba(255,255,255,1) 17%, rgba(144,144,144,1) 50%, #444 100%); 
text-align:center;}
.firstfoto > div{     
	background-size: cover !important;
    width: 1825px;
    max-width: 100%;
    margin: 0 auto;
	}
.middlefoto { text-align:center; 	background-size: cover !important;      /*max-width: 1825px;*/
    margin: 0 auto;}
 


.home.box1 { margin-top:20px; }
.blockquote { max-width:800px; margin:0 auto; }
blockquote { font-size: 32px !important;   line-height: 50px; text-align: center; text-transform:uppercase; }
.blockquote-footer {text-align: right; margin-top: 20px;font-style: italic; }


.home.box2 { margin-top:130px; }
.title { font-size:20px; }
.figureprofile {  }
.figureprofile img { margin:0px 0px 20px; }

.home.box3 { margin-top:130px; }
.marchio { width:90px; margin-bottom:30px; }
.home.box3 .title {font-size:25px;  }

.home.box4 { margin:180px 0px; }
.slogan { font-size:1.4em; line-height:1.8em; text-transform:uppercase;text-align:center; max-width:900px; margin:0 auto; }



.home.box6 .title { margin-top:50px;}

ul.listprof { text-align: center; list-style: none; margin:30px 0px 50px; padding:0; }
ul.listprof li { display:inline-block;  margin: 10px 30px; }
ul.listprof li a{ color:#000; }
ul.listprof li a:hover{ color:#ccc;  transition: all 0.5s;  }
ul.listprof li a.is-checked{ color:var(--col2);    }




.item-avv { text-align:center;  background:#000; display:block; margin:25px auto;  max-width:456px; }
.item-avv > div { display:block; padding:20px 10px; color:#FFF; font-size:1.3em;  }
.item-avv:hover { background:var(--col1); } 
.item-avv:hover img{ filter: brightness(1.1); } 

.home.blog {  position: relative; background:#0d350e; /*max-width:1825px;*/ margin:0 auto 60px; background-size: cover; min-height:260px; padding-bottom:130px;} /*  url('../img/greenbg2.jpg') top center no-repeat*/
.home.blog .title { color:#FFF; position:absolute; top: 100px; left:50%; transform: translateX(-50%)}
.home.blog .title:before { content:""; width:90px; height:56px; display:block; background: url('../img/logo.png') no-repeat; background-size: cover;     position: absolute;  right: 90px;  top: -25px;}
.home.blog h6 { text-transform:uppercase; }
.item-blog {   max-width:456px;     display: block; margin: 0 25px; }
.item-blog .content { background:#fff; padding:30px 25px; color:#000; margin-bottom:80px; }
.item-blog .alink { font-size: 20px; border-bottom: 1px solid #999; display:inline-block; padding: 5px 15px; margin:0 auto; }

form { max-width:600px; margin:0 auto; }
.form-control { border:0; border-bottom:1px solid var(--col2); margin-top:15px; }
.form-control::placeholder {color:#000; }
textarea.form-control  {
    background-image: linear-gradient(white, white 37px, var(--col2) 37px, var(--col2) 38px, white 38px) !important;
    background-size: 100% 50px !important;
    line-height: 2.5 !important;
    overflow-x: hidden;
    min-height: 195px;
	background-position: 0px 7px;
	margin-bottom:15px;
}
form button.btn { border:1px solid var(--col2); text-transform:uppercase; border-radius:0; padding:5px 30px; }
.form-control:focus { border-color: var(--col1); }



.prof h1 {     font-size: 2em; margin-bottom:50px;}
.prof .subtitle { font-style: italic; }

.topalt { background:#000; text-align:center;} 

.areecontent .row { margin-bottom:60px; }


.footer {margin:100px 0 60px; }
.footer hr { margin-bottom:20px; }

.footer2 { margin:50px;font-size: 14px; }
.footmenu a{ text-transform:uppercase;display: block; margin-bottom: 5px; }

a.gotoprofile {display: block; margin: 30px 0px; color:#000;  }
a.gotoprofile:hover {color:#ccc;  transition: all 0.5s; }
a.gotoprofile:before { content:""; display: inline-block; width: 65px;height: 6px; margin-right: 15px; border-top: 1px solid #000; }

a.alink { font-size:20px; border-bottom:1px solid #999; color:#000; }
a.alink:hover { color:#999;  transition: all 0.5s; }

.space { display:block; width:100px; }
.s130 { height:130px;}
.s60 { height:60px;}
.s50 { height:50px;}
.s40 { height:40px;}
.s30 { height:30px;}
.s20 { height:20px;}
.s10 { height:10px;}

.contmsg { margin:10px 0; border-radius:5px; padding:10px;}

/* RESPONSIVE */
@media (max-width: 1399.98px) { 
	#phone {  right: 30px; }
	nav#mainmenu {  right: 15px; }
	#logo { margin-left: 15px;}
}
@media (max-width: 1199.98px) {
	#logo svg { max-width: 350px; }

}
@media (max-width: 991.98px) {
	.mleft { text-align:left !important; }
	header { padding-top: 0px;}
	nav#mainmenu, #phone { display:none; }
	#toggle { display:block; }
	blockquote { font-size: 29px !important; }
	.spacetopblog { height:90px; }
	.item-blog { margin:0px auto; }
	.md-center { text-align:center; }
	.hide-md { display:none; }
	.footer hr { margin-top:20px; }
}
@media (max-width: 767.98px) {
	blockquote { font-size: 22px !important;  line-height: 35px; }
	.blockquote {font-size: 1.1rem;}
	.slogan { font-size: 1.2em; line-height: 1.6em; }
	.m20 { height:20px;}
	.m0 { height:0px;}
	.spacetopblog { height:130px; }
}
@media (max-width: 575.98px) {
		blockquote { font-size: 18px !important;  line-height: 35px; }
		.blockquote {font-size: 1.1rem;    max-width: 95%; }
		.prof h1 {     font-size: 1.5em;}
		.post-header h2 { font-size:1.5em; margin-top: 0; }
}
@media (max-width: 490px) {
	#logo svg { max-width: 75%;}
	#logo { margin-left: 0px;}
	.slogan { font-size: 1em;}
	.home.blog .title:before {position: relative; right: 0; top: -20px; }
	.spacetopblog { height:180px; }

}
@media (max-width: 400px) {
		blockquote { font-size: 15px !important;  line-height: 25px; }
		.blockquote {font-size: 0.9rem;  }
}











/* BLOG */
.post-meta {
    margin-top: 35px;
    overflow: hidden;
    border-bottom: 1px solid #e5e5e5;
    padding-bottom: 10px;
    font-style: italic;
    clear: both;
}
.meta-share {
    float: right;
    color: #999;
    font-size: 13px;
}

.meta-share a {
    text-decoration: none;
    color: var(--col2);
}
.meta-share a:hover {
    color: #999;
}
.meta-share a i {
	font-size: 22px;
    padding: 0 5px;
}

.more-link {
    text-align: center;
    display: block;
}
.more-button {
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #999;
    background: #fff;
    display: inline-block;
    margin-top: 18px;
    padding: 9px 24px 10px;
    border: 1px solid;
    border-color: var(--col2);
    -o-transition: .2s;
    -ms-transition: .2s;
    -moz-transition: .2s;
    -webkit-transition: .2s;
    line-height: 24px;
}
.more-button:hover {
    background: var(--col2);
    color: #fff;
    border: 1px solid;
    border-color: var(--col2);
}
.post-blog { margin-bottom:80px; }
.post-header {
    margin-bottom: 25px;
    text-align: center;
}
.post-header .cat a {
	color: var(--col2);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-bottom: 1px solid;
    border-color: #fff;
    padding-bottom: 2px;
    display: inline-block;
    margin: 0 4px 4px;
}
.post-header .cat a:hover {
    border-bottom: 1px solid;
}
.post-header h2 { font-size:2.2em; margin-top: 0; }

.post-header .date {
    font-size: 16px;
    font-style: italic;
    color: #888;
}
.post-img {
    margin-bottom: 20px;
    text-align: center;
}

.widget_categories ul {
	list-style: none;
	margin:0; padding: 0;
}
.widget_categories ul li {
    color: #999;
	margin-bottom: 7px;
    padding-bottom: 8px;
    border-bottom: 1px dotted #d5d5d5;
	font-size:12px; 
	letter-spacing:1px; 
	text-transform:uppercase;
}

.widget_categories ul li.active a{
	color:var(--col2);
}
.widget {
    margin-bottom: 50px; 
}
.side-pop.list {
    margin-bottom: 25px;
}
.side-pop.list .side-pop-img {
    float: left;
    max-width: 94px;
    margin-right: 15px;
    margin-bottom: 0px;
}
.side-pop-img {
    margin-bottom: 12px;
    position: relative;
}
.side-pop-img img {
    vertical-align: middle;
}
.widget img {
    max-width: 100%;
    height: auto;
}
.side-pop-content h4 {
    margin-bottom: 7px;     line-height: 19px;
}
.side-pop.list .side-pop-content h4 a {
        font-size: 19px;
    font-family: var(--font1);
}
.side-pop-content span.sp-date {
    font-size: 11px;
    color: #999;
    font-style: italic;
    display: block;
}

.widget-title {
    background: var(--col2);
    text-align: center;
    color: #fff;
    padding: 13px 0;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 1px;
    position: relative;
    margin-bottom: 25px;
	padding: 10px;
}
/*
.widget-title:after {
    content: "";
    display: block;
    position: absolute;
    border-top: 5px solid;
    border-top-color: var(--col2);
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    bottom: -5px;
    left: 50%;
    width: 0;
    height: 0;
    margin-left: -5px;
}
*/

/* ARCHIVIO POST */
.post-blog.list-item {
    overflow: hidden;
    margin-bottom: 35px;
    padding-bottom: 35px;
    border-bottom: 1px solid #eee;
}
.post-blog.list-item .post-img {
    float: left;
    margin-right: 25px;
    margin-bottom: 0;
}
.post-blog.list-item .post-img a{
	display:block; 
	background-size: cover !important;
}
.post-blog.list-item .post-img img {
    max-width: 260px;
}
.post-blog.post-img img {
    vertical-align: middle;
    max-width: 100%;
    height: auto;
}
.post-blog.list-item .list-content {
    overflow: hidden;
}

.post-blog.list-item .list-content .post-header {
    text-align: left;  margin-bottom: 14px;
}
/*
.post-blog.list-item .list-title-divider {
    border-top: 2px solid;
    display: block;
    max-width: 40px;
    margin: 0 0 14px;
    color: #161616;
}*/
.post-blog.list-item .post-meta { border:0; }
.post-blog.list-item  .post-header h2 {
    font-size: 2.2em;
}
.post-blog.list-item .post-entry { font-size: 16px; }
.post-blog.list-item .post-entry p{ margin:0; }

.post-blog.list-item .post-meta { font-size: 14px;  color: #ccc;  margin-top: 10px; }


.archive-box {
    text-align: center;
    margin-bottom: 40px;
    border: 1px solid #e8e8e8;
    padding: 28px;
}
.archive-box span {
    font-size: 17px;
    font-style: italic;
    color: #999;
    display: inline-block;
    margin-right: 4px;
}
.archive-box h1 {
    font-size: 16px;
    color: #000;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 700;
    display: inline;
}

.bnavlink a{     display: block;
    width: 100%;
    color: var(--col2);
    font-size: 25px; }


.right { text-align:right; }


@media (max-width: 767px) { 
	.post-blog.list-item .post-img img {
		max-width: 150px;
	}
}
@media (max-width: 600px) { 
	.post-blog.list-item .post-entry {
		display:none;
	}
	.post-blog.list-item .post-header h2 {
		font-size: 1.5em;
		line-height: 1.1em;
	}
}
@media (max-width: 430px) { 
	.post-blog.list-item .post-img {
		float: none;
		margin-right: 0px;
		margin-bottom: 10px;
	}
}



/*---------- Paginazione Start ----------*/
.navbox {
    display: inline-block;
    padding: 3px 10px;
    margin: 2px;
    border: 1px solid var(--col2);
    color: #495461;
}
a.navbox {
    border: 1px solid var(--col2);
    color: #495461;  
}
a.navbox:hover,a.navbox.active {
    background: var(--col2);
	border: 1px solid  var(--col2);
    color: #FFF
}

/*---------- Paginazione End ----------*/



.obiettivi .editor .row { margin-bottom:60px; }


@media (max-width: 991.98px) { 
	.hidemob { display:none; }
	
}
@media (max-width: 767.98px) { 
	.sm-center {text-align:center; }
}