@charset "utf-8";

/* ============================================== */
/* =========== BEGIN RESET/UTILITIES ============ */

/* ============== */
/* Basic Elements */
/* ============== */

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

.table tbody > tr > td.vert-aligned {
    vertical-align: middle;
}

/* HTML5 Block Elements. */
article, aside, canvas, details, figcaption, figure,
footer, header, main, menu, nav, output,
progress, section {
    display:block;
}

body {
    line-height:1;
}

/* Form elements. */
input, textarea, select, button, .input {
    font-size:100%;
    line-height:inherit;
    margin:0;
    padding:0;
}

input, select, .input {
    vertical-align:middle;
}

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

/* Deprecated. */
/*
acronym, applet, basefont, big, center, dir, font, frame,
frameset, noframes, strike, tt, xmp {}
*/

/* Unchanged elements.*/
/*
base, head, link, meta, style, title {}
*/

blockquote::before,
blockquote::after,
q::before,
q::after {
    content:'';
    content:none;
}

blockquote,
q {
    quotes:none;
}

ol, ul, nav ul {
    list-style:none
}

del, ins, s {
    text-decoration:none;
}

:focus {
    outline:0
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

hr {
    display:block;
    height:1px;
    border:0;
    margin-bottom:1em;
    padding:0;
}

/* ====== */
/* Tables */
/* ====== */

table {
    border-collapse:separate;
    border-spacing:0;
}

/* ===== */
/* Links */
/* ===== */

a img,
:link img,
:visited img {
    border:0;
}

/* ========= */
/* Utilities */
/* ========= */

.show,
.block {
    display:block !important;
}

.hide {
    display:none !important;
    visibility:hidden !important;
}

.inline {
    display:inline !important;
}

.inline-block {
    display:inline-block !important;
}

.clear {
    clear:both !important;
    display:block;
}

.clearfix::before,
.clearfix::after {
    display:table;
    content:" ";
}

.clearfix::after {
    clear:both;
}

.clearfix {
    *zoom:1;
}

.pull-left {
    float:left;
}

.pull-right {
    float:right;
}

.center {
    text-align:center !important;
}

.left {
    text-align:left !important;
}

.right {
    text-align:right !important;
}

.text-error {
    color:#D00;
}

.lead {
    font-size:1.3em;
}

/* =========== END RESET/UTILITIES =========== */
/* =========================================== */

/* =============== */
/* Standard Margin */
/* =============== */

h1, h2,
ol,
ul,
dl,
p,
.table,
fieldset,
div.form-actions,
ul.pagination,
ul.buttons,
.bmargin {
    margin-bottom:15px;
}

.form-item {
    margin-bottom:12px;
}

h3, h4, h5, h6 {
    margin-bottom:8px;
}

/* ============== */
/* Basic Elements */
/* ============== */

html {
    font-size:81.25%;
}

body {
    font-family:Arial, Helvetica, sans-serif;
    line-height:1.5;
}

.iframe {
    background:transparent;
}

.iframe body {
    background:transparent;
    padding:10px;
}

h1, h2, h3, h4, h5, h6 {}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    text-decoration:none;
}

h1, h2, h3, h4 {
    line-height:1.25;
}

h1 {
    font-size:2.6em;
}

h2 {
    font-size:2.2em;
}

h3 {
    font-size:1.8em;
}

h4 {
    font-size:1.4em;
}

h5 {
    font-size:1.2em;
}

p {
    margin-bottom:1em;
}

b,
strong {
    font-weight:bold;
}

i,
em {
    font-style:italic;
}

small {
    font-size:0.85em;
}

ol {
    list-style:decimal;
}

ul {
    list-style:disc;
}

ol, ul {
    margin-left:1.5em;
}

/* ====== */
/* Tables */
/* ====== */

.table {
    clear:both;
    width:100%;
}

/* ===== */
/* Forms */
/* ===== */

form,
fieldset,
.form-item,
.form-actions {
    clear:both;
}

input,
.input,
textarea,
select,
button {
    -webkit-box-sizing:border-box;
       -moz-box-sizing:border-box;
            box-sizing:border-box;
}

input,
.input,
textarea,
select {
    background:#FFF;
    border:1px solid #E2E2E2;
    font-family:inherit;
    max-width:300px;
    padding:5px;
    width:100%;
}

select,
input[type="checkbox"],
input[type="radio"] {
    width:auto;
}

input[type="checkbox"],
input[type="radio"] {
    cursor:pointer;
}

input[type="image"] {
    background:none;
    border:0;
    padding:0;
    width:auto;
}

input[type="image"]:focus {
    border:0;
}

input[disabled],
.input[disabled],
select[disabled],
textarea[disabled],
input[disabled]:focus,
.input[disabled]:focus,
select[disabled]:focus,
textarea[disabled]:focus {
    border-color:#E2E2E2;
    background:#EEE;
    color:#999;
    cursor:default;
}

input[readonly],
.input[readonly],
select[readonly],
textarea[readonly],
input[readonly]:focus,
.input[readonly]:focus,
select[readonly]:focus,
textarea[readonly]:focus {
    border-color:#E2E2E2;
    background:#EEE;
    color:#444;
    cursor:default;
}

option[disabled] {
    color:#BBB;
}

input.tiny,
textarea.tiny,
select.tiny {
    max-width:40px;
}

input.short,
textarea.short,
select.short {
    max-width:80px;
}

input.long,
textarea.long,
select.long {
    max-width:540px;
}

input.full,
textarea.full,
select.full {
    max-width:100%;
}

label {
    cursor:pointer;
    display:block;
    font-weight:bold;
    margin-bottom:2px;
    text-align:left;
}

label.required::before {
    color:red;
    content:"\02217  ";
}

label small,
legend small {
    display:block;
    font-size:0.85em;
    font-weight:normal !important;
}

.form-item {

}

.form-error input,
.form-error select {
    background:#FBE3E4;
    border-color:#F8B9BA;
}

tr.form-error td {
    background:#FFF0F0;
}

.form-errors {
    color:#D00;
    margin-left:1em;
}

.form-item-error {
    color:#D00;
}

.form-item-errors {
    clear:both;
    color:#D00;
    font-size:0.9em;
    list-style:none;
    margin:0;
}

/* Lists within form items, for radio buttons & checkboxes. */
.form-item ol {
    list-style:none;
    margin:0;
    padding:0;
}

.form-item ol li {
    padding:0;
    margin:0;
}

.form-item ol li label.checkbox, .form-item ol li label.radio {
    clear:both;
    float:none;
    font-weight:normal;
    margin:0;
    padding: 0px 0px 0px 23px;
    width:auto;
}

.form-item ol li label {
    clear:both;
    float:none;
    font-weight:normal;
    margin:0;
    padding:2px;
    width:auto;
}

.form-item ol li:last-child {
    border-bottom:0;
    margin-bottom:0;
    padding-bottom:0;
}

.form-item ol li input {
    border:0;
    width:auto;
}
/* ---------- */

/* ================ */
/* Radio/Checkboxes */
/* ================ */

.checkbox,
.radio {
    display:block;
}

/* Customize the label (the container) */
.checkbox,
.radio {
    display:inline-block;
    position:relative;
    padding-left:23px;
    cursor:pointer;
    -webkit-user-select:none;
       -moz-user-select:none;
        -ms-user-select:none;
            user-select:none;
}

/* Hide the browser's default radio button */
.checkbox input,
.radio input {
    position:absolute;
    opacity:0;
}

/* Create a custom radio button */
.checkbox .checkmark,
.radio .checkmark {
    position:absolute;
    top:0;
    left:0;
    height:18px;
    width:18px;
    background-color:#FFF;
    border:1px solid #888;
}

.radio .checkmark {
    border-radius:50%;
}

/* On mouse-over, add a grey background color */
.checkbox:hover input ~ .checkmark,
.radio:hover input ~ .checkmark {
    background-color:#CCC;
    border-color:#333;
}

/* When the radio button is checked */
.checkbox input:checked ~ .checkmark,
.radio input:checked ~ .checkmark {
    background-color:#FFF;
}

/* When the radio button is checked */
.checkbox:hover input:checked ~ .checkmark,
.radio:hover input:checked ~ .checkmark {
    background-color:#CCC;
    border-color:#333;
}

/* Create the indicator (the dot/circle - hidden when not checked) */
.checkmark::after {
    content:"";
    position:absolute;
    display:none;
}

/* Show the indicator (dot/circle) when checked */
.checkbox input:checked ~ .checkmark::after,
.radio input:checked ~ .checkmark::after {
    display:block;
}

/* Style the tick */
.checkbox .checkmark::after {
    left:5px;
    top:1px;
    width:6px;
    height:11px;
    border:solid #444;
    border-width:0 3px 3px 0;
    -webkit-transform:rotate(45deg);
        -ms-transform:rotate(45deg);
            transform:rotate(45deg);
}

/* Style the indicator dot */
.radio .checkmark::after {
    top:5px;
    left:5px;
    width:6px;
    height:6px;
    border-radius:50%;
    background:#444;
}

/* ========*/
/* Buttons */
/* ======= */

button,
input[type="submit"],
input[type="reset"],
input[type="button"],
a.button,
ul.buttons li a {
    cursor:pointer;
    display:inline-block;
    text-decoration:none;
    width:auto;
    vertical-align:middle;
}

ul.buttons {
    list-style:none;
    margin-left:0;
    padding:0;
}

ul.buttons li {
    display:inline-block;
    margin-bottom: 5px;
}

button:focus,
button:active,
a.button:focus,
a.button:active,
ul.buttons li a:focus,
ul.buttons li a:active {
    outline:thin dotted;
    outline:5px auto -webkit-focus-ring-color;
    outline-offset:-2px;
}

a.button.current,
a.button.disabled,
ul.buttons li.current a,
ul.buttons li.disabled a {
    cursor:default;
}

.ui-button:active,
.ui-button:focus {
    outline:none;
}

a.button.disabled,
a.button.disabled:hover,
ul.buttons li.disabled a,
ul.buttons li.disabled a:hover {
    background:#DDD;
    border-color:#555;
    color:#AAA;
    pointer-events:none;
}

/* ====== */
/* Alerts */
/* ====== */

.alert {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  border-radius: 4px;
}
.alert h4 {
  margin-top: 0;
  color: inherit;
}
.alert .alert-link {
  font-weight: bold;
}
.alert > p,
.alert > ul {
  margin-bottom: 0;
}
.alert > p + p {
  margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
  padding-right: 35px;
}
.alert-dismissable .close,
.alert-dismissible .close {
  position: relative;
  top: -2px;
  right: -21px;
  color: inherit;
}
.alert-success {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}
.alert-success hr {
  border-top-color: #c9e2b3;
}
.alert-success .alert-link {
  color: #2b542c;
}
.alert-info {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.alert-info hr {
  border-top-color: #a6e1ec;
}
.alert-info .alert-link {
  color: #245269;
}
.alert-warning {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc;
}
.alert-warning hr {
  border-top-color: #f7e1b5;
}
.alert-warning .alert-link {
  color: #66512c;
}
.alert-danger {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}
.alert-danger hr {
  border-top-color: #e4b9c0;
}
.alert-danger .alert-link {
  color: #843534;
}

/* ===== */
/* Icons */
/* ===== */

@font-face {
  font-family: 'icons';
  src: url('icons.eot?93310489');
  src: url('icons.eot?93310489#iefix') format('embedded-opentype'),
       url('icons.woff2?93310489') format('woff2'),
       url('icons.woff?93310489') format('woff'),
       url('icons.ttf?93310489') format('truetype'),
       url('icons.svg?93310489#icons') format('svg');
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'icons';
    src: url('../font/icons.svg?99926897#icons') format('svg');
  }
}
*/

 [class^="icon-"]::before, [class*=" icon-"]::before {
  font-family: "icons";
  font-style: normal;
  font-weight: normal;
  speak: none;

  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */

  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;

  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;

  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;

  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */

  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.icon-graduation::before { content: '\e800'; }
.icon-bag::before { content: '\e801'; }
.icon-mail::before { content: '\e802'; }
.icon-mobile::before { content: '\e803'; }
.icon-calendar::before { content: '\e804'; }
.icon-phone::before { content: '\e805'; }
.icon-user::before { content: '\e806'; }
.icon-paper-plane::before { content: '\e807'; }
.icon-folder::before { content: '\e808'; }
.icon-comment::before { content: '\e809'; }
.icon-cart::before { content: '\e80a'; }
.icon-trash::before { content: '\e80b'; }
.icon-cross-circle::before { content: '\e80c'; }
.icon-tick-circle::before { content: '\e80d'; }
.icon-refresh::before { content: '\e80e'; }
.icon-grid-large::before { content: '\e80f'; }
.icon-down-arrow::before { content: '\e810'; }
.icon-left-arrow::before { content: '\e811'; }
.icon-up-arrow::before { content: '\e812'; }
.icon-right-arrow::before { content: '\e813'; }
.icon-radio::before { content: '\e814'; }
.icon-radio-checked::before { content: '\e815'; }
.icon-code-lock::before { content: '\e816'; }
.icon-code-lock-open::before { content: '\e817'; }
.icon-cw::before { content: '\e818'; }
.icon-pencil::before { content: '\e819'; }
.icon-dot::before { content: '\e81a'; }
.icon-dot-3::before { content: '\e81b'; }
.icon-dot-2::before { content: '\e81c'; }
.icon-help-circle::before { content: '\e81d'; }
.icon-lock::before { content: '\e81e'; }
.icon-down-open::before { content: '\e81f'; }
.icon-left-open::before { content: '\e820'; }
.icon-right-open::before { content: '\e821'; }
.icon-checkbox-checked::before { content: '\e822'; }
.icon-home::before { content: '\e823'; }
.icon-thumbs-up::before { content: '\e824'; }
.icon-thumbs-down::before { content: '\e825'; }
.icon-attention::before { content: '\e826'; }
.icon-grid-small::before { content: '\e827'; }
.icon-lock-open::before { content: '\e828'; }
.icon-search::before { content: '\e829'; }
.icon-erase::before { content: '\e82a'; }
.icon-doc::before { content: '\e82b'; }
.icon-checkbox::before { content: '\e82c'; }
.icon-logout::before { content: '\e82d'; }
.icon-wrench::before { content: '\e82e'; }
.icon-list::before { content: '\e82f'; }
.icon-menu::before { content: '\e830'; }
.icon-tick::before { content: '\e831'; }
.icon-cross::before { content: '\e832'; }
.icon-chat::before { content: '\e833'; }
.icon-info-circle::before { content: '\e834'; }
.icon-plus-circle::before { content: '\e835'; }
.icon-minus-circle::before { content: '\e836'; }
.icon-cog::before { content: '\e837'; }
.icon-clock::before { content: '\e838'; }
.icon-login::before { content: '\e839'; }
.icon-download::before { content: '\e83a'; }
.icon-edit::before { content: '\e83b'; }
.icon-down-circle::before { content: '\e83c'; }
.icon-up-circle::before { content: '\e83d'; }
.icon-right-circle::before { content: '\e83e'; }
.icon-left-circle::before { content: '\e83f'; }
.icon-star::before { content: '\e840'; }
.icon-star-empty::before { content: '\e841'; }
.icon-beaker::before { content: '\e842'; }
.icon-filter::before { content: '\e843'; }
.icon-bar-chart::before { content: '\e844'; }
.icon-link::before { content: '\e845'; }
.icon-picture::before { content: '\e846'; }
.icon-video::before { content: '\e847'; }
.icon-camera::before { content: '\e848'; }
.icon-zoom-in::before { content: '\e849'; }
.icon-zoom-out::before { content: '\e84a'; }
.icon-up-open::before { content: '\e84b'; }
.icon-twitter::before { content: '\e84c'; }
.icon-linkedin::before { content: '\e84d'; }
.icon-gplus::before { content: '\e84e'; }
.icon-down-dir::before { content: '\e84f'; }
.icon-left-dir::before { content: '\e850'; }
.icon-right-dir::before { content: '\e851'; }
.icon-up-dir::before { content: '\e852'; }
.icon-hourglass::before { content: '\e853'; }
.icon-facebook::before { content: '\e854'; }
.icon-instagram::before { content: '\e855'; }
.icon-youtube::before { content: '\e856'; }
.icon-flickr::before { content: '\e857'; }
.icon-tumblr::before { content: '\e858'; }
.icon-pinterest::before { content: '\e859'; }
.icon-facebook-circled::before { content: '\f051'; }
.icon-instagram-circled::before { content: '\f05e'; }
.icon-basket::before { content: '\f291'; }

/* ======== */
/* JQueryUI */
/* ======== */

.ui-datepicker .ui-datepicker-title select {
    color:#000;
    font-weight:normal;
    font-size:12px;
    margin:1px 2px 4px 0;
    padding:1px;
}

.ui-timepicker th {
    font-weight:bold;
    padding:4px 6px;
    text-align:center;
}

.ui-timepicker td {
    padding:1px;
}

.ui-timepicker td a {
    display:block;
    padding:4px 6px;
    text-decoration:none;
}

.ui-timepicker-table {
    border-width:3px;
    border-spacing:3px;
    font-size:0.9em;
}

.ui-timepicker-title {
    padding:3px;
    margin:1px 1px 3px 1px;
    text-align:center;
}

td.ui-timepicker-hours,
td.ui-timepicker-minutes {
    padding:0;
}

.ui-dialog {
    max-width:800px;
    min-width:320px;
}

/* ====== */
/* Auth3D */
/* ====== */

#authframe {
    display:block;
    background:transparent;
    margin-bottom:15px;
}

#authorise,
#paymentResult {
    text-align:center;
    height:450px;
}

#authorise .processing,
#paymentResult .processing {
    position:relative;
    top:50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
}

/* =========== */
/* Main Layout */
/* =========== */

#header-outer,
#header-inner {
    position:relative;
}

#header-inner {
    padding-top:15px;
    padding-bottom:15px;
}

#header-inner h1 {
    position:absolute;
    right:0;
    bottom:0;
    margin-bottom:15px;
}

#main-content-mp,
#main-content-os {
    margin-top:15px;
}

#main-content-os {
    margin-left:auto;
    margin-right:auto;
}

.navigation {
    list-style:none;
    margin-left:0;
}

.basket-tab {
    position:absolute;
    right:0px;
    top:0px;
}

.cookie-policy {
    position:fixed;
    bottom:0;
    left:0;
    width:100%;
    background:rgba(0, 0, 0, 0.9);
    color:#FFF;
    padding:15px;
    z-index:1000;
    font-size:1.1em;
}

.cookie-policy-left {
    float:left;
    width:70%;
    padding:15px;
}

.cookie-policy-right {
    float:right;
    width:30%;
    text-align:right;
    padding:15px;
}

.cookie-policy a.dismiss-btn,
.cookie-policy a.dismiss-btn:link,
.cookie-policy a.dismiss-btn:visited {
    padding:12px 28px;
    border:2px solid #FFF;
    cursor:pointer;
    color:#FFF;
    text-decoration:none;
    white-space:nowrap;
}

.cookie-policy a.dismiss-btn:hover,
.cookie-policy a.dismiss-btn:active {
    color:#FFF;
    text-decoration:none;
}

@media (max-width: 640px) {

    .cookie-policy-left {
        width:60%;
    }
    .cookie-policy-right {
        width:40%;
    }
}

/* Breakpoint where MP becomes full width. */
@media (max-width: 767px) {

    .header-inner-mp {
        margin:0 -15px;
        padding-left:15px;
        padding-right:15px;
    }

    .navigation {
        margin:0 -15px 15px -15px;
    }

    #main-content-mp {
        margin-top:0px;
    }

    .basket-tab,
    .header-inner-mp h1 {
        margin-right:5px;
    }
}

/* Breakpoint where OS becomes full width. */
@media only screen and (max-width: 640px) {

    #main-content-os {
        margin-top:0px;
    }

    #basket-mini,
    .header-inner-os h1 {
        margin-right:5px;
    }
}
