html, body, 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, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, menu, nav, section, time, mark, audio, video, details, summary { margin: 0; padding: 0; border: 0; font-size: 100%; vertical-align: baseline; background: transparent }
article, aside, figure, footer, header, nav, section, details, summary { display: block }
img, object, embed { max-width: 100%; height: auto; }
html { overflow-y: scroll }
h1, h2, h3, h4, h5, h6 { font-weight: normal }
ul { list-style: none }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none }
a { display: inline-block; margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; transition: color 0.1s linear, background 0.1s linear; text-decoration: none; }
a > img { display: block;}
del { text-decoration: line-through }
abbr[title], dfn[title] { border-bottom: 1px dotted #000; cursor: help }
table { border-collapse: collapse; border-spacing: 0 }
/* tables still need cellspacing="0" in the markup */
th { font-weight: bold; vertical-align: bottom }
td { font-weight: normal; vertical-align: top }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #fff; margin: 30px 0; padding: 0 }
input, select { vertical-align: middle }
pre { white-space: pre; white-space: pre-wrap; white-space: pre-line; word-wrap: break-word }
input[type="radio"] { vertical-align: text-bottom }
input[type="checkbox"] { vertical-align: bottom }
select, input, textarea { font: 99% sans-serif }
select:-moz-focusring { outline: none; text-shadow: 0 0 0 #000; }
table { font-size: inherit; font: 100% Arial, sans-serif; }
small { font-size: 85% }
strong { font-weight: bold }
sub, sup { font-size: 75%; line-height: 0; position: relative }
sup { top: -0.5em }
sub { bottom: -0.25em }
pre, code, kbd, samp { font-family: monospace, sans-serif }
.clickable, label, input[type=button], input[type=submit], input[type=file], button { cursor: pointer }
button, input, select, textarea { margin: 0; -webkit-appearance: none; -moz-appearance: none; -o-appearance: none; appearance: none; }
button { border: none; width: auto; overflow: visible; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: none; }
.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden }
.clearfix:after { clear: both }
.clearfix { zoom: 1 }
*:focus{ outline: 0; }
textarea { outline: 0; resize: none; overflow: auto; }
input, textarea { border-radius: 0; }
body { -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; -webkit-text-size-adjust:100%; -ms-text-size-adjust: none; }
input::-moz-placeholder, textarea::-moz-placeholder { opacity: 1 !important; }
@-moz-document url-prefix() {
    select { text-indent: -2px; }
    select:-moz-focusring { color: transparent; text-shadow: 0 0 0 #000; }
}

/* GLOBAL COLORS */
.color-main { color: #46484a; }
.color-inv { color: #ffffff; }
body .svg-dark * { fill: #46484a; }
body .svg-inv * { fill: #ffffff; }
body .svg-dark-stroke * { stroke: #46484a; }
body .svg-inv-stroke * { stroke: #ffffff; }
.background-main-dark { background-color: #46484a; }
.background-main-light { background-color: #ffffff; }

/* GLOBAL FONTS */
body, p, a, h1, h2, h3, h4, h5, blockquote, input, textarea, button, select, blockquote, label { font-family: "mr-eaves-xl-modern",sans-serif; color: #46484a; }
.voucher-price, .price { font-family: "nexa", sans-serif; color: #46484a; }

/* DEFAULTS */
.voucher-container > * { opacity: 0;}
.voucher-container.anim > * { opacity: 1; }
.nice-select.placeholder li:first-child { display: none; }
.wrap{overflow: auto;}
hr { border-top: 1px solid rgba(70,72,74,0.25) }
.wrapper { position: relative; max-width: 1300px; margin: 0 auto; padding: 0 20px; }
section { position: relative; }
.section { margin-bottom: 25px; padding: 20px 16px; background: #ffffff; border: 1px solid rgba(143, 142, 143, 0.5 ); box-sizing: border-box; position: relative; }
.section:last-of-type { margin-bottom: 0; }
body { background: #ecebeb; }
.link-cover { position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: 50; }
.voucher-price { font-size: 15px; line-height: 30px; text-transform: uppercase; margin-bottom: 12px; }
.voucher-price .price { font-size: 24px; }
@media only screen and (max-width: 1023px) {
    .section { margin-top: 20px; }
    .section:last-of-type { margin: 25px 0;}
}
@media only screen and (max-width: 767px) {
    .section { margin: 20px 0; }
    .section:last-of-type { margin: 20px 0;}
}

/* DEFAULT CLASS METHODS */
.input-50 { width: calc(50% - 10px); float: left; text-align: left; }
div > .input-50:nth-of-type(2n-1) { margin-right: 10px; clear:both; }
div > .input-50:nth-of-type(2n) { margin-left: 10px; }
.input-100 { width: 100%; clear: both; text-align: left; }
@media only screen and (max-width: 700px) {
    .input-50 { width: 100%; float: left; }
    div > .input-50:nth-of-type(2n-1), div > .input-50:nth-of-type(2n) { margin-right: 0; margin-left: 0; }
}

/* BUTTONS */
.btn > .svg { display: inline-block;}
.btn { display: inline-block; position: relative; font-size: 22px; line-height: 50px; font-weight: 700; text-transform: uppercase; text-align: center; overflow: hidden; cursor: pointer; }
button.btn { line-height: 48px; vertical-align: top; }
.btn .svg { position: relative; top: 2px; right: -10px; }
.btn:hover { background: #46484a; color: #ffffff; }
.btn.background-main-light:hover { background: #ECEBEB; color: #46484a; }
.btn.background-main-dark:hover { background: #242628; }
.btn-fw { width: 100%; display: block; }
.btn-border { border: 1px solid rgba(70,72,74,0.25); line-height: 48px; }

.btn-sidebar { width: 100%; text-align: left; padding: 0 40px 0 50px; box-sizing:border-box; margin-bottom: 12px; position: relative; }
.btn-sidebar:after { content: ''; position: absolute; top: 0; bottom: 0; margin: auto 0; right: 18px; width: 12px; height: 19px; background: url(/assets/img/right-white.png) no-repeat scroll center / cover; }
.btn-sidebar.background-main-light:after { content: ''; position: absolute; top: 0; bottom: 0; margin: auto 0; right: 18px; width: 12px; height: 19px; background: url(/assets/img/right-dark.png) no-repeat scroll center / cover; }

.btn-checkout { width: 100%; text-align: left; padding: 0 40px 0 50px; box-sizing:border-box; margin-bottom: 12px; position: relative; font-weight: 400; max-height: 50px; overflow: hidden; }
.btn-checkout:after { content: ''; position: absolute; top: 0; bottom: 0; margin: auto 0; right: 18px; width: 12px; height: 19px; background: url(/assets/img/right-white.png) no-repeat scroll center / cover; }
.btn-checkout.background-main-light:after { content: ''; position: absolute; top: 0; bottom: 0; margin: auto 0; right: 18px; width: 12px; height: 19px; background: url(/assets/img/right-dark.png) no-repeat scroll center / cover; }

.btn-message { width: 300px; text-align: center; padding: 0 40px 0 50px; box-sizing:border-box; margin-bottom: 12px; position: relative; font-weight: 400; max-height: 50px; overflow: hidden; }
.btn-message:after { content: ''; position: absolute; top: 0; bottom: 0; margin: auto 0; right: 18px; width: 12px; height: 19px; background: url(/assets/img/right-white.png) no-repeat scroll center / cover; }
.btn-message.background-main-light:after { content: ''; position: absolute; top: 0; bottom: 0; margin: auto 0; right: 18px; width: 12px; height: 19px; background: url(/assets/img/right-dark.png) no-repeat scroll center / cover; }

.no-arrow:after { display: none; }

.btn-sidebar span { height: 50px; width: 50px; position: absolute;  left: 0; top: 0; }
.btn-sidebar.btn-border span { height: 48px; }
.btn-sidebar .svg { position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; }

.btn-checkout span { height: 50px; width: 50px; position: absolute;  left: 0; top: 0; }
.btn-checkout.btn-border span { height: 48px; }
.btn-checkout .svg { position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; }

.btn-message span { height: 50px; width: 50px; position: absolute;  left: 0; top: 0; }
.btn-message.btn-border span { height: 48px; }
.btn-message .svg { position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; }

@media only screen and (max-width: 800px) {
    .btn-sidebar { width: calc(50% - 8px); display: inline-block; }
}
@media only screen and (max-width: 600px) {
    .btn-sidebar { width: 100%; float: none; }
    .btn { font-size: 20px; }
}

/* TRANSITIONS */
#header .logo a, #header .logo span { transition: height 0.4s ease;}
.header-spacer { transition: min-height 0.4s ease;}
.sidebar button:before { transition: opacity 0.1s linear;}
#page-title .wrapper > *, .voucher-container > * { transition: opacity 0.8s linear;}
label:after { transition: opacity 0.1s linear;}
.sidebar .nice-select .current { transition: background-color 0.1s linear;}
.sidebar .nice-select li { transition: background-color 0.1s linear;}
#overlay { transition: opacity 0.4s linear;}
#checkout .process-icon .svg * { transition: fill 0.2s linear;}
#checkout .process-text { transition: color 0.2s linear;}
#checkout .process-btn { transition: background 0.2s linear;}
.journey .step { transition: opacity 0.2s linear;}
.journey .step-num:after { transition: opacity 0.2s linear;}
.journey .step-num { transition: color 0.2s linear, background 0.2s linear;}
a, a > span, .btn { transition: color 0.1s linear, background 0.1s linear, opacity 0.1s linear;}
.nice-select ul { transition: transform 0.2s ease, opacity 0.2s linear;}
.nice-select .current:after { transition: transform 0.2s ease;}
.slider-nav .slider-next, .slider-nav .slider-prev { transition: opacity 0.1s linear;}
.vouchers .overlay { transition: opacity 0.3s linear;}
.sidebar .select-error { transition: top 0.1s linear, opacity 0.1s linear, height 0.1s linear;}
.sidebar .nice-select:before { transition: top 0.1s linear, bottom 0.1s linear, left 0.1s linear, right 0.1s linear; }

/* HEADER */
.header-spacer { height: 80px; padding: 9px 0; }
#header { position: fixed; z-index: 9999; width: 100%; }
.logo { float: left; margin: 9px 0; }
.logo a, .logo span { font-size: 0; display: block; height: 108px; max-width: 320px; }
.logo img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; position: relative; top: 50%; transform: translateY(-50%); }
#header.fixed .logo a, #header.fixed .logo span { height: 80px; }
.main-menu { position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
.main-menu ul li { float: right; }
.main-menu .svg { display: inline-block; vertical-align: bottom; margin-right: 4px; }
.main-menu ul li a { font-size: 20px; line-height: 20px; padding: 0 25px; text-transform: uppercase; letter-spacing: -0.02em; }
.main-menu ul li a > span { opacity: 0.7; display: inline-block; vertical-align: top; padding-top: 14px; }
.main-menu ul li a:hover > span { opacity: 1; }
@media only screen and (max-width: 1200px) {
    .main-menu ul li a { padding: 0 20px; }
    .logo a, .logo span { height: 95px; }
    #header.fixed .logo a, #header.fixed .logo span { height: 75px; max-width: 280px; }
    .header-spacer { height: 75px; }
    .main-menu .svg { width: 24px; height: 26px; }
    .logo { max-width: calc(100% - 510px); }
}
@media only screen and (max-width: 750px) {
    .main-menu ul li .res { display: none; }
    .main-menu ul li a > span { vertical-align: bottom; padding-top: 0; }
    .logo a, .logo span { height:80px; max-width: 250px; }
    #header.fixed .logo a, #header.fixed .logo span { height: 60px; }
    .header-spacer { height: 60px; }
    .logo { max-width: calc(100% - 260px); }
}
@media only screen and (max-width: 480px) {
    .main-menu { right: 12px; }
    .main-menu ul li a { padding: 0 8px; }
    .main-menu ul li a span.items {display: none;}
    .logo { max-width: calc(100% - 150px); }
    .logo a, .logo span { height:70px; }
    #header.fixed .logo a, #header.fixed .logo span { height: 50px; }
    .header-spacer { height: 50px; }
}

/* MESSAGE */
#message { color:#FFF; margin:0; padding:38px 10px 10px; font-size:18px; line-height:23px; text-align:center }
#message a { color:#FFF }
#message.message-xmas { background:#d42426 }
@media only screen and (max-width: 1200px) {
    #message { padding-top: 30px; }
}

/* MOBILE ICON */
.mobile-menu { display: none; position: absolute; width:64px; right: 0; top: 0; bottom: 0; }
.mobile-menu a { width: 100%; height: 100%; }
.mobile-icon { width: 26px; height: 3px; background: #ffffff; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; }
.mobile-icon:before { content: ''; position: absolute; top: -8px; width: 100%; height: 3px; background: #ffffff; }
.mobile-icon:after { content: ''; position: absolute; bottom: -8px; width: 100%; height: 3px; background: #ffffff; }
@media only screen and (max-width: 750px) {
    .mobile-menu { display: block; }
}

/* BANNER */
#banner { position: absolute; width: 100%; top: 0; bottom: -100px; }
#banner.banner-no-title { bottom: auto; height: calc((600 / 1920) * 100vw); padding-top: 28px; top: auto; }
.slide { background: none no-repeat scroll center / cover; position: absolute; top: 0; left: 0; bottom: 0; right: 0; }
.slider > .slide + .slide { display: none; }
.dotted-overlay { background: url(/assets/img/dotted-overlay.png) repeat scroll center / 9px 9px; position: absolute; top: 0; left: 0; bottom: 0; right: 0; }
@media only screen and (max-width: 1200px) {
    #banner.banner-no-title { padding-top: 20px; }
}
@media only screen and (max-width: 1023px) {
    #banner { bottom: 0; }
    #banner.banner-filters { height: calc((600 / 1920) * 100vw); bottom: auto; padding-top: 20px; }
}

/* BANNER NAV */
.slider-nav .slider-next, .slider-nav .slider-prev { width: 34px; height: 34px; border-radius: 50%; position: absolute; top: 0; bottom: 0; margin: auto 0; cursor: pointer; opacity: 0.7; z-index: 20; }
.slider-nav .slider-next:hover, .slider-nav .slider-prev:hover { opacity: 1; }
.slider-nav .slider-next { right: 30px; }
.slider-nav .slider-prev { left: 30px; }
.slider-nav .svg { position: absolute; top: 0; bottom: 0; margin: auto; }
.slider-nav .slider-next .svg { left: 3px; right: 0; }
.slider-nav .slider-prev .svg { right: 3px; left: 0; }
@media only screen and (max-width: 1200px) {
    .slider-nav { display: none; }
}

/* PAGE TITLE */
#page-title .page-title .title-wrap { position: relative; }
#page-title .page-title .title-wrap .fadein { top: 0; position: absolute; width: 100%; }
#page-title .wrapper > * { opacity: 0; }
#page-title.anim .wrapper > * { opacity: 1; }
#page-title { text-align: center; min-height: 20.7vw; padding: calc(1.8vw + 28px) 0; box-sizing: border-box; }
#page-title .line-split { display: inline-block; }
#page-title h2 { font-size: 2.97vw; line-height: 3.2vw; color: #ffffff; letter-spacing: 0.180em; text-transform: uppercase; font-weight: 700; position: relative; }
#page-title h1 { font-size: 5.33vw; line-height: 4.61vw; color: #ffffff; letter-spacing: 0.100em; text-transform: uppercase; font-weight: 700; position: relative; }
#page-title .icon { margin: 2.8vw 0 0; }
#page-title .icon .svg { width: auto; height: 5.95vw; }
@media only screen and (min-width: 1920px) {
    #page-title h1 { line-height: 89px; font-size: 102px; }
    #page-title .icon .svg { height: 113px; }
    #page-title { min-height: 398px; }
    #page-title .icon { margin-top: 54px; }
}
@media only screen and (max-width: 1200px) {
    #page-title { padding: 20px 0; }
}
@media only screen and (max-width: 1023px) {
    #page-title { margin: 0; height: auto; }
    #page-title .page-title-container { display: flex; width: 100%; }
    #page-title .page-title { min-height: calc((600 / 1920) * 100vw); width: 100%; position: relative; display: flex; flex-direction: column; justify-content: center; box-sizing: border-box; padding-bottom: 6vw; }
    #page-title .page-title .title-wrap .fadein { top: 10vw; }
    #page-title h2 { font-size: 3.97vw; line-height: 4.2vw; position:relative; max-width: 100%; }
    #page-title h1 { font-size: 6.33vw; line-height: 5.61vw; position:relative; max-width: 100%; }
    #page-title .icon { display: none; }
    #page-title .line-split h1 { width: 100%; }
}
@media only screen and (max-width: 480px) {
    #page-title h2 { font-size: 4.97vw; line-height: 5.2vw; }
    #page-title h1 { font-size: 7.33vw; line-height: 6.61vw; }
}

/* VOUCHER SEARCH / ORDER */
#voucher-search { width: 100%; max-width: 900px; margin: 5.1vw auto 0; text-align: center; font-size: 0; position: relative; }
#voucher-search .nice-select { display: inline-block; font-size: 22px; line-height: 50px; text-transform: uppercase; width: calc(33.33% - 18px); position: relative; text-align: left; }
#voucher-search .nice-select .current { display: block; cursor: pointer; padding: 0 49px; box-sizing: border-box; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
#voucher-search .nice-select ul { position: absolute; width: 100%; z-index: 50; }
#voucher-search .nice-select li { overflow: hidden; border-bottom-width: 1px; border-bottom-style: solid; cursor: pointer; padding: 13px 23px; line-height: 23px; box-sizing: border-box;  }
#voucher-search .nice-select li:last-child { border-bottom: none; }
#voucher-search .nice-select ul { transform-origin: 0 0; transform: rotateX(90deg); opacity: 0; }
#voucher-search .nice-select.open ul { transform: rotateX(0deg); opacity: 1; }
#voucher-search .select-vouchers .current { background-image: url(/assets/img/gift.png); background-repeat: no-repeat; background-attachment: scroll; background-position: left 20px top 12px; background-size: 17px auto; position: relative; }
#voucher-search .select-vouchers .current:after { content: ''; position: absolute; top: 19px; right: 18px; width: 19px; height: 12px; background: url(/assets/img/down-white.png) no-repeat scroll center / cover; }
#voucher-search .select-venue .current { background-image: url(/assets/img/drop-down-white.png); background-repeat: no-repeat; background-attachment: scroll; background-position: left 20px top 16px; background-size: 19px auto; position: relative; }
#voucher-search .select-venue .current:after { content: ''; position: absolute; top: 19px; right: 18px; width: 19px; height: 12px; background: url(/assets/img/down-white.png) no-repeat scroll center / cover; }
#voucher-search .select-order .current { background-image: url(/assets/img/drop-down-dark.png); background-repeat: no-repeat; background-attachment: scroll; background-position: left 20px top 16px; background-size: 19px auto; position: relative; }
#voucher-search .select-order .current:after { content: ''; position: absolute; top: 19px; right: 18px; width: 19px; height: 12px; background: url(/assets/img/down-dark.png) no-repeat scroll center / cover; }
#voucher-search .nice-select.open .current:after { transform: rotateZ(-180deg);}
#voucher-search .submit-search { vertical-align:top; display: inline-block; color: transparent; border: none; padding: 0; width: 54px; height: 50px; background-image: url(/assets/img/search.png); background-repeat: no-repeat; background-attachment: scroll; background-position: center; background-size: 21px 22px; font-size: 22px; line-height: 50px; text-transform: uppercase; }
@media only screen and (max-width: 1023px) {
    #voucher-search { margin-top: 30px; }
    #voucher-search .nice-select, #voucher-search .submit-search { width: 100%; max-width: 450px; text-align: center; display: block; margin: 0 auto; }
    #voucher-search .submit-search { border: none; padding: 0 49px; background-position: left 20px top 16px; color: #ffffff; margin-top: 30px; }
}
@media only screen and (max-width: 767px) {
    #voucher-search { margin-top: 20px; margin-bottom: 0; }
    #voucher-search .submit-search { margin-top: 20px; }
}
@media only screen and (max-width: 550px) {
    #voucher-search .nice-select, #voucher-search .submit-search { max-width: 100%; }
}
@media only screen and (max-width: 480px) {
    #voucher-search .nice-select, #voucher-search .submit-search { font-size: 18px; line-height: 46px; height: 46px; }
    #voucher-search .select-vouchers .current { background-position: left 20px top 11px; }
    #voucher-search .select-order .current { background-position: left 20px top 14px; }
    #voucher-search .submit-search { background-position: left 20px top 13px; }
}

/* GIFT VOUCHERS */
.voucher-container { background: #ecebeb; padding: 52px 48px; position: relative; }
.vouchers h2 { font-size: 30px; font-weight: 700; line-height: 65px; text-transform: uppercase; text-align: center; }
.vouchers .voucher { width: calc( 33.33% - 20px); float: left; margin-right: 30px; margin-bottom: 25px; padding: 9px; background: #ffffff; border: 1px solid rgba(143, 142, 143, 0.5 ); box-sizing: border-box; position: relative; }
.vouchers .voucher:nth-of-type(3n) { margin-right: 0; }
.vouchers .voucher-img { position: relative; margin-bottom: 20px; background: none no-repeat scroll center / cover; width: 100%; padding-bottom: calc(468 / 722 * 100%)  }
.vouchers .overlay { position: absolute; top: 0; bottom: 0; left: 0; right: 0; opacity: 0; background: #46484a; }
.vouchers .overlay:hover { opacity: 0.8; }
.vouchers .overlay-arrow { width: 46px; height: 46px; border-radius: 50%; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; }
.vouchers .overlay-arrow .svg { position: absolute; top: 0; bottom: 0; margin: auto; left: 3px; right: 0; }
.vouchers h3 { font-size: 30px; line-height: 30px; font-weight: 700; text-transform: uppercase; margin-bottom: 12px; }
.vouchers p { font-size: 19px; line-height: 25px; margin-bottom: 12px; }
.vouchers .category { width: 64px; height: 57px; position: absolute; top: 0; left: 0; background: #ffffff; }
.vouchers .category .svg { position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; max-width: 70%; max-height: 60%; }
.vouchers .voucher-footer { margin-top: 12px; }
@media only screen and (max-width: 1023px) {
    #gift-vouchers { margin-top: 30px; }
    .voucher-container { padding: 0; }
    .vouchers .voucher { width: calc( 33.33% - 15px); float: left; margin-right: 22px }
}
@media only screen and (max-width: 950px) {
    .vouchers .voucher { width: calc( 50% - 15px); }
    .vouchers .voucher:nth-of-type(3n) { margin-right: 22px; }
    .vouchers .voucher:nth-of-type(2n) { margin-right: 0; }
}
@media only screen and (max-width: 767px) {
    #gift-vouchers { margin-top: 20px; }
    .vouchers .voucher { width: calc( 50% - 10px); margin-right: 20px; }
    .vouchers .voucher:nth-of-type(3n) { margin-right: 20px; }
    .vouchers .voucher:nth-of-type(2n) { margin-right: 0; }
    .vouchers .voucher { margin-bottom: 20px; }
}
@media only screen and (max-width: 550px) {
    .vouchers .voucher { width: 100%; margin-right: 0; }
    .vouchers .voucher:nth-of-type(3n) { margin-right: 0; }
    .vouchers .voucher:nth-of-type(2n) { margin-right: 0; }
}

/* FORM STYLING */
input, textarea { box-sizing: border-box; }

/* FOOTER */
#footer { position: relative; z-index: 1000; }
.main-footer { background: #46484a; padding: 25px 0; }
.main-footer .footer-col { width: 50%; float: left; box-sizing: border-box; }
.main-footer .footer-col:nth-of-type(2n) { text-align: right; padding-right: 52px; }
.main-footer .footer-col:nth-of-type(2n-1) { text-align: left; padding-left: 52px; }
.main-footer h2 { font-size:29px; line-height: 30px; font-weight: 700; }
.main-footer h2, .main-footer p { margin-bottom: 14px; }
.main-footer :last-child { margin-bottom: 0; }
.main-footer p { display: inline-block; max-width: 330px; }
.main-footer p, .main-footer a { font-size: 19px; line-height: 25px; }
.main-footer p > a { margin-right: 12px; }
.main-footer ul li { float: left; }
.main-footer ul li a { padding-right: 8px; position: relative; }
.main-footer ul li a:after { content: "|"; padding-left: 8px; }
.main-footer ul li:last-child a:after { display: none; }
.main-footer .postcode { white-space: nowrap; }
@media only screen and (max-width: 900px) {
    .main-footer .footer-col { width: 100%; }
    .main-footer .footer-col:nth-of-type(2n), .main-footer .footer-col:nth-of-type(2n-1) { text-align: center; padding: 0; }
    .main-footer p { display: block; margin: 0 auto 14px; }
    .main-footer p > a:last-of-type { margin: 0; }
    .main-footer .footer-col ul { display: inline-block; margin-bottom: 14px; }
    .main-footer .footer-col img { margin-bottom: 14px; }
}
@media only screen and (max-width: 480px) {
    .main-footer h2 { font-size:22px; line-height: 23px; }
    .main-footer p, .main-footer a { font-size: 16px; line-height: 22px; }
    .main-footer p > a { margin: 0; display: block; }
    .main-footer ul li a { padding-right: 6px; }
    .main-footer ul li a:after { padding-left: 6px; }
}
@media only screen and (max-width: 350px) {
    .main-footer ul li a { padding-right: 4px; }
    .main-footer ul li a:after { padding-left: 4px; }
}

.copyright { background: #414042; text-align: center; padding: 14px 0; }
.copyright p { font-family: "rift-soft",sans-serif; color: #6d6e71; text-transform: uppercase; font-size: 15px; line-height: 18px; }
.copyright a { font-family: "rift-soft",sans-serif; color: #949494; }

/* Product */
.product { width: calc(100% - 370px); padding-right: 40px; box-sizing: border-box; float: left; }
.product-container { position: relative; }
.product h3 { font-size: 29px; line-height: 30px; font-weight: 700; margin-bottom: 12px; }
.product p, .product li { font-size: 19px; line-height: 25px; margin-bottom: 12px; }
.product ul { padding-left: 16px; }
.product li { position: relative; }
.product li:after { content: "\2022"; position: absolute; line-height: 25px; top: 0; left: -16px; }
.product a { text-decoration: underline; font-weight: bold }
.product .venues a { text-decoration: underline; font-weight: bold; }
@media only screen and (max-width: 1340px) {
    .product { width: calc(100% - 300px); }
}
@media only screen and (max-width: 900px) {
    .product { width: calc(100% - 250px); }
}
@media only screen and (max-width: 800px) {
    .product { width: 100%; padding-right: 0; }
}
@media only screen and (max-width: 600px) {
    .product h3 { font-size: 22px; line-height: 25px; }
}

/* PRODUCT MODAL */
.product .overlay-modal { display: none; }
#overlay .overlay-modal.package p { font-size: 21px; line-height: 24px; margin-bottom: 12px; }
#overlay .overlay-modal.package p:last-of-type { margin-bottom: 24px; }

/* sidebar */
.sidebar { width: 370px; position: absolute; right: 48px; top: 52px; z-index: 100; padding: 20px 16px; }
.sidebar .nice-select { background-color: #ffffff; display: inline-block; font-size: 22px; line-height: 48px; border: 1px solid rgba(70, 72, 74, 0.25); font-weight: 700; text-transform: uppercase; position: relative; text-align: left; width: 100%; margin-bottom: 12px; box-sizing: border-box; }
.sidebar .nice-select > .current { display: block; cursor: pointer; padding: 0 110px 0 49px; box-sizing: border-box; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.sidebar .nice-select > .current > span { position: absolute; right: 49px; }
.sidebar .nice-select .current:hover { background-color: #ecebeb; }
.sidebar .nice-select ul { position: absolute; width: calc(100% + 2px); z-index: 50; left: -1px; opacity: 0; transform: rotateX(90deg); transform-origin: 0 0; }
.sidebar .nice-select li { overflow: hidden; border: 1px solid #D0D1D1; border-bottom: none; cursor: pointer; padding: 13px 23px; line-height: 23px; box-sizing: border-box; background: #ffffff; }
.sidebar .nice-select li:hover { background-color: #ecebeb; }
.sidebar .nice-select li:last-child { border-bottom: 1px solid #D0D1D1; }
.sidebar .nice-select.open ul { transform: rotateX(0deg); opacity: 1;}
.sidebar .select-voucher .current { background-image: url(/assets/img/gift-2.svg); background-repeat: no-repeat; background-attachment: scroll; background-position: left 16px top 12px; background-size: 17px auto; position: relative; }
.sidebar .select-voucher .current:after { content: ''; position: absolute; top: 19px; right: 16px; width: 19px; height: 12px; background: url(/assets/img/down-dark.png) no-repeat scroll center / cover; }
.sidebar .nice-select.open .current:after { transform: rotateZ(-180deg);}
.sidebar .error { margin-bottom: 12px; }
.sidebar .select-error { height: 0; color: #ff0000; font-size: 15px; position: relative; z-index: -1; top: -30px; opacity: 0; }
.sidebar.highlight .select-error { top: -8px; opacity: 1; height: 25px; }
.sidebar .nice-select:before { position: absolute; top: 0; left: 0; right: 0; bottom: 0; content: ''; border: 2px dotted #ff0000; z-index: -1; }
.sidebar.highlight .nice-select:before { top: -4px; left: -4px; right: -4px; bottom: -4px; }
@media only screen and (max-width: 1340px) {
    .sidebar { width: 300px; }
}
@media only screen and (max-width: 1023px) {
    .sidebar { right: 0; top: 0; }
}
@media only screen and (max-width: 900px) {
    .sidebar { width: 250px; }
}
@media only screen and (max-width: 800px) {
    .sidebar .nice-select { width: calc(50% - 8px); display: inline-block; }
    .section.with-sidebar { margin-top: 13px; }
    .sidebar { width: 100%; position: relative; padding: 20px 0 0; }
    .sidebar ul li a { margin-left: 16px; }
    .sidebar .voucher-price { text-align: center; }
    .sidebar .pricing { width: 100%; text-align: center; position: relative; font-size: 0; text-justify: distribute; }
    .sidebar .pricing:after { content: ''; width: 100%; display: inline-block; }
    .sidebar .pricing > li { display: inline;}
    .sidebar .pricing > li.hidden + li { display: block; text-align: center; }
}

@media only screen and (max-width: 600px) {
    .sidebar .nice-select { width: 100%; }
    .sidebar ul li a { margin-left: 0; }
}

/* journey */
.journey { clear: both; border-top: 1px solid rgba(70,72,74,0.25); margin-top: 24px; padding-top: 32px; }
#checkout .journey { border-top: none; margin: 12px 0 24px; padding: 0; }
.journey ul li { float: left; width: 25%; text-align: center; }
.journey .step-num { border: 1px solid #46484a; border-radius: 50%; width: 38px; height: 38px; line-height: 38px; font-size: 24px; margin: 0 auto; position: relative; }
.journey .step.passed { opacity: 0.5 }
.journey .step.passed .step-num { color: transparent; }
.journey .step-num:after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: url(/assets/img/confirmation-b.svg) no-repeat scroll center / 19px 19px; opacity: 0; }
.journey .step.passed .step-num:after { opacity: 1; }
.journey .step-text { font-size: 19px; line-height: 25px; margin-top: 2px; }
.journey .step.active .step-num { color: #ffffff; }
@media only screen and (max-width: 550px) {
    .journey { display: none; }
}

/* Info Box */
.info-box .info-box-title { width: 100%; padding: 0 16px; position: relative; top: -20px; left: -16px; height: 65px; cursor: pointer; }
.info-box .info-box-title h2 { font-size: 30px; line-height: 65px; font-weight: 700; }
.info-box p, .info-box ul:not(.info-reviews) { font-size: 19px; line-height: 25px; margin-bottom: 12px; }
.info-box p:last-child, .info-box ul:not(.info-reviews):last-child { margin-bottom: 0; }
.info-box ul:not(.info-reviews) li { padding-left: 12px; position: relative; margin-bottom: 4px; }
.info-box ul:not(.info-reviews) li:before { content: '•'; position: absolute; left: 0; }
@media only screen and (max-width: 600px) {
    .info-box .info-box-title h2 { font-size: 22px; line-height: 50px; }
    .info-box .info-box-title { height: 50px; }
}

/* Reviews */
.info-reviews li { margin-bottom: 20px }
.info-reviews .quote { font-weight: bold; font-size: 22px }
.info-reviews cite { display: block; margin-top: 5px; font-size: 17px }

/* Checkout */
#checkout .voucher-container { margin-top: 30px; text-align: center; }

#checkout .section { min-height: 549px; }

#checkout .voucher-basket { font-size: 25px; line-height: 25px; text-transform: uppercase; font-weight: 700; background: #d5d3d4; padding: 24px 16px; margin-bottom: 24px; }
#checkout .process-btn { display: inline-block; width: 208px; height: 104px; border: 1px solid rgba(70,72,74,0.25); position: relative; margin-bottom: 24px; }
#checkout .process-btn:hover { background: #ECEBEB; }
#checkout .process-btn + .process-btn { margin-left: 20px; }
#checkout .process-btn .process-icon .svg { position: absolute; top: 0; bottom: 34px; left: 0; right: 0; margin: auto; }
#checkout .process-btn .process-text { position: absolute; bottom: 20px; left: 0; right: 0; margin: 0 auto; text-align: center; font-size: 23px; text-transform: uppercase; }
#checkout .process-btn a { position: absolute; top: 0; bottom: 0; left: 0; right: 0; }
#checkout .process-btn.selected .process-text { color: #ffffff; }
#checkout .process-btn.selected .process-icon .svg * { fill:#ffffff; }

#checkout .process-voucher { margin-bottom: 30px; border: 1px solid rgba(70,72,74,0.25); padding-bottom: 18px; }
#checkout .process-voucher > *:not(.voucher-basket) { padding: 0 16px; }

#checkout .nice-select { display: inline-block; font-size: 22px; line-height: 50px; text-transform: uppercase; position: relative; text-align: left; width: 100%; margin-bottom: 8px; }
#checkout .nice-select .current { display: block; cursor: pointer; padding: 0 49px 0 20px; box-sizing: border-box; border: 1px solid rgba(70,72,74,0.25); }
#checkout .nice-select ul { position: absolute; background: #ffffff; width: 100%; z-index: 50; opacity: 0; transform: rotateX(90deg); transform-origin: 0 0; }
#checkout .nice-select.open ul { opacity: 1; transform: rotateX(0deg); }
#checkout .nice-select li { overflow: hidden; border-bottom-width: 1px; border-bottom-style: solid; cursor: pointer; padding: 0 49px 0 20px; box-sizing: border-box; background: rgba(0,0,0,0.1); border-color: #ffffff; }
#checkout .nice-select li:last-child { border-bottom: none; }
#checkout .nice-select .current:after { content: ''; position: absolute; top: 19px; right: 18px; width: 19px; height: 12px; background: url(/assets/img/down-dark.png) no-repeat scroll center / cover; }
#checkout .nice-select.open .current:after { transform: rotateZ(-180deg);}

#checkout .process-preview .btn { display: inline-block; max-width: 275px; }
#checkout .process-preview .btn + .btn { margin-left: 20px; }
#checkout .stage .process-preview-text { font-size: 19px; line-height: 25px; text-align: center; }

#checkout .process-nav .btn { display: inline-block; max-width: 275px; }
#checkout .process-nav .btn + .btn, #checkout .process-nav .loader + .btn { margin-left: 20px; }

#checkout .stage .process-contact > li { width: calc((100% - 119px) - 50% - 30px); float: left; text-align: left; }
#checkout .stage .process-contact > li:last-child { width: calc(50% - 10px); float: left; text-align: left; }
#checkout .stage .process-contact > li + li { margin-left: 20px; }
#checkout .stage .process-contact > li:first-child { width: 119px; }
#checkout .stage p { font-size: 23px; line-height: 28px; text-align: left; padding: 6px 0; }
#checkout .stage label { position: relative; display: inline-block; font-size: 23px; line-height: 28px; text-align: left; padding: 6px 0; }

#checkout .stage input { height: 52px; }
#checkout .stage input, #checkout .stage textarea { width: 100%; border: 1px solid rgba(70,72,74,0.25); font-size: 23px; line-height: 50px; box-sizing:border-box; margin-bottom: 8px; padding: 0 20px; }
#checkout .stage textarea { height: 240px; line-height: 34px; padding:15px 20px }
#checkout .stage input[type="checkbox"] { display: none; }
#checkout .stage input[type="checkbox"] + label { padding-left: 30px; margin-top: 20px; }
#checkout .stage input[type="checkbox"] + label:before { content: ''; width: 20px; height: 20px; border: 1px solid rgba(70,72,74,0.25); position: absolute; left: 0; top: 0; bottom: 0; margin: auto 0; }
#checkout .stage input[type="checkbox"] + label:after { content: ''; width: 22px; height: 22px; position: absolute; left: 0; top: 0; bottom: 0; margin: auto 0; opacity: 0; background: url(/assets/img/tick.png) no-repeat scroll center / 18px 13px; }
#checkout .stage input[type="checkbox"]:checked + label:after { opacity: 1; }
#checkout .stage .field { border: 1px solid rgba(70,72,74,0.25); margin-bottom: 8px; padding: 0 20px; }

@media only screen and (max-width: 1023px) {
    #checkout .process-voucher { padding-bottom: 10px; }
}
@media only screen and (max-width: 700px) {
    #checkout .stage .process-contact > li:first-child, #checkout .stage .process-contact > li, #checkout .nice-select { width: 100%; }
    #checkout .stage .process-contact > li + li { margin-left: 0; }
    #checkout .stage .process-contact > li:last-child { width: 100%; }
    #checkout .process-btn { width: 140px; }
    #checkout .process-nav .btn + .btn { margin: 0 auto 0; }
    #checkout .process-nav .btn { display: block; margin: 0 auto 24px;}
    #checkout .process-nav .btn:last-of-type { margin-bottom: 8px; }
}
@media only screen and (max-width: 550px) {
    hr.desktop { display: none; }
}
@media only screen and (max-width: 500px) {
    #checkout .process-btn { width: calc(100% - 32px); box-sizing: border-box; margin: 0 16px 24px; max-width: 275px; }
    #checkout .process-btn + .process-btn { margin: 0 16px 24px; }
}

/* Overlay */
#overlay { background: rgba(0,0,0,0.5); z-index: -1; position: fixed; top: 0; left: 0; right: 0; bottom: 0; opacity: 0; overflow: scroll; text-align: center; }
html.overlay { overflow-y: hidden; }
html.overlay #overlay { z-index: 999999; opacity: 1; }
html.overlay.overlay-fade-out #overlay { opacity: 0; }
#overlay > div { display: none; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);}
.overlay-modal { background: #ffffff; padding: 20px; position: relative; text-align: left; }
.overlay-modal.preview { display: inline-block !important; }
.overlay-modal .basket-total { font-size: 28px; line-height: 38px; margin-top: 30px; text-align: center; }
.overlay-modal .basket-total .btn {margin-top: 12px; }
.overlay-close { position: absolute; background: #ffffff; padding: 10px; bottom: 100%; right: 0; cursor: pointer; }
.overlay-modal-title { text-align: center; margin-bottom: 32px; }
.overlay-modal-title .svg { height: 42px; width: auto; margin: auto; display: block; }
.overlay-modal-title h2 { font-size: 28px; line-height: 38px; text-transform: uppercase; }
.overlay-modal-content { min-width: 450px; width: 100%; }
.overlay-modal-content tr td:last-child, .overlay-modal-content tr th:last-child { padding-right: 0; }
.overlay-modal-content tr td, .overlay-modal-content tr th { font-size: 18px; line-height: 20px; padding: 11px 100px 11px 0; vertical-align: middle; position: relative; }
.overlay-modal-content tr td, .overlay-modal-content tr th { font-size: 18px; line-height: 20px; padding: 11px 100px 11px 0; vertical-align: middle; position: relative; }
.overlay-modal-content tr th:nth-child(2) { text-align: left; }
.overlay-modal-content tr { border-bottom: 1px solid rgba(70,72,74,0.25) }
.overlay-modal-content tr:last-child { border-bottom: none; }
.overlay-modal-content .quantity-select { width: 16px; height: 16px; border-radius: 50%; text-align: center; position: absolute; top: 0; bottom: 0; margin: auto 0; cursor: pointer; padding: 0; }
.overlay-modal-content .quantity-select.quantity-plus { right: 4px; }
.overlay-modal-content .quantity-select.quantity-minus { left: 4px; }
.overlay-modal-content .quantity-select img { display: block; padding: 1px; box-sizing: content-box; margin:auto; }
.overlay-modal-content .quantity { vertical-align: middle; padding: 0 32px; }
.overlay-modal.preview img { max-height: calc(100vh - 130px); }

#overlay > div.fixed { margin: 50px auto; position: relative; left: 0; top: 0; transform: translate(0,0); max-width: 600px;}

@media only screen and (max-width: 850px) {
    .overlay-modal-content tr td { padding-right: 50px; }
}
@media only screen and (max-width: 680px) {
    #overlay > div.fixed { margin: 50px 20px; }
}
@media only screen and (max-width: 500px) {
    .overlay-modal-content table { min-width: 0; }
}

/* modal table reformat */
@media only screen and (max-width: 530px) {
    .overlay-modal-content { min-width: 0; }
    .overlay-modal-content thead {display: none;}
    .overlay-modal-content tr td:first-child { background: #f0f0f0; font-weight:700; }
    .overlay-modal-content tr td:last-child { padding-bottom: 16px; }
    .overlay-modal-content tbody td { display: block;  text-align:center; padding-left: 0; padding-right: 0; }
    .overlay-modal-content tbody td:before { display: block; text-align:center; font-weight: 700; margin-bottom: 12px; }
    .overlay-modal-content tbody td:nth-child(2):before { content: 'Cost'; }
    .overlay-modal-content tbody td:nth-child(3):before { content: 'Quantity'; }
    .overlay-modal-content .quantity-select.quantity-minus { left: calc(45vw - 75px); top: auto; bottom: 18px; }
    .overlay-modal-content .quantity-select.quantity-plus { right: calc(45vw - 75px); top: auto; bottom: 18px; }
    .overlay-modal-content tr { border-bottom: 0; }
}

/* Processing modal */
.overlay-modal.processing { text-align: center;}
.overlay-modal.processing p { text-transform: uppercase; margin: 30px 0 10px; }

/* related vouchers */
.related-vouchers .voucher:nth-of-type(4) { display: none; }
@media only screen and (max-width: 950px) {
    .related-vouchers .voucher:nth-of-type(4) { display: block; }
}

/* loader */
@-webkit-keyframes spin {
    0% { transform: rotateZ(0deg);}
    100% { transform: rotateZ(360deg);}
}
@keyframes spin {
    0% { transform: rotateZ(0deg);}
    100% { transform: rotateZ(360deg);}
}
.loader { display: inline-block; background: transparent; border: 1px solid; border-color: rgba(70,72,74,0.2) rgba(70,72,74,0.8) rgba(70,72,74,0.2) rgba(70,72,74,0.2); box-sizing: border-box; border-radius: 50%; -webkit-animation: spin 0.8s linear infinite; animation: spin 0.8s linear infinite; }

/* errors */
.error, .payment-errors { background: rgba(255,0,0,0.2); border-left: 4px solid #ff0000; padding: 0 10px; font-size: 18px; line-height: 40px; display: block; text-transform: uppercase; }

/* Message */
#message .voucher-container { margin-top: 30px; text-align: center; }
#message h2 { font-size: 30px; font-weight: 700; line-height: 30px; margin: 8px 0 12px; text-transform: uppercase; }
#message p { font-size: 19px; line-height: 25px; margin-bottom: 20px; }

/* Content for T&Cs etc */
#content .voucher-container { margin-top: 30px  }
#content h1 { text-align: center; font-size: 30px; font-weight: 700; line-height: 30px; margin: 8px 0 12px; text-transform: uppercase; }
#content h2 { font-size: 25px; font-weight: 700; line-height: 30px; margin: 8px 0 12px; text-transform: uppercase; }
#content p { font-size: 19px; line-height: 25px; margin-bottom: 20px; }

/* VOUCHER SELECT SHADES */
.nice-select.select-vouchers li { background: rgba(0,0,0,0.2); border-color: rgba(255,255,255,0.2) }
.nice-select.select-venue li { background: rgba(0,0,0,0.2); border-color: rgba(255,255,255,0.2) }
.nice-select.select-order li { background: rgba(0,0,0,0.1); border-color: #ffffff; }
.nice-select.select-title li { background: rgba(0,0,0,0.1); border-color: #ffffff; }

/* message count */
.message_count.danger { color: #ff0000; }
/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}


