/*
|--------------------------------------------------------------------------
| Commons
|--------------------------------------------------------------------------
*/

body {
	background: #FFF;
	font-family: Arial, Helvetica, sans-serif;
	color: #333;
	font-size: 15px;
	line-height: 22px;
	-webkit-font-smoothing: antialiased;
}
.container {
	margin: 0 auto;
	max-width: 1100px;
	padding: 0px;
}
.left {
	float: left;
}
.right {
	float: right;
}
.clear {
	clear: both;
}
.center {
	text-align: center;
}


/*
|--------------------------------------------------------------------------
| Header
|--------------------------------------------------------------------------
*/

header {
	width: 100%;
}
.navbar {
	background: #FFF;
	margin: 0px;
	padding: 0px;
	border: none;
	border-radius: 0px;
}
.logo {
	float: left;
	margin: 20px 0px;
}
.logo img {
	height: 60px;
}
header nav {
	float: right;
	margin-top: 39px;
	font-size: 20px;
}
header nav ul {
	padding: 0px;
}
header nav ul li {
	display: block;
	float: left;
	margin-left: 0px;
}
.navbar-toggle {
	margin-top: 22px;
	margin-right: 5px;
	padding: 5px;
	border-radius: 0px;
	border: none;
}
.navbar-default .navbar-toggle {
	background: none;
}
.navbar-default .navbar-toggle:hover {
	background: none;
}
.icon-bar {
	background: #CCC!important;
}


/*
|--------------------------------------------------------------------------
| Hero
|--------------------------------------------------------------------------
*/

.flexslider, .flex-viewport {
	background: #EEE;
	width: 100%;
	height: 560px;
}
.flexslider .slides li {
	background-position: center center;
	width: 100%;
	height: 100%!important;
	-webkit-background-size: cover!important;
	-moz-background-size: cover!important;
	-o-background-size: cover!important;
	background-size: cover!important;
}
.flex-caption {
	display: table;
	width: 100%;
}
.flex-text {
	display: table-cell;
	vertical-align: middle;
	height: 560px;
	font-size: 38px;
	line-height: 48px;
	font-weight: 400;
	color: #fff;
	text-align: center;
	text-shadow: 2px 2px 10px rgba(0,0,0,0.80);
}
.flex-text h1 {
	padding-bottom: 20px;
	color: #FFF;
	text-transform: lowercase;
}
.flex-control-nav {
	bottom: 20px!important;
	z-index: 100!important;
}
@media (min-width: 768px) and (max-width: 991px) {

	.flexslider, .flex-viewport {
		height: 350px;
	}
	.flex-text {
		height: 350px;
	}

}

@media (max-width: 767px) {

	.flexslider, .flex-viewport {
		height: 300px;
	}
	.flex-text {
		height: 300px;
	}

}


/*
|--------------------------------------------------------------------------
| Pages
|--------------------------------------------------------------------------
*/

section {
	width: 100%;
	min-height: 100vh;
}
.welcome .col-left {
	background-color: rgb(127, 196, 229);
	min-height: 100vh;
}
.welcome .col-left .title h1 {
	margin: 80px 0px 60px 0px;
	font-size: 75px;
	font-weight: 900;
	color: #FFF;
}
.welcome .col-left .text {
	margin-bottom: 20px;
}
.welcome .col-left .text p {
	font-size: 27px;
	line-height: 37px;
	letter-spacing: 2px;
	color: #244072;
}
.welcome .col-left .button {
	display: inline-block;
	margin: 40px 0px;
	padding: 22px 80px;
	font-size: 25px;
	font-weight: 900;
	color: #244072;
	border: 4px solid #FFF;
}
.welcome .col-right .logo {
	position: absolute;
	height: 120px;
	top: 30px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}
.welcome .col-right {
	min-height: 100vh;
}
.welcome .col-right .phone-wrapper {
	position: absolute;
	width: 60%;
	height: 100%;
	top: 20%;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.welcome .col-right .phone-img {
	background: url('../images/phone.jpg') center 40% no-repeat;
	background-size: cover;
	width: 100%;
	height: 80%;
	border-top-left-radius: 350px;
	border-top-right-radius: 350px;
}

/* Section path */

.path {
	background-color: rgb(127, 196, 229);
}
.path .halfsection {
	min-height: calc(100vh / 2);
	padding: 0px 50px 0px 50px;
}
.plane-1 {
	position: absolute;
	background: url('../images/plane-1.png') center center no-repeat;
	background-size: 301px 80px;
	top: 30px;
	left: -180px;
	width: 301px;
	height: 80px;
}
.plane-2 {
	position: absolute;
	background: url('../images/plane-2.png') center center no-repeat;
	background-size: 141px 69.5px;
	top: 250px;
	left: -170px;
	width: 141px;
	height: 69.5px;
}
.plane-3 {
	position: absolute;
	background: url('../images/plane-3.png') center center no-repeat;
	background-size: 137.5px 80px;
	top: 50px;
	left: -150px;
	width: 137.5px;
	height: 80px;
}
.plane-4 {
	position: absolute;
	background: url('../images/plane-4.png') center center no-repeat;
	background-size: 238.5px 90px;
	top: 160px;
	left: 180px;
	width: 238.5px;
	height: 90px;
}
.path .col-spacer-top {
	padding-top: 90px;
}
.path h1 {
	margin-bottom: 40px;
	font-size: 65px;
	font-weight: 900;
	color: #244072;
}
.path p {
	font-size: 24px;
	line-height: 34px;
	color: #FFF;
}
.path .col-left .paragraph-upper, .path .col-left .paragraph-lower {
	padding: 30px 110px;
}

/* Section booking */

.booking img {
	width: 100%;
	margin: 0px -15px;
}
.booking .booking-text {
	padding: 100px 60px;
	text-align: center;
	background-color: #244072;
}
.booking .booking-text h1 {
	margin-bottom: 50px;
	font-size: 65px;
	font-weight: 900;
	color: #FFF;
}
.booking .button {
	display: inline-block;
	padding: 30px 90px;
	font-size: 40px;
	font-weight: 600;
	color: #FFF;
	border: 3px solid #FFF;
}
.booking .button:hover {
	background: #FFF;
	color: #244072;
	border: 3px solid #FFF;
}

/* Section functionality */

.functionality h1 {
	font-size: 70px;
	font-weight: 900;
	font-style: normal;
	text-shadow: 2px 2px 0px rgb(134, 132, 132);
	color: rgb(127, 196, 229)
}
.functionality h4 {
	margin-bottom: 30px;
	font-size: 60px;
	font-weight: 600;
	color: #244072;
}
.functionality .square-img {
	width: 430px;
	height: 430px;
	margin: auto;
	margin-bottom: 40px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position-x: center;
}
.functionality p {
	margin-bottom: 60px;
	font-size: 25px;
	line-height: 37px;
	font-weight: 400;
	color: #244072;
}
.functionality .itinerary-img {
	background-image: url('../images/mappamondo.jpg');
}
.functionality .transports-img {
	background-image: url('../images/pool.jpg');
}
.functionality .hotel-img {
	background-image: url('../images/bedroom.jpg');
}
.functionality .apartment-img {
	background-image: url('../images/living-room.jpg');
	background-position-y: center;
}
.functionality .tour-img {
	background-image: url('../images/temple.jpg');
}
.functionality .road-img {
	background-image: url('../images/map.jpg');
}
.functionality .rental-img {
	background-image: url('../images/car.jpg');
}
.functionality .activities-img {
	background-image: url('../images/statue-of-liberty.jpg');
}

/* Section video */

.video {
	background-color: #244072;
	padding: 40px 40px;
}
.video h1 {
	margin: 0px 0px 40px 0px;
	font-size: 80px;
	font-weight: 900;
	color: #FFF;
}
.video img {
	width: 100%;
	border-radius: 50px;
}

/* Section strength-points */

.strength-points .halfsection {
	min-height: calc(100vh / 2);
	padding: 0px 50px 0px 50px;
}
.strength-points .box-image {
	background-position: center center;
	background-repeat: no-repeat;
	margin: 60px auto 0 auto;
	height: 320px;
	width: 250px;
	border-top-left-radius: 200px;
	border-top-right-radius: 200px;
}
.strength-points .box-image.reliability {
	background-image: url('../images/stamp.jpg');
}
.strength-points .box-image.product {
	background-image: url('../images/pantone-colors.jpg');
}
.strength-points .box-image.assistance {
	background-image: url('../images/umbrella.jpg');
}
.strength-points .box-image.semplicity {
	background-image: url('../images/rocks.jpg');
	background-position: left;
}
.strength-points .paragraph {
	height: 100%;
	padding: 40px 0px;
	color: #244072;
}
.strength-points .paragraph h1 {
	font-size: 75px;
	font-weight: 900;
	margin: 40px 0px 30px 0px;
}
.strength-points .paragraph p {
	font-size: 30px;
	font-weight: 500;
	line-height: 45px;
	margin: 0px 0px 40px 0px;
}
.strength-points .paragraph a {
	font-size: 30px;
	font-weight:700;
	color: #244072;
}

/*
|--------------------------------------------------------------------------
| Footer
|--------------------------------------------------------------------------
*/

footer {
	margin-top: 50px;
	width: 100%;
	font-size: 14px;
	color: #244072;
}
footer .button {
	display: inline-block;
	padding: 30px 90px;
	font-size: 40px;
	font-weight: 600;
	color: #244072;
	border: 3px solid #244072;
}
footer .button:hover {
	background: #244072;
	color: #FFF;
	border: 3px solid #244072;
}
.copy-footer {
	margin-top: 50px;
	padding: 20px 0px;
}


/*
|--------------------------------------------------------------------------
| Forms
|--------------------------------------------------------------------------
*/

label {
	font-weight: 400;
}
input[type="text"], input[type="email"] {
	height: auto!important;
	padding: 12px 16px!important;
	border: 1px solid #CCC!important;
}
input[type="checkbox"] {
	margin-top: 16px;
	margin-right: 8px;
	cursor: pointer;
}
textarea {
	padding: 16px!important;
	border: 1px solid #CCC!important;
	resize: vertical;
}
input:focus, textarea:focus {
	outline: none!important;
	border: 1px solid #CCC!important;
	box-shadow: 0 0 4px #CCC!important;
}
.btn-default, .btn-default:disabled {
	background: #CCC;
	padding: 9px 18px;
	height: auto!important;
	font-size: 18px;
	font-weight: 700;
	color: #FFF!important;
	border: 1px solid #CCC;
	transition: color 0.3s linear, background 0.3s linear;
	-moz-transition: color 0.3s linear, background 0.3s linear;
	-webkit-transition: color 0.3s linear, background 0.3s linear;
}
.btn-default:hover, .btn-default:focus {
	background: #DDD;
	color: #FFF!important;
	border: 1px solid #CCC;
	outline: 0!important;
}
.btn-default.btn-lg, .btn-default.btn-lg:disabled {
	background: #CCC;
	padding: 12px 18px;
	font-size: 18px;
	font-weight: 700;
	color: #FFF!important;
	border: 1px solid #CCC;
	border-radius: 50px;
	transition: color 0.3s linear, background 0.3s linear;
    -moz-transition: color 0.3s linear, background 0.3s linear;
    -webkit-transition: color 0.3s linear, background 0.3s linear;
}
.btn-default.btn-lg:hover, .btn-default.btn-lg:focus {
	background: #DDD;
	color: #FFF!important;
	border: 1px solid #CCC;
	outline: 0!important;
}
.form-control::-webkit-input-placeholder {
	color: #b1b1b1;
}
.form-control:-moz-placeholder {
	color: #b1b1b1;
}
.form-control::-moz-placeholder {
	color: #b1b1b1;
}
.form-control:-ms-input-placeholder {
	color: #b1b1b1;
}


/*
|--------------------------------------------------------------------------
| Links
|--------------------------------------------------------------------------
*/

a:link, a:visited, a:active {
	text-decoration: none;
	color: #244072;
	transition: color 0.3s linear, background 0.3s linear;
    -moz-transition: color 0.3s linear, background 0.3s linear;
    -webkit-transition: color 0.3s linear, background 0.3s linear;
}
a:hover {
	text-decoration: none;
	color: #244072;
}
a.nav-link:link, a.nav-link:visited, a.nav-link:active {
	background: #FFF;
	padding: 39px 25px;
	text-decoration: none;
	color: #244072;
}
a.nav-link:hover {
	background: #EEE;
	text-decoration: none;
	color: #244072;
}
a.nav-link-attivo:link, a.nav-link-attivo:visited, a.nav-link-attivo:active {
	background: #DDD;
	padding: 39px 25px;
	text-decoration: none;
	color: #FFF;
}
a.nav-link-attivo:hover {
	background: #EEE;
	text-decoration: none;
	color: #FFF;
}
a.footer-link:link, a.footer-link:visited, a.footer-link:active {
	text-decoration: none;
	color: #FFF;
	border-bottom: none;
}
a.footer-link:hover {
	text-decoration: none;
	color: #333;
}


/*
|--------------------------------------------------------------------------
| Responsive: large desktop
|--------------------------------------------------------------------------
*/

@media (min-width: 1200px) {

}


/*
|--------------------------------------------------------------------------
| Responsive: desktop and tablet
|--------------------------------------------------------------------------
*/

@media (min-width: 992px) and (max-width: 1199px) {

	section {
		min-height: auto;
	}
	.welcome .col-left .title h1 {
		margin: 80px 0px 60px 0px;
		font-size: 65px;
	}
	.welcome .col-right .logo {
		height: 100px;
	}
	.functionality h1 {
		margin-bottom: 40px;
		font-size: 55px;
	}
	.functionality h4 {
		font-size: 45px;
	}

}


/*
|--------------------------------------------------------------------------
| Responsive: tablet portrait
|--------------------------------------------------------------------------
*/

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

	.container {
		padding: 0px 2%;
	}
	section {
		min-height: auto;
	}
	.logo-mobile {
		margin: 15px;
		height: 70px;
	}
	.welcome .col-left {
		min-height: auto;
	}
	.welcome .col-left .title h1 {
		margin: 0px;
		padding: 40px 0px;
		font-size: 40px;
	}
	.welcome .col-left .text {
		margin-bottom: 0px;
	}
	.welcome .col-left .text p {
		font-size: 22px;
		line-height: 32px;
	}
	.welcome .col-right {
		min-height: 50vh;
	}
	.welcome .col-right .phone-wrapper {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0%;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	.welcome .col-right .phone-img {
		background: url('../images/phone.jpg') center center no-repeat;
		background-size: cover;
		width: 100%;
		height: 100%;
		border-radius: 0px;
	}
	.path .halfsection {
		padding: 20px 30px 20px 30px;
	}
	.plane-1 {
		position: absolute;
		background: url('../images/plane-1.png') center center no-repeat;
		background-size: 301px 80px;
		top: -10px;
		left: 10px;
		width: 301px;
		height: 80px;
	}
	.plane-2 {
		position: absolute;
		background: url('../images/plane-2.png') center center no-repeat;
		background-size: 141px 69.5px;
		top: 370px;
		left: 0px;
		width: 141px;
		height: 69.5px;
	}
	.plane-3 {
		display: none;
	}
	.plane-4 {
		position: absolute;
		background: url('../images/plane-4.png') center center no-repeat;
		background-size: 238.5px 90px;
		top: 15px;
		left: 20px;
		width: 238.5px;
		height: 90px;
	}
	.path .col-spacer-top {
		padding-top: 80px;
	}
	.path h1 {
		margin-bottom: 20px;
		font-size: 45px;
	}
	.path p {
		font-size: 22px;
		line-height: 32px;
	}
	.path .col-left .paragraph-upper, .path .col-left .paragraph-lower {
		padding: 30px 110px;
	}
	.booking .booking-text {
		padding: 60px 30px;
	}
	.booking .booking-text h1 {
		font-size: 35px;
	}
	.booking .button {
		padding: 20px 20px;
		font-size: 20px;
	}
	.functionality h1 {
		font-size: 40px;
	}
	.functionality h4 {
		font-size: 35px;
	}
	.functionality .square-img {
		width: 330px;
		height: 330px;
		margin-bottom: 30px;
	}
	.functionality p {
		margin-bottom: 30px;
		font-size: 20px;
		line-height: 30px;
	}
	.video h1 {
		font-size: 25px;
	}
	.video img {
		border-radius: 20px;
	}
	.strength-points .box-image {
		background-position: center center;
		background-repeat: no-repeat;
		margin: 30px auto 0 auto;
		height: 250px;
		width: 200px;
		border-top-left-radius: 100px;
		border-top-right-radius: 100px;
	}
	.strength-points .text-right {
		text-align: left;
	}
	.strength-points .paragraph h1 {
		font-size: 45px;
		margin: 20px 0px 15px 0px;
	}
	.strength-points .paragraph p {
		font-size: 20px;
		line-height: 30px;
		margin: 0px 0px 20px 0px;
	}
	footer .button {
		padding: 20px 50px;
		font-size: 30px;
		line-height: 40px;
	}
	.copy-footer {
		text-align: center;
	}
	.copy-footer .text-right {
		text-align: center;
	}

}


/*
|--------------------------------------------------------------------------
| Responsive: phone
|--------------------------------------------------------------------------
*/

@media (max-width: 767px) {

	.container {
		padding: 0px 5%;
	}
	.navbar-header {
		width: 100%;
		margin: 0px!important;
	}
	.logo {
		margin: 10px 0px;
	}
	.logo img {
		height: 50px;
	}
	header nav {
		float: none;
		margin: 15px 0px;
	}
	header nav ul li {
		display: block;
		float: none;
		padding: 5px 0px;
		margin: 0px;
		text-align: center;
	}
	section {
		min-height: auto;
	}
	.logo-mobile {
		margin: 15px;
		height: 70px;
	}
	.welcome .col-left {
		min-height: auto;
	}
	.welcome .col-left .title h1 {
		margin: 0px;
		padding: 40px 0px;
		font-size: 40px;
	}
	.welcome .col-left .text {
		margin-bottom: 0px;
	}
	.welcome .col-left .text p {
		font-size: 22px;
		line-height: 32px;
	}
	.welcome .col-right {
		min-height: 50vh;
	}
	.welcome .col-right .phone-wrapper {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0%;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	.welcome .col-right .phone-img {
		background: url('../images/phone.jpg') center center no-repeat;
		background-size: cover;
		width: 100%;
		height: 100%;
		border-radius: 0px;
	}
	.path .halfsection {
		padding: 20px 30px 20px 30px;
	}
	.plane-1 {
		position: absolute;
		background: url('../images/plane-1.png') center center no-repeat;
		background-size: 301px 80px;
		top: -10px;
		left: 10px;
		width: 301px;
		height: 80px;
	}
	.plane-2 {
		position: absolute;
		background: url('../images/plane-2.png') center center no-repeat;
		background-size: 141px 69.5px;
		top: 440px;
		left: 0px;
		width: 141px;
		height: 69.5px;
	}
	.plane-3 {
		display: none;
	}
	.plane-4 {
		position: absolute;
		background: url('../images/plane-4.png') center center no-repeat;
		background-size: 238.5px 90px;
		top: -20px;
		left: 20px;
		width: 238.5px;
		height: 90px;
	}
	.path .col-spacer-top {
		padding-top: 80px;
	}
	.path h1 {
		margin-bottom: 20px;
		font-size: 45px;
	}
	.path p {
		font-size: 22px;
		line-height: 32px;
	}
	.path .col-left .paragraph-upper, .path .col-left .paragraph-lower {
		padding: 30px 110px;
	}
	.booking .booking-text {
		padding: 60px 30px;
	}
	.booking .booking-text h1 {
		font-size: 35px;
	}
	.booking .button {
		padding: 20px 20px;
		font-size: 20px;
	}
	.functionality h1 {
		font-size: 40px;
	}
	.functionality h4 {
		font-size: 35px;
	}
	.functionality .square-img {
		width: 330px;
		height: 330px;
		margin-bottom: 30px;
	}
	.functionality p {
		margin-bottom: 30px;
		font-size: 20px;
		line-height: 30px;
	}
	.video h1 {
		font-size: 25px;
	}
	.video img {
		border-radius: 20px;
	}
	.strength-points .box-image {
		background-position: center center;
		background-repeat: no-repeat;
		margin: 30px auto 0 auto;
		height: 250px;
		width: 200px;
		border-top-left-radius: 100px;
		border-top-right-radius: 100px;
	}
	.strength-points .text-right {
		text-align: left;
	}
	.strength-points .paragraph h1 {
		font-size: 45px;
		margin: 20px 0px 15px 0px;
	}
	.strength-points .paragraph p {
		font-size: 20px;
		line-height: 30px;
		margin: 0px 0px 20px 0px;
	}
	footer .button {
		padding: 20px 50px;
		font-size: 30px;
		line-height: 40px;
	}
	.copy-footer {
		text-align: center;
	}
	.copy-footer .text-right {
		text-align: center;
	}
	a.nav-link:link, a.nav-link:visited, a.nav-link:active {
		background: none;
		padding: 0px;
	}
	a.nav-link-attivo:link, a.nav-link-attivo:visited, a.nav-link-attivo:active {
		background: none;
		padding: 0px;
	}

}


/*
|--------------------------------------------------------------------------
| Responsive: 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;
	}

}
