body, html {
	font-family: 'Poppins', sans-serif;
}

body#bg-black {
	background: #151616;
}

#sidebar ul li a.red-item{
	color:#FF0045;
}

.sticky {
    height: 100px;
    background: #fff;
    position: fixed;
    width: 100%;
	z-index: 10;
	transition: .5s;
}

#logo{
	background: url('/templates/pcrt-trivellini/img/logo.png') no-repeat;
    height: 60px;
    width: 73px;
	background-size: contain;
    margin-left: -30px;
}

#logo.blacklogo, body#light-header #logo{
	background: url('/templates/pcrt-trivellini/img/logoblack.png') no-repeat;
    height: 60px;
    width: 73px;
    background-size: contain;
}

.mod-languages{
	top: 20px;
	position: fixed;
	width: 80px;
	height: 15px;
	margin-top: 16px;
	cursor: pointer;
	left: 5%;
	z-index: 10;
	margin-left:-10px;
}

.mod-languages ul.lang-inline li a{
	text-decoration: none;
    color: #fff;
    font-size: 14px;
}

.mod-languages.blacklang ul.lang-inline li a, #light-header .mod-languages ul.lang-inline li a{
	color: #151616;
}

.label-slide, .spinoff{
	display: none;
}

ul.menusdktp.mod-list{
	padding: 0;
	margin:0;
	position: absolute;
	bottom: 50px;
}

ul.menusdktp.mod-list li{
	display: inline;
	padding-right: 10px;
}

ul.menusdktp a.fafacebook::before, ul.menusdktp a.fainstagram::before, ul.menusdktp a.fayoutube::before, ul.menusdktp a.favimeo::before {
    color: #AEB4BC;
	font-size: 30px;
	font-family: "Font Awesome 5 Brands";
}

a.fafacebook, a.fainstagram, a.fayoutube, a.favimeo {
	width: 27px;
	height: 44px;
    display: inline-block;
    overflow: hidden;
}

a.fafacebook::before {
	content: "\f39e";
	display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	top: -2px;
	position: relative;
}

.fainstagram::before {
    content: "\f16d";
}

#sidebar {
    height: 100vh;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9999;
    /*display: none;*/
    background: #151616;
    text-align: left;
	padding: 50px 0 50px 40px;
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: all .6s ease;
    -o-transition: all .6s ease;
	transition: all .6s ease;
	min-width: 500px;
    max-width: 500px;
}

#sidebar ul.menu{
	padding: 0;
}

#sidebar ul li{
	font-size:23px;
	padding-bottom: 15px;
	padding-left: 0;
    list-style: none;
}

#sidebar ul li a{
	color: #7e7e7e;
}

#sidebar ul li a:hover, 
#sidebar ul li.active a,
#sidebar ul li.deeper.parent span.nav-header:hover{
	color:#fff;
	text-decoration: none;
}

#sidebar.active{
	/*display: block;*/
	-webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
	transform: translateX(0);

}

#sidebar ul li.deeper.parent span.nav-header{
 color: #7e7e7e;
 cursor: pointer;
}

#sidebar ul li.deeper.parent > ul.nav-child{
    max-height: 0;
    transition: max-height 0.15s ease-out;
	 padding-left: 10px;
	 margin-top: 5px;
	 animation: fadein 0.15s;
	 display: none;
}

#sidebar ul li.deeper.parent > ul.nav-child.active{
	max-height: 500px;
	transition: max-height 0.25s ease-in;
	animation: fadein 0.25s;
	display: block;
}

@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

#sidebar ul li.deeper.parent > ul.nav-child li{
	padding-bottom:8px;
	line-height: 13px;
}

#sidebar ul li.deeper.parent > ul.nav-child li a{
	font-size: 14px;
	color: #7e7e7e;
}

#sidebar ul li.deeper.parent > ul.nav-child li.active a, #sidebar ul li.deeper.parent > ul.nav-child li a:hover{
	color:#fff;
}

.overlay {
    display: none;
    position: fixed;
    /* full screen */
    width: 100vw;
    height: 100vh;
    /* transparent black */
    background: rgba(0, 0, 0, 0.7);
    /* middle layer, i.e. appears below the sidebar */
    z-index: 998;
    opacity: 0;
    /* animate the transition */
    transition: all 0.5s ease-in-out;
}
/* display .overlay when it has the .active class */
.overlay.active {
    display: block;
    opacity: 1;
}

#dismiss {
    width: 35px;
    height: 35px;
    position: absolute;
    /* top right corner of the sidebar */
    top: 10px;
	right: 20px;
	color: #fff;
	font-size: 20px;
	cursor: pointer;
}

.close-left {
	height: 30px;
    width: 1px;
    background: #fff;
    position: absolute;
    display: block;
    top: 11px;
    z-index: 1;
    right: 2px;
    -webkit-transform: scale3d(1,.65,1);
    transform: scale3d(1,.65,1);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.close-right {
	height: 30px;
    width: 1px;
    background: #fff;
    position: absolute;
    display: block;
    top: 11px;
    z-index: 1;
    left: 10px;
    -webkit-transform: scale3d(1,.65,1);
    transform: scale3d(1,.65,1);
    -webkit-transform-origin: 100% 100%;
    transform-origin: 100% 100%;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.menu.mod-list{
	-webkit-transform: translateY(3rem);
    -ms-transform: translateY(3rem);
    -o-transform: translateY(3rem);
    transform: translateY(3rem);
    -webkit-transition: transform .5s .6s ease,opacity .5s .6s ease;
    -o-transition: transform .5s .6s ease,opacity .5s .6s ease;
	transition: transform .5s .6s ease,opacity .5s .6s ease;
	-webkit-transition-delay: .3s; 
	transition-delay: .3s;
}

#sidebar .menu.mod-list{
	opacity: 0;
	-webkit-transition-delay: 0s;
	-o-transition-delay: 0s;
	transition-delay: .3s;
}

#sidebar.active .menu.mod-list{
	-webkit-transform: translate(0);
    -ms-transform: translate(0);
    -o-transform: translate(0);
    transform: translate(0);
	opacity: 1;
	transition-delay: .3s;
}

@media (min-height: 600px){
	.menu.mod-list {
		/*top: 14rem;
		bottom: 16rem;*/
	}
}

/*------------- SECTION SCROLLER -------------*/

#nav-icon {
    top: 20px;
    position: fixed;
    width: 50px;
    height: 15px;
    margin-top: 16px;
    cursor: pointer;
    right: 5%;
    z-index: 10;
}

#mouse{
	display: none;
}

@media(min-width:1024px){
	.label-slide{
		position: absolute;
		top: 50%;
		left: 1%;
		z-index: 1;
		color: #fff;
		transform: rotate(-90deg);
		font-size: 12px;
		display: block;
	}
	.label-slide.black-text, .spinoff.black-text{
		color: #151616;
	}
	.snappish-main .sppb-column-addons {
		width: 96%;
		margin: 0 auto;
	}	
	.mod-languages {
		left: 2%;
	}
	#nav-icon {
		right: 2%;
	}
	.spinoff{
		color:#fff;
		position: absolute;
		left:2%;
		bottom:50px;
		z-index:1;
		font-weight: 200;
		font-size:12px;
		display: block;
	}

	.spinoff.hlav{
		bottom:90px
	}

	#mouse{
		background: url('/templates/pcrt-trivellini/img/ms.png') no-repeat;
		height: 50px;
		width: 20px;
		background-size: contain;
		position: absolute;
		bottom:25px;
		z-index: 2;
		left: 50%;
		display: block;
		animation: mymove .7s infinite alternate forwards;
		margin-left: -15px;
	}
	@keyframes mymove {
		from {bottom: 25px;}
		to {bottom: 10px;}
	  }
}

@media (max-width:1200px){
	#sidebar{
		min-width: 300px;
		max-width: 300px;
	}
}
#nav-icon span:first-child {
    top: 0;
    right: 0;
}

#nav-icon span.visible:first-child {
    width: 50px;
}

#nav-icon span.visible:last-child {
    width: 30px;
}

#nav-icon:hover > span.visible:first-child {
    width: 30px;
}

#nav-icon:hover > span.visible:last-child {
    width: 50px;
}

#nav-icon span:last-child {
    top: 15px;
    right: 0;
}

#nav-icon span {
    position: absolute;
    width: 0;
    height: 3px;
    background: #fff;;
    -o-transition: .5s;
    -ms-transition: .5s;
    -moz-transition: .5s;
    -webkit-transition: .5s;
    transition: .5s;
    -webkit-backface-visibility: hidden;
}

#nav-icon.blackmenu span,  body#light-header #nav-icon span{
	background: #151616;
}

@media only screen and (min-width: 1640px){
	#nav-icon {
		/*right: auto;
		left: 50%;
		margin-left: 670px;*/
	}
}

#wrapper {
	width: 100%;
	height: 100%; 
	overflow: hidden;
}
  
  /*nav#article-dots,*/ .container-nav {
	position: fixed;
	right: 2%;
	top: 0;
	bottom: 0;
	width: 1em;
	height: 6em;
	margin: auto;
	z-index: 101;
	font-size: 16px;
	text-align: center; 
}
	nav#article-dots ul {
	  list-style: none;
	  padding: 0;
	  text-align: center;
	  line-height: 1; }
	  nav#article-dots ul li {
		height: 10px;
		padding: 20px 0; }
	  nav#article-dots ul a {
		text-decoration: none;
		background: #fff;
		display: block;
		width: 10px;
		height: 10px;
		border-radius: 100%;
		margin: 0 auto;
		-webkit-transition: all 0.25s ease;
		-moz-transition: all 0.25s ease;
		-o-transition: all 0.25s ease;
		transition: all 0.25s ease; }	   
		nav#article-dots.blackdot ul a {
			background: #151616;
		  }
		nav#article-dots ul a.active, nav#article-dots.blackdot ul a.active {
		  background: #FF0045;
		  width: 14px;
		  height: 14px; 
		}
a#su, a#giu{
	color:#fff;
}

a#su.blacksu, a#giu.blackgiu{
	color:#151616;
}

nav#article-dots ul li.norounded a{
	background: transparent!important;
}
  
  article {
	text-align: center;
	overflow: hidden; }
	article .image {
	  position: absolute;
	  top: 0;
	  left: 0;
	  bottom: 0;
	  right: 0;
	  margin: 0 auto;
	  background: #FFF;
	  background-position: center center;
	  background-repeat: no-repeat;
	  background-size: contain;
	  -webkit-transition: -webkit-transform 1s ease;
	  -webkit-transition-delay: 0.25s;
	  -moz-transition: -moz-transform 1s ease 0.25s;
	  -o-transition: -o-transform 1s ease 0.25s;
	  transition: transform 1s ease 0.25s; }
	/*article h1, article p {
	  position: absolute;
	  left: 10%;
	  right: 10%;
	  text-align: center;
	  text-shadow: rgba(255, 255, 255, 0.5) 0 1px; }
	article h1 {
	  top: 5%;
	  font-size: 48px;
	  font-family: "HelveticaNeue-UltraLight";
	  font-weight: normal; }
	article p {
	  bottom: 5%; }*/

.slide-4{
	background: #151616;
}


/*------------- END SECTION SCROLLER -------------*/



.videodesktop{
	width: 100vw;
    height: 100vh;
    object-fit: cover;
    position: fixed;
    left: 0px;
    top: 0px;
    z-index: -1;
}

#logo{
	position: fixed;
	top:15px;
	left:50%;
	z-index:10;
}

#logo img{
	max-height: 74px;
}


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

	.container-press {
		max-width: 900px;
	}	
	
	.sppb-row-container {
		width: 1340px;
		margin: 0 auto;
		max-width: 1340px;
	}
}

/*@media (min-width: 1600px){
	.container {
	    max-width: 1540px;
	}	
	
	.sppb-row-container {
		width: 1540px;
	}
}*/

.nobtn{
	padding:0!important;
}

@media (min-width: 1201px){
	.box-md3-col .sppb-col-md-3{
		padding: 0 30px;
	}
	.box-md3-col .sppb-col-md-3:first-child{
	padding-left: 15px;
	}
	.box-md3-col .sppb-col-md-3:last-child{
	padding-right:15px;	
	}
}

@media (min-width: 992px) and (max-width: 1200px){
	.box-md3-col .sppb-col-md-3{
		padding: 0 15px;
	}
}

@media (max-width: 480px){
	.nobtn{
		font-size:12px!important;
	}
}

@media (min-width: 1400px){

}

.col-odd{
	margin-top: 200px;
	padding-left:100px;
}

.col-even{
	padding-right:100px;
}

@media (max-width: 1200px){
	.col-odd{
		margin-top: 50px;
		padding-left:50px;
		margin-bottom:80px;
	}
	
	.col-even{
		padding-right:50px;
		margin-bottom:80px;
	}
}

@media (max-width: 991px){
	.col-odd{
		margin-top: 0px;
		padding-left:15px;
	}
	
	.col-even{
		padding-right:15px;
	}
}

.col-contract h3{
	font-weight: 600;
	margin-top: 20px;
}

.col-contract h3 a{
	color:#151616;
}

.col-contract p{
	margin-bottom: 0;
    font-size: 14px;
    line-height: 24px;
}

.contract{
	margin-top:120px;
}

.contract h1{
	font-size: 32px;
    line-height: 32px;
    line-height: 40px;
	font-weight: 600;
}

.contract .category-desc{
	margin-bottom: 80px;
}

.field.checkprivacy label{
	font-size: 10px;
	max-width: 87%;
    margin-left: 0px;
	padding-left: 30px;
	color:#0000004d;
}

.field.checkprivacy label:hover{
	color:#0000004d;
}

.field.checkprivacy label a{
	color:#151616;
}

.col-form.col-contract .ui.form .field {
    margin-bottom: 5px!important;
}

.ui.form .required.field>.checkbox:after, .ui.form .required.fields:not(.grouped)>.field>.checkbox:after {
    position: absolute;
    top: 0;
	left: 18px;
}

.col-form.col-contract form{
	border:1px solid #ddd;
	padding:40px;
}

.col-form.col-contract h4{
	font-size: 1.75rem;
	text-transform: uppercase;
	padding-bottom: 0;
	margin-bottom: 0;
}

.red{
	color: #FF0045;
}

.grey{
	color: #828282;
}

.col-form.col-contract input{
	background: transparent!important;
	border: 0!important;
	border-bottom: 2px solid #ddd!important;
	font-size: 18px!important;
	font-weight: 400!important;
	padding-left: 0!important;
	border-radius: 0!important;
}

.col-form.col-contract input::placeholder{
	font-weight: 200!important;
}

.col-form.col-contract .g-recaptcha{
	margin:20px 0;
}

.col-form.col-contract .btn-invia .ui.button, .ui.button.btn-invia {
	background: transparent!important;
	border:1px solid #ddd!important;
	text-transform: uppercase!important;
	color: #828282!important;
	font-weight: 200!important;
}

.title-det-contract{
	position: absolute;
	top: 50%;
    transform: translateY(-50%);
	text-align: center;
	width: 100%;
	z-index: 3;
}


.title-det-contract h1{
	color:#fff;
	font-size: 32px;
}

.header-det-contract {
	position: relative;
}

.img-det-contract{
	height: 100vh;
	min-height: 500px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.row-overlay {
	background-color:rgba(0, 0, 0, 0.5);
	height: 100vh;
	position: absolute;
	z-index: 2;
	width: 100%;
}

.desc-det-contract{
	margin:60px 0;
	font-size: 18px;
    font-weight: 400;
    line-height: 32px;
}

.dati-det-contract .field-label{
	display: block;
}

.dati-det-contract .field-label{
	font-weight: 600;
	display: block;
}

.dati-det-contract .field-value{
	display: block;
	margin-bottom:30px;
}

#blueimp-gallery a{
	color: #fff;
}

@media(max-width:575px){
	.dati-det-contract .field-value, .dati-det-contract .field-label {
		margin-bottom:0;
		font-size: 14px;
		line-height: 18px;
		display: inline;
	}

	.text-desc{
		margin-top:30px;
	}

}
@media (min-width: 768px) {
    .container-press {
        max-width: 700px;
    }
}

@media (min-width: 992px) {
    .container-press {
        max-width: 900px;
    }
}

@media (min-width: 1400px){

	.container-press {
		max-width: 1200px;
	}	
}

.container-press h1, .container-press h2{
	font-weight: 600;
}




.container-press {
	margin: 150px auto 0 auto;
	    padding-right: 15px;
    padding-left: 15px;
}

.container-press img{
	width: 100%;
	height: auto;
}

.body#bg-black > .container {
    width: 100%;
    height: 100%;
}

.body#bg-black .container {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    margin-top: 0;
    margin-left: 0;
}

.black-login{
	width: 350px!important;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 50%;
    margin-left: -175px;
}

input.validate-username, input.validate-password{
	border:0;
	border-bottom: 1px solid rgba(255,255,255,0.2);
    color: #fff;
    font-size: 16px;
	min-width: 320px;
	background:transparent;
	margin-bottom: 20px;
}

input:focus {
	outline:0 !important;
}

input.validate-username::placeholder, input.validate-password::placeholder{
	font-size: 13px;
}

[class^="icon-"], [class*=" icon-"] {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: .25em;
    line-height: 14px;
}

.icon-login::before {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f007";
	color:rgba(255,255,255,0.2);
  }

.black-login fieldset .control-group:nth-child(2) .icon-login::before{
	content: "\f023";
}

.black-login .login-button {
    background: transparent!important;
    border: 1px solid rgba(255,255,255,0.2);
    color: rgba(255,255,255,0.7);
    padding: 6px 30px;
	text-transform: uppercase;
	font-size: 12px;
}

.ricorda-ar label{
	font-size: 12px;
    color: #828282;
    padding-left: 5px;
}

.control-lb{
	float: right;
	display: inline-block;
}

.ricorda-ar{
	display: inline-block;
    float: left;
}

.black-login h1{
	font-size: 20px;
    color: #828282;
    margin-bottom: 20px;
	font-weight: 300;
}

body#light-header .footer, #ftr-white .footer{
	color: #151616;
	background: #fff;
}

.footerhome, #bg-black .footer{
	position: absolute;
	bottom:0;
	color:#fff;
	width: 100%;
	z-index: 1;
	font-size:12px;
}

.footerhome a{
	color: #828282;
}

.footer{
	font-size:12px;
	color: #fff;
	background: #151616;
	padding-bottom:20px;
	padding-top: 50px;
}
.footer a{
	color: #828282;
}

.footer p{
	padding-bottom: 0;
	margin-bottom: 0;
}

.sppb-section-bacground-video {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    overflow: hidden;
    z-index: -1;
}

.slide-5 .footerhome, .slide-5 .label-slide, .slide-5 .spinoff{
	color: #151616;
}

.slide-5 .sppb-article-info-wrap h3{
	font-size: 16px;
	text-align: left;
	padding-top: 1rem;
}

/* FIX SEZIONE PRESS su mobile */
@media (max-width: 991px) {

    /* sblocca altezza della slide */
    .slide-5 {
        height: auto !important;
        min-height: auto !important;
        overflow: visible !important;
    }

    /* SP PAGE BUILDER blocca l'altezza: rimuoviamola */
    .slide-5 .sppb-section,
    .slide-5 .sppb-row,
    .slide-5 .sppb-container {
        height: auto !important;
        min-height: auto !important;
        overflow: visible !important;
    }

    /* alcuni addon SPB hanno overflow hidden */
    .slide-5 * {
        max-height: none !important;
        height: auto !important;
        overflow: visible !important;
    }

}
