div#main-content { margin-bottom: -415px; padding-top: 90px; min-height: 100%; }
@media screen and (max-width: 480px) {
  div#main-content { margin-bottom: -100px; }
}
  /* Stili breadcrumbs */
  div#breadcrumbs div { position: relative; padding-left: 23px; height: 45px; }
  div#breadcrumbs div svg { position: absolute; top: 0; left: -1px; }
  div#breadcrumbs div:first-child { padding-left: 10px; }
  div#breadcrumbs div.prev-page a { display: block; height: 45px; line-height: 45px; }

  /* Stili sticky panel */
  div#sticky-panel, div#sticky-panel h2 { position: relative; }
  div#sticky-panel::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-10px,0);
    z-index: 1;
    border: solid;
    border-width: 10px;
    border-color: #eee transparent transparent;
    width: 0;
    height: 0;
  }
  div#sticky-panel h2 span:last-child { position: absolute; top: 5px; right: 5px; width: 150px; }
  div#sticky-panel h3 { margin-bottom: 5px; }
  div#sticky-panel.sticky { position: fixed; top: -140px; left: 0; transform: translate3d(0,0,0); box-shadow: 0 2px 26px #222; width: 100%; z-index: 31; transition: transform .25s ease-out; }
  div#sticky-panel.sticky::after { display: none; }
  div#sticky-panel.sticky.show { transform: translate3d(0,140px,0); }
  div#sticky-options { max-height: 0; transition: max-height .25s; }
  div.sticky-bar-item { transition: background-color 1s ease-out; border-radius: 5px; }
  div.sticky-bar-item span:not(.btn-icon) { display: inline-block; }
  div.sticky-bar-item, div#sticky-panel button, div#sticky-bar a.oswald { height: 50px; outline: none; }
  .invisible { position: absolute; top: -9999px; left: 0; }
  div.sticky-bar-item.updated { background-color: #285479; color: #fff; }
  div.sticky-bar-item.updated span.btn-icon { background-color: #fff; }
  @media screen and (max-width: 640px) {
    div#sticky-panel div.sticky-bar-item { display: none; }
  }

  /* step2 */
  div#vehicles.fade {
    animation-name: fade-in;
    animation-duration: 1.5s;
  }
  div#vehicles > div { padding: 20px 10px; }
    div.fleet-item { position: relative; border-radius: 5px; height: 525px; overflow: hidden; }
    div.more-info-content { position: absolute; bottom: -475px; left: 0; transform: translate3d(0,0,0); width: 100%; max-height: 0; overflow: hidden; transition: max-height .25s ease-out, transform .25s ease-out; }
    div.more-info-content.open { transform: translate3d(0,-475px,0); max-height: 525px; height: 525px; }
    div.more-info-content table td { border-bottom: 1px solid #eee; padding: 5px; }
    div.more-info h4 { padding-bottom: 0; }
    div.fleet-item .debit-btn { transition: background-color .35s ease-out; }
    div.fleet-item:hover .debit-btn { background-color: #0b6e38; color: #fff; }
    div.fleet-item > div.xlight-grey-background:first-child { padding: 0 10px 5px; }
    div.fleet-item h2, div.fleet-item h3 { position: relative; padding: 0; }
    div.fleet-item h2 span, div.fleet-item h3 span { display: block; text-transform: none; font-size: 16px; font-family: arial, sans-serif; }
    div.fleet-item h3 a { position: absolute; top: 5px; right: 5px; }
    div.fleet-item p.xxlight-grey-background { border-bottom: 1px solid #eee; }
    div.fleet-item .checkboxradio { border-top: 1px solid #eee; }
    div.fleet-item .checkboxradio.no-border { border: 0; margin-top: 5px; }
    div.fleet-item .checkboxradio, div.supplement-item .checkboxradio { margin-bottom: 0; }
    div.fleet-item .checkboxradio > span { display: block; padding: 5px 5px 5px 0; }
    div.fleet-item .checkboxradio em { display: block; font-style: normal; color: #d02632; }
    div.fleet-item .checkboxradio:not(.current-choice) em { color: #444; }
    .accordion-section { max-height: 30px; overflow: hidden; transition: max-height .25s ease-out; }
    .accordion-section.visible { max-height: 300px; }
    .accordion-section.visible strong.display-relative { background-color: #ddd; }
    .accordion-section.visible strong.display-relative span { transform:  rotate(-180deg);}
    .accordion-section strong.display-relative { display: block; border-bottom: 2px solid #fff; padding: 0; height: 30px; line-height: 30px; }
    .accordion-section strong.display-relative a { display: block; text-indent: 5px; color: #444; }
    .accordion-section strong.display-relative span { position: absolute; top: 6px; right: 5px; transition: transform .25s ease-out; }
    .accordion-section li { list-style-type: disc; list-style-position: inside; padding-left: 2px; }

    div.fleet-item a.tab { position: relative; }

    div.fleet-item a.tab.current-tab::after {
      content: '';
      position: absolute;
      top: 22.5px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 1;
      border: solid;
      border-width: 15px;
      border-color: #ddd transparent transparent transparent;
      width: 0;
      height: 0;
    }

      div.fleet-label { position: absolute; top: 0; right: 0; border-bottom-left-radius: 5px; opacity: .9; }
      div.fleet-label.left-label { left: 0; right: auto; border-bottom-left-radius: 0; border-bottom-right-radius: 5px; }
      div.text-faded-dark span.btn-icon { width: 30px; height: 30px; }
      div.selected-rate { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; }
        div.selected-rate a.more-info-btn { position: relative; bottom: 5px; right: 5px; border-top-left-radius: 0; border-top-right-radius: 0; background-color: rgba(255,255,255,.6); }
        div.selected-rate a.more-info-btn.open { background-color: rgba(255,255,255,1); color: #444; }
        .disabled { opacity: .5; cursor: text; }

  /* step3 */
div#comparative-table .pseudo-float-item { height: 50px; }
div#comparative-table .pseudo-transparent { background: rgba(221,221,221,.8); }
div#comparative-table .border-top-white { border-top: 2px solid #fff; }
div#comparative-table .border-right-white { border-right: 2px solid #fff; }
div#comparative-table .border-bottom-white { border-bottom: 2px solid #fff; }
div#comparative-table div.table-content { position: relative; height: auto; }
    div.table-content > div:hover { background: #d9e8d9; }
    div.table-content div.overlay { display: none; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: rgba(255,255,255,.8); }
      div.table-content div.overlay span { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); border-radius: 5px; box-shadow: 0 0 4px #888; width: 250px; height: 60px; }
@media screen and (max-width: 768px) {
  div.table-content div.overlay { display: block; }
  div#comparative-table div.table-content { height: 280px; overflow-x: auto; }
  div#comparative-table .pseudo-float-container { display: block; overflow: hidden; }
  div#comparative-table .pseudo-float-item { display: block; float: left; height: auto; text-align: center; }
  div#comparative-table .pseudo-transparent { background: transparent; }
}
@media screen and (max-width: 480px) {
  div#comparative-table div.select-box .text-xl { font-size: 17px; }
  div#comparative-table div.select-box .text-medium { font-size: 14px; }
}

@media screen and (max-width: 768px) {
   body.step3.column-1 .w-768-25 {
     width: 100%;
   }

   body.step3.column-2 .w-768-25 {
     width: 50%;
   }

   body.step3.column-3 .w-768-25 {
     width: 33%;
   }
 }


div#fixed-navigation { position: fixed; bottom: 0; left: 0; right: 0; background: rgba(11,110,56,.9); z-index: 9; }
div#fixed-navigation .btn { width: auto; }

/* step4 */
div#supplements span.btn-icon { width: 30px; height: 30px; }
  div.supplement-item { position: relative; height: 215px; }
  div.supplement-item select { height: auto; }

/* login */
div#form-login { max-height: 0; overflow: hidden; transition: max-height .25s ease-out; }
div#form-login.open { max-height: 250px; }
.autocomplete-section { position: relative; }


/* recap */
body.recap #main-content .table-css:not(.upsell-msg) { min-height: 90px; }

div#upsell > div { height: 360px; }
div#upsell > div.upsell-offer { padding-bottom: 120px; }
@media screen and (max-width: 768px) {
  div#upsell > div { height: 320px;; }
}
@media screen and (max-width: 640px) {
  div#upsell > div { height: auto; }
}

div#upsell span.double-arrow-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); }
/*
@media screen and (max-width: 640px) {
  div#upsell span.double-arrow-icon { transform: rotate(90deg); transform-origin: 50% 0; }
}
*/

.no-thanks-msg { position: absolute; bottom: 0; height: 58px; }
.upsell-msg { position: absolute; bottom: 0; }

.upsell-msg p.success-background { position: relative; height: 58px; }
.upsell-msg p.success-background::after {
  content: '';
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  border: solid;
  border-width: 15px;
  border-color: transparent transparent #def2d5 transparent;
  width: 0;
  height: 0;
}


div.recap th span { position: relative; right: 7px; display: inline-block; border-radius: 7px; border: 5px solid #fff; }

/* company-agreements */
div.agreement-item { height: 500px; padding-bottom: 65px; }
@media screen and (max-width: 640px) {
  div.agreement-item { height: auto; }
}
div.agreement-item a.btn.oswald  { position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); }


/* private-driver-select */
body.private-driver-select div.disabled a { cursor: text; }
div.search-section span.search-icon { position: absolute; top: 30px; left: 8px; }
div.search-section input[type='text'] { padding-left: 40px; }
tbody.alternate-rows tr.current-user td { background-color: #d9e8d9; }
tbody tr.current-user a.xlight-grey-background { background-color: #fff; }
tbody.alternate-rows tr.new-driver-added td { animation: background-out 1.5s none; }
tbody.alternate-rows tr.driver-deleted td { background-color: #ffc; opacity: .7; }
@keyframes background-out {
  from { background-color: #ffc; opacity: .7; }
  to { background-color: #fff; opacity: 1; }
}

  div.tooltip {
    position: absolute;
    border-radius: 0 0 5px 5px;
    width: 100%;
    max-width: 250px;
    z-index: 10;
  }
    div.tooltip span {
    	content: '';
    	position: absolute;
    	top: -20px;
      /* Proprietà left impostata dinamicamente */
    	z-index: 1;
    	border: solid;
    	border-width: 10px;
    	border-color: transparent transparent #666 transparent;
    	width: 0;
    	height: 0;
    }
    div.tooltip a {
      display: block;
      margin-bottom: 5px;
    }


/* fleet */
div.categories-container .main-features.electric-category::after {
  border-color: transparent transparent #0b6e38 transparent;
}

div.categories-container p { height: 60px; }
@media screen and (max-width: 640px) {
  div.categories-container p { height: auto; }
}


div.car-item .main-features, div.categories-container .main-features { position: relative; }
div.car-item .main-features::after, div.categories-container .main-features::after {
  content: '';
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  border: solid;
  border-width: 15px;
  border-color: transparent transparent #eee transparent;
  width: 0;
  height: 0;
}

div.car-item span.transmission-label { position: absolute; top: 30px; left: 0; width: 100%; }

.car-features div.table-css { min-height: 200px; }
@media screen and (max-width: 962px) {
  .car-features div.table-css { min-height: auto; }
}

div.car-item .car-features div.table-cell { border-bottom: 1px solid #eee; padding: 5px; }
@media screen and (max-width: 582px) {
  div.car-item .car-features div.table-cell { display: block; width: 100%; }
}

/* station-details */
@media screen and (max-width: 680px) {
  body.station-details div.table-cell { display: block; width: 100%; }
}

/* rent-a-ship */
body.rent-a-ship p.xxlight-grey-background { height: 120px; }
@media screen and (max-width: 680px) {
  body.rent-a-ship p.xxlight-grey-background { height: auto; }
}

/* .alternate-banner */
.alternate-banner > div { height: 350px; }
.alternate-banner > div:first-child > div { position: absolute; top: 50%; transform: translateY(-50%); }
@media screen and (max-width: 768px) {
  .alternate-banner > div.display-relative { height: auto; }
  .alternate-banner > div:first-child > div { position: static; top:50%; transform: translateY(0); }
}

/* .column-text-* */
.column-text-2 { column-count: 2; }
@media screen and (max-width: 582px) {
  .column-text-2 { column-count: 1; }
}
