
/* blu     = #272B60 */
/* azzurro = #337FB3 */
/* red     = #E52421 */
/* text    = #607D8B */
/* body bg = #fafafa */
/* grey    = #D8D8D8 */

/*------------------------------------*\
    GENERAL
\*------------------------------------*/

/* global box-sizing */

*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}

/* html element */

html {
	font-size: 100%;
}

body {
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 16px;
	font-weight: normal;
	line-height: 1.66em;
	color: #000;
	background: #fafafa;
	overflow-x: hidden;
}

img {
	width: 100%;
}

/* clear */
.clear:before,
.clear:after {
    content: ' ';
    display: table;
}

.clear:after {
    clear: both;
}

.clear {
    *zoom: 1;
}

/*------------------------------------*\
    TYPOGRAPHY
\*------------------------------------*/

@font-face {
	font-family: 'AcuminPro-Regular';
	src: url('/font/AcuminPro-Regular/AcuminPro-Regular.eot?#iefix') format('embedded-opentype'),  url('/font/AcuminPro-Regular/AcuminPro-Regular.otf')  format('opentype'),
		   url('/font/AcuminPro-Regular/AcuminPro-Regular.woff') format('woff'), url('/font/AcuminPro-Regular/AcuminPro-Regular.ttf')  format('truetype'), url('/font/AcuminPro-Regular/AcuminPro-Regular.svg#AcuminPro-Regular') format('svg');
	font-weight: normal;
	font-style: normal;
  }


@font-face {
	font-family: 'AcuminPro-Bold';
	src: url('/font/AcuminPro-Bold/AcuminPro-Bold.eot?#iefix') format('embedded-opentype'),  url('/font/AcuminPro-Bold/AcuminPro-Bold.otf')  format('opentype'),
		   url('/font/AcuminPro-Bold/AcuminPro-Bold.woff') format('woff'), url('/font/AcuminPro-Bold/AcuminPro-Bold.ttf')  format('truetype'), url('/font/AcuminPro-Bold/AcuminPro-Bold.svg#AcuminPro-Bold') format('svg');
	font-weight: normal;
	font-style: normal;
  }
  

@font-face {
    font-family: 'SFProDisplay-Regular';
    src: url('/font/SFProDisplay-Regular/SFProDisplay-Regular.eot?#iefix') format('embedded-opentype'),  url('/font/SFProDisplay-Regular/SFProDisplay-Regular.otf')  format('opentype'),
         url('/font/SFProDisplay-Regular/SFProDisplay-Regular.woff') format('woff'), url('/font/SFProDisplay-Regular/SFProDisplay-Regular.ttf')  format('truetype'), url('/font/SFProDisplay-Regular/SFProDisplay-Regular.svg#SFProDisplay-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'SFProDisplay-Bold';
    src: url('/font/SFProDisplay-Bold/SFProDisplay-Bold.eot?#iefix') format('embedded-opentype'),  url('/font/SFProDisplay-Bold/SFProDisplay-Bold.otf')  format('opentype'),
         url('/font/SFProDisplay-Bold/SFProDisplay-Bold.woff') format('woff'), url('/font/SFProDisplay-Bold/SFProDisplay-Bold.ttf')  format('truetype'), url('/font/SFProDisplay-Bold/SFProDisplay-Bold.svg#SFProDisplay-Bold') format('svg');
    font-weight: normal;
    font-style: normal;
}

body {
	font-family: 'AcuminPro-Regular';
	color: #607D8B;
}

h1, h2, h3, h4, h5, h6, p, a, strong, span {
	margin: 0 0 20px 0;
	line-height: 1.66em;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'AcuminPro-Bold';
	color: #272B60;
}

h1 {
	font-size: 36px;
}

h2 {
	font-size: 30px;
}

h3 {
	font-size: 24px;
}

h4 {
	font-size: 18px;
}

h5 {
	font-size: 16px;
}

h6 {
	font-size: 14px;
}

p, a, span {
	font-family: 'AcuminPro-Regular';
	font-size: 16px;
}

/*p {
	color: #607D8B;
}*/

p {
	color: #272B60;
}

a:hover {
	text-decoration: none;
}

/*------------------------------------*\
    BOOTSTRAP ELEMENT
\*------------------------------------*/

input::placeholder {
	line-height: 38px;
}

::-webkit-input-placeholder {
	line-height: 38px;
}
:-moz-placeholder {
	line-height: 38px;
}
:-ms-input-placeholder {
	line-height: 38px;
}

.input-group {
	margin-bottom: 10px;
}

.btn {
	padding: 8px 10px;
	min-width: 160px;
}

.btn-link {
	color: #272B60;
	text-decoration: underline;
}

form .btn-link {
	padding: 8px 10px 8px 0;
	margin-bottom: 20px;
}

.cover form .btn-link {
	position: absolute;
	bottom: -20px;
}

.btn:focus, .btn.focus {
	box-shadow: none;
}

.btn-outline-primary:focus, .btn-outline-primary.focus {
    box-shadow: none;
}

.btn.btn-primary {
	color: #fff;
	background: #E52421;
	border: 1px solid #E52421;
}

button.btn.btn-primary {
	padding: 8px 10px 4px 10px;
}

.btn.btn-outline-primary {
	color: #E52421;
	border: 1px solid #E52421;
}

.btn-outline-primary:hover {
	color: #fff;
	background: #E52421;
}

.btn.btn-outline-secondary {
	color: #272B60;
	border: 1px solid #272B60;
}

.btn-outline-secondary:hover {
	color: #fff;
	background: #272B60;
}

.btn-circle.btn-sm {
	font-size: initial;
}

label {
	color: #272B60;
}

#yii-debug-toolbar img {
	width: initial !important;
}

#yii-debug-toolbar span {
	margin: initial !important;
    line-height: initila !important;
}

.fa-chair:before {
	background-image: url('/img/icons/poltrona.svg');
	background-size: 38px 38px;
	display: inline-block;
	width: 38px;
	height: 38px;
	content:"";
	margin-bottom: -12px;
}

.alert {
	margin-bottom: 30px;
	padding: 15px;
}

/*------------------------------------*\
    INPUT ELEMENT
\*------------------------------------*/

input {
	height: 38px;
}

.input-group-sm > .form-control:not(textarea), .input-group-sm > .custom-select {
    height: 38px;
}

.form-control {
	height: 38px;
}

.form-control:focus {
    color: #272B60;
    background-color: #fff;
    border-color: #272B60;
    outline: 0;
    box-shadow: none;
}

.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: none;
}

.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
    border-color: #28a745;
    box-shadow: none;
}

.select2-dropdown {
	border: 1px solid #D8D8D8;
	padding: 0 11px;
}

.select2-selection {
	height: 38px !important;
	line-height: initial !important;
	padding: 7px 15px !important;
	box-shadow: none !important;
    /*background-color: #fff !important;*/
    /*border: 1px solid #D8D8D8 !important;*/
    border-radius: 5px !important;
	color: #272B60 !important;
	cursor: pointer !important;
	margin-bottom: 10px !important;
}

.select2-selection__arrow {
	width: 40px !important;
	border-left: 0 !important;
}

.select2-container--krajee-bs4 li.select2-results__option {
	background-color: initial !important;
}

/*.select2-selection__clear {
	display: none !important;
}*/

.select2-container--krajee-bs4 li.select2-results__option--highlighted[aria-selected] {
	background-color: #272B60 !important;
}

.select2-container--krajee-bs4 li.select2-results__option {
    color: initial;
	background-color: transparent;
	margin-top: 10px;
	margin-bottom: 10px;
}

.select2-container--krajee-bs4:not(.select2-container--disabled) .select2-dropdown {
    box-shadow: none;
    box-shadow: none;
    border-color: #D8D8D8;
    overflow-x: hidden;
    margin-top: -3px;
}

.input-sm.select2-container--krajee-bs4.select2-container--open .select2-selection--single .select2-selection__arrow b, .input-group-sm .select2-container--krajee-bs4.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-width: 0 0.25rem 0.375rem 0.25rem;
}

.prenotazione-plus,
.prenotazione-minus {
	min-width: initial;
	margin: 5px 0;
}

.prenotazione-plus {
	float: right;
}

.input-group-sm > .form-control, .input-group-sm > .custom-select, .input-group-sm > .input-group-prepend > .input-group-text, .input-group-sm > .input-group-append > .input-group-text, .input-group-sm > .input-group-prepend > .btn, .input-group-sm > .input-group-append > .btn {
	padding: 0 15px;
	font-size: 16px;
}

#previous-step {
	background: transparent;
	color: #E52421;
}

/*------------------------------------*\
    TABLES
\*------------------------------------*/

.table thead th {
	border-bottom: 1px;
}

/*------------------------------------*\
    BREADCRUMB
\*------------------------------------*/

.breadcrumb {
	margin: 0;
	padding: 30px 0 20px 0;
	background: transparent;
	font-size: 14px;
	color: #337FB3;
	line-height: 1.33em;
}

.breadcrumb a,
.breadcrumb span  {
	font-size: 14px;
	margin: 0 5px;
	text-transform: capitalize;
	color: #337FB3 !important;
}

.breadcrumb a:first-child {
	margin-left: 0;
}

/*------------------------------------*\
    WIZARD
\*------------------------------------*/

::marker {
	display: none;
	color: transparent;
}

ol.wizard-steps {
	position: relative;
	overflow: hidden;
	counter-reset: wizard;
	padding-left: 0;
	margin-bottom: 30px;
}

ol.wizard-steps li {
	position: relative;
	float: left;
	width: 25%;
	text-align: center;
	color: #E52421;
}

ol.wizard-steps .current ~ li {
	color: #272B60;
}

ol.wizard-steps li:before {
	counter-increment: wizard;
	content: counter(wizard);
	display: block;
	color: #fff;
	background-color: #E52421;
	border: 2px solid #E52421;
	text-align: center;
	width: 2em;
	height: 2em;
	line-height: 2em;
	border-radius: 2em;
	position: relative;
	left: 50%;
	margin-bottom: 1em;
	margin-left: -1em;
	z-index: 1;
}

ol.wizard-steps .current ~ li:before {
	background-color: #272B60;
	color: #fff;
	border-color: #272B60;
}

ol.wizard-steps li + li:after {
	content: "";
	display: block;
	width: 100%;
	background-color: #E52421;
	height: 2px;
	position: absolute;
	left: -50%;
	top: 1em;
	z-index: 0;
}

ol.wizard-steps .current ~ li:after {
	background-color: #272B60;
}

/*------------------------------------*\
    PAGINAZIONE
\*------------------------------------*/

.paginazione {
	padding: 0 15px 0 15px;
}

.paginazione .load-more {
	display: block !important;
    margin: 0 auto 30px auto !important;
}

/*------------------------------------*\
    CALL TO
\*------------------------------------*/

.row.titolo .call-to {
	text-align: right;
}

.row.titolo .call-to a {
	font-size: 20px;
	font-weight: bold;
	color: #E52421;
	line-height: 58px;
}

.row.call-to-footer {
	display: none;
	text-align: center;
	padding: 40px 15px 0 15px;
}

.row.call-to-footer a {
	font-size: 20px;
	font-weight: bold;
	color: #E52421;
	margin-bottom: 0;
}

/*------------------------------------*\
    NAVIGATION
\*------------------------------------*/

header {
	border-bottom: 1px solid #D8D8D8;
}

header .container {
	height: 60px;
	display: flex;
    align-items: center;
}

header .logo {
	position: absolute;
	top: 10px;
	z-index: 999;
}

header .logo img {
	min-width: 408px;
}

header .navbar {
	width: 100%;
	padding: 0;
	display: block;
}

header .navbar .collapse {
	justify-content: flex-end;
}

header .navbar-expand-lg .navbar-nav .nav-item {
	margin-left: 20px;
}

header .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 0;
    padding-left: 0;
}

header .navbar a {
	font-size: 14px;
	color: #272B60;
	margin: 0;
	padding: 8px 10px 4px 10px;
}

header .navbar a.btn {
	min-width: 160px;
}

header .navbar a:last-child {
	margin-right: 0;
}

.navbar-toggler {
	display: none;
}

header .servizio {
	padding: 0 15px;
	height: 40px;
}

header .servizio .menu {
	margin: 0 0 0 auto;
}

header .servizio .language {
	margin-left: 30px;
}

header .servizio a {
	margin-bottom: 0;
}

header .servizio .btn {
	height: 30px;
	padding: 0;
	min-width: 0;
}

header .servizio .select2-container {
	display: none;
}

header .servizio .btn.dropdown-toggle::after {
	display: none;
}

header .servizio .language .dropdown-menu {
	padding: 0;
	margin: 0;
}

header .servizio .language .dropdown-menu .dropdown-menu {
	padding: 20px 20px 10px 20px;
	border: 0;
}

header .servizio .language .dropdown-menu.open .dropdown-menu {
	position: relative;
	display: block;
}

header .servizio .language .dropdown-menu.open .dropdown-menu li {
	cursor: pointer;
}

header .servizio .language .dropdown-menu.open .dropdown-menu li a {
	outline: none;
	color: #272B60;
}

header .servizio .phone {
	color: #272B60;
	margin-left: 30px;
}

header .servizio .mail {
	color: #272B60;
	margin-left: 30px;
}

header .servizio .phone img {
	height: 20px;
	width: auto;
	display: inline-block;
	margin-right: 5px;
}

header .servizio .mail img {
	height: 20px;
	width: auto;
	display: inline-block;
	margin-right: 5px;
}

/*------------------------------------*\
    COVER
\*------------------------------------*/

.cover {
	position: relative;
}

.cover h1 {
	color: #fff;
}

.cover .cover-img {
	min-height: 540px;
	max-height: 540px;
	object-fit: cover;
	position: absolute;
    z-index: -1;
}

.cover .container {
	min-height: 540px;
    display: flex;
  	flex-direction: column;
  	justify-content: center;
}

.cover .container h1 {
	margin-top: 30px;
}

/*------------------------------------*\
    COVER SMALL
\*------------------------------------*/

.cover.small h1 {
	text-align: center;
}

.cover.small .cover-img {
	max-height: 540px;
	object-fit: cover;
	position: absolute;
    z-index: -1;
}

.cover.small .container {
	height: 100vh;
    max-height: 400px;
    display: flex;
  	flex-direction: column;
  	justify-content: center;
}

/*------------------------------------*\
    INTRO
\*------------------------------------*/

.intro {
	margin-bottom: 20px;
}

/*------------------------------------*\
    SEARCH FORM
\*------------------------------------*/

.search-wrapper {
	background: #fff;
    padding: 20px;
	border-radius: 5px;
	position: relative;
	margin-bottom: 60px;
}

.search-wrapper form + form {
	position: absolute;
	bottom: 15px;
}

#paxform-mode .custom-control-label {
	white-space: nowrap;
}


.search-wrapper form + form .btn {
	padding-left: 0;
}

.search-wrapper .form-control {
	height: 50px;
}

.search-wrapper .form-row .submit button {
	width: 100%;
	padding: 12px 10px;
}

.search-wrapper .prenotazione-card {
	margin-top: 0 !important;
}

.search-wrapper .selezione-passeggeri {
	margin-top: 0;
}

.search-wrapper .selezione-passeggeri label {
	display: none;
}

.search-wrapper .aggiungi-tratta {
	max-width: 60px;
}

.search-wrapper .krajee-datepicker {
	padding: 15px 15px 10px 15px;
}

.next-step {
	margin-top: 0 !important;
	margin-bottom: 0;
}

.next-step button {
	width: 100%;
}

.clear-form {
	position: absolute;
    bottom: 20px;
    left: 10px;
}

/*------------------------------------*\
    SECTION OFFERTE
\*------------------------------------*/

.section.offerte {
	padding-top: 30px;
}

.section.offerte .titolo {
	margin-bottom: 0;
}

.section.offerte .titolo h2 {
	font-size: 35px;
}

.offerta-singola a {
	display: block;
	margin-bottom: 0;
}

.offerta-singola img {
	border-top-right-radius: 5px;
	border-top-left-radius: 5px;
	height: 260px;
    object-fit: cover;
}

.offerta-singola .info {
	display: flex;
	height: 102px;
	overflow: hidden;
}

.offerta-singola .info .descrizione {
	width: 67%;
	background: #272B60;
	display: inline-block;
	padding: 12px 20px;
	border-bottom-left-radius: 5px;
}

.offerta-singola .info p {
	margin-bottom: 0;
}

.offerta-singola .info p.luogo {
	font-family: 'AcuminPro-Bold';
	font-size: 16px;
	line-height: initial;
	color: #fff;
	height: 100%;
	display: flex;
    flex-direction: column;
    justify-content: center;
}

.offerta-singola .info p.prezzo {
	background: #61B0DF;
	line-height: 1;
	display: inline-block;
	width: 33%;
	padding: 12px 20px;
	border-bottom-right-radius: 5px;
	flex-direction: column;
    justify-content: center;
    display: flex;
}

.offerta-singola .info p.prezzo span.label {
	font-size: 15px;
	line-height: 1;
	color: #fff;
	display: block;
	margin-top: 10px;
	margin-bottom: 0;
}

.offerta-singola .info p.prezzo span.price {
	font-size: 38px;
	line-height: 1;
	color: #fff;
	display: block;
	margin-bottom: 0;
}

.offerta-singola .info.no-price .descrizione {
	width: 100%;
	border-bottom-right-radius: 5px;
}

.offerta-singola .info p.titolo {
	font-family: 'AcuminPro-Bold';
	font-size: 16px;
	color: #fff;
}

/*------------------------------------*\
    SECTION MAPPA
\*------------------------------------*/

.section.destinazioni {
	padding-top: 0;
}

.section.destinazioni .titolo {
	margin-bottom: 0;
}

.section.destinazioni .titolo h2 {
	font-size: 35px;
}

/*------------------------------------*\
    SECTION COMPAGNIE
\*------------------------------------*/

.section.compagnie {
	margin-top: 60px;
	padding-top: 30px;
	padding-bottom: 20px;
	background: #fff;
}

.section.compagnie .titolo {
	margin-bottom: 30px;
}

.section.compagnie .titolo h2 {
	font-size: 35px;
	margin-bottom: 0;
}

.section.compagnie .lista {
	margin-bottom: 0;
}

.section.compagnie .call-to-footer {
	padding: 20px 15px 0 15px;
}

/*------------------------------------*\
    SECTION NEWS
\*------------------------------------*/

.section.news {
	padding-top: 0;
}

.section.news.hub {
	padding-top: 30px;
}

.section.news .titolo {
	margin-bottom: 20px;
}

.section.news .titolo h2 {
	font-size: 35px;
	margin-bottom: 0;
}

.section.news .news-singola .news-widget {
	margin-bottom: 30px;
}

.section.news .news-singola img {
	border-top-right-radius: 5px;
	border-top-left-radius: 5px;
	height: 260px;
    object-fit: cover;
}

.section.news .news-singola .content {
	background: #fff;
	padding: 15px 20px;
	border-bottom-right-radius: 5px;
	border-bottom-left-radius: 5px;
}

.section.news .news-singola .content h4 {
	color: #10204C;
	margin-bottom: 10px;
}

.section.news .news-singola .content p {
	margin-bottom: 0;
}

/*------------------------------------*\
    COMPAGNIE HUB
\*------------------------------------*/

.section.compagnie.hub {
	margin-top: 0;
	padding-top: 30px;
	padding-bottom: 10px;
	background: #fff;
}

/*------------------------------------*\
    SCHEDA
\*------------------------------------*/

.section.scheda {
	
}

.section.scheda .titolo {

}

.section.scheda .titolo h1 {
	
}

.section.scheda .content {
	text-align: justify;
}

.section.scheda .content p {

}

.section.scheda .content img {
    object-fit: cover;
	margin-bottom: 20px;
}

.section.scheda .content .offerta-singola img {
	margin-bottom: 0;
}

/*------------------------------------*\
    DESTINAZIONI
\*------------------------------------*/

#map {
	height: calc(100vh - 90px);
}

/* infowindow */

.gm-style .gm-style-iw-c {

}

.gm-style .gm-style-iw-c .infowindow-content {

}

.gm-style .gm-style-iw-c .infowindow-content h6 {
	color: #E52421;
	margin-bottom: 0;
}

/*------------------------------------*\
    SCHEDA OFFERTA
\*------------------------------------*/

.section.scheda.compagnia {
	margin-bottom: 40px;
}

.section.scheda.compagnia .singola-news img {
	margin-bottom: 20px;
}

/*------------------------------------*\
    SCHEDA NEWS
\*------------------------------------*/

.section.scheda.new {
	margin-bottom: 40px;
}

.correlati {
	padding-top: 30px;
	padding-bottom: 0;
	margin-bottom: 0;
	background: #E7E7E7;
}

.correlati  .section.news .titolo h2 {
	font-size: 30px;
}

.offerta-widget {
	margin-bottom: 30px;
}

/*------------------------------------*\
    SCHEDA COMPAGNIA
\*------------------------------------*/

.informazioni-correlate {
	margin-bottom: 40px;
}

.informazioni-correlate a {
	color: #E52421;
}

.informazioni-correlate a img {
	height: 20px;
	width: auto;
	margin-right: 5px;
	margin-bottom: 0 !important;
	vertical-align: middle;
}


/*------------------------------------*\
    FAQS
\*------------------------------------*/

.section.faqs {
    padding-top: 60px;
}

.section.faqs .card {
	margin-bottom: 20px;
}

.section.faqs .card .btn {
	color: #E52421;
}

/*------------------------------------*\
    PAGINE DI SERVIZIO
\*------------------------------------*/

.container.section.service p {
	text-align: left !important;
}

.container.section.service p {
	text-align: left !important;
}

/*------------------------------------*\
    PRENOTAZIONE
\*------------------------------------*/

.section-trips {
	padding-top: 30px;
}

.section-trips .titolo-info-tratta {
	display: inline-block;
	padding: 0 20px 0 0;
}

.section-trips .titolo-info-tratta + .titolo-info-tratta {
	border-left: 1px solid;
}

.section-trips .titolo-info-tratta p.numero-tratta {
	color: #272B60;
	margin-bottom: 0 !important;
}

.section-trips .titolo-info-tratta h1.titolo-tratta {
	font-size: 18px;
	margin-bottom: 0;
}

.section-trips .titolo-info-tratta p.data-tratta {
	color: #272B60;
	margin-bottom: 0;
}

.section-trips .card {
	padding: 5px 15px 15px 15px;
	margin: 30px 15px 0 15px;
}

.section-trips .col-logo {
	text-align: center;
}

.section-trips .logo {
	text-align: center;
}

.section-trips .logo img {
	object-fit: contain;
	width: 200px;
	/*height: 50px;
	margin-left: -40px;*/
}

.section-trips .logo p {
	display: none;
	color: #272B60;
}

.section-trips .durata {

}

.section-trips .durata .partenza {
	width: 100px;
	display: inline-block;
	float: left;
	text-align: left;
	margin-top: 0;
}

.section-trips .durata .partenza p {
	color: #272B60;
	margin-bottom: 0;
	white-space: nowrap;
}

.section-trips .durata .partenza p.orario {
	font-weight: bold;
}

.section-trips .durata .tragitto {
	height: 50px;
	width: calc(100% - 200px);
	display: inline-block;
	float: left;
}

.section-trips .durata .tragitto .tratta:after {
	content: '';
	height: 1px;
	width: calc(100% - 30px);
	background-color: #272B60;
	display: block;
	margin: -12px auto;
}

.section-trips .durata .tragitto img {
	height: 40px;
	width: initial;
}

.section-trips .durata .tragitto img + img {
	float: right;
}

.section-trips .durata .tragitto p.durata {
	color: #272B60;
	font-weight: bold;
	text-align: center;
	position: absolute;
	left: 0;
	width: 100%;
	margin-top: -15px;
}

.section-trips .durata .tragitto p.imbarcazione {
	color: #272B60;
	font-weight: bold;
	text-align: center;
	position: absolute;
	width: 100%;
	text-align: center;
	left: 0;
	margin-top: 15px;
}

.section-trips .durata .arrivo {
	width: 100px;
	display: inline-block;
	float: left;
	text-align: right;
	margin-top: 0;
	position: relative;
}

.section-trips .durata .arrivo p {
	color: #272B60;
	margin-bottom: 0;
	white-space: nowrap;
}

.section-trips .durata .arrivo p.porto {
	position: absolute;
	right: 0;
}

.section-trips .durata .arrivo p.orario {
	font-weight: bold;
}

.section-trips .accomodamento {
	display: flex;
	padding-top: 10px;
}

.section-trips .accomodamento .opzione {
	width: 30%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-left: 1px solid;
}

.section-trips .accomodamento .opzione p {
	margin-bottom: 0;
}

.section-trips .accomodamento .opzione .nome {
	text-align: center;
}

.section-trips .accomodamento .opzione .nome i {
	font-size: 30px;
	display: block;
	color: #272B60;
	margin: 0 auto 10px auto;
}

.section-trips .accomodamento .opzione .prezzo {
	font-weight: bold;
	color: #272B60;
	text-align: center;
}

.section-trips .accomodamento .opzione.select {
	width: 60px;
}

.section-trips .accomodamento .opzione.select input {
	margin: 0 auto;
}

.section-accomodations {
	margin-top: 60px;
}

.section-accomodations .aggiorna-dati {
	text-align: center;
}

.section-accomodations .aggiorna-dati a {
	font-size: 14px;
	background-color: #272B60;
	padding: 8px 10px 4px 10px;
	margin-bottom: 30px;
}

.section-accomodations .titolo-info-tratta p.numero-tratta {
	color: #272B60;
	margin-bottom: 0 !important;
}

.section-accomodations .titolo-info-tratta h1.titolo-tratta {
	font-size: 18px;
	margin-bottom: 0;
}

.section-accomodations .titolo-info-tratta p.data-tratta {
	color: #272B60;
	margin-bottom: 0;
}

.section-accomodations .card {
	margin-top: 0;
}

.section-accomodations .card {
	padding: 15px;
	margin-top: 0 !important;
	margin-bottom: 30px;
}

.section-accomodations .col-logo {
	text-align: center;
}

.section-accomodations .logo {
	text-align: center;
}

.section-accomodations .logo img {
	width: 150px;
	object-fit: contain;
}

.section-accomodations .logo p {
	display: none;
	color: #272B60;
}

.section-accomodations .durata {

}

.section-accomodations .durata .partenza {
	width: 100px;
	display: inline-block;
	float: left;
	text-align: left;
	margin-top: 0;
}

.section-accomodations .durata .partenza p {
	color: #272B60;
	margin-bottom: 0;
	white-space: nowrap;
}

.section-accomodations .durata .partenza p.orario {
	font-weight: bold;
}

.section-accomodations .durata .tragitto {
	height: 50px;
	width: calc(100% - 200px);
	display: inline-block;
	float: left;
	margin-top: 15px;
}

.section-accomodations .durata .tragitto .tratta:after {
	content: '';
	height: 1px;
	width: calc(100% - 30px);
	background-color: #272B60;
	display: block;
	margin: -12px auto;
}

.section-accomodations .durata .tragitto img {
	height: 40px;
	width: initial;
}

.section-accomodations .durata .tragitto img + img {
	float: right;
}

.section-accomodations .durata .tragitto p {
	color: #272B60;
	font-weight: bold;
	text-align: center;
	position: absolute;
	left: 0;
	width: 100%;
	margin-top: -15px;
}

.section-accomodations .durata .tragitto p.imbarcazione {
	color: #272B60;
	font-weight: bold;
	text-align: center;
	position: absolute;
	left: 0;
	width: 100%;
	margin-top: 15px;
}

.section-accomodations .durata .arrivo {
	width: 100px;
	display: inline-block;
	float: left;
	text-align: right;
	margin-top: 0;
	position: relative;
}

.section-accomodations .durata .arrivo p {
	color: #272B60;
	margin-bottom: 0;
	white-space: nowrap;

}

.section-accomodations .arrivo p.porto {
	position: absolute;
	right: 0;
}

.section-accomodations .durata .arrivo p.orario {
	font-weight: bold;
}

.section-accomodations #accommodations-form {

}

.section-accomodations #accommodations-form h3 {
	margin-top: 20px;
}

.section-accomodations #accommodations-form p {
	color: #272B60;
}

.section-reservations {
	margin-top: 60px;
}

table tfoot {

}

.section-reservations .titolo-info-tratta p.numero-tratta {
	color: #272B60;
	margin-bottom: 0 !important;
}

.section-reservations .titolo-info-tratta h1.titolo-tratta {
	font-size: 18px;
	margin-bottom: 0;
}

.section-reservations .titolo-info-tratta p.data-tratta {
	color: #272B60;
	margin-bottom: 0;
}

.section-reservations .card {
	padding: 15px;
	margin-top: 0 !important;
	margin-bottom: 30px;
}

.section-reservations .col-logo {
	text-align: center;
}

.section-reservations .logo {
	text-align: center;
}

.section-reservations .logo img {
	width: 150px;
	object-fit: contain;
}

.section-reservations .logo p {
	display: none;
	color: #272B60;
}

.section-reservations .durata {

}

.section-reservations .durata .partenza {
	width: 100px;
	display: inline-block;
	float: left;
	text-align: left;
	margin-top: 0;
}

.section-reservations .durata .partenza p {
	color: #272B60;
	margin-bottom: 0;
}

.section-reservations .durata .partenza p.orario {
	font-weight: bold;
}

.section-reservations .durata .tragitto {
	height: 50px;
	width: calc(100% - 200px);
	display: inline-block;
	float: left;
	margin-top: 15px;
}

.section-reservations .durata .tragitto .tratta:after {
	content: '';
	height: 1px;
	width: calc(100% - 30px);
	background-color: #272B60;
	display: block;
	margin: -12px auto;
}

.section-reservations .durata .tragitto img {
	height: 40px;
	width: initial;
}

.section-reservations .durata .tragitto img + img {
	float: right;
}

.section-reservations .durata .tragitto p {
	color: #272B60;
	font-weight: bold;
	text-align: center;
	position: absolute;
	left: 0;
	width: 100%;
	margin-top: -15px;
}

.section-reservations .durata .tragitto p.imbarcazione {
	color: #272B60;
	font-weight: bold;
	text-align: center;
	position: absolute;
	left: 0;
	width: 100%;
	margin-top: 15px;
}

.section-reservations .durata .arrivo {
	width: 100px;
	display: inline-block;
	float: left;
	text-align: right;
	margin-top: 0;
	position: relative;
}

.section-reservations .durata .arrivo p {
	color: #272B60;
	margin-bottom: 0;
	white-space: nowrap;
}

.section-reservations .durata .arrivo p.orario {
	font-weight: bold;
}

.section-reservations .durata .arrivo p.porto {
	position: absolute;
	right: 0;
}

.section-reservations #reservation-form {

}

.section-reservations #reservation-form h3 {
	margin-top: 30px;
}

.section-reservations #reservation-form p {
	color: #272B60;
}

.section-reservations #reservation-form > .row {
	margin-bottom: 0;
}

.section-reservations #reservation-form .passenger-leader {
	margin-bottom: 30px;
}

.section-reservations #reservation-form hr {
	margin-top: 30px;
	margin-bottom: 30px;
}

.btn-navigation {
	margin-top: 40px !important;
}

.btn-navigation a.btn {
	padding: 8px 10px 4px 10px !important;
}

/*------------------------------------*\
    BOX STEP WIZARD
\*------------------------------------*/

.box {
	border-radius: 5px;
	box-shadow: 0 1px 9px 1px #cfcfcf;
	padding-bottom: 30px;
}

.box .alert {
	margin-bottom: 0;
}

.box h3 {
	padding: 15px;
	margin-bottom: 0;
	margin-top: 0;
	background: #E52421;
	color: #fff;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}

.box .informazioni {
	padding: 0 15px;
}

.box .section-accomodations .card {

}

.totale-pratica {
	border-radius: 5px;
	box-shadow: 0 1px 9px 1px #cfcfcf;
	padding-bottom: 1px;
	margin-bottom: 30px;
}

.totale-pratica h3 {
	padding: 15px;
	margin-bottom: 0;
	margin-top: 0;
	background: #E52421;
	color: #fff;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}

.totale-pratica .informazioni {

}

.totale-pratica .informazioni h4 {
	margin-top: 20px;
}

.totale-pratica tbody tr:nth-child(odd) {
	background: #f5f5f5;
}

.totale-pratica #reservation-form {
	padding: 0 15px;
}

.assicurazione {
	border-radius: 5px;
	box-shadow: 0 1px 9px 1px #cfcfcf;
	padding-bottom: 1px;
}

.assicurazione h4 {
	padding: 15px;
	margin-bottom: 0;
	margin-top: 0;
	background: #E52421;
	color: #fff;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}

.assicurazione>.row {
	padding: 15px;
}

.assicurazione .reservations-conditions {
	margin-top: -15px;
	padding-bottom: 15px;
	border-top: 1px solid #e4e4e4;
}

.assicurazione .reservations-conditions>div {
	padding: 15px 15px 0 15px;
	margin-bottom: 0;
}

.passeggeri {
	border-radius: 5px;
	box-shadow: 0 1px 9px 1px #cfcfcf;
	padding-bottom: 1px;
	margin-bottom: 30px;
}

.passeggeri h4 {
	padding: 15px;
	margin-bottom: 0;
	margin-top: 0;
	background: #E52421;
	color: #fff;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}

.passeggeri>.row {
	padding: 15px;
}

.passeggeri .reservations-conditions {
	margin-top: -15px;
	padding-bottom: 15px;
	border-top: 1px solid #e4e4e4;
}

.passeggeri .reservations-conditions>div {
	padding: 15px 15px 0 15px;
	margin-bottom: 0;
}

.table th, .table td {
	padding: 10px;
}

.table tfoot {
	font-size: 24px;
}

/*------------------------------------*\
    MODALS
\*------------------------------------*/

.modal-header {
	padding: 20px 15px 15px 15px;
}

.modal-title {
	font-size: 24px;
	line-height: 1.66em;
}

.modal-body {
	padding: 20px 15px 15px 15px;
}

.modal-body .alert {
	padding: 20px 15px 15px 15px;
	margin-bottom: 40px;
}

.modal-body p {
	margin-bottom: 10px;
}

.modal-body .row {
	margin-bottom: 20px;
}

.modal-footer button[type="button"] {
	text-transform: lowercase;
	background-color: #272B60;
	border-color: #272B60;
}

/*------------------------------------*\
    FOOTER
\*------------------------------------*/

.footer {
	padding-top: 30px;
	padding-bottom: 20px;
	border-top: 1px solid #D8D8D8;
}

/*.footer:before {
	content: '';
	display: block;
	width: 100%;
	max-width: 1110px;
	height: 1px;
	margin: 0 auto 40px auto;
	background: #D8D8D8;
}*/

.footer a {
	color: #272B60;
	display: block;
	margin-bottom: 10px;
}

.footer .info {
	margin-bottom: 20px;
}

.footer .info .logo {
	max-width: 160px;
	margin-bottom: 20px;
}

.footer .lista {

}

.footer .lista.titolo {
	padding-top: 0;
}

.footer .lista.titolo h5 {
	line-height: 60px;
    margin-bottom: 20px;
    height: 35px;
}

/*------------------------------------*\
    MEDIA QUERIES
\*------------------------------------*/

/* Extra small devices (portrait phones, less than 576px) */
@media only screen and (max-width: 575.98px) { 

}

/* Small devices (landscape phones, less than 768px) */
@media only screen and (max-width: 767.98px) { 

}

/* Medium devices (tablets, less than 992px) */
@media only screen and (max-width: 991.98px) { 

	.clear-form {
		position: relative;
		bottom: initial;
		left: -10px;
		margin-top: 20px;
	}

	#content {
		padding-top: 120px;
	}

	/*------------------------------------*\
    	TYPOGRAPHY
	\*------------------------------------*/
	
	h1 {
	font-size: 36px;
	}

	h2 {
		font-size: 30px;
	}

	h3 {
		font-size: 24px;
	}

	h4 {
		font-size: 18px;
	}

	h5 {
		font-size: 16px;
	}

	h6 {
		font-size: 14px;
	}

	/*------------------------------------*\
    	CALL TO
	\*------------------------------------*/

	.row.titolo .call-to a {
		display: none;
	}

	.row.call-to-footer {
		display: block;
		border: 2px solid #E52421;
		border-radius: 5px !important;
		padding: 0;
		margin: 0 15px;
	}

	/*------------------------------------*\
    	NAVIGATION
	\*------------------------------------*/

	header {
		width: 100%;
	    position: fixed;
    	background: #fff;
    	z-index: 999;
	}

	header .container {
    	height: 60px;
    }

    header .logo {
    	max-width: 160px;
		top: 70px;
	}
	
	header .logo img {
		min-width: 100%;
		width: 160px;
		height: 27px;
		object-fit: cover;
	}

	header .navbar {
		position: fixed;
	    top: 100px;
	    background: white;
	    left: 0;
	}

	.navbar-toggler {
	    right: 11px;
    	position: absolute;
    	padding: 0;
    	display: block;
		z-index: 999;
    }

    .navbar-toggler-icon {
	    width: initial;
    	height: initial;
    	margin: 0;
    }

    header .navbar .collapse {
	    position: fixed;
	    left: 0;
	    width: 100vw;
	    background: #fff;
	    top: 100px;
	}

	header .navbar-expand-lg .navbar-nav {
		padding: 15px;
	}

	header .navbar-expand-lg .navbar-nav .nav-item {
    	margin-left: 0;
	}

	header .navbar-expand-lg .navbar-nav .nav-item .nav-link {
		margin: 0;
	}

	header .navbar-expand-lg .navbar-nav .nav-item .nav-link.btn {
		margin: 10px 0;
	}

	header .servizio {
		white-space: nowrap;
	}
	header .servizio .menu {
		margin: 0 auto;
	}
	header .servizio .phone {
		margin-left: 0;
	}
	header .servizio .mail {
		margin-left: 15px;
	}
	header .servizio .language {
		margin-left: 15px;
		width: 24px;
	}
	header .servizio .btn {
		color: transparent;
	}

	.breadcrumb {
		white-space: nowrap;
		overflow: scroll;
		display: block;
		padding: 20px 0 0 0;
	}

	/*------------------------------------*\
	    COVER
	\*------------------------------------*/

	.cover {
		min-height: 100vh;
		height: 100%;
	}

	.cover .cover-img {
		max-height: initial;
		height: 100vh;
	}

	.cover .container {
		min-height: 100vh;
		max-height: initial;
		height: 100%;
	}

	/*------------------------------------*\
	    COVER SMALL
	\*------------------------------------*/

	.cover.small .container {
		max-height: 100%;
	}

	.cover.small .cover-img {
		max-height: 100%;
		height: 100vh;
	}

	/*------------------------------------*\
	    SECTION PRENOTAZIONE
	\*------------------------------------*/

	#prenotazione {
		margin-bottom: 30px;
	}

	#prenotazione .custom-control {
		display: block;
	}

	.search-wrapper form + form {
		position: relative;
	}

	#prenotazione .btn-link {
		position: relative;
		margin-top: 0;
		margin-bottom: 15px;
	}

	/*------------------------------------*\
	    SECTION OFFERTE
	\*------------------------------------*/

	.section.offerte {
		padding-top: 0;
	}

	.section.offerte .titolo {
		margin-bottom: 0;
	}

	.section.offerte .titolo h2 {
		font-size: 32px;
	}

	.section.offerte .offerta-singola > div {
		margin-bottom: 20px;
	}

	.section.offerte .call-to-footer {
	    padding: 0px 15px 0 15px;
	}

	.section.offerte .intro h1 {
		margin-top: 30px;
	}

	/*------------------------------------*\
    	SECTION MAPPA
	\*------------------------------------*/

	.section.destinazioni img {
		margin-bottom: 40px;
	}

	.section.destinazioni .titolo h2 {
    	font-size: 32px;
		margin-bottom: 0;
	}

	/*------------------------------------*\
    	SECTION COMPAGNIE
	\*------------------------------------*/

	.section.compagnie.hub {
		padding-top: 30px
	}

	.section.compagnie {
		margin-top: 40px;
		padding-top: 30px;
		padding-bottom: 40px;
	}

	.section.compagnie .titolo h2 {
		font-size: 32px;
	}

	.section.compagnie .lista {
		margin-bottom: 0;
	}

	.section.compagnie .lista .col-4 {
		margin-bottom: 20px;
	}

	.section.compagnie .call-to-footer {
		margin-top: 20px;
		padding: 0;
	}

	.section.compagnia .titolo .col-10 {
		max-width: 100%;
		flex: 100%;
	}

	.section.compagnia .titolo .col-2 {
		max-width: 100%;
		flex: 100%;
	}

	/*------------------------------------*\
    	SECTION NEWS
	\*------------------------------------*/

	.section.news .titolo h2 {
		margin-bottom: 0;
	}

	.section.news .news-singola .col-12 {
	    margin-bottom: 40px;
	}

	.section.news .call-to-footer {
	    padding: 0px 15px 0 15px;
	}

	.section.scheda .titolo h1 {
		margin-top: 20px;
	}

	.correlati {
		padding-bottom: 40px;
	}

	/*------------------------------------*\
	    PRENOTAZIONE STEPS
	\*------------------------------------*/

	.section-trips .durata .partenza {
		width: 100%;
		text-align: center;
		margin-bottom: 10px;
	}

	.section-trips .durata {
		float: left;
		width: 100%;
	}

	.section-trips .durata .tragitto {
		width: 100%;
		margin-bottom: 20px;
	}

	.section-trips .durata .arrivo {
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}

	.section-trips .durata .arrivo p.porto {
		position: relative;
	}

	.section-accomodations .durata .partenza {
		width: 100%;
		text-align: center;
		margin-bottom: 10px;
	}

	.section-accomodations .durata .tragitto {
		width: 100%;
		margin-bottom: 20px;
	}

	.section-accomodations .durata .arrivo {
		width: 100%;
		text-align: center;
		margin-bottom: 0;
	}

	.section-accomodations .durata .arrivo p.porto {
		position: relative;
	}

	.section-reservations .durata .partenza {
		width: 100%;
		text-align: center;
		margin-bottom: 10px;
	}

	.section-reservations .durata .tragitto {
		width: 100%;
		margin-bottom: 20px;
	}

	.section-reservations .durata .arrivo {
		width: 100%;
		text-align: center;
		margin-bottom: 0;
	}

	.section-reservations .durata .arrivo p.porto {
		position: relative;
	}

	/*------------------------------------*\
    	FOOTER
	\*------------------------------------*/

	footer .lista a {
		width: 19%;
		display: inline-block;
		white-space: nowrap;
		overflow: hidden;
	}

}

/* Large devices (desktops, less than 1200px) */
@media only screen and (max-width: 1199.98px) { 
	
}

@media only screen and(max-width: 1024px) {

}




