/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
 * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the top of the
 * compiled file, but it's generally better to create a new file per style scope.
 *








 */

* {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box; }

html, body, div, span, object, iframe, p, blockquote, pre, a, abbr, acronym, address,
big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup,
tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details,
embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video, h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  outline: 0;
  border: 0;
  font-size: 100%;
  font-style: normal;
  vertical-align: baseline;
  background: transparent; }

body {
  font-size: 0.875em;
  line-height: 1.225em;
  font-family: Helvetica, Arial, Tahoma, sans-serif; }

pre {
  background: #ddd;
  overflow-x: auto; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
  margin-bottom: 0.5em; }

h1 {
  font-size: 1.85714em;
  line-height: 1em; }

h2 {
  font-size: 1.64286em;
  line-height: 1.1em; }

h3 {
  font-size: 1.42857em;
  line-height: 1.3em; }

h4 {
  font-size: 1.28571em;
  line-height: 1.3em; }

h5 {
  font-size: 1.14286em;
  line-height: 1.3em; }

h6 {
  font-size: 1em;
  line-height: 1.3em;
  text-transform: uppercase; }

.subheader {
  font-size: 1.2em;
  font-weight: normal;
  color: #8f8f8f;
  margin-bottom: 1em; }

p,
ul,
ol,
dl,
dd,
dt,
blockquote,
td,
th {
  line-height: 1.4em; }

p,
ul,
ol,
dl,
blockquote,
hr,
pre,
hgroup,
table,
form,
fieldset {
  margin-bottom: 1.4em; }

ul,
ol,
ul ul,
ol ol,
ul ol,
ol ul {
  margin: 0 0 0 1.4em; }

ol ol li {
  list-style-type: lower-alpha; }

ol ol ol li {
  list-style-type: lower-roman; }
form * {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box; }

form fieldset ul {
  margin: 0;
  list-style: none; }

::-moz-focus-inner {
  border: 0; }

form fieldset {
  top: 0;
  margin: 0 -20px;
  padding: 40px 20px 10px;
  position: relative; }
form fieldset.buttons {
  padding: 0px 20px 10px;
  background: transparent; }
  form fieldset.buttons .row {
    padding-left: 25%; }
form .form-title {
  padding-left: 25%; }
form legend {
  top: 10px;
  left: 0px;
  clear: both;
  width: 100%;
  height: auto;
  font-size: 110%;
  font-weight: 700;
  line-height: 1.6em;
  margin: 0;
  padding: 0 20px;
  text-align: left;
  display: block;
  position: absolute; }
form label {
  width: 24%;
  float: left;
  margin: 0 1% 0 0;
  padding: 5px 0;
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-align: right; }
form select,
form textarea,
form input[type=text],
form input[type=email],
form input[type=password] {
  font-size: 100%;
  font-family: inherit;
  width: 75%;
  margin: 0;
  padding: 5px;
  display: inline-block;
  border: 1px solid #aaa;
  -webkit-appearance: none;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  -webkit-box-shadow: 0 0 0 2px transparent, 0 1px 2px rgba(0, 0, 0, 0.2) inset;
  box-shadow: 0 0 0 2px transparent, 0 1px 2px rgba(0, 0, 0, 0.2) inset; }
  form select:focus,
  form textarea:focus,
  form input[type=text]:focus,
  form input[type=email]:focus,
  form input[type=password]:focus {
    outline: none;
    border-color: #5ca9e4;
    -webkit-box-shadow: 0 0 0 2px rgba(70, 161, 231, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2) inset;
    box-shadow: 0 0 0 2px rgba(70, 161, 231, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2) inset; }
form textarea {
  display: block;
  min-height: 60px;
  resize: vertical; }
  form textarea.autoresize {
    resize: none;
    overflow: hidden; }
form select {
  height: 2em;
  min-width: 60px;
  -webkit-appearance: none;
  -webkit-padding-end: 20px;
  -webkit-padding-start: 5px;
  -webkit-user-select: none;
  -moz-appearance: button;
  background-color: #fff;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAKCAYAAABrGwT5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJNJREFUeNpi/P//PwMjI6MJAx4AVHMGmzgLUKMXkLbApxmoRhZowHp0cSYgPgHE/xjwg5PYBEGa3wHxcTwaLwDxM1yaQeAAEH/DIv8biHfjMhWm+ScQ78UifxiIPxPSDAJngfg1Eh+k6Si+gEDWDAq07Uj8XVBn4wQsaPw7QPwIiLmB+CKBGMDQDAs8dgYiAECAAQCVviJ1zfE7sAAAAABJRU5ErkJggg==), linear-gradient(#fafafa, #f4f4f4 40%, #e5e5e5);
  background-position: center right;
  background-repeat: no-repeat;
  overflow: hidden;
  outline: none;
  text-overflow: ellipsis;
  white-space: nowrap; }
form select > option {
  padding: 5px; }
form .error select,
form .error textarea,
form .error input[type=text],
form .error input[type=email],
form .error input[type=password] {
  border-color: #da3e5a;
  -webkit-box-shadow: 0 0 0 2px rgba(218, 62, 90, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2) inset;
  box-shadow: 0 0 0 2px rgba(218, 62, 90, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2) inset; }
form .success select,
form .success textarea,
form .success input[type=text],
form .success input[type=email],
form .success input[type=password] {
  border-color: #18a011;
  -webkit-box-shadow: 0 0 0 2px rgba(24, 160, 17, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2) inset;
  box-shadow: 0 0 0 2px rgba(24, 160, 17, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2) inset; }
form label! > input {
  color: navy; }
form .fields {
  padding-left: 13px;
  padding-right: 39px;
  position: relative; }
  form .fields a.remove {
    top: 4px;
    right: 0;
    width: 30px;
    height: 30px;
    position: absolute;
    cursor: pointer;
    color: #777;
    font-family: FontAwesome;
    font-weight: normal;
    font-style: normal;
    font-size: 30px;
    line-height: 30px;
    text-decoration: inherit;
    -webkit-font-smoothing: antialiased; }
    form .fields a.remove:hover {
      color: red; }
    form .fields a.remove:before {
      width: 30px;
      height: 30px;
      content: "\f057";
      text-decoration: inherit;
      display: inline-block;
      speak: none; }
  form .fields.remove {
    opacity: 0.5; }
  form .fields.remove textarea {
    background: repeating-linear-gradient(45deg, rgba(218, 0, 0, 0.2) 8px, rgba(218, 0, 0, 0.2) 24px, rgba(218, 0, 0, 0.4) 24px, rgba(218, 0, 0, 0.4) 40px); }
form .validation_message {
  color: #da3e5a;
  font-size: 90%;
  margin: 5px 0 5px 25%;
  display: block; }
form .row {
  clear: both;
  margin: 0;
  padding: 5px 0;
  position: relative; }
  form .row.radiobox, form .row.checkbox {
    padding-left: 25%; }
    form .row.radiobox label, form .row.checkbox label {
      width: 100%;
      clear: both;
      border: 0;
      padding-left: 0;
      text-align: left;
      white-space: normal;
      padding-left: 22px; }
      form .row.radiobox label input, form .row.checkbox label input {
        margin-left: -20px;
        margin-right: 6px; }
    form .row.radiobox .validation_message, form .row.checkbox .validation_message {
      width: 100%;
      margin: 5px 0 5px 0;
      display: inline-block; }
  form .row.radiobox .validation_message {
    display: none; }
form .multicolumn {
  width: 75%;
  float: left; }
  form .multicolumn .radiobox,
  form .multicolumn .checkbox {
    padding-left: 0; }
form .description {
  color: #777;
  font-size: 90%;
  margin: 5px 0 5px 25%;
  display: block; }
form .labelspace {
  padding-left: 25%; }
  form .labelspace.multicolumn {
    width: 100%; }
form .width-20 {
  float: left;
  width: 20.0%; }
form .width-25 {
  float: left;
  width: 25.0%; }
form .width-33 {
  float: left;
  width: 33.333%; }
form .width-50 {
  float: left;
  width: 50.0%; }
form .width-100 {
  float: left;
  width: 100.0%; }
form .width-auto {
  float: left;
  width: auto;
  margin-right: 10px; }
form .width-20 label,
form .width-25 label,
form .width-33 label,
form .width-50 label,
form .width-100 label,
form .width-auto label {
  width: 100%;
  line-height: 1.3em;
  text-align: left;
  padding: 5px 0px;
  border: 0; }
form .width-20 textarea,
form .width-20 input[type=text],
form .width-20 input[type=email],
form .width-20 input[type=password],
form .width-25 textarea,
form .width-25 input[type=text],
form .width-25 input[type=email],
form .width-25 input[type=password],
form .width-33 textarea,
form .width-33 input[type=text],
form .width-33 input[type=email],
form .width-33 input[type=password],
form .width-50 textarea,
form .width-50 input[type=text],
form .width-50 input[type=email],
form .width-50 input[type=password],
form .width-100 textarea,
form .width-100 input[type=text],
form .width-100 input[type=email],
form .width-100 input[type=password],
form .width-auto textarea,
form .width-auto input[type=text],
form .width-auto input[type=email],
form .width-auto input[type=password] {
  width: 95%; }
form .width-20 select,
form .width-25 select,
form .width-33 select,
form .width-50 select,
form .width-100 select,
form .width-auto select {
  width: auto; }
form .width-20:last-child input[type=text],
form .width-20:last-child input[type=email],
form .width-20:last-child input[type=password],
form .width-25:last-child input[type=text],
form .width-25:last-child input[type=email],
form .width-25:last-child input[type=password],
form .width-33:last-child input[type=text],
form .width-33:last-child input[type=email],
form .width-33:last-child input[type=password],
form .width-50:last-child input[type=text],
form .width-50:last-child input[type=email],
form .width-50:last-child input[type=password],
form .width-100:last-child input[type=text],
form .width-100:last-child input[type=email],
form .width-100:last-child input[type=password],
form .width-auto:last-child input[type=text],
form .width-auto:last-child input[type=email],
form .width-auto:last-child input[type=password] {
  width: 100%; }
form .width-20 .description,
form .width-25 .description,
form .width-33 .description,
form .width-50 .description,
form .width-100 .description,
form .width-auto .description {
  margin-left: 0; }
form .inline input[type=text],
form .inline input[type=email],
form .inline input[type=password] {
  width: auto;
  min-width: 40px;
  display: inline; }

button,
.button,
.button:active {
  color: #333333;
  outline: none;
  text-align: center;
  text-decoration: none;
  line-height: 1.3em;
  font-size: 13px;
  font-weight: normal;
  padding: 0px 16px;
  height: 40px;
  line-height: 40px;
  border-radius: 4px;
  background-color: #f3f3f3;
  background-image: -moz-linear-gradient(top, white, #e1e1e1);
  background-image: -ms-linear-gradient(top, white, #e1e1e1);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(white), to(#e1e1e1));
  background-image: -webkit-linear-gradient(top, white, #e1e1e1);
  background-image: -o-linear-gradient(top, white, #e1e1e1);
  background-image: linear-gradient(top, white, #e1e1e1);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e1e1e1', GradientType=0);
  border: 1px solid #dadada;
  border-left: 1px solid #d2d2d2;
  border-right: 1px solid #d2d2d2;
  border-bottom-color: #a9a9a9;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15), inset 0 1px 1px 0 rgba(255, 255, 255, 0.6);
  text-shadow: 0 1px 0px #ffffff;
  display: inline-block;
  position: relative;
  cursor: pointer; }

button:hover,
.button:hover {
  filter: none;
  background: none;
  background: #eee;
  text-decoration: none;
  /*
    // chrome 41 error on hover
    text-shadow: 0 1px 0px rgba(255, 255, 255, 0.8);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
  */ }

form.small-mode fieldset.buttons .row,
html.small-screen form fieldset.buttons .row {
  padding: 0; }
form.small-mode .form-title,
html.small-screen form .form-title {
  padding-left: 0; }
form.small-mode legend,
html.small-screen form legend {
  padding: 0 20px; }
form.small-mode label,
html.small-screen form label {
  width: 100%;
  line-height: 1.3em;
  text-align: left;
  padding: 5px 0px;
  border: 0; }
form.small-mode select,
form.small-mode textarea,
form.small-mode input[type=text],
form.small-mode input[type=email],
form.small-mode input[type=password],
html.small-screen form select,
html.small-screen form textarea,
html.small-screen form input[type=text],
html.small-screen form input[type=email],
html.small-screen form input[type=password] {
  width: 100%; }
form.small-mode .fields,
html.small-screen form .fields {
  padding-left: 0;
  padding-right: 39px; }
  form.small-mode .fields a.remove,
  html.small-screen form .fields a.remove {
    top: 30px; }
form.small-mode .row,
html.small-screen form .row {
  padding: 2px 0; }
  form.small-mode .row.radiobox, form.small-mode .row.checkbox,
  html.small-screen form .row.radiobox,
  html.small-screen form .row.checkbox {
    padding-left: 0%; }
form.small-mode .multicolumn,
html.small-screen form .multicolumn {
  width: 100%; }
form.small-mode .labelspace,
html.small-screen form .labelspace {
  padding-left: 0; }
form.small-mode .description,
html.small-screen form .description {
  margin-left: 0; }
form.small-mode .validation_message,
html.small-screen form .validation_message {
  margin-left: 0; }
form.small-mode .width-20 label,
form.small-mode .width-25 label,
form.small-mode .width-33 label,
form.small-mode .width-50 label,
form.small-mode .width-auto label,
html.small-screen form .width-20 label,
html.small-screen form .width-25 label,
html.small-screen form .width-33 label,
html.small-screen form .width-50 label,
html.small-screen form .width-auto label {
  width: 100%;
  line-height: 1.3em;
  padding: 5px 0px;
  border: 0; }
form.small-mode .width-20 textarea,
form.small-mode .width-20 input[type=text],
form.small-mode .width-20 input[type=email],
form.small-mode .width-20 input[type=password],
form.small-mode .width-25 textarea,
form.small-mode .width-25 input[type=text],
form.small-mode .width-25 input[type=email],
form.small-mode .width-25 input[type=password],
form.small-mode .width-33 textarea,
form.small-mode .width-33 input[type=text],
form.small-mode .width-33 input[type=email],
form.small-mode .width-33 input[type=password],
form.small-mode .width-50 textarea,
form.small-mode .width-50 input[type=text],
form.small-mode .width-50 input[type=email],
form.small-mode .width-50 input[type=password],
form.small-mode .width-auto textarea,
form.small-mode .width-auto input[type=text],
form.small-mode .width-auto input[type=email],
form.small-mode .width-auto input[type=password],
html.small-screen form .width-20 textarea,
html.small-screen form .width-20 input[type=text],
html.small-screen form .width-20 input[type=email],
html.small-screen form .width-20 input[type=password],
html.small-screen form .width-25 textarea,
html.small-screen form .width-25 input[type=text],
html.small-screen form .width-25 input[type=email],
html.small-screen form .width-25 input[type=password],
html.small-screen form .width-33 textarea,
html.small-screen form .width-33 input[type=text],
html.small-screen form .width-33 input[type=email],
html.small-screen form .width-33 input[type=password],
html.small-screen form .width-50 textarea,
html.small-screen form .width-50 input[type=text],
html.small-screen form .width-50 input[type=email],
html.small-screen form .width-50 input[type=password],
html.small-screen form .width-auto textarea,
html.small-screen form .width-auto input[type=text],
html.small-screen form .width-auto input[type=email],
html.small-screen form .width-auto input[type=password] {
  width: 90%; }
form.small-mode .width-20:last-child input[type=text],
form.small-mode .width-20:last-child input[type=email],
form.small-mode .width-20:last-child input[type=password],
form.small-mode .width-25:last-child input[type=text],
form.small-mode .width-25:last-child input[type=email],
form.small-mode .width-25:last-child input[type=password],
form.small-mode .width-33:last-child input[type=text],
form.small-mode .width-33:last-child input[type=email],
form.small-mode .width-33:last-child input[type=password],
form.small-mode .width-50:last-child input[type=text],
form.small-mode .width-50:last-child input[type=email],
form.small-mode .width-50:last-child input[type=password],
form.small-mode .width-auto:last-child input[type=text],
form.small-mode .width-auto:last-child input[type=email],
form.small-mode .width-auto:last-child input[type=password],
html.small-screen form .width-20:last-child input[type=text],
html.small-screen form .width-20:last-child input[type=email],
html.small-screen form .width-20:last-child input[type=password],
html.small-screen form .width-25:last-child input[type=text],
html.small-screen form .width-25:last-child input[type=email],
html.small-screen form .width-25:last-child input[type=password],
html.small-screen form .width-33:last-child input[type=text],
html.small-screen form .width-33:last-child input[type=email],
html.small-screen form .width-33:last-child input[type=password],
html.small-screen form .width-50:last-child input[type=text],
html.small-screen form .width-50:last-child input[type=email],
html.small-screen form .width-50:last-child input[type=password],
html.small-screen form .width-auto:last-child input[type=text],
html.small-screen form .width-auto:last-child input[type=email],
html.small-screen form .width-auto:last-child input[type=password] {
  width: 100%; }
form.small-mode .inline input[type=text],
form.small-mode .inline input[type=email],
form.small-mode .inline input[type=password],
html.small-screen form .inline input[type=text],
html.small-screen form .inline input[type=email],
html.small-screen form .inline input[type=password] {
  width: auto;
  min-width: 40px;
  display: inline; }

form .error_messages {
  clear: both;
  margin: 0 0 20px;
  padding: 20px 20px;
  border: solid 2px;
  border-color: #ffd6a5;
  background: #fff0db; }
  form .error_messages h2 {
    margin: 0px 0 10px;
    font-size: 20px;
    padding: 0;
    border: 0; }
  form .error_messages p {
    margin: 0;
    padding: 3px 0;
    text-indent: 0; }
  form .error_messages ul {
    width: auto;
    margin: 3px 0 5px;
    padding: 0;
    text-indent: 0;
    list-style: none;
    font-size: 100%;
    position: relative;
    display: block; }
  form .error_messages li {
    margin: 0;
    padding: 1px 0 1px 22px;
    text-indent: 0px;
    line-height: 150%;
    background: url("/assets/ico-exclamation.png") 0 center no-repeat; }

/* clearfix */
form .row:after {
  content: "";
  display: table;
  clear: both; }
html {
  width: 100%;
  height: 100%;
  background: transparent; }

html.small-screen body .app-container {
  padding: 0; }
html.small-screen body #sidebar {
  display: none; }

html.middle-screen body .app-container {
  padding: 0; }
html.middle-screen body #sidebar {
  display: none; }

body {
  width: 100%;
  min-height: 100%; }

body.ctrl-charters #container {
  min-height: 400px; }

a {
  text-decoration: none; }
  a:hover {
    text-decoration: underline; }

.red {
  color: #cc0000; }

.green {
  color: #006633; }

#container {
  padding: 20px 0;
  max-width: 960px;
  margin: 0 auto; }

div.flash {
  margin: -20px -20px 20px;
  padding: 10px;
  text-align: center;
  background: #fff; }

#error.flash {
  color: red;
  background: #f99; }

#notice.flash {
  color: green;
  background: lightgreen; }

#alert.flash {
  color: #c37100;
  background: #ffcd88; }

#warning.flash {
  color: orange;
  background: #ffcd88; }

#message.flash {
  color: blue;
  background: #90beee; }

#user-nav {
  float: right;
  text-align: right;
  margin-bottom: 10px;
  line-height: 2em; }

.basket_info {
  margin-left: 10px;
  padding: 5px 5px 5px 10px;
  border-left: solid 1px #666; }

#frm-login,
#frm-register,
#frm-verification,
#frm-password,
#frm-forgot,
#frm-unlock {
  max-width: 500px;
  margin: 0 auto; }

.account-shared-links {
  margin: 20px 0;
  font-size: 13px; }
#frm-order {
  padding: 0; }
  #frm-order div.col-left {
    clear: both;
    float: left;
    width: 50%;
    padding-right: 20px; }
  #frm-order div.col-right {
    float: right;
    width: 50%;
    padding-left: 20px; }
  #frm-order .form-actions {
    margin-top: 20px;
    text-align: center; }
  #frm-order div.agreement {
    clear: both; }
    #frm-order div.agreement .row.checkbox {
      padding-left: 12.0%; }
    #frm-order div.agreement a {
      text-decoration: underline;
      font-weight: bold; }
  #frm-order #shipping_address {
    display: none; }
  #frm-order #billing_address {
    display: none; }
  #frm-order h4.title {
    clear: left;
    margin: 20px 0 0;
    font-style: normal;
    font-weight: normal; }
  #frm-order .subtitle {
    padding: 11px 0; }
  #frm-order .payment-method {
    float: left;
    width: 100%; }
    #frm-order .payment-method p {
      margin: 10px 0; }
    #frm-order .payment-method .description {
      padding-left: 3px; }
    #frm-order .payment-method big.red {
      display: none; }
  #frm-order .error_message {
    color: red; }
  #frm-order .red {
    color: red; }

#order-customer-header {
  width: 100%;
  padding: 0;
  margin: 0;
  border-collapse: collapse; }
  #order-customer-header td {
    width: 25%;
    text-align: left;
    vertical-align: top; }
  #order-customer-header h3 {
    background: transparent;
    margin: 10px 0;
    padding: 0;
    font-style: normal;
    font-weight: normal; }

.basket_items {
  width: 100%;
  padding: 0;
  border-collapse: collapse; }
  .basket_items thead th {
    padding: 5px 5px 5px;
    border-bottom: solid 2px silver; }
  .basket_items tbody td {
    padding: 5px 5px 5px;
    border-bottom: solid 2px silver;
    text-align: center;
    vertical-align: middle; }
  .basket_items tfoot td {
    padding: 5px 5px 5px;
    font-weight: bold;
    text-align: right;
    vertical-align: middle;
    border-bottom: solid 2px silver; }
  .basket_items .col-description {
    width: 50%;
    text-align: left; }
  .basket_items .col-quantity {
    width: 10%;
    text-align: center;
    white-space: nowrap; }
  .basket_items .col-quantity input {
    text-align: center; }
  .basket_items .col-full-price {
    width: 10%;
    text-align: right;
    white-space: nowrap; }
  .basket_items .col-percent {
    width: 10%;
    text-align: center;
    white-space: nowrap; }
  .basket_items .col-instalment-price {
    width: 10%;
    text-align: right;
    white-space: nowrap; }
  .basket_items .col-action {
    width: 10%;
    text-align: center;
    white-space: nowrap; }
  .basket_items .col-description h3 {
    padding: 0;
    margin: 0 !important;
    font-family: inherit;
    font-size: 100%;
    color: #000; }
    .basket_items .col-description h3 a {
      color: #000; }
  .basket_items .col-description p {
    padding: 0;
    margin: 0; }
  .basket_items .col-description .error_message {
    color: red;
    padding: 5px 0 0; }
  .basket_items .col-description .discount {
    color: green;
    padding: 5px 0 0;
    font-size: 90%; }

.basket-actions {
  padding: 0;
  text-align: right; }

#frm-basket .basket-actions {
  position: relative;
  min-height: 50px; }

#frm-basket .basket-actions .continue {
  top: 0;
  left: 0;
  position: absolute; }

#credit_card label {
  float: left;
  width: 100px; }

#order_card_verification {
  width: 50px;
  text-align: center; }

#frm-order.payment {
  width: 100%;
  min-height: 200px;
  background: transparent url("/assets/lay-process-indicator.gif") no-repeat center 50px; }
.tbl-events {
  width: 100%;
  padding: 0;
  border-collapse: collapse; }
  .tbl-events thead th {
    padding: 5px 5px 5px;
    border-bottom: solid 2px silver; }
  .tbl-events tbody td {
    padding: 5px 5px 5px;
    border-bottom: solid 2px silver;
    text-align: center;
    vertical-align: middle; }
    .tbl-events tbody td label {
      display: none; }
  .tbl-events .col-term {
    text-align: left;
    white-space: nowrap; }
  .tbl-events .col-days {
    text-align: center;
    white-space: nowrap; }
  .tbl-events .col-route {
    text-align: left; }
  .tbl-events .col-price {
    text-align: right;
    white-space: nowrap; }
  .tbl-events .col-status {
    text-align: center; }
  .tbl-events .col-action {
    text-align: center;
    white-space: nowrap; }
  .tbl-events th {
    font-weight: bold;
    padding: 3px; }
  .tbl-events td {
    font-weight: normal;
    padding: 3px; }

#event-details h3 {
  clear: both;
  margin: 0;
  padding: 0 0 15px;
  position: relative; }
  #event-details h3 a.top {
    right: 0;
    top: 2px;
    font-size: 15px;
    line-height: 18px;
    position: absolute;
    display: none; }
#event-details .photos {
  margin: 25px -10px;
  padding: 0;
  list-style: none; }
  #event-details .photos li {
    display: inline-block;
    padding: 10px 10px; }
    #event-details .photos li img {
      width: 200px;
      height: 150px;
      display: inline; }
#event-details .columns2 {
  margin: 0 -25px; }
  #event-details .columns2 .column {
    float: left;
    width: 50%;
    padding: 0 25px; }
  #event-details .columns2 .column.col-right {
    float: right; }
#event-details .book-box {
  max-width: 250px;
  margin: 30px 0;
  text-align: center;
  position: relative; }
  #event-details .book-box .price {
    margin-bottom: 5px;
    text-align: center;
    font-size: 150%; }
    #event-details .book-box .price big {
      font-weight: bold; }
  #event-details .book-box .availability {
    text-align: center; }
#event-details table.tbl-info {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  border-spacing: 0; }
  #event-details table.tbl-info tbody tr th {
    padding: 5px 5px 5px 0;
    font-weight: 700;
    text-align: left;
    vertical-align: top; }
  #event-details table.tbl-info tbody tr td {
    font-size: 15px;
    vertical-align: top;
    padding: 5px 5px 5px 0; }
    #event-details table.tbl-info tbody tr td p {
      margin: 0 0 10px; }
  #event-details table.tbl-info tbody tr:first-child td, #event-details table.tbl-info tbody tr:first-child th {
    padding-top: 15px;
    border-top: 1px solid #a5a5a5; }
  #event-details table.tbl-info tbody tr:last-child td, #event-details table.tbl-info tbody tr:last-child th {
    padding-bottom: 15px; }
  #event-details table.tbl-info.no-border tr:first-child td, #event-details table.tbl-info.no-border tr:first-child th {
    border: 0;
    padding-top: 5px; }
  #event-details table.tbl-info.cols2 td {
    width: 75%; }
  #event-details table.tbl-info.cols2 th {
    width: 25%; }
  #event-details table.tbl-info.cols4 th {
    width: 20%; }
  #event-details table.tbl-info.cols4 td {
    width: 30%; }
  #event-details table.tbl-info .datetime {
    white-space: nowrap; }
#event-details dl.event-summary {
  margin: 0;
  padding: 15px 0 15px 155px; }
  #event-details dl.event-summary dt {
    float: left;
    width: 145px;
    margin: 0 0 0 -155px;
    font-weight: 700; }
  #event-details dl.event-summary dd {
    margin: 3px 0;
    padding: 0;
    min-height: 1.5em;
    display: block; }
    #event-details dl.event-summary dd a.more-arrow {
      margin: 3px 0 10px;
      width: 120px;
      display: block; }
#event-details dl.yacht-details {
  margin: 0 0 35px;
  padding: 0 0 0 130px; }
  #event-details dl.yacht-details dt {
    clear: both;
    float: left;
    margin: 0 0 0 -130px; }
  #event-details dl.yacht-details dd {
    margin: 5px 0;
    display: block;
    min-height: 1.5em; }

/* clearfix */
.columns2:after,
form .row:after {
  content: "";
  display: table;
  clear: both; }

@media (max-width: 600px) {
  table.tbl-events td, table.tbl-events th {
    display: block;
    text-align: center !important; }
    table.tbl-events td label, table.tbl-events th label {
      color: #4e4e4e;
      width: 28%;
      min-width: 64px;
      margin: 0;
      padding: 0;
      display: inline-block;
      position: absolute;
      left: 10px;
      top: 10px;
      font-weight: bold;
      line-height: 1em; }
  table.tbl-events tbody {
    font-size: 0;
    border-top: 2px solid #ddd; }
    table.tbl-events tbody tr {
      display: block;
      width: 100%;
      padding: 0;
      vertical-align: top;
      border-bottom: 2px solid #ddd;
      position: relative; }
      table.tbl-events tbody tr td {
        font-size: 13px;
        position: relative;
        text-align: left !important;
        width: 100% !important;
        min-height: 35px;
        padding: 10px 10px !important;
        padding-left: 35% !important;
        border: 0; }
  table.tbl-events th {
    display: none; } }
table.month {
  float: left;
  margin: 0 10px 0 0;
  /*width: 240px;*/
  border: solid 1px gray;
  border-collapse: collapse;
  font-size: 12px;
  /* marinara
  .empty { background-color: #eeeeee; }
  .charter { background-color: #2dc800; }
  .disable { background-color: #ffffff; }
  .hover { background-color: #99cafa; }
  .selected { background-color: #fff19f; }
  .reserved { background-color: #ff62b0; }
  .sold { background-color: #ff62b0; }
  */ }
  table.month thead td, table.month thead th {
    white-space: nowrap;
    background: #fafafa; }
  table.month th {
    border: solid 1px gray;
    height: 30px;
    vertical-align: middle; }
  table.month td {
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
    border: solid 1px gray;
    text-align: center;
    vertical-align: middle;
    cursor: pointer; }
    table.month td div {
      margin: 0;
      padding: 0;
      line-height: 30px;
      background: transparent; }
      table.month td div.pre {
        width: 15px;
        height: 30px;
        z-index: 25;
        position: absolute; }
      table.month td div.nr {
        z-index: 50;
        vertical-align: middle;
        position: relative; }
  table.month .empty {
    background-color: #c0c0c0; }
  table.month .charter {
    background-color: #ffffff; }
  table.month .disable {
    background-color: #e0e0e0; }
  table.month .hover {
    background-color: #99cafa; }
  table.month .selected {
    background-color: #74cb7f; }
  table.month .reserved {
    background-color: #efa6a4; }
  table.month .sold {
    background-color: #efa6a4; }

/* blue-lagoon */
body.blue-lagoon table.month .reserved {
  background-color: #feb85d; }

table.week1,
table.week2,
table.range {
  width: 100%; }
  table.week1 th,
  table.week2 th,
  table.range th {
    text-align: left;
    padding-left: 3px;
    padding-right: 3px; }
  table.week1 td,
  table.week2 td,
  table.range td {
    width: 24px; }
    table.week1 td.weekend,
    table.week2 td.weekend,
    table.range td.weekend {
      color: red; }
  table.week1 .navrange .namemonth,
  table.week2 .navrange .namemonth,
  table.range .navrange .namemonth {
    padding-left: 150px;
    font-weight: bold;
    text-align: center; }
  table.week1 .navrange .navmonth,
  table.week2 .navrange .navmonth,
  table.range .navrange .navmonth {
    float: right;
    width: 150px; }
    table.week1 .navrange .navmonth .nextmonth, table.week1 .navrange .navmonth .prevmonth,
    table.week2 .navrange .navmonth .nextmonth,
    table.week2 .navrange .navmonth .prevmonth,
    table.range .navrange .navmonth .nextmonth,
    table.range .navrange .navmonth .prevmonth {
      float: right;
      margin: 0px 5px 0;
      text-decoration: none; }
      table.week1 .navrange .navmonth .nextmonth:hover, table.week1 .navrange .navmonth .prevmonth:hover,
      table.week2 .navrange .navmonth .nextmonth:hover,
      table.week2 .navrange .navmonth .prevmonth:hover,
      table.range .navrange .navmonth .nextmonth:hover,
      table.range .navrange .navmonth .prevmonth:hover {
        text-decoration: underline; }

table.week1 .navrange .namemonth,
table.week2 .navrange .namemonth {
  padding-left: 0; }
table.week1 .boat-name,
table.week2 .boat-name {
  width: auto;
  min-width: 150px;
  white-space: nowrap; }

table.week1 td {
  width: 96px; }

table.week2 td {
  width: 48px; }

.boat-block-month {
  clear: both;
  float: left;
  width: 100%;
  margin: 10px 0 5px;
  padding: 0;
  display: block;
  position: relative; }
  .boat-block-month h3 {
    margin: 0;
    padding: 5px 0 5px;
    font-size: 100%; }
  .boat-block-month .navmonth {
    top: 5px;
    left: 0;
    width: 434px;
    position: absolute; }
    .boat-block-month .navmonth .nextmonth, .boat-block-month .navmonth .prevmonth {
      float: right;
      margin: 0px 5px 0;
      text-decoration: none; }
      .boat-block-month .navmonth .nextmonth:hover, .boat-block-month .navmonth .prevmonth:hover {
        text-decoration: underline; }

#boatinfo {
  margin: 0 0 10px; }
  #boatinfo img {
    float: left;
    border: solid 1px #999;
    padding: 2px;
    margin-right: 10px; }
  #boatinfo h4 {
    margin: 0 1em; }
  #boatinfo:after {
    clear: both;
    content: " ";
    display: table; }

#frm-charter {
  clear: both; }
  #frm-charter div.boat_ids,
  #frm-charter div.when {
    display: none; }

#orderinfo-charter {
  clear: none;
  float: left;
  width: 230px;
  min-height: 100px;
  margin: 0; }
  #orderinfo-charter h4 {
    color: gray;
    margin: 10px 5px 5px;
    padding: 0;
    border: 0;
    text-align: center;
    font-size: 15px; }
    #orderinfo-charter h4.begin_charter {
      margin-top: 0; }
  #orderinfo-charter table {
    width: 100%;
    margin: 0 0 20px;
    padding: 0;
    border: 0;
    border-collapse: collapse; }
    #orderinfo-charter table th {
      width: 40%;
      padding: 5px 5px;
      border: 0;
      border-right: solid 1px silver;
      border-top: solid 1px silver;
      text-align: right;
      font-weight: normal;
      vertical-align: middle; }
    #orderinfo-charter table td {
      width: 60%;
      padding: 5px 5px;
      border: 0;
      border-top: solid 1px silver;
      text-align: left;
      font-weight: normal;
      vertical-align: middle; }
    #orderinfo-charter table.prices th {
      width: 40%;
      white-space: nowrap; }
    #orderinfo-charter table.prices td {
      width: 60%;
      text-align: right;
      white-space: nowrap; }
    #orderinfo-charter table .total_price td, #orderinfo-charter table .total_price th {
      font-weight: bold;
      font-size: 15px; }
    #orderinfo-charter table .first_instalment td {
      color: #2d7937;
      font-weight: bold;
      font-size: 15px; }
    #orderinfo-charter table #charter_end_port_id {
      width: 100%; }
    #orderinfo-charter table .begin_date th,
    #orderinfo-charter table .begin_date td,
    #orderinfo-charter table .end_date th,
    #orderinfo-charter table .end_date td {
      border-top: 0; }
  #orderinfo-charter #prices.less-info table.prices tr.base_price,
  #orderinfo-charter #prices.less-info table.prices tr.discount_sum {
    display: none; }
  #orderinfo-charter .form-actions {
    margin: 10px 0;
    text-align: center; }

tr.boat-block {
  display: none; }

tr #orderinfo-charter {
  float: left;
  width: 100%;
  padding: 0;
  line-height: 1.5em; }
  tr #orderinfo-charter #frm-order {
    margin: 0;
    padding: 0; }
  tr #orderinfo-charter #begin_charter, tr #orderinfo-charter #end_charter, tr #orderinfo-charter #prices {
    width: 30%;
    float: left;
    clear: none;
    padding: 0;
    padding: 0 5px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box; }
    tr #orderinfo-charter #begin_charter h4, tr #orderinfo-charter #end_charter h4, tr #orderinfo-charter #prices h4 {
      color: gray;
      margin: 10px 0 5px;
      padding: 0;
      border: 0;
      text-align: center; }
    tr #orderinfo-charter #begin_charter table td, tr #orderinfo-charter #begin_charter table th, tr #orderinfo-charter #end_charter table td, tr #orderinfo-charter #end_charter table th, tr #orderinfo-charter #prices table td, tr #orderinfo-charter #prices table th {
      vertical-align: middle; }
  tr #orderinfo-charter #prices {
    width: 40%; }
  tr #orderinfo-charter #prices.less-info table.prices tr.base_price,
  tr #orderinfo-charter #prices.less-info table.prices tr.discount_sum {
    display: none; }

#calendar:after {
  content: "";
  display: table;
  clear: both; }
.ui-datepicker {
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  z-index: 100 !important; }

.ui-datepicker-header {
  height: 40px;
  line-height: 40px;
  position: relative;
  border: solid 1px #999;
  border-bottom: 0;
  background: #fff; }
  .ui-datepicker-header .ui-datepicker-title {
    text-align: center;
    font-weight: bold; }
  .ui-datepicker-header .ui-datepicker-prev {
    left: 10px;
    width: 60px;
    text-align: center;
    position: absolute;
    cursor: pointer; }
  .ui-datepicker-header .ui-datepicker-next {
    right: 10px;
    width: 60px;
    text-align: center;
    position: absolute;
    cursor: pointer; }

.ui-datepicker-calendar {
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  border: solid 1px #999;
  border-top: 0; }
  .ui-datepicker-calendar tbody tr {
    background: #888888;
    background-image: -webkit-linear-gradient(#555555 15%, #888888);
    background-image: -moz-linear-gradient(#555555 15%, #888888); }
  .ui-datepicker-calendar thead th {
    width: 40px;
    height: 30px;
    padding: 0;
    text-align: center;
    vertical-align: middle;
    background: #e0e0e0; }
    .ui-datepicker-calendar thead th span {
      color: #000;
      width: 100%;
      height: 100%;
      display: block;
      line-height: 30px;
      text-decoration: none;
      border-bottom: solid 1px #888; }
  .ui-datepicker-calendar tbody td {
    width: 40px;
    height: 40px;
    padding: 0;
    text-align: center;
    vertical-align: middle; }
    .ui-datepicker-calendar tbody td a {
      color: #000;
      width: auto;
      display: block;
      line-height: 40px;
      text-decoration: none;
      background-color: #ffffff;
      background-image: -webkit-linear-gradient(white 50%, #e0e0e0);
      background-image: -moz-linear-gradient(white 50%, #e0e0e0);
      border: solid 1px;
      border-color: #fff #aaa #aaa #fff; }
      .ui-datepicker-calendar tbody td a:hover {
        background-image: -webkit-linear-gradient(#e0e0e0 50%, white);
        background-image: -moz-linear-gradient(#e0e0e0 50%, white); }
    .ui-datepicker-calendar tbody td.ui-datepicker-week-end a {
      background-color: #ffacac;
      background-image: -webkit-linear-gradient(#ffacac 50%, #ff7070);
      background-image: -moz-linear-gradient(#ffacac 50%, #ff7070);
      border-color: #feb6b6 #ff5454 #ff5454 #feb6b6; }
      .ui-datepicker-calendar tbody td.ui-datepicker-week-end a:hover {
        background-image: -webkit-linear-gradient(#ff7070 50%, #ffacac);
        background-image: -moz-linear-gradient(#ff7070 50%, #ffacac); }
    .ui-datepicker-calendar tbody td.ui-datepicker-today a {
      background: yellow; }
    .ui-datepicker-calendar tbody td.ui-datepicker-current-day a {
      border: 0;
      background: #69aaf1;
      box-shadow: 0 1px 5px rgba(0, 0, 0, 0.5) inset; }
    .ui-datepicker-calendar tbody td.ui-datepicker-other-month a {
      background: transparent; }

.ui-datepicker-trigger {
  top: 9px;
  right: 4px;
  margin: 0;
  display: block;
  position: absolute;
  cursor: pointer; }
