/**********   BASE TYPOGRAPHY   **********/

body {
    background-color: #fff;
    color: #333;
    font: normal 76%/1.5 Arial, Helvetica, sans-serif; /* 76%=12px; 12x1.5=18px */
    text-align: center;
    text-shadow: 0 0 1px #ccc;
    letter-spacing: 0.01em;
}

h1 {
    color: #4274C5;
    font-size: 1.6em; /* 12 x 1.7 = 20px */
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    text-shadow: 0 0 0;
    margin-bottom: 1.5em;
}

h1.home {
    font-size: 1.3em;
    text-transform: none;
    margin-bottom: 1em;
    margin-top: 25px;
}

div.sidebar-home h1 {
    font-size:1.3em;
    line-height:20px;
    margin-bottom:1em;
    margin-top:30px;
    text-transform:none;
}


h2, table.schedule caption, table.fares caption {
    color: #B70B36;
    font-size: 1.5em; /* 12 x 1.5 = 18px */
    font-weight: bold;
    line-height: 1;
    text-shadow: 1px 1px 1px #D37C92;
}

h2 {
    margin-bottom: 1em;
}

h3, div.route-info dt, ul.fleet dt {
    color: #4274C5;
    font-size: 1em;
    text-transform: uppercase;
}

h3 {
    margin-bottom: 1.5em;
}

.uline {
    border-bottom: 1px solid #ddd;
    padding-bottom: 0.5em;
}

div#content p {
    margin-bottom: 1.5em;
}

div.imgbox {
    overflow: hidden;
}

p.stronger {
    color: #4274C5;
    font-size: 1.3em;
    font-weight: bold;
    margin-bottom: 0 !important;
}

.note {
    font-size: 0.92em;  /* 12 x 0.84 = 10px */
    font-style: italic;
    line-height: 1.2;
    color: #999;
}

select, input, textarea, button {
    color: #666666;
    font-size: 11px;
}

a {
    text-decoration: none;
    color: #5191b5;
}

a:link, a:visited {
    color: #5191b5;
    text-shadow: 0 0 1px;
}

a:hover {
    text-decoration: underline;
}

a:active {
    color: #6cf;
}

a.read-more {
    font-size: 0.92em; /* 12 x 0.92 = 11px */
    text-transform: uppercase;
    padding-left: 20px;
    background: url(../images/commonsprite-new.png) no-repeat -155px 0.2em;
}

div.read-more-next {
    font-size: 0.92em; /* 12 x 0.92 = 11px */
    text-transform: uppercase;
    padding-left: 20px;
    float: right;
    background: url(../images/commonsprite-new.png) no-repeat -155px 0.2em;
}

div.read-more-prev {
    font-size: 0.92em; /* 12 x 0.92 = 11px */
    text-transform: uppercase;
    padding-left: 20px;
    float: left;
    background: url(../images/commonsprite-new.png) no-repeat 0px 0.2em;
}

/**********   LAYOUT   **********/

div#wrapper {
    overflow: visible;
    text-align: left;
    padding-bottom: 20px;
}

div#content {
    margin-top: 25px;
}

div#footer {
    margin-top:15px;
    border-top: 1px solid #ddd;
    padding-top: 12px;
}

ul li.alpha, ol li.alpha {
    clear: left;
}

/**********   HEADER   **********/

#header h1, #header a#logo {
    height: 100px;
    background: url("../images/logo-toremar-new.png") no-repeat scroll center bottom #4274C5;
    color: #fff;
}

#header h1 {
    font-size: 0.92em; /* 12 x 0.92 = 11px */
    margin-bottom: 0;
}

#header a#logo {
    display: block;
    text-decoration: none;
    text-align: right;
}

ul#lang-menu {
    float: right;
    display: inline;
    margin: 3px 10px;
}

ul#lang-menu li {
    float: left;
    font-size: 0.92em; /* 12 x 0.92 = 11px */
    text-transform: uppercase;
    padding-left: 0.5em;
}

ul#lang-menu li:before {
    content: "/";
    color: #ccc;
    font-family: "Courier New", Courier, monospace;
    font-size: 2em;
    line-height: 1;
    text-shadow: 0 0 0;
}

ul#lang-menu li:first-child:before {
    color: #fff;
}

/* main navigation menu */

ul#globalnav {
/*    width: 100%; */
}

ul#globalnav li {
    font-weight: bold;
    text-transform: uppercase;
}

ul#globalnav li a {
    color: #fff;
    font-weight: bold;
    text-decoration: none;
}

ul#globalnav li a:hover {
    text-decoration: underline;
}

ul#globalnav li a:active {
    color: #fff;
}

ul#globalnav li.activated > a {
    color: #D65575;
    /*letter-spacing: 0.1em;*/
}

/* general menu styles (all browser) */
            
.centeredmenu ins {
    display: block;
    width: 100%;         /* forcing Safari/Win */
    font-style: normal;
    text-align: center;
    text-decoration: none;
    position: relative;
    z-index: 1;
    background: url(../images/bg-1stlevelmenu-new.png) no-repeat right -67px;
}
            
.centeredmenu ins ul {
    display: table;
    margin: 0 auto;
}

.centeredmenu ins ins {
    display: none;
    background: #2fb1d2 url(../images/bg-2ndlevelmenu-new.png) no-repeat top center;
}

.centeredmenu li {
    display: table-cell;
    padding: 8px 0;
}

.centeredmenu a {
    display: block;
    border-left: 1px solid #468bd6;
    padding: 0 20px;
    line-height: 1em;
    white-space: nowrap;
}

.centeredmenu li:first-child > a {
    border-left: 0 none !important;
}

/* submenus */

.centeredmenu li:hover > ins, li.activated > ins {
    display: block;
    position: absolute;
    left: 0;
    top: 28px;
}

.centeredmenu li:hover > ins {
    z-index: 10;
}

li.activated > ins {
    z-index: 9;
}

ul#globalnav li li a {
    color: #fff;
    border-left: 1px solid #2176a2;
}

ul#globalnav li li.activated a {
    color: #BE3D5D;
}

.pushbtn, .pushbtn_map {
    background: transparent url(../images/pushbtnsprite-new.png) repeat-x ;
    color: #fff !important;
    font-weight: bold;
    text-transform: uppercase;
    padding: 2px 13px 1px;
    border: 0 none;
    border-radius: 4px;
}

a.pushbtn_map {
    display: inline-block;
    background-color: #B70B36;
    background-position: left -60px;
    text-decoration: none;
}

a.pushbtn_map:hover {
    background-color: #2fb1d2;
    background-position: left top;
}

a.pushbtn {
    display: inline-block;
    background-color: #B70B36;
    background-position: left top;
    text-decoration: none;
}

a.pushbtn:hover {
    background-color: #2fb1d2;
    background-position: left -60px;
}

button.pushbtn {
    float: right;
    background-color: #2fb1d2;
    background-position: left top;
    cursor: pointer;
    margin: 10px;
}

button.pushbtn:hover {
    background-color: #B70B36;
    background-position: left -60px;
}

form#online-booking, form#ticket {
/*    float: left; */
}

#header form#online-booking {
    background: #4274C5 url(../images/bg-hbooking-new.png);
    margin-bottom: 10px;
}

div#home-booking form#online-booking {
    margin-top: 20px;
}


form#online-booking legend, form#ticket legend {
    width: 100%;
}

form#online-booking > fieldset {
    background: #4274C5 url(../images/bg-secheadbox-new.png) center bottom;
}

form#online-booking > fieldset > legend, h2.info {
    color: #fff;
    line-height: 1;
    padding: 10px 0;
    text-indent: 10px;
}

h2.news {
    color: #fff;
    line-height: 1;
    padding: 10px;
}

form#online-booking > fieldset > legend, h2.news {
    background: #B70B36 url(../images/bg-mainheadbox-new.png) no-repeat;
    font-size: 1.7em; /* 12 x 1.7 = 20px */
}

#header form#online-booking legend,
#header form#online-booking fieldset fieldset {
    float: left;
}

form#online-booking fieldset fieldset, form#ticket fieldset,
form#online-booking fieldset fieldset legend, form#ticket legend {
    padding: 0 10px;
}

form#online-booking fieldset fieldset {
    padding-bottom: 10px;
}

form#online-booking fieldset fieldset legend, form#ticket legend {
    background: #eee url(../images/bg-btnbox-new.png) no-repeat;
    color: #B70B36;
    line-height: 2em;
    font-weight: bold;
    text-transform: uppercase;
    margin-right: -10px;
    margin-left: -10px;
}

form#online-booking select {
    margin: 0 4px 4px 0;
}

form#online-booking legend + select, form#ticket legend + select {
    width: 99%;
    margin-top: 10px;
}

form#online-booking img {
    vertical-align: text-bottom;
    cursor: pointer;
    margin-left: 10px;
}

#header form#online-booking > fieldset {
    background: transparent;
    position: relative;
}

#header form#online-booking > fieldset > legend {
    width: 115px;
    min-height: 60px;
    background: transparent;
    font-weight: bold;
    line-height: 0.9;
    text-transform: uppercase;
    text-align: center;
    text-indent: 0;
    padding: 20px 0 0;
}

#header form#online-booking > fieldset > legend:first-line {
    font-size: 0.78em;
}

#header form#online-booking fieldset fieldset {
    width: 210px;
    padding-top: 10px;
}

#header form#online-booking fieldset fieldset legend {
    width: auto;
    background: transparent;
    color: #fff;
    line-height: normal;
}

#header form#online-booking legend + select {
    margin-top: 0;
}

#header form#online-booking button {
    position: absolute;
    bottom: 5%;
}

form#ticket {
    background: #aadced;
}

form#ticket input {
    float: left;
    width: 45%;
    margin-top: 7px;
}

form#ticket input + input {
    float: right;
}

div#callcenter {
    background: url(../images/commonsprite-new.png) no-repeat left -70px;
    overflow: auto;
    margin-bottom: 15px;
    border-bottom: 1px solid #ddd;
    border-top: 1px solid #DDDDDD;
    padding-bottom: 0.35em;
    margin-top: 15px;
}

#header div#callcenter {
    position: relative;
    top: -15px;
}

div#callcenter p {
    min-height: 50px;
    color: #B70B36;
    font-size: 1.8em;
    font-weight: bold;
    line-height: 1;
    text-align: left;
    text-transform: uppercase;
    margin-bottom: 2px;
    padding-top: 10px;
    padding-right: 10px;
}

div#callcenter p:first-line {
    font-size: 0.7em;
}

div#callcenter p sup {
    top: -0.3em;
}

div#callcenter a {
    float: left;
}

div#callcenter a + a {
    float: right;
}

/**********   CONTENT   **********/

p + h2 {
    margin-top: 2em;
}

h2.category {
    width: 100%;
    height: 57px;
    display: table;
    background: url(../images/iconsprite-new.png) no-repeat;
    padding-bottom: 0;
}

h2.category span {
    display: table-cell;
    vertical-align: middle;
    padding-right: 60px;
}

h2.phone {
    background-position: right top;
}

h2.boarding {
    background-position: right -150px;
}

h2.luggage {
    background-position: right -300px;
}

h2.modification {
    background-position: right -450px;
}

h2.onboard {
    background-position: right -600px;
}

h2.pets {
    background-position: right -750px;
}

h2.booking {
    background-position: right -900px;
}

h2.vehicle {
    background-position: right -1050px;
}

h2.disab {
    background-position: right -1200px;
}

h2.withkids {
    background-position: right -1350px;
}

h2.groups {
    background-position: right -1500px;
}

h2.bus {
    background-position: right -1650px;
}

h2.carnet {
    background-position: right -1800px;
}

h2.kids {
    background-position: right -1950px;
}

div.routemap {
    background: url(../images/bgmap-new.png) no-repeat -318px -84px;
    position: relative;
    min-height: 450px;
}

#content div.routemap {
    background-position: -13px -84px;
}

div.routemap > img {
    margin: 30px 0 0 2px;
}

div.routemap div:first-child {
    float: left;
    width: 280px;
    padding: 25px 0 25px 27px;
}

div.routemap div h2 {
    color: #4274C5;
    font-weight: normal;
    text-shadow: 0 0 1px #9cf;
    margin-bottom: 0.5em;
}

div.routemap div h3 {
    margin-bottom: 0.5em;
}

div.route-chart {
    float: left;
    width: 320px;
    padding-top: 30px; 
}

div.route-info {
    text-align: right;
    position: absolute;
    right: 20px;
    top: 60px;
}

div.route-info dl {
    margin-bottom: 3em;
}

div.route-info dt {
    font-weight: bold;
    margin-bottom: 0.2em;
    margin-top: 15px;
}

div.route-info dt:first-child {
    margin-top: 0;
}

div.routemap div p, div.route-info dd {
    color: #fff;
    font-size: 2em;
    line-height: 1;
}

div.route-info dd + dd {
    font-size: 1em;
}

div.route-info dt.meteo {
    position: relative;
    left: -8em;
    top: -4.9em;
}

div.route-info dd.meteo {
    position: relative;
    left: -3.5em;
    top: -2.4em;
}

div.route-info dd.meteo div {
    position: absolute;
    right: 0;
    top: -30px;
}

div.routemap div p span {
    display: block;
    font-size: 1.1em;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 3px;
    width: 308px;
}

div.routemap div .pushbtn, div.routemap div .pushbtn_map {
    margin-top: 10px;
}

.hidden {
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
}

.btnbox {
    display: inline-block;
    height: 70px;
    background: #ddd url(../images/bg-btnbox-new.png) repeat-x;
    line-height: 1;
    margin-bottom: 10px;
}

.btnbox a {
    display: table;
    height: 100%;
    background: url(../images/btniconsprite-new.png) no-repeat right 22px;
    font-size: 1.5em;
    text-decoration: none;
    vertical-align: middle;
    padding-right: 50px;
}

.btnbox a:hover {
    background: url(../images/btniconsprite-new.png) no-repeat right -128px;
    color: #B70B36;
}

.noicon span a {
    font-size: 1em;
    display: inline;
    padding-right: 0px;
}


.btnbox a span {
    display: table-cell;
    background: url(../images/btniconsprite-new.png) no-repeat left -25px;
    vertical-align: middle;
    padding-left: 70px;
}

.btnbox p {
    background: url(../images/btniconsprite-new.png) no-repeat left bottom;
    font-size: 0.92em;
    font-weight: bold;
    line-height: 1;
    text-transform: uppercase;
    margin-bottom: 0 !important;
    padding: 10px 20px 10px 50px;
}

.btnbox p span {
    font-size: 1.4em;
}

.phoneno, .tollfree {
    height: auto;
}

.btnbox.phoneno p {
    color: #B70B36;
    background-position: 10px -1189px;
    width: 280px;
}

.btnbox.noicon p {
    background-position: -100px -100px;
}    

p.contacts {
   padding: 1em 0;
}

.phoneno span {
    line-height: 2;
    margin-left: 20px;
    text-transform: none;
}

.btnbox.tollfree p {
    color: #10aa00;
    background-position: 10px -1335px;
}

.tollfree span {
    display: block;
    margin-top: 5px;
}

.tollfree h3 {
    color: #4F8629;
    margin-top: 20px;
}

span.email_numverde {
    color: #4F8629;
}

.btnbox.savings a span {
    background-position: left -295px;
}

.btnbox.savings a:hover span {
    background-position: left -445px;
}

.btnbox.timetables a span {
    background-position: left -595px;
}

.btnbox.timetables a:hover span {
    background-position: left -745px;
}

.btnbox.info a span {
    background-position: left -895px;
}

.btnbox.info a:hover span {
    background-position: left -1045px;
}

h2.news {
    font-weight: normal;
    margin-bottom: 0;
}

h2.info {
    background: #4274C5 url(../images/bg-secheadbox-new.png) no-repeat;
    font-size: 1em;
    text-transform: uppercase;
    text-shadow: 0 0 1px #fff;
    margin-bottom: 0;
}

.post-date {
    width: 50px;
    float: left;
    color: #4274C5;
    font-size: 1.3em;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
    line-height: 0.85;
    background: #ddd url(../images/bg-btnbox-new.png) no-repeat;
    margin-bottom: 0 !important;
    padding: 10px 0;
}

.post-date:first-line {
    font-size: 1.9em;
}

.post-date span {
    font-size: 0.9em;
}

ol#news-arch li {
    margin-bottom: 4em;
}

.lastnews {
    margin-bottom: 20px;
}

.lastnews li, p.lastnews, dl.lastnews {
    overflow: auto;
    background: #fff url(../images/bg-box-new.png) repeat-x bottom;
    color: #4274C5;
    margin-bottom: 0 !important;
    border: 1px solid #ddd;
    border-top: 0 none;
    padding: 15px 0;
}

.lastnews li.last {
    background: #fff;
    padding: 10px;
}

.lastnews li.last a {
    float: right;
}

.lastnews li p, .lastnews li h3 {
    margin-bottom: 0 !important;
}

.wrap-info {
    margin-left: 60px;
}

ol#news-arch div.wrap-info {
    padding-right: 10px;
}

ol.lastnews .wrap-info a {
    display: inline-block;
    color: #4274C5;
    font-size: 0.92em;
    line-height: 1.2;
    text-transform: uppercase;
}

ol.lastnews .post-date {
    background: transparent;
    padding: 0;
}

/*
div#pagination a {
    float: left;
}

div#pagination a + a {
    float: right;
}
*/

.disabled {
    visibility: hidden;
}

ul.ports li {
    color: #4274C5;
    margin-bottom: 4em;
}

ul.ports li dl {
}

ul.ports li dl dt {
    float: left;
    clear: left;
    font-weight: bold;
    margin-right: 0.5em;
}

ul.ports li dl dt:first-child {
    display: none;
}

ul.ports.lastnews li, p.lastnews, dl.lastnews {
    padding-left: 10px;
    padding-right: 10px;
}

div#service-legend, div#service-legend-vt {
    background: #fff url(../images/bg-box-new.png) repeat-x bottom;
    border: 1px solid #c0c0c0;
    border-radius: 4px;
    margin-bottom: 2em;
}

div#service-legend-vt {
    margin-top: -20px;
}

div#service-legend p, div#service-legend-vt p {
    font-weight: bold;
    line-height: 4;
    text-indent: 1.5em;
    white-space: nowrap;
    margin-bottom: 0;
}

div#service-legend li {
    float: left;
    width: 28%;
    min-height: 23px;
    background: url(../images/flservicesprite-new.png) no-repeat;
    color: #B70B36;
    font-weight: bold;
    line-height: 2;
    text-transform: uppercase;
    margin-top: 0.2em;
    padding-left: 30px;
}

div#service-legend li.bar {
    background-position: -30px top;
}

div#service-legend li.clima {
    background-position: -30px -120px;
}

div#service-legend li.disab {
    background-position: -30px -240px;
}

div#service-legend li.antiroll {
    background-position: -30px -360px;
}

div#service-legend li.solarium {
    background-position: -30px -480px;
}

div#service-legend li.kids {
    background-position: -30px -600px;
}

div#service-legend li.wifi {
    background-position: -30px -710px;
}

ul.fleet {
    margin-bottom: 50px;
}

ul.fleet > li {
    margin-top: 50px;
}

ul.fleet h2 {
    line-height: 1.3;
    margin-bottom: 0;
}

ul.fleet h2 + img {
    display: block;
    width: 260px;
    height: 90px;
    margin-bottom: 20px;
}

ul.fleet dt, ul.fleet dd {
    float: left;
    white-space: nowrap;
    border-top: 1px solid #ddd;
}

ul.fleet dt {
    clear: left;
    width: 40%;
    font-weight: bold;
    line-height: 2;
    padding-top: 0.3em;
}

ul.fleet dd {
    width: 51%;
    color: #2fb1d2;
    font-size: 1.7em;
    font-weight: bold;
}

ul.fleet dt:first-child, ul.fleet dt:first-child + dd {
    border-top: 0 none;
}

ul.fleet dt span, ul.fleet dd span {
    text-transform: lowercase;
}

ul.fleet dt span {
    font-size: 0.7em;
}

ul.fleet dd span {
    font-size: 0.5em;
}

ul.fleet dt.services {
    width: 23%;
    color: #B70B36;
}

dt.services + dd {
    width: 68%;
}

dt.services + dd ul {
    float: right;
    width: 99%;
    margin-top: 3px;
}

dt.services + dd li {
    float: left;
    width: 26px;
    height: 26px;
    font-size: 0.6em;
    text-indent: -9999px;
    margin-left: 2px;
    background: url(../images/flservicesprite-new.png) no-repeat;
}

ul.fleet li.bar {
    background-position: left top;
}

ul.fleet li.clima {
    background-position: left -30px;
}

ul.fleet li.disab {
    background-position: left -60px;
}

ul.fleet li.antiroll {
    background-position: left -90px;
}

ul.fleet li.solarium {
    background-position: left -120px;
}

ul.fleet li.kids {
    background-position: left -150px;
}

ul.fleet li.wifi {
    background-position: left -180px;
}

ul.gallery {
    margin-top: 2em;
}

ul.gallery li {
    float: left;
    width: 100%;
    margin-bottom: 50px;
}

ul.gallery img {
    float: left;
    margin-right: 20px;
}

ul.gallery h2, ul.gallery h3 {
    margin: 0;
}

ul.gallery p {
    overflow: hidden;
    margin-bottom: 0 !important;
}

ul.gallery p + p {
    color: #4274C5;
    margin-left: 160px;
}

ul.gallery span {
    color: #4274C5;
    display: block;
    margin-bottom: 10px;
    margin-top: -10px;
}

ul.gallery a.pushbtn,ul.gallery a.pushbtn_map, ul.gallery span.disattiva {
    margin: 1em 0;
}

ol.standard {
    list-style: decimal inside;
    font-weight: bold;
    margin-bottom: 1.5em;
}

ol.standard p, ol.standard li li {
    font-weight: normal;
}

ol.standard ul, div#dialog ul, dl.gencond ul, ul.standard {
    list-style: disc inside;
}

ol.standard ul li, div#dialog ul li, dl.gencond ul li, , ul.standard li {
    margin-bottom: 1em;
}

dl.discount {
    float: left;
    width: 99%;
    color: #4274C5;
    margin-bottom: 1.5em;
}

dl.discount dt, dl.discount dd {
    float: left;
}

dl.discount dt {
    clear: left;
    font-size: 1.1em;
    margin-right: 2em;
}
/*
table.cchours {
    width: 75%;
    margin-bottom: 1em;
}

table.cchours col + col {
    width: 33%;
}

table.cchours th, table.cchours td {
    background-color: #eee;
    padding-left: 8px;
}

table.cchours th {
    color: #4274C5;
    border-top: 5px solid #fff;
    padding-top: 4px;
}

table.cchours td {
    color: #5191b5;
}
*/

p.cchours {
    color: #5191b5;
    margin-top: 20px;
    padding-left: 1em;
}

p.cchours:first-line {
    color: #4274C5;
}

#content div p.note:first-child {
    margin-top: 6em;
}

dl.schedule-legend {
    background-color: #aadced;
    margin-bottom: 20px;
}

dl.schedule-legend dt, dl.schedule-legend dd {
    float: left;
}

dl.schedule-legend dt {
    width: 1.5em;
    clear: left;
    text-align: center;
}

dl.schedule-legend dt[class] {
    text-indent: -9999px;
    margin-top: 2px;
    border: 1px solid #eee;
}

dl.schedule-legend dd {
    margin-left: 15px;
    width: 150px;
}

dl.schedule-legend dt[class] + dd {
    margin-top: 2px;
}

dl.schedule-legend .sep {
    margin-top: 2em !important;
}

dl.schedule-legend dt.sep {
    background-color: #fff;
}

div#oneway, div#return, div#monthly-fares {
    position: relative;
    margin-bottom: 50px;
}

table.schedule, table.fares {
    width: 100%;
}

table.fares {
    margin-bottom: 15px;
}

table.schedule caption span:first-line, table.fares caption span:first-line {
    color: #4274C5;
    font-size: 0.65em;
    text-transform: uppercase;
    text-shadow: 0 0 1px #9cf;
}

table.schedule caption span, table.fares caption span {
    white-space: nowrap;
    position: absolute;
}

table.fares caption span {
    top: 0;
}

table.fares th div {
    letter-spacing: -1px;
    margin-right: 5px;
}


table.schedule caption + colgroup, table.fares caption + colgroup {
    background-color: #4274C5;
}

table.schedule colgroup + colgroup col {
    width: 18px;
}

table.schedule thead th {
    vertical-align: bottom;
}

table.schedule thead tr + tr th:first-child,
table.schedule thead tr + tr th:first-child + th,
table.schedule thead tr + tr th:first-child + th + th {
    color: #4274C5;
    font-size: 0.92em;
    font-weight: bold;
    text-transform: uppercase;
    background: #eee url(../images/bg-btnbox-new.png);
}

table.schedule thead tr + tr th, table.schedule td,
table.fares thead tr + tr th, table.fares td {
    text-align: center;
}

table.schedule th + th + th + th,
table.schedule tr + tr + tr th {
    color: #4274C5;
    background-color: #aadced;
}

table.schedule tr:first-child th:first-child,
table.fares th[rowspan="2"] {
    background-color: #fff;
}

table.schedule td, table.fares tbody th, table.fares tbody td {
    vertical-align: middle;
}

table.schedule td:first-child,
table.schedule td:first-child + td,
table.fares th {
    color: #fff;
}

table.schedule td span, dl.schedule-legend dt span {
    display: inline-block;
    width: 1.4em;
    color: #4274C5;
    font-size: 0.83em;
    font-weight: bold;
    text-transform: uppercase;
    vertical-align: text-top;
    background-color: #fff;
    border-radius: 0.7em; 
}

table.schedule td + td + td + td {
    text-indent: -9999px;
    border: 1px solid #eee;
}

table .current, table .current a {
    color: #fff !important;
}

.high {
    background-color: #c00;
}

.mid {
    background-color: #E7943D;
}

.low {
    background-color: #10aa00;
}

.tax {
    background-color: #aadced;
}

table.fares thead tr + tr th, table.fares tbody th {
    font-size: 0.92em;
    text-transform: uppercase;
}

table.fares thead tr + tr th {
    font-weight: bold;
    padding: 3px 0;
}

table.fares tbody th {
    width: 20%;
    text-indent: 0.3em;
    white-space: nowrap;
}

table.fares td {
    border: 1px solid #eee;
}

table.fares td {
    color: #10aa00;
}

table.fares td + td {
    color: #E7943D;
}

table.fares td + td + td {
    color: #c00;
}

table.fares td + td + td + td {
    color: #489fc3;
}

table.fares th[colspan="4"] {
    background: #489fc3;
}

table.fares th span {
    font-size: 1.2em;
    line-height: 1.9em;
    margin-left: 5px;
}

th div {
    float: right;
    background: url(../images/bg-1stlevelmenu-new.png) no-repeat left top;
}

.xchoice {
    float: left;
}

.xchoice li {
    float: left;
    font-size: 0.92em;
    font-weight: bold;
    text-transform: uppercase;
    padding: 6px 4px;
}

.xchoice li.current {
    position: relative;
}

.xchoice li.current:before {
    content: "";
    width: 0;
    height: 0;
    border-right: 8px solid transparent;
    border-top: 8px solid #fff;
    border-bottom: 0;
    position: absolute;
    left: 12px;
    top: 0px;
}

.xchoice li a {
    color: #4274C5;
}

ol.months, ul.vessel-type {
    background: #489fc3 url(../images/bg-1stlevelmenu-new.png) no-repeat right -67px;
    margin-left: 20px;
    padding-right: 15px;
}

ol.years {
    background: #489fc3;
}

ol.months li a, ul.vessel-type li a {
    color: #489fc3;
}

.cursor {
    background: url(../images/commonsprite-new.png) no-repeat;
}

.cursor a {
    display: block;
    width: 1em;
    text-indent: -9999px;
}

.prev {
    background-position: 10px 0.9em;
}

.next {
    background-position: -145px 0.9em;
}

p a.read-more + a.read-more {
    float: right;
}

div.wrap-map {
    overflow: auto;
    background: #fff url(../images/hmapshadow-new.jpg) no-repeat center bottom;
    margin-bottom: 20px;
    padding-bottom: 20px;
}

#content div.wrap-map {
    background: #fff url(../images/mapshadow-new.jpg) no-repeat center bottom;
}

div#img_tratta {
    margin: 20px 0;
}

/**********   FOOTER   **********/

p#breadcrumbs {
    float: left;
    font-size: 0.7em;
    text-transform: uppercase;
}

p#breadcrumbs, p#breadcrumbs a {
    color: #666;   
}

p#breadcrumbs a:after {
    content: ">";
    padding: 0.5em;
}

ul.navbar {
    text-transform: uppercase;
    float: right;
}

ul.navbar li {
    display: inline;
    font-size: 0.9em;
    border-left: 1px solid #5191b5;
    padding: 0 1em;
}

.navbar li:first-child {
    border-left: 0 none;
}

div#footer-route-menu {
    float: left;
    background: url(../images/bg-footermenu-new.png) no-repeat left top;
    margin: 15px -23px;
    padding: 0 23px;
}

#footer ul.route-menu {
    border-bottom: 1px solid #ddd;
    padding-bottom: 15px;
}

ul.route-menu li h3 {
    margin: 1.5em 0 0.5em;
}

ul.route-menu li p {
    height: 50px;
    color: #fff;
    font-weight: bold;
    line-height: 50px;
    text-transform: uppercase;
    margin-bottom: 20px;
}

ul.route-menu ul li {
    margin-bottom: 2px;
}

ul.route-menu ul li a {
    display: inline-block;
    background: #aadced;
    color: #4575a7;
    padding: 0 0.2em;
}

ul.route-menu ul li a:hover, ul.route-menu ul li a:active {
    background: #B70B36;
    color: #fff;
}

div.routemap ul.route-menu ul li a:link, div.routemap ul.route-menu ul li a:visited {
    background: #dff2f8;
}

div.routemap ul.route-menu ul li a:hover, div.routemap ul.route-menu ul li a:active {
    background: #B70B36;
}

ul li.faster {
    margin-top: 15px;
    color: #4575A7; 
    padding: 0pt 0.2em; 
    text-shadow: 0pt 0pt 1px;
}

/**** DA ELIMINARE - PER PROVE MAPPA ****/
div.routemap ul.route-menu ul li a.active-route {
    background: #B70B36;
    color: #fff;
}
/**** DA ELIMINARE - PER PROVE MAPPA ****/

#footer ul.route-menu li:first-child li, ol#news-arch li {
    float: left;
    width: 50%;
}

ol#news-arch li {
    height: 130px;
}

div#copy {
    background: url(../images/commonsprite-new.png) no-repeat -50px -15px;
    color: #4274C5;
    font-size: 0.92em; /* 12 x 0.92 = 11px */
    height: 30px;
    margin-top: 15px;
    border-top: 1px solid #ddd;
    padding-top: 20px;
}

div#copy p:first-child {
    float: left;
    padding-left: 120px 
}

div#copy p + p {
    float: right;
}

/**********   MODAL BOXES   **********/

div#dialog {
    font-family: Arial, Helvetica, sans-serif;
    color: #333;
    text-align: left;
    padding-top: 1.5em;
}

div#dialog dt, dl.gencond dt {
    color: #4274C5;
    font-size: 1.3em;
    font-weight: bold;
}

div#dialog dd, dl.gencond dd {
    margin-bottom: 1.5em;
}

div#dialog p {
    margin-bottom: 1em;
}

div#dialog a {
    color: #5191b5;
}

/** MDS - SISTEMA DI TEST **/
div#test-alert {
    color: #c00;
    font: bolder 32px Arial, Helvetica, sans-serif;
    text-align: center;
    text-transform: uppercase;
    vertical-align: middle;
}

/**********
PROVE SFO 
**********/

/* classe di posizionamento del div del meteo */
div.meteo div {
    position: absolute;
    left: 715px;
    top: 223px;
}

/*classe per far sparire il div del meteo e quello dei dettagli della tratta*/
span.out-map div, div.out-map {
    left: -99999px;
    position: absolute;
    top: -99999px;
}

/*classe per bottone tratte disabilitato*/
span.disattiva {
    border-radius: 4px;
    color: #fff;
    font-weight: bold;
    padding: 2px 13px 1px;
    text-transform: uppercase;
    margin-top: 10px;
    background: #ccc;
    display: inline-block;
}

/**** VIRTUAL TOUR ****/

div#virtual-tour ul {
    background: url(../images/vr-logo.png) no-repeat;
    margin: 3px;
    min-height: 50px;
}

div#virtual-tour li {
    background: none repeat scroll 0 0 rgba(0, 0, 0, 0);
    color: #4274C5;
    float: none;
    font-size: 1.1em;
    font-weight: bold;
    line-height: 18px;
    margin-top: 0.4em;
    min-height: 0;
    padding-left: 55px;
    text-transform: none;
    width: 100%;
}

div.virtual-tour-flash {
    background: url(../images/fondo-vt.jpg) no-repeat;
    padding: 10px 0;
    margin-bottom: -50px;
    min-height: 539px;
}

#pano {
    float: right;
    margin-right: 10px;
}

a.vt-linked {
    cursor: pointer;
    text-decoration: none;
}

div.desc-nave-vt h3 {
    color: #B70B36;
    margin-top: 70px;
}

div.vt-list {
    color: #FFF;
}

div.vt-list ul {
    margin-top: 10px;
    margin-left: 20px;
}

div.vt-list ul li {
    min-height: 40px;
    min-height: 60px;
    padding-left: 55px;
    cursor: pointer;
    background: url(../images/button-vt.png) no-repeat;
}

div.vt-list a {
    color: #FFFFFF;
    font-size: 1.2em;
    font-weight: bold;
    text-shadow: 1px 1px 1px #000000;
    line-height: 50px;
    text-decoration: none;
}

div.vt-list h2 {
    margin-top: 30px;
    margin-left: 20px;
    color: #FFF;
    font-size: 1.4em;
    text-shadow: 1px 1px 1px #000000;
}

div.vt-list p {
    margin-left: 20px;
    font-size: 1.1em;
}
div#cookie_accept {
    bottom: 0;
	left: 0;
    line-height: 30px;
    margin-left: auto;
    margin-right: auto;
    position: fixed;
    width: 100%;
    z-index: 99999;
    background: #B70B36 url(../images/bg-mainheadbox-new.png);
}
div#TheBelowDiv {
  text-align: center;
  color: white;
  line-height: 13px;
  padding: 5px 80px;
  font-size: 11px;
} 
#TheBelowDiv > a:first-child {
	color: #fff;
	text-decoration: underline;
}
div#cookie_accept div a.cookies-close{
    border: 1px solid #ccc;
    color: #cccccc;
    font-weight: bold;
    margin-left: 14px;
    padding: 0 3px;
}
div.social-plugin {
    background: url("../images/fondo-social.jpg") no-repeat scroll 0 0 #fff;
    border: 1px solid #b70b36;
    height: 160px;
}
div.social-bar a {
    text-decoration: none;
}
div.social-bar img {
    margin: 15px 10px 17px;
}
div.fb-like {
	margin-left: 40px;
    margin-top: 15px;
    vertical-align: top;
}
table.privacy-table td {
    border: 1px solid;
    padding: 5px;
}
.txta > li {
    list-style: outside none disc;
    margin-left: 13px;
}

.legalSlider{
	font-size: 10px;
	margin-bottom: 5px;
	color: #999999;
}