html, body { height: 100%;  }
body { overflow-x: hidden; font-family: 'Raleway', sans-serif; color: #444; font-weight: 400; background: #fff; font-size: 14px; }

::-webkit-input-placeholder { color: #000!important; }
:-moz-placeholder { /* Firefox 18- */ color: #000!important; }
::-moz-placeholder {  /* Firefox 19+ */ color: #000!important;}
:-ms-input-placeholder { color: #000!important;  }

.absolute { position: absolute; }
.relative { position: relative; }
.bottom { bottom: 0; }
.text-shadow { text-shadow: 0px 0px 5px rgba(0, 0, 0, 1); }

/* Margini */
.margin-zero { margin: 0!important; }

.margin-bottom-10 { margin-bottom: 10px; }
.margin-bottom-15 { margin-bottom: 15px; }
.margin-bottom-20 { margin-bottom: 20px; }
.margin-bottom-30 { margin-bottom: 30px; }
.margin-bottom-40 { margin-bottom: 40px; }
.margin-bottom-50 { margin-bottom: 50px; }
.margin-bottom-80 { margin-bottom: 80px; }
.margin-bottom-120 { margin-bottom: 120px; }

.margin-top-zero { margin-top: 0px; }
.margin-15 { margin: 15px; }
.margin-top-3 { margin-top: 3px; }
.margin-top-10 { margin-top: 10px; }
.margin-top-15 { margin-top: 15px; }
.margin-top-20 { margin-top: 20px; }
.margin-top-25 { margin-top: 25px; }
.margin-top-30 { margin-top: 30px; }
.margin-top-40 { margin-top: 40px; }
.margin-top-50 { margin-top: 50px; }
.margin-top-60 { margin-top: 60px; }
.margin-top-70 { margin-top: 70px; }
.margin-top-80 { margin-top: 80px; }
.margin-top-90 { margin-top: 90px; }
.margin-top-100 { margin-top: 100px; }

/* Pdding */ 
.padding-0 { padding: 0; }
.padding-0-15 { padding: 0 15px; }
.padding-2p5 { padding: 2.5px; }
.padding-5 { padding: 5px; }
.padding-10 { padding: 10px; }
.padding-15 { padding: 15px; }
.padding-20 { padding: 20px; }
.padding-bottom-20 { padding-bottom: 20px; }
.padding-bottom-15 { padding-bottom: 15px; }
.padding-bottom-30 { padding-bottom: 30px; }
.padding-bottom-50 { padding-bottom: 50px; }
.padding-top-15 { padding-top: 15px; } 
.padding-top-30 { padding-top: 30px; } 
.padding-top-100 { padding-top: 100px; }
.padding-top-100 { padding-top: 100px; } 

/* Height */
	.h-80 { height: 80px; }

/* Font */
	.f-12 { font-size: 12px; }
	.f-14 { font-size: 14px; }
	.f-20 { font-size: 20px; }
	.f-23 { font-size: 23px; }
	.f-50 { font-size: 50px; }

/* Navbar */
	.text-top { font-size: 11px; padding: 15px; }
	.top-nav {    }
	.navbar { padding: 0; }
	.full-width { width: 100%; }
	
	.logo.img-fluid { width: 70px; }
	
	.box-top { width: 33%; float: left;  }
	.box-top-mod { padding-left: 20px; }
	.box-top-left { height: 63px; display: inline-block; padding-right: 10px; border-right: 3px solid #000; padding-top: 10px; }
	.box-top-right { display: inline-block; padding-left: 10px; vertical-align: middle; }
	.separatore-top { background: #444; padding: 5px; }
	
	.brand-link { display: inline-block; }
	
	.list-inline-item:not(:last-child) { margin-right: 0; }
	.navbar-menu { display: inline-block; margin-bottom: 0px; margin-top: 10px; }
	ul.navbar-menu > li {  }
	ul.navbar-menu > li > a:hover, ul.navbar-menu > li > a.active { color: #000; /*  background: #f5f5f5; text-decoration: underline; */ }

	a.lang-active { color: #000 !important;  background: #f5f5f5; }

	.dropdown-menu { background: #fff; border-radius: 0px; }
	.dropdown-item { color: #fff; text-transform: uppercase; }
	.dropdown-item:hover { color: #fff; background: #ee3e3d; }
	.dropdown-divider { border-top: 1px solid #ee3e3d; margin: .5rem;  }
	
/* Form */	
	.form-control { /*background: #ee3e3d; border-color: #ee3e3d; */ border-radius: 0px; -webkit-border-radius: 0px; -moz-border-radius: 0px; color: #000; }
	.form-control:focus { /* background: #ee3e3d; color: #fff; */ color: #000; border-color: #ee3e3d; } 
	.form-control-mod { height: 20px; padding: 5px; font-size: 12px; background: none; color: #000; border: 1px solid #000; border-radius: 20px; }
	
/* Footer */
	footer { color: #000; font-size: 10px; /*margin: 40px 0 15px 0;*/ text-transform: uppercase; }
	footer a { color: #000; }
	footer a:hover { color: #000; }	
	
/* Colori */
	.rosso { color: #ed4036; }
	.bianco { color: #fff; }
	.grigio { color: #b3b3b3; }
	.sfondo-rosso { background: #ee3e3d; }
	.sfondo-grigio { background: #f5f5f5; }
	.sfondo-verde { background: #1D5B8A; }
	.sfondo-alpha-50 { background: /*rgba(255, 255, 255, 0.8)*/ #fff }
	b { color: #000; }

/* Titoli */
	.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { font-weight: 400; }
	h1, h2, h3, h4 {  color: #000;  }
	h2 {margin-bottom: 30px;} 
	.titolo-home { font-size: 40px; font-weight: 900; color: #fff; }
		
/* Link */
	a { color: #000; }
	a:hover { color: #000; /* text-decoration: underline; */ }
	
/* Home */	
	.box-servizi { color: #fff; font-size: 15px; background: rgba(0,0,0,0.77); padding-top: 40px; padding-bottom: 30px; position: absolute; bottom: 0; border-bottom: 9px solid #dfb238; width: 100%; display: inline-block; left: 0; right: 0; max-width: 100%; }
	.box-servizi img { margin-right: 15px;  }
	.box-news { color: #fff; font-size: 12px; }
	
/* Breadcrumb */

	.breadcrumb-item + .breadcrumb-item::before { content: ">"; }	
	
/* Carousel */
	.corousel-control { text-align: center; }
	.carousel-indicators { position: relative; margin: 20px 0 10px 0; display: inline-block; bottom: 0; }
	.carousel-indicators li { display: inline-block; cursor: pointer; background: #dfb238; height: 20px; width: 20px; border-radius: 20px; -webkit-border-radius: 20px; -moz-border-radius: 20px; border: 4px solid #fff; }
	.carousel-indicators li.active { background: #dfb238; box-shadow: 0 0 0 1px #dfb238; }
	.carousel-control-next, .carousel-control-prev { width: auto; padding: 0 15px; position: absolute; display: inline-block; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter: alpha(opacity=100); opacity: 1; top: 40%; }
	.carousel-control-next > img, .carousel-control-prev > img { margin-top: -10px; } 
	.carousel-control-next > span > i.fa-angle-right, .carousel-control-prev > span > i.fa-angle-left { color: #000; font-size: 20px; }
	.carousel-caption { position: absolute; background: #bd1622; top: 20%; height: auto; bottom: auto; left: 0; max-width: 50%; }
	.carousel-caption h5 { font-size: 44px; font-weight: 700; }
	.carousel-caption p { font-size: 44px; font-weight: 100; margin-bottom: 0; }
	
	#chiCarousel, #chiCarousel .carousel-inner,  #chiCarousel .carousel-inner .carousel-item { height: 450px; }
	
 /* LINK TO TOP */
	.back-to-top { margin: 0; position: fixed; bottom: 20px; right: 20px; padding: 10px; z-index: 990; display: none; text-decoration: none; }
	.back-to-top img { width: 50px; transform: rotate(180deg); }	
	
/* Pagine */

  
/*@media (max-width: 768px) { }*/

/* Extra small devices (phones, less than 768px) */
@media (max-width: 767px) { 
	
	.phone-hidden { display: none; }
	
	.text-top { height: auto; font-size: 12px; padding-top: 10px; padding-bottom: 10px; }
	.brand-link { display: inline-block; margin-top: 0; margin-bottom: 0; }
	.logo { width: 150px; }
	footer .row > div { text-align: center; padding: 10px 15px; }
	footer .list-unstyled { margin-bottom: 0px; }
	
	.navbar-toggler { float: right; border: none; background: none; cursor: pointer; padding: 5px; display: inline-block; }
	.navbar-toggler > span { cursor: pointer; width: 30px; display: block; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; background: #000; margin: 3px 0 0 0; height: 5px; }
	
	.navbar-collapse { text-align: center; width: 100%; margin-top: 15px; position: fixed; left: 0; bottom: 0; top: 0; height: 100%; z-index: 9; background: #fff; margin: 0;  }
	
	ul.navbar-menu {  }
	ul.navbar-menu > li > a, ul.navbar-menu > li > a:hover, ul.navbar-menu > li > a.active  { text-transform: uppercase; color: #000; background: none; padding: 5px 0; margin: 0; height: auto; }
	
	.navbar { height: 80px; padding: .5rem 0; }
	.navbar .col-4 { padding: 0; }
	.logo { max-width: 100%; }
	.form-select { width: 100%; }
	.form-select select { padding-left: 0; }
	.full-width { width: auto; }
	.left-menu { margin-top: 10px; }
	.left-menu img { max-width: 18px; }
	.box-evidenza { margin: 15px 0; }
	.h3-home { margin: 20px 0; }
	.inherit { position: inherit; } 
	.navbar-menu { right: 0px; left: -5px; top: 80px; z-index: 10; }
	.navbar-menu li { display: block; text-align: center; padding: 10px 15px; }
	.navbar-menu li a { font-size: 14px  !important; } 
	ul.navbar-menu > li:nth-last-child(2) { margin-left: 0; } 
	
	
	ul.navbar-menu > li {

    padding: 2px 15px;
    text-align: left;

}
	.dropdown-menu, .dropdown-menu.show {
	transform: unset !important;
top: 0 !important;
	    background: #fff;
	    border-radius: 0px;
	    display: block;
	    position: relative !important;
	    float: none;
	    text-transform: uppercase;
	    margin: 0;
	    padding: 0;
	    border: 0;
	
	}
	.dropdown-menu li {

    margin: 0;
    padding: 5px 30px;
    text-align: left;
    border: 0;

}
	.menu-lang li { }
	
	
	
	.box-evidenza:nth-child(3) { border-right: 0px; }
	
	.list-inline-item { margin: 0 0 0 5px !important; }
	.left-menu { margin: 10px 10px 0 0; }
	
	#chiCarousel, #chiCarousel .carousel-inner, #chiCarousel .carousel-inner .carousel-item { height: 200px; }
	
	.carousel-caption { position: absolute; background: #bd1622; top: 5%; height: auto; bottom: auto; left: 0; max-width: 50%; padding: 5px 0 5px 0; }
	.carousel-caption p { font-size: 24px; font-weight: 100; margin-bottom: 0; }
	.carousel-caption h5 { font-size: 24px; font-weight: 700; }
	.carousel-indicators { z-index: 0; }
	
	.corousel-control { text-align: center; position: relative; display: block; height: 105px; }
	
	.box-rosso { background: #bd1622; font-size: 24px; font-weight: 100; color: #fff; padding-right: 10px; padding-top: 5px; padding-bottom: 0; margin: 10px 0; }
	.box-rosso h2 { font-size: 24px; }
	
	.box-img-categoria { height: 100px; }	
	.titolo-prodotto.text-uppercase { margin-top: 15px; }
	
	
	.box-home { height: 300px }
	.titolo-home { font-size: 30px; } 
	
	.height-header { height: 300px; }
	.bianco.text-uppercase.font-weight-bold.margin-top-30.margin-bottom-30.f-50 { font-size: 30px; }
	.bianco.text-center.font-weight-light.text-uppercase.margin-top-30.margin-bottom-30.f-50 { font-size: 30px; }
	.text-center.text-uppercase.font-weight-light.margin-top-30.margin-bottom-30.f-50 { font-size: 30px; }
	.rosso.text-uppercase.font-weight-bold.margin-top-30.margin-bottom-30.f-50 { font-size: 30px; }
	.box-professionisti { background: none !important; }
	.box-progettazione { height: auto; }
	.separatore-messaggi { background: none; } 
	.messaggi-cliente { margin-top: 50px; border-top: 10px solid #000; padding-top: 30px; }
	.img-prg { height: 100px; width: 100%; display: block; }
	.separatore-top { background: #444; padding: 5px;  }
	.form-select { width: 100%; margin-top: 7px !important; }
	
	.right-mod { float: none; }
	
	.link-flex { display: block; padding: 0 15px; text-center; margin: 15px; background: #1D5B8A; text-transform: uppercase; }
 	.link-flex a { white-space: unset; font-size: 18px; color: #fff; }
	
} 

/* Small devices (tablets, 768px and up)  */
@media (min-width: 767px) {
	
	.tablet-hidden { display: none; }
	.navbar-toggler { display: none; } 
	.collapse.navbar-collapse { display: block; }
	
	ul.navbar-menu > li > a, ul.navbar-menu > li > a:hover, .dropdown-menu > li > a  { padding: 5px 10px; text-transform: uppercase; color: #000; display: inline-block; font-size: 12px; font-weight: 400; /* margin: 15px 0 30px 0; */ }
	.dropdown:hover .dropdown-menu { display: block; top: 29px; }
	
	
	.col-mod-5 { -webkit-box-flex: 0; -ms-flex: 0 0 20%; flex: 0 0 20%; margin-top: 40px; padding: 15px; max-width: 20%; }
	
	footer .row > div { padding: 20px 15px; }
	
	#map-canvas { height: 450px; width: 100%; }
	
	.carousel-item { min-height: 300px; }
	
	
	.box-img-categoria { height: 350px; }	
	
	
	
	.height-header { height: 450px; }
	
	.right-mod { float: right; }
		
}

/* Medium devices (desktops, 992px and up)  */
@media (min-width: 992px) {
	.desktop-hidden { display: none !important; }
	
	ul.navbar-menu > li > a, ul.navbar-menu > li > a:hover { padding: 5px 10px; text-transform: uppercase; color: #000; display: inline-block; font-size: 13px; font-weight: 400; /* margin: 15px 0 30px 0; */ }
	
	
}

/* Large devices (large desktops, 1200px and up)  */
@media (min-width: 1200px) { 
	
}

