/* --- fonts --- */

@import url(https://fonts.googleapis.com/css?family=Lato:400,300,700);

/* ---- commons ---- */


body {
	background: #FFF;
	font-family: 'Lato', sans-serif;
	color: #000000;
	font-size: 18px;
	line-height: 30px;
	font-weight: 300;
}
.container {
	margin: 0 auto;
	max-width: 1100px;
	padding: 0px;
}
h1 {
	font-size: 35px;
	font-weight: 300;
	line-height: 42px;
	padding: 0px;
	margin: 0px;
}
h2 {
	font-size: 25px;
	font-weight: 300;
	line-height: 30px;
	padding: 0px;
	margin: 0px;
}
h3 {
	font-size: 20px;
	font-weight: 300;
	line-height: 24px;
	padding: 0px;
	margin: 0px;
}


/* --- alignment --- */


.left {
	float: left;
}
.right {
	float: right;
}
.clear {
	clear: both;
}
.center {
	text-align: center;
}
.justify {
	text-align: justify;
}


/* --- colors --- */


.white {
	color: #FFF;
}
.grey {
	color: #FBFBFB;
}
.bg-grey {
	background: #FBFBFB;
}
.brown {
	color: #843E40;
}
.bg-brown {
	background: #843E40;
}


/* ---- pages ---- */


header {
	width: 100%;
	padding: 0px 0px;
	font-size: 20px;
}
.logo {
	float: left;
	padding: 25px 0px;
}
.logo img {
	width: 320px;
}
header nav {
	float: right;
}
header nav ul {
	padding: 0px;
	margin: 0px;
}
header nav ul li {
	display: block;
	float: left;
	text-align: center;
}
header nav ul li:nth-child(5) a {
	border-right: 1px solid #C9C9D3;
}
.navbar-toggle {
	margin-top: 10px;
	margin-right: 0px;
	padding: 10px;
}
.navbar-collapse {
	padding-left: 0px!important;
	padding-right: 0px!important;
}
.icon-bar {
	background: #843E40;
}
.hero {
	width: 100%;
}
.hero img {
	width: 100%;
}
section {
	width: 100%;
}
.section-title {
	display: inline-block;
	background: #843E40;
	padding: 10px;
	margin-bottom: 20px;
	color: #FFF;
	text-align: center;
}
footer {
	background: #843E40;
	width: 100%;
	padding: 20px 0px;
	font-size: 15px;
	line-height: 60px;
	color: #FFF;
}


/* --- homepage --- */

.claim {
	padding: 40px 0px;
}
.home-description {
	padding: 105px 40px 0px 0px;
	text-align: justify;
}


/* --- servizi --- */

.servizi-description {
	padding-top: 40px;
	padding-bottom: 40px;
	text-align: justify;
}

/* --- contatti --- */


#map-canvas {
	width: 100%;
	height: 472px;
}
#contatti {
	padding: 10px 0px 50px 0px;
}
.control-label {
	font-weight: 300;
	color: #000000;
}
input {
	color: #000000;
	border: 1px solid #843E40!important;
	border-radius: 0px!important;
}
textarea {
	color: #000000;
	border: 1px solid #843E40!important;
	resize: vertical;
	border-radius: 0px!important;
}
input:focus, textarea:focus {
    outline: none!important;
    border: 1px solid #843E40!important;
    box-shadow: 0 0 4px #843E40!important;
}
.submit-btn {
	border-radius: 0px;
	background: #FFF;
	padding: 10px 15px;
	font-size: 18px;
	font-weight: 300;
	color: #843E40!important;
	border: 1px solid #843E40!important;
}
.submit-btn:hover {
	background: #843E40;
	color: #FFF!important;
}


/* --- privacy policy --- */

.privacy-section {
	width: 100%;
	padding: 20px 0px;
	text-align: center;
}


/* ---- links ---- */


a:link, a:visited, a:active {
	text-decoration: none;
	color: #000;
}
a:hover {
	text-decoration: none;
	color: #000;
}
a.nav-link:link, a.nav-link:visited, a.nav-link:active {
	display: block;
	padding: 40px 22px;
	text-decoration: none;
	color: #000000;
	border-left: 1px solid #E6E6E6;
}
a.nav-link:hover {
	background: #843E40;
	text-decoration: none;
	color: #FFF;
}
a.nav-link-attivo:link, a.nav-link-attivo:visited, a.nav-link-attivo:active {
	display: block;
	background: #843E40;
	padding: 40px 22px;
	text-decoration: none;
	color: #FFF;
	border-left: 1px solid #E6E6E6;
}
a.nav-link-attivo:hover {
	text-decoration: none;
	color: #EEE;
}
a.footer-up:link, a.footer-up:visited, a.footer-up:active {
	text-decoration: none;
	color: #843E40;
	font-weight: 700;
}
a.footer-up:hover {
	text-decoration: none;
	color: #6e3033;
}
a.footer-link:link, a.footer-link:visited, a.footer-link:active {
	text-decoration: none;
	font-weight: bold;
	color: #FFF;
	border-bottom: none;
}
a.footer-link:hover {
	text-decoration: none;
	color: #eeeeee;
}


/* ---- responsive ---- */


/* ---- large desktop ---- */


@media (min-width: 1200px) {

}


/* ---- desktop and tablet ---- */

@media (min-width: 992px) and (max-width: 1199px) {
	
	.container {
		padding: 0px 1%;
	}
	.logo img {
		width: 300px;
	}
	.claim {
		padding: 20px 0px;
	}
	.home-description {
		padding: 105px 0px 0px 0px;
	}
	footer {
		font-size: 13px;
	}
	a.nav-link:link, a.nav-link:visited, a.nav-link:active {
		padding: 37px 15px;
	}
	a.nav-link-attivo:link, a.nav-link-attivo:visited, a.nav-link-attivo:active {
		padding: 37px 15px;
	}
	
}


/* ---- tablet portrait ---- */

@media (min-width: 768px) and (max-width: 991px) {

	.container {
		padding: 0px 4%;
	}
	h1 {
		font-size: 28px;
		line-height: 60px;
	}
	h2 {
		font-size: 22px;
		line-height: 40px;
	}
	h3 {
		font-size: 18px;
		line-height: 30px;
	}
	header nav {
		float: none;
	}
	a.nav-link:link, a.nav-link:visited, a.nav-link:active {
		padding: 10px 10px;
	}
	a.nav-link-attivo:link, a.nav-link-attivo:visited, a.nav-link-attivo:active {
		padding: 10px 10px;
	}
	.home-img img {
		padding: 0px 0px;
		width: 100%;
	}
	.home-description {
		padding: 50px 0px;
	}
	footer {
		margin-top: 60px;
		padding: 20px 0px;
		font-size: 15px;
		line-height: 30px;
		color: #FFF;
		text-align: center;
	}
	footer .row div {
		width: 100%;
	}
	footer .text-right {
		padding-top: 10px;
		text-align: center;
	}
	
}


/* ---- phone ---- */

@media (max-width: 767px) {

	body {
		font-size: 15px;
		line-height: 26px;
	}
	.container {
		padding: 0px 10%;
	}
	header .container {
		padding: 0px 3%;
	}
	h1 {
		font-size: 28px;
		line-height: 60px;
	}
	h2 {
		font-size: 22px;
		line-height: 40px;
	}
	h3 {
		font-size: 18px;
		line-height: 30px;
	}
	.navbar-header {
		width: 100%;
		margin: 0px!important;
	}
	.logo {
		width: 60%;
		padding: 13px 0px;
	}
	.logo img {
		width: 100%;
	}
	header nav {
		float: none;
	}
	header nav ul li {
		display: block;
		float: none;
		padding: 0px;
		margin: 0px;
		text-align: center;
	}
	header nav ul li:nth-child(3) a {
		border-right: none;
	}
	.navbar-collapse {
		margin-bottom: 20px;
	}
	a.nav-link:link, a.nav-link:visited, a.nav-link:active, a.nav-link-attivo:link, a.nav-link-attivo:visited, a.nav-link-attivo:active {
		padding: 20px 30px;
		border-left: none;
	}
	.claim {
		padding: 30px 0px 40px 0px;
	}
	.home-img {
		padding: 30px 0px;
	}
	.home-img img {
		padding: 0px 0px;
		width: 100%;
	}
	.home-description {
		padding: 20px 0px;
	}
	.section-title {
		font-size: 19px;
		padding: 5px 10px;
	}
	#map-canvas {
		width: 100%;
		height: 200px;
	}
	#contatti {
		padding: 0px 0px 30px 0px;
	}
	footer {
		padding: 20px 0px;
		font-size: 15px;
		line-height: 30px;
		color: #FFF;
		text-align: center;
	}
	footer .text-right {
		padding-top: 15px;
		text-align: center;
	}

}


/* ---- smaller ---- */

@media (max-width: 480px) {

}


/* ---- collapse sidebar on tablet portait ---- */

@media (max-width: 991px) {

    .navbar-header {
        float: none;
    }
    .navbar-toggle {
        display: block;
    }
    .navbar-collapse {
        border-top: 1px solid transparent;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
    }
    .navbar-collapse.collapse {
        display: none!important;
    }
    .navbar-nav {
        float: none!important;
        margin: 7.5px -15px;
    }
    .navbar-nav>li {
        float: none;
    }
    .navbar-nav>li>a {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .navbar-text {
        float: none;
        margin: 15px 0;
    }
    /* since 3.1.0 */
    .navbar-collapse.collapse.in {
        display: block!important;
    }
    .collapsing {
        overflow: hidden!important;
    }

}
