/*!
Theme Name: custom
Theme URI: https://www.lucalarice.com/
Author: Luca Larice
Author URI: https://www.lucalarice.com/
Description:
Version: 1.0.0
*/


@media (max-width: 768px) {
  .container {
    padding-left: 5vw;
    padding-right: 5vw;
  }
}




/*--------------------------------------------------------------
# FONTS
--------------------------------------------------------------*/
@font-face {
	font-family: "Work Sans";
	src: url('assets/fonts/Work_Sans/WorkSans-VariableFont_wght.ttf') format('truetype');
	font-weight: 100 900; 
    font-style: normal;
    font-display: swap; 
}



/*--------------------------------------------------------------
# UTILITY: font
--------------------------------------------------------------*/
.bold{font-weight: 600;}
b, strong{font-weight: 600;} 
.full-height{height:100%;}
.uppercase{text-transform: uppercase;}
.lowercase{text-transform: lowercase;}



/*--------------------------------------------------------------
# UTILITY: colors
--------------------------------------------------------------*/
.bg-white{background-color: #fff;}
.bg-black{background-color: #000;}

.bg-purple{background-color: #6D163E;}
.bg-blue{background-color: #062256;}
.bg-azzurro{background-color: #85C0DA;}
.bg-light-blue{background-color: #EFF0F6;}

.bg-gradient-blue{
	background: #E6EBF1;
	background: linear-gradient(180deg, rgba(230, 235, 241, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(241, 243, 246, 1) 100%);
}

.bg-gradient-blue-start{
	background: #EFF0F6;
	background: linear-gradient(180deg, rgba(239, 240, 246, 1) 0%, rgba(239, 240, 246, 0) 10%);
}


.gradiente-blu{
	position: relative;
}
.gradiente-blu::before{
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background: #00386E;
	background: linear-gradient(0deg, rgba(0, 56, 110, 1) 0%, rgba(0, 56, 110, 0) 100%);
}

.gradiente-viola{
	position: relative;
}
.gradiente-viola::before{
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background: #6D163E;
	background: linear-gradient(0deg, rgba(109, 22, 62, 1) 0%, rgba(109, 22, 62, 0) 85%);
	z-index: 1;
}


.bg-grey{background-color: #EBECF1;}


.white, .white a, .white h2, .white h5, .white a:hover, .white a:visited, .white h3, .white h6{color: #fff;} 
.blue{color: #162259;}
.grey{color: #6F6F6E !important;}
.viola{color: #6D163E !important;}





/*--------------------------------------------------------------
# GENERAL SETUP
--------------------------------------------------------------*/
html{
	font-size: 62.5%; /* $rembase = 10px */
}
body {
	background: #ffffff; /* Fallback for when there is no custom background color defined. */
}
ul, ol {
	margin: 0 0 1.5rem 1.5rem;
	padding: 0;
}
ul {
	list-style: disc;
}
ul{
  list-style: none;
}
.site-main ul li {
  position: relative;
  padding-left: 55px;
  margin-bottom: 8px;
}
.site-main ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 35px;
  height: 1px;
  background-color: #d9d8e6;
}
.site-main ul li::after {
  content: '';
  position: absolute;
  left: 0;
  top: calc(50% - 2px); /* per centrare sopra la linea */
  width: 15px;
  height: 4px;
  background-color: #5e1534;
}




ol {
	list-style: decimal;
}
li > ul, li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}
img {
	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
}
hr {
	border: 0;
	height: 1px !important;
	margin-top: 1em;
	margin-bottom: 1em;
	color: #d3d3d3;
	width: 100%;
	background: #d3d3d3;
	opacity: 1;
}

.text-center hr{margin: 1em auto;}
.text-end hr{margin: 1em 0 1em auto;}

.white hr{
	color: #fff;
	background-color: #fff;
}
hr.hr-full{
	width: 100%;
}

.two-columns{
	column-count: 2;
	column-gap: 30px;
}

.border-black{
	border-color: #162259 !important;
}


/*--------------------------------------------------------------
# TYPOGRAPHY
--------------------------------------------------------------*/
body, button, input, select, textarea {
	font-family: "Work Sans";
	font-size: 1.5rem; /* 13 ÷ $rembase */
	font-weight: 400;
	line-height: 1.5;
	color: #00386E;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
	font-family: "Work Sans";
	font-style: normal;
	clear: both;
	color: #162259;
	font-weight: 700;
}
h1, .h1{
	font-size: 1.2rem;
	margin-bottom: 1.5rem;
	text-transform: uppercase;
	font-weight: 500;
	color: #6D163E;
	letter-spacing: 2px;
}
h2, .h2{
	font-size: 3rem; 
	padding-bottom: 2rem;
	margin-bottom: 2rem; 
}
h3, .h3{
	font-size: 2.5rem; 
	margin-bottom: 1rem;
}
h4, .h4{
	font-size: 1.6rem; 
	margin-bottom: 1rem;
}
h5, .h5{
	font-size: 1.2rem;
	margin-bottom: 1.5rem;
	text-transform: uppercase;
	font-weight: 500;
	color: #6D163E;
	letter-spacing: 2px;
}
h6, .h6{
	font-size: 1.4rem; 
	margin-bottom: .5rem;
	font-weight: bold;
}

p {
	margin-bottom: 1.6rem;
}


.no-space p{margin-bottom: 0}


/*--------------------------------------------------------------
# LINKS
--------------------------------------------------------------*/
a { 
	color: #000;
	text-decoration: underline;
}
a:visited {
	color: #000;
}
a:hover, a:focus, a:active {
	color: #000;
	text-decoration: none;
}
a:focus {
	outline: 0;
}
a:hover, a:active {
	outline: 0;
}


/*--------------------------------------------------------------
# GLOBAL
--------------------------------------------------------------*/
#content{
	min-height: 600px;
}

.video {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
	margin-top:3px;
}
.video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
a.link-button, .link-button a {
	background: #6D163E;
    color: #fff;
    padding: 10px 20px;
    display: inline-block;
    font-size: 1.2rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none;
    transition: color 0.4s ease, background-color 0.4s ease;
    overflow: hidden;
    z-index: 1;
    border-radius: 5px;
}
a.link-button:hover, .link-button a:hover {
	background-color: #162259;
}
a.link-button-w, a.link-button-w:visited, .link-button-w a, .link-button-w a:visited{
	background-color: #fff;
	color: #162259;
}

.svg-max-width svg{
	max-width: 100%;
}






/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
	clear: both;
	display: block;
	width: 100%;
	position: relative;
}
.main-navigation ul {
	list-style: none;
	margin: 0;
	padding-left: 0;
}
.main-navigation li {
	display: inline-block;
	position: relative;
	margin: 0px;
	text-align: left;
}
.main-navigation li:first-child{
	margin-left: 0;
}
.main-navigation li:last-child{
	margin-right: 0;
}
.main-navigation a { 
	display: block;
	text-decoration: none;
	font-size: 1.2rem;
	color: #fff !important;
	font-weight: 400;
	text-transform: none;
	padding: 0px 10px;
}

.main-navigation li:hover > a,
.main-navigation li.focus > a,
.main-navigation .current_page_item > a,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_ancestor > a,
.main-navigation .current-page-ancestor > a,
.main-navigation .current-menu-ancestor > a {
  text-decoration: none;
  font-weight: bold;
  color: #fff;
  position: relative; 
}

/*.main-navigation li:hover > a::after,
.main-navigation li.focus > a::after,
.main-navigation .current_page_item > a::after,
.main-navigation .current-menu-item > a::after,
.main-navigation .current_page_ancestor > a::after,
.main-navigation .current-page-ancestor > a::after,
.main-navigation .current-menu-ancestor > a::after {
  content: "";
  position: absolute;
  bottom: -4px; 
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 1px;
  background-color: #ffffff; 
}*/




.main-navigation a:hover{
	text-decoration: underline;
} 


/* sub-menu */
.main-navigation .sub-menu{
	display: none;
	position: absolute;
	padding: 0;
	left: 0;
	z-index: 10;
	width: 200px;
	background: #D1D3E3;
	line-height: 0;
}
.main-navigation .sub-menu li{
	margin: 0px!important;
	width: 100%;
	text-align: left;
}
.main-navigation .sub-menu li:hover {
	box-shadow:none!important;
	background:transparent;
}
.main-navigation .sub-menu li:last-child {border-bottom:0;}

.main-navigation li.menu-item-has-children:hover .sub-menu{
	display: block;
}
.main-navigation .sub-menu li a{
	display: inline-block;
	text-decoration: none;
	font-size: 1.2rem;
	line-height: 1.2rem;
	padding: 8px 15px;
	color: #062256 !important;
	position: relative;
	overflow: hidden;
	width:100%;
	margin: 0;
}
.main-navigation .sub-menu li a:hover{
	text-decoration: none;
	color: #fff;
}
.main-navigation .sub-menu li.current-menu-item a{
	background-color: #D1D3E3;
}



/* secondary nav */
.secondary-navigation ul {
	list-style: none;
	margin: 0;
	padding-left: 0;
}
.secondary-navigation li {
	display: inline-block;
	position: relative;
}
.secondary-navigation li:first-child{
	margin-left: 0;
}
.secondary-navigation li:last-child{
	margin-right: 0;
}
.secondary-navigation a {
	display: inline-block;
	text-decoration: none;
	font-size: 1.2rem;
	padding: 15px 15px;
	font-weight: bold;
	color: #fff;
}
.secondary-navigation li:hover > a,
.secondary-navigation li.focus > a,
.secondary-navigation .current_page_item > a {
  text-decoration: none; /* rimuove il sottolineato */
  color: #162259;
  position: relative; /* necessario per posizionare la riga con ::after */
}

.secondary-navigation li:hover > a::after,
.secondary-navigation li.focus > a::after,
.secondary-navigation .current_page_item > a::after {
  content: "";
  position: absolute;
  bottom: 13px; /* distanza dalla base del link */
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 1px;
  background-color: #162259;
}

.site-header .external-link{
	background-color: #6A7194;
}



/* mobile nav */
.mobile-navigation div > ul {
	list-style: none;
	margin: 0;
	padding-left: 0;
}
.mobile-navigation li{
	display: block;
	position: relative;
	text-align: center;
	margin-bottom: 10px;
}
.mobile-navigation a {
	color: #fff;
	padding: 5px 20px;
	font-size: 1.6rem;
	text-decoration: none;
	text-transform: uppercase;
	font-weight: bold;
	display: inline-block;
}
.mobile-navigation  .menu-item-has-children ul{
	margin-left: 0;
}
.mobile-navigation .sub-menu{
	display: none;
}
.mobile-navigation li.menu-item-has-children:hover .sub-menu, .mobile-navigation li.menu-item-has-children:active .sub-menu{
	display: block;
}
.mobile-navigation li:hover > a,
.mobile-navigation li.focus > a,
.mobile-navigation .current_page_item > a,
.mobile-navigation .current-menu-item > a,
.mobile-navigation .current_page_ancestor > a,
.mobile-navigation .current-menu-ancestor > a {
	text-decoration: underline;
}



/*--------------------------------------------------------------
# MOBILE - MENU - SLIDEOUT
--------------------------------------------------------------*/
.mobile-menu-overlay {
	overflow-x: hidden;
	position: fixed;
	z-index: 10000;
	top: 0;
	left: 0;
	height: 0;
	width: 100%;
	transition: all 0.5s ease 0s;
}
.menu-icon svg{
	fill: #fff;
	width: 17px;
}
.menu-icon{
	padding: 4px 8px 5px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}









/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.site-header{
}
.site-title{
	margin-bottom: 0;
	line-height: 0;
}
.site-title img{
	width: 220px;
}
.header-logo{
	transition: all 0.5s ease 0s;
}


.social-header a{
	text-decoration: none;
	display: inline-block;
	margin: 0 3px;
}
.social-header img{
	height: 15px;
	filter: invert(100%);
}
.social-header img:hover{
	filter: invert(80%);
}





/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.moove-gdpr-branding-cnt{display: none}
.site-footer{
	font-size: 1.2rem;
	line-height: 1.8rem;
	color: #fff;
}
.site-footer ul{
	list-style-type: none;
	margin-left: 0;
}
.footer-logo{
	width: 100%;
	max-width: 280px;
}
.site-footer a, .site-footer a:visited{
	color: #fff;
	text-decoration: none;
}
.site-footer a:hover{
	text-decoration: underline;
}

.footer-navigation a{
	font-size: 1.3rem;
}
.footer-navigation .external-link a{
	color: #A1A6BC;
}

.social-footer a{
	text-decoration: none;
	display: inline-block;
	margin: 0 3px;
	background-color: #fff;
	border-radius: 50%;
	padding: 5px 8px;
}
.social-footer img{
	height: 15px;
}
.social-footer img:hover{
	filter: invert(100%);
}
.footer-address, .footer-phone, .footer-mail{
	display: flex;
  	align-items: center;
}
@media (min-width: 900px) {
  .footer-address, .footer-phone, .footer-mail {
    padding-left: 50px;
  }
}
.footer-address::before{
	content: '';
	display: inline-block;
	background: url('assets/images/pin.svg') no-repeat center center;
	background-size: contain;
	height: 20px;
	width: 20px;
	margin-right: 10px;
}
.footer-phone::before{
	content: '';
	display: inline-block;
	background: url('assets/images/phone.svg') no-repeat center center;
	background-size: contain;
	height: 20px;
	width: 20px;
	margin-right: 10px;
}
.footer-mail::before{
	content: '';
	display: inline-block;
	background: url('assets/images/mail.svg') no-repeat center center;
	background-size: contain;
	height: 20px;
	width: 20px;
	margin-right: 10px;
}






/*--------------------------------------------------------------
# LINGUA
--------------------------------------------------------------*/
.lag-top{
}
.wpml-ls-legacy-dropdown, .wpml-ls-legacy-dropdown-click{
	width: auto;
	margin-top: 0px;
	margin-left: 0px;
	border: 0 none;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	
}
.wpml-ls-legacy-dropdown a, .lang-top .wpml-ls-legacy-dropdown-click a{
	color: #fff !important;
	font-size: 1.1rem;
	text-decoration: none;
	background-color: transparent !important;
	border: 0 none !important;
	padding-top: 12px;
	padding-bottom: 11px;
	padding-left: 12px;
	text-align: left;
}
.wpml-ls-legacy-dropdown-click a{
	border: 0 none !important;
	background-color: transparent;
}
.header-small .lang-top .wpml-ls-legacy-dropdown-click a{
	font-size: .9rem;
	padding-top: 10px;
  	padding-bottom: 9px;
}
.wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover > a, .lang-top .wpml-ls-legacy-dropdown-click a:hover{
	background-color: transparent !important;
	text-decoration: none;
}
.wpml-ls-legacy-list-horizontal a, .wpml-ls-legacy-dropdown-click a{
	color: #fff !important;
	font-size: 1.3rem;
	line-height: 1.3rem;
	text-align: center;
}
.wpml-ls-current-language:hover a, .wpml-ls-current-language a{
	text-decoration: none;
}
.wpml-ls-sub-menu{
	border: 1px solid rgba(70, 74, 78, .7) !important;
	margin-top: 6px !important;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	background-color: rgba(51, 57, 60, .7);
}
.wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover > a, .wpml-ls-legacy-dropdown-click a:focus, .wpml-ls-legacy-dropdown-click a:hover{
	background-color: transparent;
}
.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::after {
	border: 0 none;
	background-image: url('assets/images/down.svg');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	top: calc(30%);
	width: 20px;
  	height: 15px;
}




/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
.video-hero{
	min-height: 70vh;
}

.slick-slide img{
	width: 100%;
}

.slideshow-slide{
	background-size: cover;
	background-position: center center;
	height: 400px;
	position: relative;
}
/*.slideshow-slide::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(111, 111, 110, 0.4); 
  z-index: 1;
  pointer-events: none;
} */
.slick-dots li::before,
.slick-dots li::after {
  content: none !important;
}
.slick-dots li{
	padding-left: 0 !important;
	margin-bottom: 0 !important;
}
.dots .slick-dots{
	bottom: 25px;
	text-align: right;
	padding-right: 20px;
}
.slick-dots li{
	margin: 0 1px;
}
.slick-dots li.slick-active button::before {
	color: #CAD1E1;
	font-size: 10px;
}
.slick-dots li button::before{
	color: #fff;
	opacity: 1;
	font-size: 10px;
}
.slick-dotted.slick-slider{
	margin-bottom: 0;
}
.slick-slider.no-dots .slick-dots {
	display: none !important;
}




table{
	width: 100% !important;
}
table tr:first-of-type{
	background-color: #162259;
	color: #009EE3;
	font-weight: bold;
}
table tr:nth-of-type(even):not(:first-of-type) {
	background-color: #E5E5E9;
}
table tr:nth-of-type(odd):not(:first-of-type) {
	background-color: #ffffff;
}
table td{
	padding: 10px 20px;
}

.accordion-button{
	display: block;
}
.accordion-button::after{
	margin-right: 4rem;
	position: absolute;
	right: 0;
	top: 50%;
}


.section-title{
	position: relative;
}
.section-title::before{
	content: attr(data-text);
	position: absolute;
	left: -8px;
	margin-top:-2px;
	font-size: 1.1rem;
}
.title-line h2{
	position: relative;
}
.title-line h2::before{
	content: '';
	position: absolute;
	height: 100%;
	left: -35px;
	border-left: 3px solid #6D163E;
}
.bg-purple .title-line h2::before, .bg-blue .title-line h2::before{
	border-color: #fff;
}
@media (max-width: 768px) {
  	.title-line h2::before{
		left: -32px;
	}
}
.title-line-w h2::before{
	border-color: #fff; 
	min-height: 50px;
}

.line-side{
	border-left: 1px solid #dee2e6;
}


.banner-full{
	background-size: cover;
	background-position: center center;
}


.line-v {
  display: block;
  margin: 0 auto;
}
.line-v-home {
  margin: 0;
  margin-left: 20px;
}
.line-v.dark {
  width: 3px;
  height: 15px;
  background-color: #6D163E;
}
.line-v.light {
  width: 1px;
  height: 15px;
  background-color: #D1D3E3;
}



.line-h {
  display: inline-block;
  margin: 0 auto;
}
.line-h.dark {
  height: 3px;
  width: 30px;
  background-color: #6D163E;
}
.line-h.light {
  height: 1px;
  width: 15px;
  background-color: #D1D3E3;
  margin-bottom: 1px;
}



/*--------------------------------------------------------------
# HOME
--------------------------------------------------------------*/





/*--------------------------------------------------------------
# SERVIZI
--------------------------------------------------------------*/
.image-servizi-1{
	margin-bottom: -50px;
}
.video-cover{
	background-size: cover;
	background-position: center center;
	height: 100%;
	width: 100%;
}


/*--------------------------------------------------------------
# LAVORAZIONI
--------------------------------------------------------------*/
.img-certificazioni img{
	height: 100px;
}

.img-certificazioni-circle img{
	height: 130px;
	border-radius: 50%;
}

.lavorazione-box{
	position: relative;
	background-size: cover;
	background-position: center center;
	min-height: 350px;
}
.lavorazione-box .h2{
	color: #fff;
	position: relative;
	z-index: 10;
}
.lavorazione-box::before{
	content: '';
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #6D163E;
	background: linear-gradient(180deg, rgba(109, 22, 62, 1) 0%, rgba(109, 22, 62, 0) 40%);
}
.lavorazione-box-home{text-decoration: none;}
.lavorazione-box-home .text-hover{display: none}
.lavorazione-box-home:hover .text-hover{display: block;}
.lavorazione-box-home:hover .lavorazione-box::before{
	background: rgba(109, 22, 62, 0.8);
}


/*--------------------------------------------------------------
# AZIENDA
--------------------------------------------------------------*/
.image-azienda img{
	max-width: 480px;
	width: 100%;
}
.timeline{
	position: relative;
}
.timeline::before{
	content: '';
	display: block;
	width: 1px;
	border-right: 1px solid #D1D3E3;
	height: 100%;
	position: absolute;
	left: 42%;
}






/*--------------------------------------------------------------
# DOWNLOAD
--------------------------------------------------------------*/
.down-text{
	min-height: 60px;
}
.download-icon{
	height: 40px;
}
.doc-icon{
	height: 90px;
}



/*--------------------------------------------------------------
# CONTATTI
--------------------------------------------------------------*/
.image-contatti img{
	max-width: 450px;
	width: 100%;
}








/*--------------------------------------------------------------
# POST NAVIGATION
--------------------------------------------------------------*/
.post-navigation ul{
	margin-left: 0;
}
.post-navigation li a,
.post-navigation li a:hover,
.post-navigation li.active a,
.post-navigation li.disabled {
	color: #fff;
	text-decoration:none;
}
.post-navigation li {
	display: inline;
} 
.post-navigation li a,
.post-navigation li a:hover,
.post-navigation li.active a,
.post-navigation li.disabled {
	background-color: #162259;
	opacity: .7;
	border-radius: 0px;
	cursor: pointer;
	padding: 10px 12px;
}
.post-navigation li a:hover,
.post-navigation li.active a {
	opacity: 1;
}


/*--------------------------------------------------------------
# NEWS
--------------------------------------------------------------*/
.hero-banner{
	height: 400px;
	background-size: cover;
	background-position: center center;
}
.image-news{
	background-size: cover;
	background-position: center;
	height: 100%;
	left: 0;
	width: 20%;
	position: absolute;
}


/*--------------------------------------------------------------
# NEWS
--------------------------------------------------------------*/
.entry-meta time, .entry-tags{
	font-size: 1rem;
	text-transform: uppercase;
}
.post-footer{
	border-top: 1px solid #18212b;
	font-size: 1rem;
	padding: 10px 0;
	text-transform: uppercase;
	font-weight: bold;
}
.post-footer-formazione{
	border: 0 none;
}
.post-footer a{
	color: #18212b;
	font-size: 1.8rem;
	margin-left: 3px;
	text-decoration: none;
	transition: all 0.5s ease 0s;
}
.post-footer img{
	height: 15px;
}
.post-footer img:hover{
	opacity: 0.4;
}
.news-sidebar{
	padding: 20px 0;
}
.news-sidebar ul{
	list-style-type: none;
	margin-left: 0;
}
.news-sidebar .widget{
	margin-bottom: 2rem;
}
.tagcloud {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.tagcloud a {
	display: inline-block;
	margin: 0.125rem;
	padding: 0.4375rem;
	border: 1px solid #eee;
	transition: all 0.1s ease-in-out;
}
.tagcloud a:hover,
.tagcloud a:focus {
	transform: scale(1.1);
}
.meta-post{font-size: 1rem; text-transform: uppercase;}

.sticky-news{
	top: 100px;
}

.news-list{
	padding: 1.5rem;
}
.news-list-title{
	min-height: 55px;
}
.news-list-desc{
	min-height: 130px;
}

.categories-list a{
	text-transform: uppercase;
	color: #2B2B4A;
	border: 1px solid #2B2B4A;
	font-weight: bold;
	text-decoration: none;
	margin: 0 1rem;
	font-size: 1.5rem;
	padding: 10px 15px;
}
.categories-list a:hover, .categories-list a.active{
	background-color: #1A9FE6;
	color: #fff;
}




/*--------------------------------------------------------------
# CONTATTI
--------------------------------------------------------------*/
.map{line-height: 0}
.map iframe{
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
}



/*--------------------------------------------------------------
# Gallery
--------------------------------------------------------------*/
.gallery img:hover{
	opacity: 0.7;
	transition: opacity .25s ease-in-out;
	-moz-transition: opacity .25s ease-in-out;
	-webkit-transition: opacity .25s ease-in-out;
}






/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
.grecaptcha-badge { 
    visibility: hidden;
}
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea {
	-webkit-border-radius: 0;
	-webkit-appearance: none;
	color: #6D163E;
	border: 1px solid #6D163E;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 5px;
	background-color: transparent;
	padding: 10px;
	font-weight: 400;
	width: 100%;
	font-size: 1.3rem;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.newsletter input[type="text"], .newsletter input[type="email"]{
	background-color: transparent;
	border: 1px solid #162259;
	color: #162259;
} 
.newsletter input[type="text"]:focus, .newsletter input[type="email"]:focus{
	color: #8b9095;
}


input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="number"]:focus, input[type="tel"]:focus, input[type="range"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="color"]:focus, textarea:focus {
	color: #162259;
}



textarea {
	-webkit-appearance: none;
	width: 100%;
	height: 150px;
	color: #000;
}
.form-transparente input[type="text"], .form-transparente  input[type="email"], .form-transparente  textarea{
	background-color: transparent;
}


.form-white label{
	display: block;
	text-transform: uppercase;
	font-size: 1.2rem;
}
.form-white input[type="text"], .form-white input[type="email"], .form-white textarea{
	background-color: transparent;
	border: 0 none;
	border-bottom: 1px solid #fff;
	color: #fff;
	text-transform: uppercase;
	font-weight: 700;
}
.form-white input[type="text"]:focus, .form-white input[type="email"]:focus, .form-white textarea:focus{
	color: #fff;
}

button, input[type="button"], input[type="reset"], input[type="submit"] {
	-webkit-border-radius: 0;
	-webkit-appearance: none;
	background: #6D163E;
	color: #fff;
	font-size: 1.4rem;
	padding: 10px 40px 10px;
	display: inline-block;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 5px;
	text-transform: uppercase;
	text-decoration: none;
	font-weight: bold;
	/*transition: all 0.5s ease 0s;*/
	border: 0 none;
}

.white input[type="submit"]{
	background: #fff;
	color: #162259;
}

.newsletter input[type="submit"]{
	background: #09bbb5;
}
.newsletter input[type="submit"]:hover{
	background: #ff6600;
}



button:hover, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover {
	background: #00386E;
	color: #fff;
	cursor: pointer;
	text-decoration: none;
}
button:focus, input[type="button"]:focus, input[type="reset"]:focus, input[type="submit"]:focus, button:active, input[type="button"]:active, input[type="reset"]:active, input[type="submit"]:active {
	background: #00386E;
	color: #fff;
}

.wpcf7-spinner{display: block !important;}

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

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: #fff;
	background-image: url('assets/images/arrow-down.png');
	background-size: 15px;
	background-repeat: no-repeat;
	background-position: 98% 50%;
	border: 1px solid #101010;
	color: #000 !important;
	text-transform: none;
	border-radius: 0;
	padding: 10px;
	padding-right: 1.5em;
	width: 100%;
	font-size: 1.4rem;
}

select:focus, select:hover {
	border-color: #707070;
	outline: none;
}
select:active {
	border-color: #707070;
}
select:-moz-focusring {
	color: transparent;
	text-shadow: 0 0 0 #000;
}

/* IE 10/11+ - This hides native dropdown button arrow so it will have the custom appearance, IE 9 and earlier get a native select - targeting media query hack via http://browserhacks.com/#hack-28f493d247a12ab654f6c3637f6978d5 - looking for better ways to achieve this targeting */
/* The second rule removes the odd blue bg color behind the text in the select button in IE 10/11 and sets the text color to match the focus style's - fix via http://stackoverflow.com/questions/17553300/change-ie-background-color-on-unopened-focused-select-box */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  select::-ms-expand {
	display: none;
  }

  select:focus::-ms-value {
	background: transparent;
	color: grey;
  }
}

span.wpcf7-list-item{
	margin: 0 !important;
	margin-right: 0 !important;
}

.privacy{
	font-size: 1rem;
	color: #7A7A83;
}


/* CF7 */
.wpcf7-not-valid{
	border-color: #E30613 !important;
}
.wpcf7-not-valid-tip{display: none !important;}
div.wpcf7 .ajax-loader{display: block !important;}


/*--------------------------------------------------------------
# PLACEHOLDER
--------------------------------------------------------------*/
::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
	color: #6D163E;
	opacity: 1; /* Firefox */
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
	color: #6D163E;
}
::-ms-input-placeholder { /* Microsoft Edge */
	color: #6D163E;
}

.form-white ::placeholder, .newsletter ::placeholder  {
	color: #fff;
}








.custom-upload-wrapper input[type="file"].custom-file-input {  
  border: none;
  cursor: pointer;
  position: relative;
  border: 1px solid #162259;
  width: 100%;
  overflow: hidden;
  margin-bottom: 15px;
  font-size: 1.4rem;
}

.custom-upload-wrapper input[type="file"].custom-file-input::file-selector-button {
  background-color: #1a2250;
  color: white;
  border: none;
  padding: 12px 25px;
  cursor: pointer;
  font-family: inherit;
}







/*==========  Non-Mobile First Method  ==========*/
/* Extra small devices (portrait phones, less than 576px) */
/* No media query since this is the default in Bootstrap */

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
	html{
		font-size: 57.5%; /* $rembase = 10px */
	}
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) { 
	html{
		font-size: 57.5%; /* $rembase = 10px */
	}

}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) { 
	html{
		font-size: 63.5%; /* $rembase = 10px */
	}


	.line-num-line{position: relative;}
	.line-num-line::after{
		content: "";
		position: absolute;
		bottom: 0;
		left: 60%;
		height: 3px; /* spessore linea */
		width: 40%;  /* lunghezza linea */
		background-color: #6D163E; /* bordeaux */
	}
	.lavorazioni-num-space{
		margin-bottom: -80px;
	}

	.line-numeri{position: relative;}
	.line-numeri::before{
		content: '';
		display: block;
		height: : 1px;
		width: 100%;
		border-top: 1px solid #D1D3E3;
		position: absolute;
		top: 75px;
	}


	.timeline-line{position: relative;}
	.timeline-line::before{
		content: '';
		display: block;
		height: : 1px;
		width: 61.6%;
		border-top: 1px solid #D1D3E3;
		position: absolute;
		top: 0;
	}
	.linea-viola-timeline::before{
		content: "";
	    position: absolute;
	    top: 0;
	    left: 10%;
	    height: 3px;
	    width: 40%;
	    background-color: #6D163E;
	}

}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) { 
	html{
		font-size: 68.5%; /* $rembase = 10px */
	}


	

}

/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) { 
	html{
		font-size: 68.5%; /* $rembase = 10px */
	}

}

