﻿html {
    box-sizing: border-box
}

#wpadminbar {
    opacity: 0.65;
}

*, *::after, *::before {
    box-sizing: inherit
}

@font-face {
    font-family: Cylburn;
    src: url("../fonts/cylburn/cylburn.woff2") format("woff2"), url("../fonts/cylburn/cylburn.woff") format("woff");
    font-weight: regular;
    font-style: normal
}

@font-face {
    font-family: Open Sans;
    src: url("../fonts/opensans/opensans-regular.woff2") format("woff2"), url("../fonts/opensans/opensans-regular.woff") format("woff");
    font-weight: regular;
    font-style: normal
}

@font-face {
    font-family: Open Sans;
    src: url("../fonts/opensans/opensans-bold.woff2") format("woff2"), url("../fonts/opensans/opensans-bold.woff") format("woff");
    font-weight: bold;
    font-style: normal
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, 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 {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block
}

section, header, footer, .section, .table {
    position: relative;
    display: block
}

section:after, header:after, footer:after, .section:after, .table:after {
    clear: both;
    content: "";
    display: table
}

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

html, html a {
    -webkit-font-smoothing: antialiased;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004)
}

html {
    box-sizing: border-box;
    height: 100%;
    min-height: 100%
}

body {
    font: 14px/24px 'Open Sans', sans-serif;
    font-weight: 400;
    position: relative;
    height: 100%;
    min-height: 100%;
    color: #3c3c3c
}

@media screen and (max-width: 1024px) {
    body {
        font-size: 15px;
        line-height: 28px
    }
}

@media screen and (max-width: 640px) {
    body {
        font-size: 14px;
        line-height: 26px
    }
}

ul {
    list-style: none
}

ul li {
    display: inline-block
}

em {
    font-style: italic
}

a {
    color: #8e2631;
    transition: color 360ms ease;
    text-decoration: none
}

a:hover {
    color: #661b23
}

a img {
    border: none;
    max-width: 100%;
    height: auto
}

img {
    vertical-align: middle
}

a[x-apple-data-detectors] {
    color: inherit !important;
    text-decoration: none !important;
    font-size: inherit !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important
}

[role=button], a, area, button, input, label, select, summary, textarea {
    -ms-touch-action: manipulation;
    touch-action: manipulation
}

h1, h2, h3, h4, h5, h6 {
    font-weight: regular
}

h1, .h1 {
    font-size: 38px;
    line-height: 42px;
    font-size: 2.375rem;
    line-height: 2.625rem
}

@media screen and (max-width: 768px) {
    h1, .h1 {
        font-size: 30px;
        line-height: 30px;
        font-size: 1.875rem;
        line-height: 1.875rem
    }
}

@media screen and (max-width: 640px) {
    h1, .h1 {
        font-size: 28px;
        line-height: 28px;
        font-size: 1.75rem;
        line-height: 1.75rem
    }
}

h2, .h2 {
    font-size: 32px;
    line-height: 32px;
    font-size: 2rem;
    line-height: 2rem
}

@media screen and (max-width: 768px) {
    h2, .h2 {
        font-size: 24px;
        line-height: 24px;
        font-size: 1.5rem;
        line-height: 1.5rem
    }
}

@media screen and (max-width: 640px) {
    h2, .h2 {
        font-size: 22px;
        line-height: 22px;
        font-size: 1.375rem;
        line-height: 1.375rem
    }
}

h3, .h3 {
    font-size: 22px;
    line-height: 22px;
    font-size: 1.375rem;
    line-height: 1.375rem
}

@media screen and (max-width: 768px) {
    h3, .h3 {
        font-size: 20px;
        line-height: 20px;
        font-size: 1.25rem;
        line-height: 1.25rem
    }
}

@media screen and (max-width: 640px) {
    h3, .h3 {
        font-size: 18px;
        line-height: 18px;
        font-size: 1.125rem;
        line-height: 1.125rem
    }
}

h4, .h4 {
    font-size: 15px;
    line-height: 17px;
    font-size: 0.9375rem;
    line-height: 1.0625rem
}

@media screen and (max-width: 768px) {
    h4, .h4 {
        font-size: 14px;
        line-height: 16px;
        font-size: 0.875rem;
        line-height: 1rem
    }
}

h5, .h5 {
    font-size: 14px;
    line-height: 14px;
    font-size: 0.875rem;
    line-height: 0.875rem
}

strong, .text-strong {
    font-weight: bold
}

hr {
    border: 0;
    height: 1px;
    background-color: #b4b4b4;
    margin-top: 12px;
    margin-bottom: 12px
}

@media screen and (max-width: 640px) {
    hr {
        margin-top: 8px;
        margin-bottom: 8px
    }
}

.container {
    max-width: 1170px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    padding-left: 20px;
    padding-right: 20px
}

.container::after {
    clear: both;
    content: "";
    display: table
}

@media screen and (max-width: 768px) {
    .container {
        padding-left: 15px;
        padding-right: 15px
    }
}

.container .container {
    padding-left: 0;
    padding-right: 0
}

.form-row, .row {
    position: relative
}

.grid::after, .gallery::after, .form-row::after, .row::after, .tabs-nav::after {
    clear: both;
    content: "";
    display: table
}

.grid-sm, .row-col-2 .col {
    float: left;
    display: block;
    margin-right: 0%;
    width: 50%
}

@media screen and (max-width: 768px) {
    .grid-sm, .row-col-2 .col {
        display: block;
        clear: both;
        float: none;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        position: relative;
        left: 0
    }
}

.container-thin {
    max-width: 1020px
}

.container-narrow {
    max-width: 720px
}

.container-xnarrow {
    max-width: 520px
}

[class*="col"] {
    position: relative;
    min-height: 1px
}

.col-1 {
    float: left;
    display: block;
    margin-right: 3.63636%;
    width: 5%
}

.col-1:last-child {
    margin-right: 0
}

.col-2 {
    float: left;
    display: block;
    margin-right: 3.63636%;
    width: 13.63636%
}

.col-2:last-child {
    margin-right: 0
}

.col-3 {
    float: left;
    display: block;
    margin-right: 3.63636%;
    width: 22.27273%
}

.col-3:last-child {
    margin-right: 0
}

.col-4 {
    float: left;
    display: block;
    margin-right: 3.63636%;
    width: 30.90909%
}

.col-4:last-child {
    margin-right: 0
}

.col-5 {
    float: left;
    display: block;
    margin-right: 3.63636%;
    width: 39.54545%
}

.col-5:last-child {
    margin-right: 0
}

.col-6 {
    float: left;
    display: block;
    margin-right: 3.63636%;
    width: 48.18182%
}

.col-6:last-child {
    margin-right: 0
}

.col-7 {
    float: left;
    display: block;
    margin-right: 3.63636%;
    width: 56.81818%
}

.col-7:last-child {
    margin-right: 0
}

.col-8 {
    float: left;
    display: block;
    margin-right: 3.63636%;
    width: 65.45455%
}

.col-8:last-child {
    margin-right: 0
}

.col-9 {
    float: left;
    display: block;
    margin-right: 3.63636%;
    width: 74.09091%
}

.col-9:last-child {
    margin-right: 0
}

.col-10 {
    float: left;
    display: block;
    margin-right: 3.63636%;
    width: 82.72727%
}

.col-10:last-child {
    margin-right: 0
}

.col-11 {
    float: left;
    display: block;
    margin-right: 3.63636%;
    width: 91.36364%
}

.col-11:last-child {
    margin-right: 0
}

.col-12 {
    float: left;
    display: block;
    margin-right: 3.63636%;
    width: 100%
}

.col-12:last-child {
    margin-right: 0
}

.shift-col-1 {
    margin-left: 8.63636%
}

.shift-col-2 {
    margin-left: 17.27273%
}

.shift-col-4 {
    margin-left: 34.54545%
}

.shift-col-6 {
    margin-left: 51.81818%
}

.shift-col-7 {
    margin-left: 60.45455%
}

@media screen and (max-width: 1024px) {
    .col-6-md {
        float: left;
        display: block;
        margin-right: 3.63636%;
        width: 48.18182%
    }

    .col-6-md:last-child {
        margin-right: 0
    }

    .shift-col-6-md {
        margin-left: 51.81818%
    }

    .col-6-md {
        float: left;
        display: block;
        margin-right: 3.63636%;
        width: 48.18182%
    }

    .col-6-md:last-child {
        margin-right: 0
    }

    .col-12-md {
        float: left;
        display: block;
        margin-right: 3.63636%;
        width: 100%
    }

    .col-12-md:last-child {
        margin-right: 0
    }
}

@media screen and (max-width: 768px) {
    .shift-col-0-sm {
        margin-left: 0%
    }

    .shift-col-2-sm {
        margin-left: 17.27273%
    }

    .shift-col-3-sm {
        margin-left: 25.90909%
    }

    .shift-col-4-sm {
        margin-left: 34.54545%
    }

    .shift-col-5-sm {
        margin-left: 43.18182%
    }

    .col-4-sm {
        float: left;
        display: block;
        margin-right: 3.63636%;
        width: 30.90909%
    }

    .col-4-sm:last-child {
        margin-right: 0
    }

    .col-6-sm {
        float: left;
        display: block;
        margin-right: 3.63636%;
        width: 48.18182%
    }

    .col-6-sm:last-child {
        margin-right: 0
    }

    .col-7-sm {
        float: left;
        display: block;
        margin-right: 3.63636%;
        width: 56.81818%
    }

    .col-7-sm:last-child {
        margin-right: 0
    }

    .col-8-sm {
        float: left;
        display: block;
        margin-right: 3.63636%;
        width: 65.45455%
    }

    .col-8-sm:last-child {
        margin-right: 0
    }

    .col-9-sm {
        float: left;
        display: block;
        margin-right: 3.63636%;
        width: 74.09091%
    }

    .col-9-sm:last-child {
        margin-right: 0
    }

    .col-10-sm {
        float: left;
        display: block;
        margin-right: 3.63636%;
        width: 82.72727%
    }

    .col-10-sm:last-child {
        margin-right: 0
    }

    .col-12-sm {
        float: left;
        display: block;
        margin-right: 3.63636%;
        width: 100%
    }

    .col-12-sm:last-child {
        margin-right: 0
    }
}

@media screen and (max-width: 640px) {
    .col-6-xs {
        float: left;
        display: block;
        margin-right: 5.55556%;
        width: 47.22222%
    }

    .col-6-xs:last-child {
        margin-right: 0
    }

    .col-12-xs {
        float: left;
        display: block;
        margin-right: 5.55556%;
        width: 100%
    }

    .col-12-xs:last-child {
        margin-right: 0
    }
}

.grid-col-2 > li {
    float: left;
    display: block;
    margin-right: 3.63636%;
    width: 48.18182%
}

.grid-col-2 > li:last-child {
    margin-right: 0
}

.grid-col-2 > li:nth-child(2n) {
    margin-right: 0
}

.grid-col-2 > li:nth-child(2n+1) {
    clear: left
}

@media screen and (max-width: 768px) {
    .grid-col-2 > li {
        float: left;
        display: block;
        margin-right: 3.63636%;
        width: 100%
    }

    .grid-col-2 > li:nth-child(2n) {
        margin-right: 3.63636%
    }

    .grid-col-2 > li:nth-child(2n+1) {
        clear: none
    }

    .grid-col-2 > li:last-child {
        margin-right: 0
    }
}

.grid-col-3 > li {
    float: left;
    display: block;
    margin-right: 3.63636%;
    width: 30.90909%
}

.grid-col-3 > li:last-child {
    margin-right: 0
}

.grid-col-3 > li:nth-child(3n) {
    margin-right: 0
}

.grid-col-3 > li:nth-child(3n+1) {
    clear: left
}

@media screen and (max-width: 1024px) {
    .grid-col-3 > li {
        float: left;
        display: block;
        margin-right: 3.63636%;
        width: 48.18182%
    }

    .grid-col-3 > li:nth-child(3n) {
        margin-right: 3.63636%
    }

    .grid-col-3 > li:nth-child(3n+1) {
        clear: none
    }

    .grid-col-3 > li:last-child {
        margin-right: 0
    }

    .grid-col-3 > li:nth-child(2n) {
        margin-right: 0
    }

    .grid-col-3 > li:nth-child(2n+1) {
        clear: left
    }
}

@media screen and (max-width: 640px) {
    .grid-col-3 > li {
        float: left;
        display: block;
        margin-right: 5.55556%;
        width: 100%
    }

    .grid-col-3 > li:nth-child(3n) {
        margin-right: 3.63636%
    }

    .grid-col-3 > li:nth-child(3n+1) {
        clear: none
    }

    .grid-col-3 > li:last-child {
        margin-right: 0
    }
}

.grid-col-circles > li {
    float: left;
    display: block;
    margin-right: 3.63636%;
    width: 30.90909%
}

.grid-col-circles > li:last-child {
    margin-right: 0
}

.grid-col-circles > li:nth-child(3n) {
    margin-right: 0
}

.grid-col-circles > li:nth-child(3n+1) {
    clear: left
}

@media screen and (max-width: 768px) {
    .grid-col-circles > li {
        float: left;
        display: block;
        margin-right: 3.63636%;
        width: 100%
    }

    .grid-col-circles > li:nth-child(3n) {
        margin-right: 3.63636%
    }

    .grid-col-circles > li:nth-child(3n+1) {
        clear: none
    }

    .grid-col-circles > li:last-child {
        margin-right: 0
    }
}

.grid-col-4 > li {
    float: left;
    display: block;
    margin-right: 3.63636%;
    width: 22.27273%
}

.grid-col-4 > li:last-child {
    margin-right: 0
}

.grid-col-4 > li:nth-child(4n) {
    margin-right: 0
}

.grid-col-4 > li:nth-child(4n+1) {
    clear: left
}

@media screen and (max-width: 768px) {
    .grid-col-4 > li {
        float: left;
        display: block;
        margin-right: 3.63636%;
        width: 48.18182%
    }

    .grid-col-4 > li:nth-child(3n) {
        margin-right: 3.63636%
    }

    .grid-col-4 > li:nth-child(3n+1) {
        clear: none
    }

    .grid-col-4 > li:last-child {
        margin-right: 0
    }

    .grid-col-4 > li:nth-child(2n) {
        margin-right: 0
    }

    .grid-col-4 > li:nth-child(2n+1) {
        clear: left
    }
}

.alert {
    padding: 14px;
    border: 1px solid transparent;
    border-radius: 4px;
    line-height: 20px;
    font-size: 14px
}

.alert a {
    border-bottom: 1px dotted rgba(0, 0, 0, 0.2)
}

.alert-warning {
    background-color: #e8e8e8;
    border-color: #cecece;
    color: #676767
}

.alert-warning a {
    color: #66512c
}

.alert-success {
    background-color: #dff0d8;
    border-color: #d0e9c6;
    color: #3c763d
}

.alert-success a {
    color: #2d5f2e
}

.alert-success a:hover {
    color: #1d3c1d
}

.alert-error {
    background-color: #db4d4d;
    border-color: #b20b0b;
    color: #fcd5d5
}

.alert-error a {
    color: #fcd5d5
}

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

[class^="icon-"], [class*=" icon-"] {
    font-family: 'icons' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.icon-account:before {
    content: "\e900"
}

.icon-basket:before {
    content: "\e905"
}

.icon-heart-fill:before {
    content: "\e901"
}

.icon-heart:before {
    content: "\e902"
}

.icon-star-fill:before {
    content: "\e903"
}

.icon-star:before {
    content: "\e904"
}

.icon-clock:before {
    content: "\e014"
}

.icon-search:before {
    content: "\e036"
}

.icon-arrow-left:before {
    content: "\e094"
}

.icon-arrow-right:before {
    content: "\e095"
}

.icon-arrow-up:before {
    content: "\e096"
}

.icon-arrow-down:before {
    content: "\e097"
}

.icon-plus:before {
    content: "\e114"
}

.icon-minus:before {
    content: "\e115"
}

.icon-check:before {
    content: "\e116"
}

.icon-cross:before, .icon-close:before {
    content: "\e117"
}

.icon-envelope:before {
    content: "\f003"
}

.icon-home:before {
    content: "\f015"
}

.icon-camera:before {
    content: "\f030"
}

.icon-map-marker:before {
    content: "\f041"
}

.icon-calendar:before {
    content: "\f073"
}

.icon-phone:before {
    content: "\f095"
}

.icon-twitter:before {
    content: "\f099"
}

.icon-facebook:before {
    content: "\f09a"
}

.icon-table:before {
    content: "\f0ce"
}

.icon-google-plus:before {
    content: "\f0d5"
}

.icon-linkedin:before {
    content: "\f0e1"
}

.icon-comments:before {
    content: "\f0e6"
}

.icon-research:before {
    content: "\f0f6"
}

.icon-angle-left:before {
    content: "\f104"
}

.icon-angle-right:before {
    content: "\f105"
}

.icon-angle-up:before {
    content: "\f106"
}

.icon-angle-down:before {
    content: "\f107"
}

.icon-mobile:before {
    content: "\f10b"
}

.icon-calendar-o:before {
    content: "\f133"
}

.icon-youtube:before {
    content: "\f167"
}

.icon-youtube-play:before {
    content: "\f16a"
}

.icon-instagram:before {
    content: "\f16d"
}

.icon-file-pdf:before {
    content: "\f1c1"
}

.icon-file-word:before {
    content: "\f1c2"
}

.icon-file-excel:before {
    content: "\f1c3"
}

.icon-file-powerpoint:before {
    content: "\f1c4"
}

.icon-file-image:before {
    content: "\f1c5"
}

.icon-file-photo:before {
    content: "\f1c5"
}

.icon-file-picture:before {
    content: "\f1c5"
}

.icon-file-archive:before {
    content: "\f1c6"
}

.icon-file-zip:before {
    content: "\f1c6"
}

.icon-file-audio:before {
    content: "\f1c7"
}

.icon-file-sound:before {
    content: "\f1c7"
}

.icon-file-movie:before {
    content: "\f1c8"
}

.icon-file-video:before {
    content: "\f1c8"
}

.icon-file-code:before {
    content: "\f1c9"
}

dl {
    margin: 0px;
    padding: 0px;
    overflow: auto;
    white-space: no-wrap
}

dl:after {
    clear: both;
    display: table;
    content: ''
}

dt, dd {
    display: inline-block;
    float: left;
    padding: 8px 12px;
    border-bottom: 4px solid #fff
}

dt {
    width: 30%;
    background-color: #e8e8e8;
    border-right: 4px solid #fff
}

dd {
    width: 70%;
    background-color: #f2f2f2
}

.list-nav li {
    display: block
}

.list-nav li a {
    display: block;
    padding-top: 1px;
    padding-bottom: 1px
}

.table {
    display: table;
    width: 100%;
    height: 100%;
    table-layout: fixed;
    overflow: hidden
}

.table th {
    text-align: left
}

.table tr {
    padding: 0
}

.table td {
    padding: 12px;
    line-height: 1em;
    border-bottom: 2px solid #fff
}

.table tr:last-child td {
    border-bottom: 0
}

.table td.table-cell-first {
    border-right: 2px solid #fff;
    width: 40%
}

.table-row {
    position: relative;
    display: table-row;
    width: 100%;
    height: 100%;
    overflow: hidden
}

.table-cell {
    position: relative;
    display: table-cell;
    height: 100%;
    min-height: 100%;
    width: 100%
}

.full-height {
    height: 100%
}

.v-align-top {
    vertical-align: top
}

.v-align-middle {
    vertical-align: middle !important
}

.v-align-bottom {
    vertical-align: bottom
}

.va-container, .alpha {
    position: absolute;
    z-index: 1;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    -webkit-transition: opacity 5s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: opacity 5s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.va-content {
    position: relative;
    display: table;
    width: 100%;
    height: 100%
}

.va-text {
    display: table-cell;
    height: 100%
}

.bg-alpha-dark {
    background-color: rgba(0, 0, 0, 0.8)
}

.bg-alpha {
    background-color: rgba(0, 0, 0, 0.2)
}

.bg-cover {
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover
}

.bg-cover .container {
    z-index: 2
}

.bg-white {
    background-color: #fff
}

.bg-lightest {
    background-color: #f2f2f2
}

.bg-lighter {
    background-color: #e8e8e8
}

.bg-light {
    background-color: #cecece
}

.bg-dark {
    background-color: #3c3c3c
}

.bg-black {
    background-color: #222
}

.bg-primary {
    background-color: #8e2631
}

.bg-primary-dark {
    background-color: #7c212b
}

.bg-split {
    position: relative;
    overflow: hidden
}

.bg-split:after {
    background-color: rgba(0, 0, 0, 0.08);
    content: '';
    position: absolute;
    display: block;
    z-index: 1;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30%
}

.text-center {
    text-align: center
}

.text-right {
    text-align: right
}

.text-left {
    text-align: left
}

@media screen and (max-width: 768px) {
    .text-center-sm {
        text-align: center
    }
}

@media screen and (max-width: 768px) {
    .text-left-sm {
        text-align: left
    }
}

@media screen and (max-width: 768px) {
    .text-right-sm {
        text-align: right
    }
}

.text-normal {
    font-family: 'Open Sans', sans-serif
}

.text-heading {
    font-family: 'Cylburn', serif
}

.text-quote {
    font-size: 18px;
    line-height: 30px;
    font-size: 1.125rem;
    line-height: 1.875rem
}

.text-jumbo {
    font-size: 84px;
    line-height: 84px;
    font-size: 5.25rem;
    line-height: 5.25rem
}

@media screen and (max-width: 768px) {
    .text-jumbo {
        font-size: 64px;
        line-height: 64px;
        font-size: 4rem;
        line-height: 4rem
    }
}

@media screen and (max-width: 640px) {
    .text-jumbo {
        font-size: 54px;
        line-height: 54px;
        font-size: 3.375rem;
        line-height: 3.375rem
    }
}

.text-huge {
    font-size: 62px;
    line-height: 62px;
    font-size: 3.875rem;
    line-height: 3.875rem
}

@media screen and (max-width: 768px) {
    .text-huge {
        font-size: 42px;
        line-height: 42px;
        font-size: 2.625rem;
        line-height: 2.625rem
    }
}

.text-uppercase {
    text-transform: uppercase
}

.text-faded {
    opacity: .6
}

.text-italic {
    font-style: italic
}

.text-bold {
    font-weight: 600
}

.text-black {
    color: #222
}

.nowrap {
    white-space: nowrap
}

a.text-highlight, .text-highlight {
    color: #8e2631
}

.img-responsive {
    width: 100%;
    height: auto
}

.img-wine {
    max-width: 100%;
    width: auto;
    height: auto
}

.img-circle {
    border-radius: 50%
}

.img-greyscale {
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%)
}

.space-0 {
    margin-bottom: 4px
}

.space-1 {
    margin-bottom: 8px
}

.space-2 {
    margin-bottom: 24px
}

.space-3 {
    margin-bottom: 32px
}

.space-4 {
    margin-bottom: 42px
}

.space-5 {
    margin-bottom: 52px
}

@media screen and (max-width: 1024px) {
    .space-0-md {
        margin-bottom: 0
    }
}

@media screen and (max-width: 768px) {
    .space-0-sm {
        margin-bottom: 0
    }
}

@media screen and (max-width: 768px) {
    .space-1-sm {
        margin-bottom: 8px
    }
}

@media screen and (max-width: 768px) {
    .space-2-sm {
        margin-bottom: 16px
    }
}

@media screen and (max-width: 768px) {
    .space-3-sm {
        margin-bottom: 24px
    }
}

@media screen and (max-width: 1024px) {
    .space-2-md {
        margin-bottom: 16px
    }
}

@media screen and (max-width: 640px) {
    .space-1-xs {
        margin-bottom: 8px
    }
}

.pd-v-xs {
    padding-top: 4px;
    padding-bottom: 4px
}

.pd-v-sm {
    padding-top: 10px;
    padding-bottom: 10px
}

.pd-v-md {
    padding-top: 24px;
    padding-bottom: 24px
}

@media screen and (max-width: 768px) {
    .pd-v-md {
        padding-top: 18px;
        padding-bottom: 18px
    }
}

.pd-v-lg {
    padding-top: 56px;
    padding-bottom: 56px
}

@media screen and (max-width: 768px) {
    .pd-v-lg {
        padding-top: 38px;
        padding-bottom: 38px
    }
}

.pd-v-xl {
    padding-top: 80px;
    padding-bottom: 80px
}

@media screen and (max-width: 768px) {
    .pd-v-xl {
        padding-top: 60px;
        padding-bottom: 60px
    }
}

.pd-v-xxl {
    padding-top: 140px;
    padding-bottom: 140px
}

@media screen and (max-width: 1024px) {
    .pd-v-xxl {
        padding-top: 100px;
        padding-bottom: 100px
    }
}

@media screen and (max-width: 768px) {
    .pd-v-xxl {
        padding-top: 80px;
        padding-bottom: 80px
    }
}

.pd-bottom-lg {
    padding-bottom: 56px
}

.pd-bottom-xl {
    padding-bottom: 80px
}

.pd-bottom-xxl {
    padding-bottom: 240px
}

@media screen and (max-width: 768px) {
    .pd-bottom-xxl {
        padding-bottom: 180px
    }
}

@media screen and (max-width: 640px) {
    .pd-bottom-xxl {
        padding-bottom: 140px
    }
}

.pd-h-xs {
    padding-left: 4px;
    padding-right: 4px
}

.pd-h-sm {
    padding-left: 10px;
    padding-right: 10px
}

.pd-h-md {
    padding-left: 20px;
    padding-right: 20px
}

@media screen and (max-width: 768px) {
    .pd-h-md {
        padding-left: 15px;
        padding-right: 15px
    }
}

@media screen and (max-width: 640px) {
    .pd-h-md {
        padding-left: 10px;
        padding-right: 10px
    }
}

.pd-h-lg {
    padding-left: 40px;
    padding-right: 40px
}

@media screen and (max-width: 768px) {
    .pd-h-lg {
        padding-left: 30px;
        padding-right: 30px
    }
}

.pd-h-xl {
    padding-left: 60px;
    padding-right: 60px
}

@media screen and (max-width: 768px) {
    .pd-h-xl {
        padding-left: 40px;
        padding-right: 40px
    }
}

.no-pd-bottom {
    padding-bottom: 0
}

.hide {
    display: none
}

@media screen and (max-width: 640px) {
    .hide-xs {
        display: none
    }
}

@media screen and (max-width: 768px) {
    .hide-sm {
        display: none
    }
}

@media screen and (max-width: 1024px) {
    .hide-md {
        display: none
    }
}

.show-xs {
    display: none !important
}

@media screen and (max-width: 640px) {
    .show-xs {
        display: inline-block !important
    }
}

.show-sm {
    display: none !important
}

@media screen and (max-width: 768px) {
    .show-sm {
        display: block !important
    }
}

.show-md {
    display: none !important
}

@media screen and (max-width: 1024px) {
    .show-md {
        display: block !important
    }
}

@media screen and (min-width: 1024px) {
    .show-tablet {
        display: none
    }
}

.inline {
    display: inline-block;
    vertical-align: baseline
}

.break {
    display: inline-block;
    width: 60px;
    height: 1px;
    background-color: #8e2631
}

.text-light {
    font-weight: 400
}

.text-spaced {
    letter-spacing: 0.4em
}

.text-contrast {
    color: #fff
}

.text-contrast a {
    color: #fff
}

.text-contrast a:hover {
    color: #fff;
    opacity: .8
}

.text-shadow {
    text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.6)
}

.text-meta {
    font-size: 12px;
    line-height: 18px;
    font-size: 0.75rem;
    line-height: 1.125rem
}

.alignright {
    float: right;
    margin: 15px
}

@media screen and (max-width: 768px) {
    .alignright {
        float: none;
        display: block
    }
}

.alignleft {
    float: left;
    margin: 15px
}

@media screen and (max-width: 768px) {
    .alignleft {
        float: none;
        display: block
    }
}

.pull-left {
    float: left !important
}

.pull-right {
    float: right !important
}

blockquote {
    padding-left: 20px;
    border-left: 3px solid #cecece;
    margin-bottom: 15px;
    margin-left: 20px;
    font-size: 18px;
    line-height: 30px
}

button, input, optgroup, select, textarea {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 22px;
    font-size: 0.875rem;
    line-height: 1.375rem;
    margin: 0
}

button, select {
    text-transform: none
}

button, input {
    overflow: visible
}

fieldset {
    border: 1px solid #b5b5b5;
    margin: 0 2px;
    padding: 18px;
    border-radius: 8px;
    margin-bottom: 15px;
    background-color: #fff
}

label {
    font-size: 12px;
    padding-left: 20px
}

[type=reset], [type=submit], button, html [type=button] {
    -webkit-appearance: button
}

::-webkit-input-placeholder {
    color: #676767
}

::-moz-placeholder {
    color: #676767
}

:-ms-input-placeholder {
    color: #676767
}

:-moz-placeholder {
    color: #676767
}

.input, .btn, select,
.input-text {
    line-height: normal;
    min-height: 40px;
    border-radius: 20px;
    font-size: 12px;
    -webkit-font-smoothing: subpixel-antialiased
}

.input,
.input-text  {
    display: block;
    width: 100%;
    padding: 9px 18px 10px;
    color: #222;
    background-color: #fff;
    background-image: none;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    border: 1px solid #676767;
    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s, -webkit-box-shadow ease-in-out .15s
}

@media screen and (max-width: 768px) {
    .input {
        padding: 8px 12px;
        font-size: 16px
    }
}

textarea.input {
    min-height: 80px
}

.input:hover {
    border-color: #4e4e4e
}

.input:focus {
    outline: 0;
    border-color: #3c3c3c
}

.btn {
    position: relative;
    display: inline-block;
    padding: 10px 24px 11px 24px;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
    border: 1px solid #222;
    color: #222;
    background-color: transparent;
    -webkit-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
    min-width: 30px;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.1em
}

.btn:hover {
    background-color: #222;
    color: #fff !important
}

a.btn-outline-light, .btn-outline-light {
    border-color: #fff
}

a.btn-outline-light:hover, .btn-outline-light:hover {
    background-color: #fff;
    color: #222 !important
}

a.btn-small, .btn-small {
    font-size: 11px;
    padding: 6px 12px;
    min-height: 24px
}

a.btn-large, .btn-large {
    font-size: 18px;
    padding: 12px 32px;
    border-radius: 25px
}

.btn-block {
    display: block;
    width: 100%
}

.btn:focus, .btn:hover {
    text-decoration: none
}

.btn:hover {
    color: #222
}

.btn.focus, .btn:focus {
    outline: 0
}

.btn-icon {
    width: 40px;
    padding: 0;
    text-align: center
}

a.btn-primary, .btn-primary {
    color: #fff;
    background-color: #8e2631;
    border-color: #8e2631
}

a.btn-primary:hover, .btn-primary:hover {
    color: #8e2631 !important;
    background-color: transparent;
    border-color: #8e2631
}

.btn-primary.active, .btn-primary:active {
    color: #fff;
    background-color: #7c212b
}

a.btn-light, .btn-light {
    border-color: #e8e8e8;
    background-color: #e8e8e8;
    color: #3c3c3c
}

.btn-loading, .btn-loading:hover, .btn-loading:active, .btn-loading:focus {
    position: relative;
    pointer-events: none;
    cursor: default;
    background-color: #e1e3e5;
    border-color: #e1e3e5;
    font-size: 0;
    min-height: 40px;
    min-width: 40px;
    overflow: hidden
}

.btn-loading:after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 30px;
    margin: -15px 0 0 -15px;
    background: url("../img/loading.gif") no-repeat;
    content: ''
}

.btn-more {
    padding-right: 48px
}

.btn-more:after {
    display: block;
    position: absolute;
    top: 0;
    right: 10px;
    width: 40px;
    height: 40px;
    line-height: 38px;
    font-size: 18px;
    font-family: 'icons' !important;
    content: "\e095"
}

a.btn-disabled, .btn-disabled {
    background-color: #cecece;
    border-color: #cecece;
    cursor: not-allowed;
    color: #676767
}

a.btn-disabled:hover, .btn-disabled:hover {
    background-color: #cecece;
    border-color: #cecece
}

.select {
    position: relative;
    display: inline-block;
    padding: 0;
    border-radius: 20px;
    border: 1px solid #676767;
    background-color: #fff;
    min-width: 50px;
    width: 100%
}

.select.inline {
    width: auto
}

.select select {
    margin: 0;
    background: none;
    border: 0;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    color: #676767;
    width: 100%;
    padding: 0 36px 0 12px;
    min-height: 38px
}

.select::after {
    content: "";
    position: absolute;
    width: 9px;
    height: 14px;
    top: 50%;
    right: 14px;
    margin-top: -10px;
    font-family: 'icons';
    content: "\f107";
    line-height: 1em;
    color: #3c3c3c;
    font-size: 18px;
    z-index: 2;
    pointer-events: none
}

.select select:focus {
    outline: none;
    background-color: transparent;
    border: 0
}

x:-o-prefocus, .select::after {
    display: none
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .select select::-ms-expand {
        display: none
    }

    .select select:focus::-ms-value {
        background: transparent;
        color: #222
    }
}

@-moz-document url-prefix() {
    .select {
        overflow: hidden
    }
    .select select {
        width: 120%;
        width: -moz-calc(100% + 3em);
        width: calc(100% + em)
    }
}

.select select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #000
}

textarea {
    max-width: 100%;
    max-height: 500px;
    min-height: 100px
}

.list-checkbox li {
    padding: 0 14px
}

input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0
}

.qty-wrap {
    position: relative;
    display: inline-block;
    vertical-align: middle
}

.qty-wrap input.qty {
    -webkit-appearance: none;
    padding-left: 10px
}

.qty-wrap input.qtyminus, .qty-wrap input.qtyplus {
    display: block;
    position: absolute;
    top: 3px;
    right: 9px;
    width: 16px;
    height: 16px;
    font-size: 12px;
    line-height: 12px;
    font-size: 0.75rem;
    line-height: 0.75rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    outline: none;
    background-color: #cecece;
    color: #222;
    cursor: pointer
}

.qty-wrap input.qtyminus:active, .qty-wrap input.qtyplus:active {
    background-color: #8e8e8e
}

.qty-wrap input.qtyminus:hover, .qty-wrap input.qtyplus:hover {
    background-color: #c1c1c1
}

.qty-wrap input.qtyminus {
    top: 21px
}

input.qty {
    max-width: 65px;
    display: inline;
    vertical-align: top
}

.filters {
    position: relative;
    max-height: 320px;
    overflow-y: scroll
}

.filters li {
    position: relative;
    display: block;
    padding: 2px 0
}

.input-append input, .input-append span {
    float: left;
    display: inline-block;
    width: 80%
}

.input-append span {
    width: 20%;
    background-color: #3c3c3c;
    color: #fff;
    font-size: 12px;
    line-height: 37px;
    text-align: center
}

@media screen and (max-width: 768px) {
    .input-append span {
        line-height: 40px
    }
}

.form-row:not(:last-child) {
    margin-bottom: 12px
}

input[type=radio].variant-radio-button {
    display: none
}

label.variant-radio-button-label {
    position: relative;
    background-color: #b5b5b5;
    font-size: 14px;
    line-height: 14px;
    font-size: 0.875rem;
    line-height: 0.875rem;
    color: #4f4f4f;
    text-align: center;
    padding: 14px 24px;
    cursor: pointer;
    margin: 0 6px 0 0;
    min-width: 20px;
    box-sizing: border-box;
    font-weight: 600;
    display: inline-block
}

.variant-radio-button:checked + .variant-radio-button-label {
    background-color: #3c3c3c;
    color: #fff
}

.variant-radio-button-label:hover {
    background-color: #9b9b9b
}

input[type=checkbox]:nth-child(1n), input[type=radio]:nth-child(1n) {
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: 2
}

input[type=checkbox], input[type=radio] {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin: 0;
    padding: 0;
    top: 2px
}

input[type=checkbox] + label, input[type=radio] + label {
    position: relative;
    cursor: pointer;
    padding-left: 28px
}

input[type=checkbox] + label::before, input[type=checkbox] + label::after, input[type=radio] + label::before, input[type=radio] + label::after {
    display: block;
    position: absolute;
    content: " ";
    box-sizing: border-box;
    -moz-box-sizing: border-box
}

input[type=checkbox] + label::before, input[type=radio] + label::before {
    top: 0;
    left: 0;
    width: 18px;
    height: 18px;
    border: 1px solid #3c3c3c;
    border-radius: 50%;
    background-color: #fff
}

input[type=checkbox] + label::after, input[type=radio] + label::after {
    top: 2px;
    left: 2px;
    width: 14px;
    height: 14px;
    padding-left: 3px;
    font-family: "Arial Unicode MS";
    font-size: 14px;
    line-height: 14px;
    border-radius: 50%;
    background-color: #fff;
    color: #8e2631
}

input[type=checkbox]:checked + label::after, input[type=radio]:checked + label::after {
    content: " ";
    background-color: #8e2631
}



input[type=checkbox] + span, input[type=radio] + span {
    position: relative;
    cursor: pointer;
    padding-left: 28px
}

input[type=checkbox] + span::before, input[type=checkbox] + span::after, input[type=radio] + span::before, input[type=radio] + span::after {
    display: block;
    position: absolute;
    content: " ";
    box-sizing: border-box;
    -moz-box-sizing: border-box
}

input[type=checkbox] + span::before, input[type=radio] + span::before {
    top: 0;
    left: 0;
    width: 18px;
    height: 18px;
    border: 1px solid #3c3c3c;
    border-radius: 50%;
    background-color: #fff
}

input[type=checkbox] + span::after, input[type=radio] + span::after {
    top: 2px;
    left: 2px;
    width: 14px;
    height: 14px;
    padding-left: 3px;
    font-family: "Arial Unicode MS";
    font-size: 14px;
    line-height: 14px;
    border-radius: 50%;
    background-color: #fff;
    color: #8e2631
}

input[type=checkbox]:checked + span::after, input[type=radio]:checked + span::after {
    content: " ";
    background-color: #8e2631
}
.list-variations li {
    display: block;
    border-top: 1px solid #e8e8e8;
    position: relative
}

.list-variations li input[type=radio] + label {
    display: block;
    padding: 14px 14px 14px 46px
}

.list-variations li input[type=radio] + label .btn-small {
    position: absolute;
    top: 11px;
    right: 12px
}

.list-variations li input[type=checkbox] + label::before, .list-variations li input[type=radio] + label::before {
    left: 20px;
    top: 16px
}

.list-variations li input[type=checkbox] + label::after, .list-variations li input[type=radio] + label::after {
    left: 22px;
    top: 18px
}

.list-variations li input[type=checkbox]:checked + label, .list-variations li input[type=radio]:checked + label {
    background-color: #f7f7f7
}

.form-row-inline .select, .form-row-inline .btn {
    float: left
}

.form-row-inline .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    padding-left: 0;
    padding-right: 0;
    width: 30%
}

.form-row-inline .select {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: 0;
    width: 70%
}

.form-invert input {
    background-color: transparent;
    color: #fff;
    border-color: #cecece
}

.form-newsletter input, .form-newsletter button {
    display: inline-block;
    float: left
}

.form-newsletter input {
    width: calc(100% - 120px);
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: 0
}

.form-newsletter button {
    width: 120px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

.breadcrumbs ul li {
    position: relative
}

.breadcrumbs ul li:not(:last-child):after {
    position: absolute;
    top: 8px;
    right: -4px;
    content: '/';
    color: #9b9b9b
}

.breadcrumbs ul li a {
    display: block;
    color: #676767;
    padding: 8px;
    font-size: 13px
}

.breadcrumbs ul li a:hover {
    color: #3c3c3c
}

.breadcrumbs ul li:first-child a {
    padding-left: 0
}

.breadcrumbs ul li:last-child a {
    color: #828282
}

.slider {
    position: relative;
    zoom: 1;
    overflow: hidden;
    min-height: 125px;
    height: 100%
}

.slider .slides {
    zoom: 1;
    overflow: hidden;
    display: block
}

.slider .slides > li {
    position: relative;
    display: none;
    vertical-align: middle;
    margin-right: 40px;
}
.slider .slides > li img {
    z-index:1;
    position: relative;
}
.slider .slides > li:first-child {
    display: block;
    -webkit-backface-visibility: visible
}

.slider .slides > li {
    display: none;
    -webkit-backface-visibility: hidden
}

.loading {
    position: relative
}

.slider .loading li, .slider .loading img {
    display: none !important
}

.loading:after {
    display: block;
    content: '';
    position: absolute;
    z-index: 32;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    opacity: .8;
    background: #e8e8e8 url("/img/loading.gif") no-repeat center center
}

.viewport {
    max-height: 700px;
    height: 100%
}

.direction-nav {
    overflow: hidden;
    width: 100%;
    height: 0
}

.direction-nav a {
    text-decoration: none;
    display: block;
    width: 40px;
    height: 40px;
    margin: -40px 0 0 0;
    position: absolute;
    top: 50%;
    z-index: 22;
    overflow: hidden;
    cursor: pointer;
    outline: none;
    text-align: center;
    font-size: 26px;
    line-height: 40px;
    color: #fff;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    border-bottom: 0 !important;
    background-color: #222;
    border-radius: 20px
}

.direction-nav a:before {
    font-family: "icons";
    display: block;
    content: '\f104';
    color: rgba(255, 255, 255, 0.8)
}

.direction-nav a.prev {
    left: -60px
}

@media screen and (max-width: 768px) {
    .direction-nav a.prev {
        left: -50px
    }
}

.direction-nav a.next {
    right: -60px
}

@media screen and (max-width: 768px) {
    .direction-nav a.next {
        right: -50px
    }
}

.direction-nav a.next:before {
    content: '\f105'
}

.direction-nav .disabled {
    display: none
}

.control-paging {
    position: absolute;
    bottom: -20px;
    left: 0;
    width: 100%;
    z-index: 80;
    text-align: center;
    padding: 10px
}

.hero .control-paging {
    bottom: 40px
}

.vineyard-slides {
    overflow: visible !important
}

.vineyard-slides .control-paging {
    bottom: -80px
}

.control-paging li {
    position: relative;
    display: inline-block;
    width: 26px;
    height: 26px;
    cursor: pointer;
    vertical-align: bottom
}

.control-paging li a {
    display: block;
    position: relative;
    overflow: hidden;
    text-indent: 9999px;
    cursor: pointer
}

.control-paging li a:after {
    display: block;
    position: absolute;
    content: '';
    width: 8px;
    height: 8px;
    margin: -4px 0 0 -4px;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    background: #cecece
}

.control-paging li a.active:after {
    background: #222;
    width: 10px;
    height: 10px;
    margin: -5px 0 0 -5px
}

.hero, .hero .slides li {
    position: relative;
    overflow: hidden;
    height: 580px
}

@media screen and (max-width: 1024px) {
    .hero, .hero .slides li {
        height: 520px
    }
}

@media screen and (max-width: 768px) {
    .hero, .hero .slides li {
        height: 380px
    }
}

.banner, .banner .slides li {
    position: relative;
    overflow: hidden;
    min-height: 420px
}

@media screen and (max-width: 768px) {
    .banner, .banner .slides li {
        min-height: 380px
    }
}

@media screen and (max-width: 640px) {
    .banner, .banner .slides li {
        min-height: 320px
    }
}

.hero .va-content, .banner .va-content {
    position: relative;
    z-index: 2
}

.hero .caption {
    padding-left: 60px;
    padding-right: 60px;
    text-shadow: 1px 2px 2px rgba(0, 0, 0, 0.1)
}

@media screen and (max-width: 768px) {
    .hero .caption {
        padding-left: 10px;
        padding-right: 10px
    }

    .hero .caption br {
        content: " "
    }

    .hero .caption br:after {
        content: " "
    }
}

#hero-video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -100;
    transform: translateX(-50%) translateY(-50%)
}

.banner .banner-inner {
    position: relative;
    z-index: 3
}

.slider-centered .slides {
    width: 100% !important;
    text-align: center
}

.slider-centered .slides li {
    display: inline-block !important;
    *display: inline !important;
    float: none !important
}

.pagination li span, .pagination li a {
    display: block;
    float: left;
    padding: 8px 20px;
    text-decoration: none;
    width: auto;
    border: solid #cecece;
    border-width: 1px 1px 1px 0;
    color: #8e2631;
    background-color: #fff
}

.pagination li a:hover {
    background: #dbdbdb
}

.pagination li:first-child span, .pagination li:first-child a {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    border-width: 1px 1px 1px 1px;
    padding-left: 26px
}

.pagination li:last-child span, .pagination li:last-child a {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    padding-right: 26px
}

.pagination .pagination-current {
    background-color: #e8e8e8;
    color: #686868
}

table.table-basket {
    table-layout: auto
}

table.table-basket th {
    padding: 8px;
    color: #222;
    border-bottom: 1px solid #cecece;
    text-align: left;
    font-size: 13px
}

table.table-basket th.text-right {
    text-align: right
}

table.table-basket tr td {
    padding: 12px 8px
}

table.table-basket tr td .form-row {
    margin-bottom: 0
}

td.td-quantity {
    width: 18%
}

td.td-item {
    width: 55%
}

@media screen and (max-width: 640px) {
    .basket-discount input, .basket-discount .btn {
        width: 100%;
        float: none;
        display: block;
        max-width: 100%;
        margin: 0 0 5px
    }
}

.basket-total strong, .basket-total a {
    vertical-align: middle
}

.basket-total a.btn {
    margin-left: 10px
}

@media screen and (max-width: 640px) {
    .basket-total a.btn {
        display: block;
        margin: 5px 0 0 0
    }
}

.basket-discount {
    margin: 10px 0
}

.basket-discount input[type=text], .basket-discount input[type=submit] {
    float: left !important
}

.basket-discount input[type=text] {
    width: 70%
}

.basket-discount input[type=submit] {
    width: 30%
}

.btn-update {
    background-color: transparent;
    padding: 5px;
    min-width: auto;
    font-size: 10px;
    line-height: 10px;
    height: 32px;
    border: 0;
    color: #222;
    text-shadow: none;
    width: auto
}

.btn-update:hover, .btn-update:focus {
    background-color: transparent;
    color: #8e2631 !important
}

.secure-icons {
    position: absolute;
    top: -8px;
    right: 0
}

@media screen and (max-width: 640px) {
    .secure-icons {
        width: 120px;
        height: auto
    }
}

@media screen and (max-width: 480px) {
    .secure-icons {
        width: 95px
    }
}

.checkout_progress {
    padding: 10px 0
}

.checkout_progress ul {
    padding: 0;
    margin: 0;
    padding-top: 15px;
    float: left;
    width: 60%;
    margin-left: 20%;
    background-size: 100% 2px;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-image: -moz-linear-gradient(top, #e7e7e7 0%, #e7e7e7 99%);
    background-image: -webkit-linear-gradient(top, #e7e7e7 0%, #e7e7e7 99%);
    background-image: linear-gradient(to bottom, #e7e7e7 0%, #e7e7e7 99%)
}

@media screen and (max-width: 768px) {
    .checkout_progress ul {
        width: 80%;
        margin-left: 10%
    }
}

.checkout_progress ul[data-progress="2"] {
    background-image: -moz-linear-gradient(left, #2b304c 0%, #2b304c 50%, #e7e7e7 50%, #e7e7e7 100%);
    background-image: -webkit-linear-gradient(left, #2b304c 0%, #2b304c 50%, #e7e7e7 50%, #e7e7e7 100%);
    background-image: linear-gradient(to right, #2b304c 0%, #2b304c 50%, #e7e7e7 50%, #e7e7e7 100%)
}

.checkout_progress ul[data-progress="2"] li:first-child a:before {
    background-color: #3c3c3c
}

.checkout_progress ul[data-progress="3"] {
    background-image: -moz-linear-gradient(top, #2b304c 99%, #2b304c 99%);
    background-image: -webkit-linear-gradient(top, #2b304c 99%, #2b304c 99%);
    background-image: linear-gradient(to bottom, #2b304c 99%, #2b304c 99%)
}

.checkout_progress ul[data-progress="3"] li:first-child a:before, .checkout_progress ul[data-progress="3"] li:nth-child(2) a:before {
    background-color: #3c3c3c
}

.checkout_progress ul li {
    float: left;
    width: 33.333333%
}

.checkout_progress ul li a {
    position: relative;
    -webkit-font-smoothing: antialiased;
    display: block;
    width: 100%;
    color: #8e2631
}

.checkout_progress ul li a:before {
    content: "";
    width: 15px;
    height: 15px;
    border-radius: .75em;
    background-color: #8e2631;
    display: block;
    position: absolute;
    left: 50%;
    top: -22px
}

.checkout_progress ul li:first-child {
    text-align: left
}

.checkout_progress ul li:first-child a:before {
    left: 0
}

.checkout_progress ul li:first-child span {
    margin-left: -20%
}

.checkout_progress ul li:last-child {
    text-align: right
}

.checkout_progress ul li:last-child a:before {
    left: 100%
}

.checkout_progress ul li:last-child span {
    margin-right: -25%
}

.checkout_progress ul li.current a {
    color: #3c3c3c
}

.checkout_progress ul li.current a:before {
    background-color: #3c3c3c
}

#header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background-color: #FFFFFF;
    text-align: center
}

@media screen and (max-width: 1024px) {
    #header .container {
        padding: 0
    }
}

#header-basket {
    position: absolute;
    right: 12px;
    top: 0
}

@media screen and (max-width: 1024px) {
    #header-basket {
        left: 12px
    }
}

#header-basket li {
    padding-left: 4px;
    padding-right: 4px;
    position: relative
}

#header-basket li a {
    display: block;
    padding: 8px
}

#header-basket li a .notification-count {
    top: 0;
    right: 0
}

#header-wrap {
    height: 96px;
    //position: absolute;
    top: 0;
}

@media screen and (max-width: 1024px) {
    #header-wrap {
        height: 55px
    }
}

.header-logo {
    position: absolute;
    z-index: 3;
    left: 50%;
    display: block;
    width: 120px;
    height: 98px;
    margin-left: -60px;
    top: 8px
}

@media screen and (max-width: 1024px) {
    .header-logo {
        height: 72px;
        left: 0;
        margin-left: 6px;
        top: 2px
    }
}

.header-logo-inner {
    display: block;
    position: relative
}

.header-logo-inner img, .header-logo-inner h1 {
    position: relative;
    z-index: 2
}

@media screen and (max-width: 1024px) {
    .header-logo-inner img {
        width: 50px;
        height: auto
    }

    .header-logo-inner .h4 {
        font-size: 14px
    }
}

.header-logo-inner:after {
    z-index: 1;
    position: absolute;
    background-color: #FFFFFF;
    width: 180px;
    height: 180px;
    content: '';
    display: block;
    top: -64px;
    left: -32px;
    border-radius: 50%
}

@media screen and (max-width: 1024px) {
    .header-logo-inner:after {
        width: 140px;
        height: 140px;
        top: -60px;
        left: -10px
    }
}

#mobile {
    float: right;
    padding-right: 140px
}

@media screen and (max-width: 1024px) {
    #mobile {
        padding-right: 0
    }
}

#main {
    margin: 0 auto
}

#mobile li {
    float: left;
    position: relative;
    width: 48px
}

@media screen and (max-width: 1024px) {
    #mobile li {
        width: 54px
    }
}

#mobile li a {
    display: block
}

@media screen and (max-width: 1024px) {
    #mobile li a {
        padding-top: 4px;
        padding-bottom: 8px
    }
}

#mobile li .nav-header-icon {
    display: block;
    height: 80px;
    line-height: 80px;
    font-size: 20px
}

@media screen and (max-width: 1024px) {
    #mobile li .nav-header-icon {
        line-height: 32px;
        height: 32px
    }
}

#mobile li .sub-title {
    font-size: 11px;
    line-height: 11px;
    font-size: 0.6875rem;
    line-height: 0.6875rem;
    display: none
}

@media screen and (max-width: 1024px) {
    #mobile li .sub-title {
        display: block
    }
}

#mobile li a, #main li a {
    color: #222
}

#main ul li.current-menu-item > a > span, #main ul li.current-menu-parent > a > span {
    color: #8e2631;
    border-color: #8e2631
}

@media screen and (max-width: 1024px) {
    #main ul li.current-menu-item > a > span, #main ul li.current-menu-parent > a > span {
        border-color: transparent
    }
}

#main ul li:nth-child(3) {
    margin-right: 220px
}

@media screen and (max-width: 1024px) {
    #main ul li:nth-child(3) {
        margin-right: 0
    }
}

@media screen and (max-width: 1024px) {
    #main, .sub-menu {
        padding: 0;
        display: block;
        float: none;
        position: fixed;
        opacity: 0;
        visibility: hidden;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 14;
        overflow: scroll;
        margin-left: 200%;
        background-color: #fff
    }
}

@media screen and (max-width: 1024px) {
    #main > ul, .sub-menu > ul {
        display: block;
        height: 100%;
        z-index: 2;
        opacity: 0;
        visibility: hidden;
        padding: 12% !important;
        vertical-align: middle;
        overflow: scroll;
        -webkit-transition: opacity 0.4s cubic-bezier(0.666, 0, 0.333, 1) 0.3s, margin 0.4s cubic-bezier(0.666, 0, 0.333, 1) 0.3s;
        -moz-transition: opacity 0.4s cubic-bezier(0.666, 0, 0.333, 1) 0.3s, margin 0.4s cubic-bezier(0.666, 0, 0.333, 1) 0.3s;
        transition: opacity 0.4s cubic-bezier(0.666, 0, 0.333, 1) 0.3s, margin 0.4s cubic-bezier(0.666, 0, 0.333, 1) 0.3s;
        margin-left: 200%
    }
}

#main > ul > li, .sub-menu > ul > li {
    position: relative
}

@media screen and (max-width: 1024px) {
    #main > ul > li, .sub-menu > ul > li {
        display: block
    }
}

#main > ul > li > a, .sub-menu > ul > li > a {
    display: block;
    padding: 0 22px
}

#main > ul > li > a > span, .sub-menu > ul > li > a > span {
    display: block;
    padding: 40px 0 38px;
    white-space: nowrap;
    font-size: 16px;
    line-height: 16px;
    font-size: 1rem;
    line-height: 1rem;
    font-weight: 600;
    border-bottom: 2px solid transparent
}

@media screen and (max-width: 1024px) {
    #main > ul > li > a > span, .sub-menu > ul > li > a > span {
        padding: 12px 0 10px;
        font-size: 22px;
        line-height: 22px;
        font-size: 1.375rem;
        line-height: 1.375rem
    }
}

#main > ul > li.mobile-link, .sub-menu > ul > li.mobile-link {
    padding: 12px 24px;
    font-size: 12px;
    line-height: 12px;
    font-size: 0.75rem;
    line-height: 0.75rem;
    margin-top: 20px;
    opacity: .5
}

#main > ul > li.mobile-link a, .sub-menu > ul > li.mobile-link a {
    font-size: 14px;
    line-height: 14px;
    font-size: 0.875rem;
    line-height: 0.875rem;
    text-transform: none;
    display: inline;
    padding: 0
}

#main > ul > li:hover ul, .sub-menu > ul > li:hover ul {
    opacity: 1;
    visibility: visible;
    top: 100%
}

#main > ul > li ul, .sub-menu > ul > li ul {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 120%;
    left: 0;
    width: 100%;
    background-color: #3c3c3c;
    padding: 16px 24px;
    -webkit-transition: opacity 0.4s cubic-bezier(0.666, 0, 0.333, 1), top 0.3s ease-in;
    -moz-transition: opacity 0.4s cubic-bezier(0.666, 0, 0.333, 1), top 0.3s ease-in;
    transition: opacity 0.4s cubic-bezier(0.666, 0, 0.333, 1), top 0.3s ease-in;
    min-width: 170px;
    border-radius: 3px
}

@media screen and (max-width: 1024px) {
    #main > ul > li ul, .sub-menu > ul > li ul {
        opacity: 1 !important;
        visibility: visible !important;
        display: block;
        position: relative;
        top: 0 !important;
        margin-left: 200%;
        padding: 16%
    }
}

#main > ul > li ul > li, .sub-menu > ul > li ul > li {
    display: block
}

#main > ul > li ul > li > a, .sub-menu > ul > li ul > li > a {
    font-size: 14px;
    line-height: 26px;
    font-size: 0.875rem;
    line-height: 1.625rem;
    white-space: nowrap
}

@media screen and (max-width: 1024px) {
    #main > ul > li ul > li > a, .sub-menu > ul > li ul > li > a {
        font-size: 22px;
        line-height: 30px;
        font-size: 1.375rem;
        line-height: 1.875rem
    }
}

#main > ul > li ul:after, .sub-menu > ul > li ul:after {
    display: block;
    position: absolute;
    top: -12px;
    left: 50%;
    margin-left: -5px;
    width: 0;
    height: 0;
    content: '';
    border-style: solid;
    border-width: 0 11px 16px 11px;
    border-color: transparent transparent #3c3c3c transparent
}

#main > ul > li:last-child ul, .sub-menu > ul > li:last-child ul {
    left: auto;
    right: 0
}

#main::-webkit-scrollbar, .sub-menu::-webkit-scrollbar {
    display: none
}

.nav-open {
    overflow: hidden
}

.nav-open #main, #main > ul > li .sub-menu.open {
    margin-left: 0;
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity 0.4s, visibility 0.4s, margin 0.4s;
    -moz-transition: opacity 0.4s, visibility 0.4s, margin 0.4s;
    transition: opacity 0.4s, visibility 0.4s, margin 0.4s
}

.nav-open #main > ul, #main > ul > li .sub-menu.open > ul {
    opacity: 1;
    visibility: visible;
    margin-left: 0 !important
}

#main ul li.highlight a {
    color: #8e2631
}

.menu, a.close-submenu {
    display: none
}

@media screen and (max-width: 1024px) {
    .menu, a.close-submenu {
        display: block
    }
}

.menu .nav-header-icon, a.close-submenu .nav-header-icon {
    position: relative;
    z-index: 99
}

.menu .nav-header-icon span, .menu .nav-header-icon span::before, .menu .nav-header-icon span::after, a.close-submenu .nav-header-icon span, a.close-submenu .nav-header-icon span::before, a.close-submenu .nav-header-icon span::after {
    display: block;
    position: relative;
    height: 2px;
    top: 15px;
    width: 28px;
    margin: 0 auto;
    background-color: #222
}

.menu .nav-header-icon span:before, a.close-submenu .nav-header-icon span:before {
    top: 8px;
    content: ''
}

.menu .nav-header-icon span:after, a.close-submenu .nav-header-icon span:after {
    top: -10px;
    content: ''
}

a.close-submenu {
    position: absolute;
    top: 10px;
    left: 20px;
    z-index: 99;
    font-size: 40px !important;
    line-height: 40px !important;
    padding: 0 !important;
    text-align: center
}

.sub-menu.open a.close-submenu {
    display: block
}

.menu.active .nav-header-icon span {
    background-color: transparent
}

.menu.active .nav-header-icon span:before {
    top: 1px;
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.menu.active .nav-header-icon span:after {
    top: -1px;
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.notification-count {
    display: block;
    position: absolute;
    top: 20px;
    right: 8px;
    background-color: #676767;
    min-width: 18px;
    height: 18px;
    text-align: center;
    font-size: 10px;
    line-height: 16px;
    font-size: 0.625rem;
    line-height: 1rem;
    font-weight: 600;
    border-radius: 50%;
    color: #fff
}

@media screen and (max-width: 1024px) {
    .notification-count {
        top: 2px
    }
}

.content {
    position: relative;
    z-index: 3
}

.content p, .content ul {
    margin-bottom: 12px
}

.content p:last-child {
    margin-bottom: 0
}

.content ul li {
    display: block;
    position: relative;
    padding: 2px 10px 2px 24px;
    text-align: left
}

.content ol > li {
    padding-left: 5px;
    padding-top: 2px;
    padding-bottom: 2px
}

.content ol {
    list-style-type: lower-alpha;
    padding: 0 30px 0 30px
}

.content img {
    max-width: 100%;
    height: auto
}

.content table {
    border: 1px solid #3c3c3c;
    background-color: #F9F9F9;
    border-radius: 3px;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0
}

.content table tr td, .content table tr th {
    padding: 8px;
    border-bottom: 1px solid #cecece;
    border-right: 1px solid #cecece
}

.content table tr td:last-child, .content table tr th:last-child {
    border-right: none
}

.content table tr th {
    background-color: #676767;
    border-color: #3c3c3c;
    color: #fff;
    font-weight: bold
}

.content table tr:last-child td {
    border-bottom: 0
}

.content ul:not(.products):not([class*=woocommerce]) li:before {
    position: absolute;
    top: 2px;
    left: 0;
    content: '•';
    font-size: 20px;
    color: #3c3c3c
}

.map div.gmnoprint[title*="type-"] {
    -moz-animation: pulsate 1.5s ease-in-out infinite;
    -webkit-animation: pulsate 1.5s ease-in-out infinite;
    border: 1pt solid #fff;
    -moz-border-radius: 51px;
    -webkit-border-radius: 51px;
    border-radius: 51px;
    -moz-box-shadow: inset 0 0 5px #8e2631, inset 0 0 5px #8e2631, inset 0 0 5px #8e2631, 0 0 5px #8e2631, 0 0 5px #8e2631, 0 0 5px #8e2631;
    -webkit-box-shadow: inset 0 0 5px #8e2631, inset 0 0 5px #8e2631, inset 0 0 5px #8e2631, 0 0 5px #8e2631, 0 0 5px #8e2631, 0 0 5px #8e2631;
    box-shadow: inset 0 0 5px #8e2631, inset 0 0 5px #8e2631, inset 0 0 5px #8e2631, 0 0 5px #8e2631, 0 0 5px #8e2631, 0 0 5px #8e2631;
    height: 51px !important;
    margin: -18px 0 0 -18px;
    width: 51px !important
}

.map div.gmnoprint[title*="type-"] img {
    display: none
}

@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (device-width: 768px) {
    .map div.gmnoprint[title*="type-"] {
        margin: -10px 0 0 -10px
    }
}

.map div.gmnoprint[title="type-5"] {
    -moz-box-shadow: inset 0 0 5px #8e2631, inset 0 0 5px #8e2631, inset 0 0 5px #8e2631, 0 0 5px #8e2631, 0 0 5px #8e2631, 0 0 5px #8e2631;
    -webkit-box-shadow: inset 0 0 5px #8e2631, inset 0 0 5px #8e2631, inset 0 0 5px #8e2631, 0 0 5px #8e2631, 0 0 5px #8e2631, 0 0 5px #8e2631;
    box-shadow: inset 0 0 5px #8e2631, inset 0 0 5px #8e2631, inset 0 0 5px #8e2631, 0 0 5px #8e2631, 0 0 5px #8e2631, 0 0 5px #8e2631
}

a.map-panel-nav {
    display: block;
    position: absolute;
    z-index: 1;
    top: 50%;
    left: -35px;
    background-color: #222;
    color: #fff;
    width: 70px;
    height: 70px;
    padding-left: 13px;
    border-radius: 50% 0 0 50%;
    font-size: 30px;
    line-height: 75px;
    font-size: 1.875rem;
    line-height: 4.6875rem;
    margin-top: -35px
}

@media screen and (max-width: 768px) {
    a.map-panel-nav {
        top: -35px;
        left: 50%;
        margin-top: 0;
        margin-left: -35px;
        border-radius: 50% 50% 0 0;
        text-align: center;
        padding-left: 0;
        font-size: 30px;
        line-height: 40px;
        font-size: 1.875rem;
        line-height: 2.5rem
    }

    a.map-panel-nav i.icon-angle-left:before {
        content: "\f106"
    }
}

a.map-panel-nav:hover {
    color: #fff;
    background-color: #2f2f2f
}

.map-canvas {
    height: 100%;
    width: 100%
}

.map {
    width: 100%;
    overflow: hidden
}

.map .map-canvas, .map .map-panel {
    height: 100%;
    width: 100%
}

@media screen and (max-width: 768px) {
    .map .map-canvas, .map .map-panel {
        display: block;
        width: 100% !important;
        float: none
    }
}

.map .map-panel {
    z-index: 2;
    width: 0
}

.map .map-panel .map-info {
    height: 100%;
    display: none
}

.map.open .map-canvas {
    width: 66%
}

.map.open .map-panel {
    width: 34%
}

.map.open .map-panel .map-info {
    display: block
}

.map.open a.map-panel-nav i.icon-angle-left:before {
    content: "\f105";
    margin-left: 5px
}

@media screen and (max-width: 768px) {
    .map.open a.map-panel-nav i.icon-angle-left:before {
        content: "\f107";
        margin-left: 0
    }
}

.map .map-info {
    position: relative;
    z-index: 2;
    height: 100%
}

.map .map-info .map-info-content {
    padding: 8% 10%
}

@media screen and (max-width: 768px) {
    .map .map-info .map-info-content {
        padding: 20px
    }
}

.map, .map .map-canvas {
    width: 100%;
    height: 420px
}

@media screen and (max-width: 1024px) {
    .map, .map .map-canvas {
        height: 380px
    }
}

@media screen and (max-width: 768px) {
    .map, .map .map-canvas {
        height: auto;
        min-height: 360px
    }
}

.tabs-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #cecece
}

.tabs-nav .tab-active a {
    cursor: default;
    color: #8e2631;
    border-bottom: 2px solid #8e2631
}

.tabs-nav a {
    display: block;
    height: 40px;
    line-height: 44px;
    text-align: center;
    padding-left: 0;
    padding-right: 0;
    color: #676767
}

.tabs-nav li {
    margin-bottom: -1px;
    margin-right: 20px
}

.tabs-stage {
    clear: both;
    position: relative;
    width: 100%;
    padding: 12px 0
}

html.modal-is-locked {
    overflow: hidden;
    -ms-touch-action: none;
    touch-action: none
}

.modal, [data-modal-id] {
    display: none
}

.modal-overlay {
    position: fixed;
    z-index: 9999;
    top: -5000px;
    right: -5000px;
    bottom: -5000px;
    left: -5000px;
    background-color: rgba(62, 57, 56, 0.8);
    display: none
}

.modal-wrapper {
    position: fixed;
    z-index: 10000;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 10px 10px 0;
    display: none;
    overflow: auto;
    text-align: center;
    -webkit-overflow-scrolling: touch
}

@media screen and (device-aspect-ratio: 40 / 71) {
    .modal-wrapper {
        padding: 5px 5px 0
    }
}

.modal-wrapper:after {
    display: inline-block;
    height: 100%;
    margin-left: -0.05em;
    content: ""
}

.modal-overlay, .modal-wrapper {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.modal {
    position: relative;
    outline: none;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    box-sizing: border-box;
    width: 90%;
    max-width: 720px;
    margin-bottom: 10px;
    padding: 35px 45px 35px 45px;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    background: #FFFFFF;
    text-align: left;
    border-radius: 20px;
    -webkit-box-shadow: 2px 2px 24px -5px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 2px 2px 24px -5px rgba(0, 0, 0, 0.5);
    box-shadow: 2px 2px 24px -5px rgba(0, 0, 0, 0.5)
}

@media screen and (max-width: 640px) {
    .modal {
        width: 100%;
        padding: 30px 10px 10px 10px
    }
}

@media screen and (device-aspect-ratio: 40 / 71) {
    .modal {
        padding: 5px
    }
}

.modal-video {
    padding: 0
}

.modal-narrow {
    max-width: 720px
}

.modal-is-initialized {
    display: inline-block
}

.modal, .modal-wrapper:after {
    vertical-align: middle
}

.modal-close {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 6px;
    display: block;
    overflow: visible;
    width: 45px;
    height: 45px;
    margin: 0;
    padding: 10px;
    cursor: pointer;
    -webkit-transition: color 0.2s;
    transition: color 0.2s;
    text-decoration: none;
    font-size: 22px;
    line-height: 22px;
    font-size: 1.375rem;
    line-height: 1.375rem;
    color: #8e2631;
    border: 0;
    outline: 0;
    background: transparent
}

.modal-close:hover, .modal-close:focus {
    color: #3c3c3c
}

.lt-ie9 .modal-overlay {
    background: #3c3c3c
}

.lt-ie9 .modal {
    width: 700px
}

.modal-map {
    padding: 0
}

.product {
    position: relative;
    z-index: 2;
    display: block;
    color: #222;
    min-height: 320px
}

.grey-strip {
    position: absolute;
    top: 0;
    left: 0;
    height: 310px;
    width: 100%;
    background-color: #e8e8e8
}

@media screen and (max-width: 1024px) {
    .grey-strip {
        height: 270px
    }
}

.wine-vintage {
    position: absolute;
    top: 52%;
    left: 42%;
    font-weight: bold;
    font-size: 200px;
    line-height: 200px;
    width: 200px;
    height: 400px;
    color: #cecece;
    opacity: .3;
    transform: rotate(-90deg)
}

@media screen and (max-width: 1024px) {
    .wine-vintage {
        left: 25%
    }
}

@media screen and (max-width: 640px) {
    .wine-vintage {
        left: 20%;
        top: 40%;
        font-size: 160px
    }
}

.wine-image {
    position: relative
}

.wine-image a {
    position: relative;
    z-index: 2;
    display: block;
    text-align: right;
    padding: 0 30px
}

@media screen and (max-width: 768px) {
    .wine-image a {
        padding: 0 100px;
        text-align: center
    }
}

.wine-featured {
    position: relative;
    text-align: center
}

.wine-featured a {
    position: relative;
    z-index: 2
}

.wine-featured .wine-vintage {
    left: 20%;
    top: 29%;
    font-size: 120px
}

.wine-featured img {
    position: relative;
    z-index: 2
}

.wine-featured:after {
    position: absolute;
    bottom: 4px;
    left: 50%;
    margin-left: -110px;
    width: 220px;
    height: 30px;
    content: '';
    background: -moz-radial-gradient(center, ellipse cover, rgba(0, 0, 0, 0.3) 0%, transparent 60%);
    background: -webkit-radial-gradient(center, ellipse cover, rgba(0, 0, 0, 0.3) 0%, transparent 60%);
    background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 60%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#a6000000', endColorstr='#00000000', GradientType=1)
}

.wine-featured-sm img {
    max-width: 100px
}

.wine-featured-sm .wine-vintage {
    left: 22%;
    top: 20%;
    font-size: 100px
}

.wine-featured img {
    margin-top: 12px;
    margin-bottom: 12px;
    width: auto
}

a.btn-logout {
    position: absolute;
    top: 0;
    right: 20px;
    font-size: .9em
}

.subhead.subhead_dropdown.active {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    background-image: url(../img/icon/arrow-up.svg)
}

.subhead {
    background-color: #fff
}

.subhead.subhead_dropdown {
    cursor: pointer;
    padding: 16px;
    background-image: url(../img/icon/arrow-down.svg);
    background-position: 94% center;
    background-repeat: no-repeat;
    background-size: 1.125em;
    margin-bottom: 0
}

.subhead p {
    font-size: .9em;
    line-height: 1.5;
    margin: 0;
    color: gray;
    margin-right: 25%
}

.reveal {
    margin-top: 0 !important;
    padding: 20px;
    display: none;
    background-color: white
}

.lightbox {
    cursor: pointer;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #000;
    background-color: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAIElEQVQ4T2NkYGDYDMRkA8ZRAxhGw4BhNAyA+WAYpAMAIFgLQfO9BoEAAAAASUVORK5CYII=);
    background-color: rgba(255, 255, 255, 0.8);
    -webkit-filter: none !important;
    z-index: 9997
}

.lightbox img {
    display: block;
    position: absolute
}

.lightbox-loading {
    background: url(../img/loading.gif) center center no-repeat;
    width: 61px;
    height: 61px;
    margin: -16px 0 0 -16px;
    position: absolute;
    top: 48%;
    left: 50%
}

.lightbox-button, a.lightbox-button {
    position: absolute;
    z-index: 9999;
    background: no-repeat center center;
    width: 50px;
    height: 50px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    transition: all 0.3s;
    font-size: 46px;
    color: #fff
}

.lightbox-next {
    right: 10px;
    top: 48%
}

.lightbox-previous {
    left: 10px;
    top: 48%
}

.lightbox-close {
    right: 30px;
    top: 10px;
    display: block;
    width: 50px;
    height: 50px;
    overflow: hidden
}

.lightbox-close:hover::before, .lightbox-close:hover::after {
    background: #8e2631
}

.lightbox-close::before, .lightbox-close::after {
    content: '';
    position: absolute;
    height: 2px;
    width: 100%;
    top: 50%;
    left: 0;
    margin-top: -1px;
    background: #8e2631
}

.lightbox-close::before {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg)
}

.lightbox-close::after {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.lightbox-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
    background-color: rgba(0, 0, 0, 0.3);
    padding: 10px
}

ul.accordion .inner {
    overflow: hidden;
    display: none;
    margin-top: 4px;
    margin-bottom: 4px
}

ul.accordion .inner.show {
    display: block
}

ul.accordion li {
    display: block;
    margin-top: 4px
}

ul.accordion li a.toggle {
    position: relative;
    width: 100%;
    display: block;
    background: #cecece;
    color: #3c3c3c;
    padding: 8px 12px;
    font-weight: 700
}

ul.accordion li a.toggle:after {
    position: absolute;
    top: 0;
    right: 0;
    font-family: 'icons';
    content: "\e114";
    line-height: 38px;
    width: 38px;
    font-size: 11px;
    text-align: center
}

ul.accordion li a.toggle.active:after {
    content: "\e115"
}

.footer {
    background: #cecece url("../img/bg-footer.jpg") center bottom
}

.footer a {
    color: #3c3c3c
}

.footer a:hover {
    color: #8e2631
}

.footer .list-nav li {
    display: inline-block;
    padding-left: 20px;
    padding-right: 20px
}

.footer .list-nav li a {
    position: relative;
    padding-left: 16px;
    font-weight: bold
}

.footer .list-nav li a:before {
    position: absolute;
    top: 1px;
    left: 0;
    content: '>'
}

@media screen and (max-width: 768px) {
    .base {
        padding-top: 22px;
        padding-bottom: 22px
    }

    .base .pd-v-lg {
        padding-top: 4px;
        padding-bottom: 4px
    }
}

.base .col-bottle {
    position: relative;
    height: 180px
}

.base .col-bottle .img-bottle {
    position: absolute;
    bottom: 0;
    left: -40px
}

.col {
    float: left;
    width: 50%;
    flex: 1
}

@media screen and (max-width: 768px) {
    .col {
        width: 100%;
        float: none
    }
}

.col-container {
    display: flex;
    width: 100%
}

@media screen and (max-width: 768px) {
    .col-container {
        display: block
    }
}

.col-container-reverse {
    flex-direction: row-reverse
}

@media screen and (max-width: 768px) {
    .col-container-reverse {
        flex-direction: unset
    }
}

.col-image {
    min-height: 260px
}

.col-image-float {
    width: 100%;
    height: 80%;
    position: absolute;
    top: 5%;
    left: 0
}

.col-container-reverse .col-image-float {
    right: 0;
    left: auto
}

/* woocommerce */

.woocommerce ul.products li.product a img {
    width: auto;
    height: auto;
    margin: 0 auto 1em;
}

.woocommerce.single-product .pd-v-lg {
}

.woocommerce div.product .product_title {
    font-family: 'Cylburn', serif;
    font-size: 3.875rem;
    line-height: 3.875rem;
    margin-top: 30px;
    margin-bottom: 40px;
}

.woocommerce div.product {
    position: static;
}

.woocommerce div.product p.price {
    display: inline-block;
    vertical-align: top;
    font-size: 1.375rem;
    line-height: 1.375rem;
    font-weight: bold;
    color:#000;
}

.woocommerce div.product p.price small {
    font-size: 60%;
    font-weight: normal;
}
.woocommerce div.product form.cart {
    display: inline-block;
}
.woocommerce div.quantity {
    padding: 0 15px;
    position: relative;
}
.woocommerce div.quantity .qty_button {
    background: transparent;
    position: absolute;
    line-height: 1;
    border: 0;
    padding: 0;
    outline: 0 !important;
    cursor: pointer;

}
.woocommerce div.quantity .qty_button.plus {
    top: 4px;
    right: 30px;
}
.woocommerce div.quantity .qty_button.minus {
    top: 18px;
    right: 32px;
}

.woocommerce .woocommerce-cart-form div.quantity {
    width: 120px;
    max-width: 120px;
    padding-right: 50px; 
    padding-left: 0;
}
.woocommerce .woocommerce-cart-form div.quantity input {
    max-width: 90px;
    padding-right: 30px;
}
.woocommerce .woocommerce-cart-form div.quantity button.qty_button {
    right: 44px;
}
.woocommerce .woocommerce-cart-form div.quantity button.qty_button.plus {
    right: 42px;
    top: 7px;
}
.woocommerce div.product form.cart div.quantity input {
    position: relative;
    display: inline-block;
    border-radius: 20px;
    border: 1px solid #676767;
    background-color: #fff;
    min-width: 50px;
    width: 100%;
    height: 36px;
    max-width: 100px;
    top: -3px;
    text-align: left;
    padding: 0 15px;
    font-weight: normal;
}
.woocommerce div.product form.cart {
}
.woocommerce div.product form.cart .button {
    position: relative;
    display: inline-block;
    padding: 12px 24px 12px 24px;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
    background-color: transparent;
    -webkit-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
    min-width: 30px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #fff;
    background-color: #8e2631;
    border-radius: 10em;
    top: -5px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
    padding: 0 5px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: 0;
    background-color: initial;
    padding: 0;
    margin: 0 -5px;
    margin-right: 20px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    border:0;
    color: #8e2631;
    border-bottom: 2px solid #8e2631;
    padding:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-weight: 400;
}

.related-products ul.products li.product {
    margin-bottom:0;
}

.related-products ul.products li.product .wine-featured:after {
    bottom: -9px;
}
.related-products.pd-v-lg {
    padding-bottom:0;
}
.single-product .pd-v-lg.bg-white {
    padding-bottom:0;
}

.woocommerce table.shop_table {
    border:0;
    border-radius: 0;
    background-color: transparent;
}
.woocommerce table.shop_table tr th {
    background-color: transparent;
    border-color: transparent;
    color: #000;
    font-weight: 400;
    font-size: 13px;
}
.woocommerce table.shop_table td {
    border-right: 0;
    border-bottom:0;
}
.woocommerce-cart h1 {
    text-align: center;
}

.woocommerce-cart .actions {
    padding-top: 30px;
}

.wc-proceed-to-checkout a {
    display: block;
}
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals {
    width: 38%;
}
#shipping_method li,
#shipping_method li label {
    padding-left: 0;
    margin-left: 0;
}

.woocommerce .cart_totals h2 {
    font-size: 25px;
    margin: 20px 10px;
}

.woocommerce .select2-selection {
    min-height: 40px;
    padding: 5px;
}
.select2-selection__rendered {
    color: #676767;
    line-height: 28px;
    font-weight: 700;
    font-size: 12px;
}
.woocommerce .quantity .qty {
    width: 100px;
    text-align: center;
    font-weight: 400;
}

.woocommerce .input-text.qty {
    border-radius: 10em;
    border: 1px solid #000;
    height: 32px;
}
.select2-results__option {
    width: 100%
}

.woocommerce-form__label-for-checkbox {
    padding-left:5px;
}

.woocommerce h1.page-title,
.woocommerce-checkout h1.page-title {
    font-size: 3.375rem;
    line-height: 2.625rem;
    font-family: 'Cylburn', serif;
    text-align: center;
    margin-bottom: 40px;
}
.box-wrapper {
    background: #fff;
    padding: 30px;
}

.woocommerce .addresses .woocommerce-Address-title {
    margin-bottom:20px;
}
.woocommerce .addresses .woocommerce-Address-title .edit {
    font-size: 12px;
    float: none;
    margin-left: 10px;
}

.checkbox {
    position: relative;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 7px;
}
.post-type-archive-product .products .wine-vintage {
    left: 29%;
}

.woocommerce-shipping-destination {
    font-size: 12px;
}
.select2-container--default .select2-selection--single {
    border-radius: 10em;
    text-align: left;
}
.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple, .select2-container--default.select2-container--open.select2-container--below .select2-selection--single {
    border-radius: 10em;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

.product-subtotal {
    text-align: right;
}
.woocommerce ul.products {
    overflow: hidden;
}
.woocommerce .slider .slides > li {
    text-align: right;
}

.quantity input::-webkit-outer-spin-button,
.quantity input::-webkit-inner-spin-button {
    display: none;
    margin: 0;
}
.quantity input.qty {
    appearance: textfield;
    -webkit-appearance: none;
    -moz-appearance: textfield;
}

#onlineworldpay_container {
    border: 0 !important;
}
#onlineworldpay_container .save-payment-method-label {
    display: none;
}
@media screen and (max-width: 1100px) {
    .woocommerce div.product form.cart {
        margin-top: 20px;
        margin-bottom: 20px;
        display:block;
    }
    .woocommerce div.product form.cart div.quantity {
        padding-left:0;
    }
}

@media screen and (max-width: 767px) {
    .slider .slides > li {
        text-align: center;
        margin-right: 0;
    }

    .slider .slides > li img {
        max-height: 270px;
    }

    .slider .slides .wine-vintage {
        left: 27%;
        top: -10%;
        font-size: 110px;
    }

    .single-product .pd-v-lg.bg-white {
        padding-top: 0;
    }

    .woocommerce.single-product .pd-v-lg {
        padding-top:0;
    }

    .woocommerce div.product div.summary {
        clear: both;
        padding-top: 20px;
    }

    .woocommerce ul.products[class*=columns-] li.product, .woocommerce-page ul.products[class*=columns-] li.product {
        width: 100%;
    }

    .woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals {
        width:100%;
    }

    .woocommerce-shipping-totals li {
        text-align: right !important;
    }

    .woocommerce .woocommerce-cart-form div.quantity button.qty_button {
        display: none;
    }

    .woocommerce .woocommerce-cart-form div.quantity {
        width: 100%;
        max-width: 100%;
        padding-right:0;
    }
}

#header-basket li a {
 padding:5px;
}
.trp-language-switcher {
    width:auto;
}
.trp-language-switcher > div {
    border:0;
    //padding: 5px 0;
    background:transparent;
}
.trp-language-switcher > div > a > img {
    margin:0;
}