/*! HTML5 Boilerplate v8.0.0 | MIT License | https://html5boilerplate.com/ */

/* main.css 2.1.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
    width: 100%;
  	font-size: 1em;
  	line-height: 1.4;
}

body {
	color: #333;
    text-shadow: 0 1px white;
	font-family: 'Ubuntu', sans-serif;
	font-size: 1.3rem;
	min-height: 100%;
	font-variant-ligatures: none;
    background: #9933cc30;
}
a {
    color: #9933cc;
}
a:hover {
    color: #601487;
}

html::-webkit-scrollbar, div::-webkit-scrollbar, body::-webkit-scrollbar {
  display: auto;
}

/* Hide scrollbar for IE, Edge and Firefox */
html, body, div {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: auto;  /* Firefox */
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}
hr.dark {
	border-top: 1px solid #000;
    background: black;
    margin: 0.8em 0 0.7em;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
  resize: vertical;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
.alert {
    text-shadow: 0 1px white;
}

.btn-primary {
    color: #fff;
    background-color: #9933cc;
    border-color: #601487;
    text-shadow: 0 2px #00000030;
}
.btn-light {
    color: #000;
    background-color: #ebd8f5;
    border-color: #9933cc;
}
.btn-light:hover {
    color: #000;
    background-color: #f7e8ff;
    border-color: #9a34cc;
}
.btn-light.disabled, .btn-light:disabled {
    color: #7f7f7f;
    background-color: #f8f9fa;
    border-color: #bebebe;
}
.btn-primary:hover {
    color: #fff;
    background-color: #601487;
    border-color: #601487;
}
.btn-primary.disabled, .btn-primary:disabled {
    color: #fff;
    background-color: #bfbfbf;
    border-color: #9f9f9f;
    box-shadow: none;
}
.btn-primary.active.disabled {
    opacity: 1;
    background: none;
    border: none;
    font-weight: 500;
    color: #601487;
    text-shadow: 0 1px white;
}

.marketing-checkbox {
	line-height: 15px;
    margin-bottom: 15px;
}
.marketing-checkbox input {
	display: inline-block;
    margin: 0 9px 10px 2px;
    float: left;
}
.marketing-checkbox label {
	display: inline;
    font-size: 14px;
    line-height: 5px;
}
.my-account .order.cancelled {
	opacity: 0.8;
    background: black;
    border-radius: 5px;
    padding: 10px 10px 1px;
}
.my-account .order.cancelled:before {
	content: "CANCELLED";
	display:block;
}
.my-account {
    font-size: 16px;
}
.cart .my-account > h5 {
    margin: 0px 0 2px;
}
h5.alert-heading {
    margin: 0 0 15px!important;
    width:100%;
}

#email-not-unique {
    color: #dc3545;
    font-size: 16px;
    padding: 0 0 10px;
    margin: -8px 10px 0;
}
.my-account .event-time {
    float:right;
}
.my-account .event-name {
    display: block;
    font-size: 22px;
    font-weight: 600;
    margin: 15px 0 5px;
}
.my-account .account-ticket.cancelled {
    background: #39393933;
    opacity: 0.6;
}
.my-account .booking-details {
    background: #9933cc;
    color: white;
    text-shadow: 0 1px 2px #0000005c;
    margin: 0 -20px 10px;
    padding: 10px 20px;
}
.my-account .account-ticket.cancelled:before {
    content: 'CANCELLED';
    color: red;
    text-shadow: none;
    font-weight: bold;
    display: block;
    margin: 0;
}
.my-account .account-ticket {
    border: 1px solid #d5d5d5;
    margin: 10px 0 15px;
    border-radius: 5px;
    box-shadow: inset 0 66px 0 -56px #9933cc;
    padding: 20px 10px 11px;
    background:white;
}
.my-account .payment-info {
    background: #de8022;
    color: white;
    text-shadow: 0 1px 2px #0000005c;
    font-weight: 500;
    margin: 5px -20px 0;
    padding: 20px;
}
.my-account .payment-info.paid {
    background: #4CAF50;
    padding: 10px 20px;
}
.my-account .account-ticket .claimed {
    background: #9933cc;
    color: white;
    font-weight: 500;
    padding: 6px 10px;
    display: block;
    margin: -20px -10px 10px;
    font-size: 14px;
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
    text-shadow: 0 1px #00000063;
}
.my-account hr {
    margin: 40px;
}
.my-account-booking {
    background: #f0f0f0;
    margin: 0 -20px 15px;
    padding: 0 20px 1px;
    border-radius: 5px;
    overflow: hidden;
}
@media (min-width: 992px) {
    .my-account-booking {
        margin: 0 0 15px;
        padding: 0 20px 1px;
    }
}
.my-account-booking form {
    background: #ffffff24;
    padding: 15px;
    margin: 10px 0 0;
}
.my-account table {
    width:100%;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    margin: 10px 0;
}
.my-account table td {
    vertical-align:text-bottom;
}
.my-account table td:first-child {
    color: #9933cc;
    font-size: 12px;
    text-align: right;
    padding: 3px 10px 3px 5px;
    width: 0;
    white-space: nowrap;
}
.my-account table tr:first-child td {
    padding-top: 10px;
}
.my-account table tr:last-child td {
    padding-bottom: 10px;
}

.my-account .account-ticket img {
    border: 1px solid #ccc;
    border-radius: 5px;
    margin-bottom: 10px;
    max-height: 300px;
    max-width: 100%;
    object-fit: contain;
}
.payment-details {
    font-size: 16px;
    background: #9933cc;
    display: inline-block;
    border-radius: 5px;
    color: white;
    text-shadow: 0 1px 2px #00000063;
    padding: 10px 15px;
}
.cart .account-ticket > h5 {
    margin: 15px 0 0;
}
.alert-sm {
	padding: 10px 10px;
    font-size: 16px;
}
.items .fa-asterisk {
	font-size: 6px;
    margin-right: -3px;
    vertical-align: top;
    margin-top: 9px;
}
#strength {
    height: 19px;
    line-height: 19px;
    background: #212121;
    margin-bottom: 15px;
    overflow:hidden;
    position:relative;
    margin-top: -7px;
}
#strength .message {
	float: right;
    white-space: nowrap;
    position: absolute;
    right: 5px;
    text-shadow: 0 0 3px black;
}
   
.terms-agree-note {
    font-size: 12px;
    max-width: 340px;
    line-height: 13px;
    margin: 20px 0 0;
    color: #aaa;
    text-shadow: none;
}
.terms-agree-note a {
	color: #000000d1;
}
.help-button {
	font-size: 16px;
    background: #000000b5;
    padding: 2px 7px;
    border-radius: 5px;
    position: absolute;
    bottom: 35px;
    left: 0;
    color: #ffffff;
    opacity: 0.8;
    z-index: 999999;
    text-shadow: 0 1px 2px black;
}
.help-container {
	position: absolute;
    bottom: 50px;
    left: 20px;
    padding:15px;
    max-width: 80%;
    z-index:999999;
}
.help-container h5 {
    font-size: 26px;
    text-shadow: 0 1px 1px #00000030;
}
.help-container p {
	font-size: 16px;
}
.help-container .btn i {
    position: relative;
    margin: -30px -4px -30px -7px;
    border-radius: 40px;
    width: 35px;
    height: 35px;
    line-height: 36px;
}
.vibrate-1 {
	-webkit-animation: vibrate-1 0.3s linear infinite both;
	        animation: vibrate-1 0.3s linear infinite both;
}
.bubble {
    background: #ffffff;
    border-radius: 10px;
	box-shadow: 3px 3px 8px 2px #0000006e;
}
.bubble:after {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    z-index: 1;
    border-style: solid;
    border-width: 20px 25px 0 0;
    border-color: #ffffff transparent transparent transparent;
    bottom: -20px;
    left: 9%;
    margin-left: -12.5px;
}

.btn-check:active+.btn-success:focus, .btn-check:checked+.btn-success:focus, .btn-success.active:focus, .btn-success:active:focus, .show>.btn-success.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.25rem rgb(255 255 255 / 18%);
}
.btn-check:focus+.btn-success, .btn-success:focus {
    color: #fff;
    background-color: #157347;
    border-color: #ffffff60;
    box-shadow: 0 0 0 0.25rem rgb(255 255 255 / 18%);
}
.form-control:focus {
    color: #212529;
    background-color: #fff;
    border-color: #000000;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgb(0 0 0 / 25%);
}
#last-orders-warning {
	color: #ffc107;
    font-size: 11px;
    line-height: 13px;
    display: inline-block;
    position: fixed;
    top: 57px;
    right: -20px;
    z-index: 20;
    text-shadow: 0 1px 1px black;
    right: -160px;
}
#last-orders-warning i {
	float: left;
    margin: 4px 4px 8px -9px;
    font-size: 18px;
}
#last-orders-warning div {
    
}
#last-orders-warning > div > span {
    display: block;
    margin: 2px;
    padding: 7px 27px 7px 23px;
    text-align: right;
    border-radius: 5px;
}
#loading-overlay {
	position: absolute;
    top: 96px;
    width: 100%;
    height: 100%;
    z-index: 10;
    text-align: center;
    padding-top: 25%;
	display:none;
}
#loading-overlay i {
    font-size: 152px;
    color: white;
    text-shadow: 0 0 4px #00000054;
    opacity: 0.8;
}
#bottom-checkout-shadow {
	position: fixed;
    bottom: -90px;
    z-index: 49;
    width: 100%;
    padding: 17px;
    height: 92px;
}
#bottom-checkout-shadow div {
    width: 100%;
    height: 100%;
    background: black;
    border-radius: 9px;
    box-shadow: 0 -2px 10px 10px black;
}
#bottom-checkout {
    position: fixed;
    bottom: -90px;
    z-index: 50;
    width: 100%;
    padding: 15px;
}
#bottom-checkout .btn {
	width: 100%;
    font-size: 20px;
    padding: 14px;
    border: 5px solid #17a68947;
    border-radius: 10px;
}
.btn-success, .btn-success:active, .btn-success:hover {
      border-color: #00000047;
      text-shadow: 0 1px 1px #00000057;
}
.homepage-video-bg {
    position: absolute;
    z-index: -1;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    overflow:hidden;
}
.homepage-venues > div {
    max-width: 240px;
    margin: 30px auto;
    color: #eee;
}
.homepage-venues a {
    display: block;
    padding: 20px 20px 10px;
    border-radius: 30px;
    margin: 0 0 30px;
    text-align: center;
    background: #00000061;
    box-shadow: inset 0 0 40px black, 0 0 2px #ffffff52;
    color:white;
    text-decoration: none;
}
.homepage-venues a img {
	max-height: 200px;	
    margin-bottom: 10px;
    filter: invert(100%);
    max-width:100%;
}

.subcategory-title {
	color: #ffffff;
    text-shadow: 0 1px 2px #000000;
    margin: 30px -20px 20px;
    padding: 2px 35px;
    border-bottom: 1px solid #df7626;
    font-size: 20px;
    box-shadow: inset 0 -26px 10px -15px #000000;
}
.subcategory-description pre, .category-description pre {
    font-family: 'Doppio One', sans-serif;
    font-size: 14px;
    white-space: pre-wrap;
    color: #0d6efd;
    margin: -5px 5px 15px;
    text-shadow: 0 1px 1px black;
}
.category-description pre {
    margin: 10px -20px;
    background: #282828;
    color: white;
    padding: 10px 25px;
    position: relative;
    font-size: 14px;
    box-shadow: 0 0 10px #000000;	
}
.category-all-nav {
    white-space: nowrap;
    background: #181818;
    color: white;
    font-size: 16px;
    margin: 0;
    position: absolute;
    top: 60px;
    z-index: 10;
    padding: 0;
    width: 100%;
    text-shadow: 0 1px 2px black;
    overflow: hidden;
    border-bottom: 2px solid #df7626;
    padding-top: 5px;
    box-shadow: 0 4px 10px black;
}

.category-all-nav .category-name {
	background: #df7626;
	box-shadow:none;
}

.category-all-nav > span {
	background: #df7626;
    padding: 6px 20px 6px;
    box-shadow: -11px 0 8px 20px black;
    position: relative;
    z-index: 1;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
}
.category-all-nav > div {
	position: relative;
	white-space: nowrap;
	overflow-x:scroll;
	-ms-overflow-style: none;  /* IE and Edge */
  	scrollbar-width: none;  /* Firefox */
    padding-left: 15px;
}
.category-all-nav .active {
	background: #444;
    box-shadow: inset 0 -31px 14px -6px #000000c2;
}
.category-all-nav > div::-webkit-scrollbar {
  display: none;
}
.category-all-nav > div > div {
    display: inline-block;
    padding: 6px 15px 7px;
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
    margin: 6px 5px 0;
}

#menu-navigation {
	background: black;
    padding: 5px;
    position: absolute;
    box-shadow: inset 0px -80px 40px -60px #ffffff36, inset 0 -1px 0 #ffffff1c;
    width: 100%;
    z-index: 10;
    text-align: center;
}
#menu-navigation img {
	width: 100px;
}
#menu-navigation .mini-cart {
	margin-bottom: -10px;
	float:right;
	color: #4caf50;
    margin-top: 11px;
    margin-right: 3px;	
    position:relative;
    z-index:1;
    text-shadow: 0 2px 2px #000;
    width: 59px;
	text-align: right;
}
#menu-navigation .mini-account {
	margin-bottom: -10px;
	float:right;
	color: #4caf50;
    margin-top: -39px;
    margin-right: 3px;	
    position:relative;
    z-index:1;
    text-shadow: 0 2px 2px #000;
}
#menu-navigation .mini-cart span {
	width: 30px;	
}
#menu-navigation .mini-cart.active {
	color: white;
}
.cart-pointer {
	width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 17px 14px 17px;
    border-color: transparent transparent #4caf50 transparent;
    font-size: 0;
    right: 13px;
    position: absolute;
    top: 47px;
    z-index: 50;
}
.cart {
    padding: 20px;
}
.cart h1 {
	margin-top:0px;
	margin-bottom: 20px;
}
.cart h5 {
	margin-top:15px;
}
.cart h4 {
    font-size: 30px;
}
.cart .table-select {
	width: auto;
    min-width: 200px;
    margin-top: 20px;
    border: none;
}
.cart .items {
    background: white;
    margin: 20px 0;
    border-radius: 5px;
    color: #333;
    padding: 10px 15px;
    font-size: 18px;
    min-height: 190px;
}
.cart .items > ul {
    list-style-type: none;
    padding: 0;
}
.cart .items > ul > li {
	padding-bottom: 10px;
    padding-top: 15px;
    border-bottom: 1px dotted #bbbbbb;
    position: relative;
    padding-left: 34px;
}
.cart .items > ul > li > ul {
    font-size: 14px;
    padding-left: 25px;
    color: #7b7b7b;
    margin-left: -25px;
}
.cart .items > ul > li > ul > li {
	position: relative;	
    padding-bottom: 0px;
    line-height: 20px;
}
.cart .items > ul > li > span:nth-child(1) {
    margin-bottom: 7px;
}
.cart .items > ul > li > span:nth-child(4) {
    position: absolute;
    top: 13px;
    left: 0px;
    color: #238556;
    font-size: 17px;
    letter-spacing: -1px;
}
.order-options-popup {
    background: #00000070;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    border-radius: 4px;
    color: #ffffff;
    text-align: center;
    font-size: 19px;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
}
.cart .items ul .order-options-popup span:nth-child(1) {
	margin: 0;
	font-size: 14px;
	opacity: 1;
	transition: all 0.2s;
    line-height: 15px;
}
.cart .items ul .order-options-popup span:nth-child(1) i {
	font-size: 24px;
	opacity: 1;
	transition: all 0.2s;	
}
.cart .items ul .order-options-popup.start span:nth-child(1) i {
	font-size: 30px;
	opacity: 0;
}
.cart .items ul .order-options-popup.start span:nth-child(1) {
	font-size: 20px;
	opacity: 0;
}

.cart .items ul span:nth-child(1) {
    line-height: 20px;
    display: inline-block;
    margin-right: 50px;
    vertical-align: top;
}
.cart .items ul span:nth-child(2) {
	float: right;
    z-index: 1;
    position: absolute;
    right: 0;
    top: 15px;
    line-height: 20px;
    vertical-align: top;
}
.cart .items ul li ul span:nth-child(2) {
	top: 0;	
}
.cart .items .total {
	display: block;
	text-align:right;
	font-size: 20px;
}
.cart .items small {
	display: flex;
    justify-content: center;
    align-items: center;
    height: 114px;
    color: #e6e6e6;
    font-size: 25px;
}
#menu-navigation .back a {
	color: #4caf50;
	text-decoration: none;
	text-shadow: 0 2px 2px #000;
}
#menu-navigation .back {
	float: left;
    margin-top: 11px;
    margin-left: 3px;
    font-size: 19px;
    position:relative;
    z-index:1;
}
.mod-category .mod-option, .mod-category .mod-option-out-of-stock {
	display:flex;
    align-items: center;
	position:relative;
    padding: 15px 13px 14px;
    border-radius: 5px;
    margin: 8px 0px 0;
    font-size: 15px;
    color: #616161;
    line-height: 20px;
    text-align: left;
    background: #f1f1f1;
    transition: opacity 0.2s;
}
.mod-category > div > span:nth-child(1) {
	flex-grow:1;
	padding-right: 15px;
}
.mod-category .qty > i {
	font-size: 17px;
	width: 0px;
	overflow:hidden;
	padding: 0;
    margin: 0;
    text-align:center;
    opacity: 0;
    text-shadow: none;
}
.mod-category .qty > i.disabled {
	opacity: 0.3!important;	
}

.mod-category.maxed .mod-option {
	opacity: 0.3;
}
.mod-category .mod-option.active {
	box-shadow: none;
    color: white;
    text-shadow: 0 1px 2px black;
    background: #13957b;
    opacity: 1;
}
.mod-category[data-minimum="1"][data-maximum="1"] .mod-option span:nth-child(3) > span {
	border-radius: 50px;	
}
.mod-category[data-minimum="1"][data-maximum="1"] .mod-option.active span:nth-child(3) > span {
	font-size: 15px;
}
.mod-category .mod-option span:nth-child(3) > span {
	font-size: 0;
    font-weight: 900;
    display: inline-block;
    width: 23px;
    height: 23px;
    border-radius: 4px;
    margin: 0;
    line-height: 24px;
    box-shadow: 0 0 0 2px #00000030;
    background: white;
    text-align: center;
    text-shadow: none;
}
.mod-option .qty {
	height: 100%;
    display: flex;
    align-items: center;
}
.mod-category .helper {
    font-size: 11px;
    color: #2f2f2f;
    margin: 5px 0 0;
    display: block;
   	height: 16px;
}

.mod-category .helper.top {
    margin: 7px 0 -5px;
}
.mod-option > span:nth-child(2) {
	padding-right: 10px;
	white-space: nowrap;
}
.mod-category .mod-option.active span:nth-child(3) > span {
    font-size: 16px;
    color: #601487;
}
.mod-option-out-of-stock span:nth-child(2) {
	font-size: 12px;
    white-space: nowrap;
}

.mod-category-title {
	text-transform: capitalize;
    text-align: left;
    border-bottom: 1px solid #cccccc;
}
.mod-category {
	margin: 20px 0 40px;
}


.mod-category .form-check.active {
	box-shadow: none;
    color: white;
    text-shadow: 0 1px 2px black;
    border: 2px solid #0000002e;
}
.mod-category .form-check-input:checked {
	background-color: #444;
	color:white;
	border: 1px solid rgba(0,0,0,.25);
}
.mod-category .form-check-input:focus {
	box-shadow: none;
	border: 1px solid rgba(0,0,0,.25);
}

#item-options .form-check-label {
	float: left;
    text-align: left;
    vertical-align: top;
    margin-top: 1px;
    width:100%;
    padding-left: 5px;
}
#item-options .form-check-label span {
	float:right;
}

.category-title {
font-size: 14px;
    text-align: left;
    background: #823aee;
    color: white;
    margin: 0;
    padding: 6px 10px 7px;
    border-top: 2px solid #000000d1;
    box-shadow: inset 0 0 0 100px #000000bd, 0 2px 0 0 #000000d9;
    text-shadow: 0 2px 2px black;
    z-index: 9;
    position: absolute;
    width: 100%;
    top: 60px;
}
.category-title a {
	color: white;
	text-decoration: none;
}
.category-title i {
	margin: 0 5px 0 0;
}
.category-title .fa-angle-right {
	vertical-align:top;
	margin-top:5px;
}

.menu-items {
	padding: 20px;
    overflow-y: scroll;
    height: 100%;
    width: 100%;
    padding-top: 100px;
    top: 0;
    position: absolute;
}
.menu-items a.out-of-stock {
	opacity: 0.6;
	box-shadow: inset 0px 0px 0px 4px #0000004f;
}
.menu-items a {
	text-decoration: none;
    display: block;
    border-radius: 12px;
}
.menu-items a > span {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    color: white;
    border-radius: 12px;
    line-height: 25px;
    font-size: 18px;
    padding: 20px 30px 20px 6px;
    margin: 0 0 20px;
    box-shadow: inset 0 120px 60px -100px #00000061, inset 0px 0px 0px 4px #ffffff55;
    text-shadow: 0 1px 2px #000000;
}

.menu-items a > span span:nth-child(1) {
	line-height: 16px;
    font-size: 16px;
    display: flex;
    align-items: center;
}
.menu-items a > span span:nth-child(1) i {
    flex: 0 0 39px;
    display: inline-block;
    padding: 15px 0;
    margin: -15px 0;
    text-align: center;
    vertical-align:bottom;
    background: url(/img/favourite-bg.svg) center center no-repeat;
    background-size: 0;
    overflow:hidden;
    border-radius: 100px;
}


.menu-items a > span > span:nth-child(2) {
    display: flex;
    align-items: center;
    justify-content: center;
    float: right;
    margin: -16px -26px -16px 10px;
    background: #ffffffd9;
    padding: 14px 0px;
    color: #333;
    border-top-right-radius: 7px;
    border-bottom-right-radius: 7px;
    text-shadow: none;
    box-shadow: -2px 0 0 #0000004d;
    min-width: 99px;
    font-size: 16px;
    border-left: 1px solid #000000ab;
    border-left: 0;
    line-height: 24px;
}

.menu-items a > span > span > span {
	flex: 0 0 100%;
}

.menu-items a span span:nth-child(2) i {
    font-size: 12px;
    vertical-align: top;
    margin: 1px 0 0 7px;
}

.menu-items a.promotion span span:nth-child(2) {
    position: relative;
    flex-wrap: wrap;
    line-height: 14px;
}
.menu-items a.promotion span span:nth-child(2) span {
	width: 100%;
    color: #ff00008c;
    text-align: center;
    display: block;
    text-decoration: line-through;
    font-size: 14px;
}

#item-options .inner {
	margin: 23px;
    padding: 20px;
    background: white;
    border-radius: 12px;
    border: 5px solid #17a68947;
    box-shadow: 0 0 0 5px #601487, 0 5px 0 8px #00000026, 0 5px 10px 10px #00000080;
    position: relative;
    top: -50px;
}
#item-options {
	position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: #000000ad;
    z-index: 50;
    display: none;
    overflow-y: scroll;
    padding-top: 50px;
    box-shadow: 200px 0 0 #000000ad;
    padding-bottom: 100px;
}


#item-options .name {
	border-bottom: 1px solid #ccc;
    margin-bottom: 10px;
    font-size: 28px;
    line-height: 27px;
    margin-top: 10px;
    padding-bottom: 10px;
}
#item-options .price {
    margin-top: 0px;
    font-size: 24px;
    text-align: center;
    padding-top: 3px;
    float:right;
}
#item-options .inner .btn-success {
	margin: 20px auto 0;
}
#item-options > .btn-success {
	white-space: nowrap;
	position: absolute;
}
#item-options .close {
    text-decoration: underline;
    color: #6d6d6d;
    font-size: 16px;
    display: block;
    margin: 10px 0 -5px;
}
#item-options .favourite {
    font-size: 14px;
    height: 26px;
    margin-right: -11px;
}
#item-options .favourite span {
	max-width: 0px;
	overflow:hidden;
	display:inline-block;
    vertical-align: middle;
}
#item-options .favourite i {
    margin: -10px -9px -12px -25px;
    padding: 15px;
    width: 46px;
    display: inline-block;
    text-align: center;
    vertical-align:bottom;
    background: url(/img/favourite-bg-inverted.svg) center center no-repeat;
    background-size: 0;
    overflow:hidden;
    border-radius: 100px;
}
#item-options .tags {
	font-size: 14px;
    color: #17a386;
    margin-bottom: 10px;
}
#item-options .description pre {
    font-size: 15px;
    text-align: left;
    font-family: 'Doppio One', sans-serif;
    white-space: pre-wrap;
    line-height: 20px;
}
#item-options .quantity {
	float: left;
    text-align: center;
    color: #17a386;
    font-size: 21px;
    margin-top: 5px;
    position: relative;
}
#no-stock-qty-warning {
	display:none;
	font-size: 12px;
    position: absolute;
    background: white;
    padding: 2px 0;
    font-weight:500;
    border-radius: 3px;
    left: 0px;
    white-space: nowrap;
    top: 5px;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}
#item-options .quantity span {
	margin: -8px 1px 0;
    display: inline-block;
    width: 26px;
    text-align: center;
}
#item-options .tags > span {
	color: white;
    background: #17a386;
    border-radius: 20px;
    height: 20px;
    display: inline-block;
    line-height: 20px;
    text-align: center;
    font-size: 11px;
    vertical-align: top;
    padding: 0 6px;
    margin: 0 2px 4px;
}
.animated-button.opaque-text-animation {
	color: #ffffff00;
}
.animated-button {
	color: #fff;
	background: #17a689;   
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    border: 1px solid #00000047;
    padding: .375rem .75rem;
    font-size: 1rem;
    border-radius: .25rem;
}

.categories {
	display: flex;
    flex-wrap: wrap;
    position: absolute;
    padding: 110px 10px 10px;
    width: 100%;
    height:100%;
    overflow-y: scroll;
    align-content: flex-start;
}
.categories a {
	flex-grow: 1;
    color: white;
    border-radius: 12px;
    font-size: 18px;
    padding: 20px 18px;
    height: 85px;
    margin: 10px;
    display: flex;
    align-items: center;
    text-decoration: none;
    box-shadow: inset 0 35px 35px -10px #00000054, inset 0px 0px 0px 4px #ffffff55, 0 5px 5px -2px #000000;
    text-shadow: 0 1px 2px #000000;
    position: relative;
}
.menu-items a.style-1 {
	backdrop-filter: brightness(0.6) contrast(3);
    -webkit-backdrop-filter: brightness(0.6) contrast(3);
}
.menu-items a.style-2 > span {
    backdrop-filter: brightness(2) contrast(0.2) saturate(7);
    -webkit-backdrop-filter: brightness(2) contrast(0.2) saturate(7);
}
.menu-items a.style-3 {
    box-shadow: inset 0px 0px 0px 4px #ffffff55, inset 0px 0px 0px 200px #7032d4;
}
.menu-items a.style-4 {
    box-shadow: inset 0px 0px 0px 4px #ffffff55, inset 0px 0px 0px 200px #00965f;
}
.menu-items a.style-5 {
    box-shadow: inset 0px 0px 0px 4px #ffffff55, inset 0px 0px 0px 200px #f44336;
}

.promotion-header {
	color: white;
    margin: 0 10px 5px;
    display: block;
    font-size: 16px;
}
.categories i {
	margin: 0 3px;
}
.categories a.favourites, .categories a.promotion, .categories a.account, .categories a.food, .categories a.drink {
    padding-top: 30px;
}
.categories a.food, .categories a.drink {
	min-width: 150px;
}
.categories a.promotion span, .categories a.favourites span, .categories a.account span, .categories a.food span, .categories a.drink span {
	margin-top:15px;
	
}
.categories a.promotion .tag, .categories a.favourites .tag, .categories a.account .tag,  .categories a.food .tag,  .categories a.drink .tag {
    position: absolute;
    top: 0px;
    right: 0;
    font-size: 20px;
}
.categories a.favourites .tag {
	top:3px;
}

.categories a span {
	width: 100%;
	text-align:center;
}
.terms-links {
	display:flex;
    position: absolute;
    top: 60px;
    font-size: 14px;
    width: 100%;
    box-shadow: inset 0 -2px 0 #0000003d;
    border-bottom: 10px solid white;
}
.terms-links a, .terms-links div {
	padding: 15px;
}
.terms-links a {
	color: white;
}
.terms-links div {
	background: white;
	box-shadow: 3px 0 0 #0000003d, -3px 0 0 #0000003d;
}
.terms {
	padding: 120px 15px 15px;
    overflow-y: scroll;
    height: 100vh;
    color: #191919;
    background: #ffffff;
}

/* MAIN EVENT TICKETS */
.event-logo-container {
    position:relative;
}
.age-restriction {
    display: inline-block;
    width: 46px;
    height: 46px;
    background: #e51414;
    background: repeating-linear-gradient(
    0deg,
    #dd0000,
    #dd0000 2px,
    #ff8686 3px,
    #ff8686 3px
    );
    color: white;
    font-weight: 500;
    border-radius: 100px;
    text-align: center;
    font-size: 22px;
    text-shadow: 0 2px #00000096;
    position: absolute;
    left: 5px;
    top: 5px;
    border: 3px solid white;
    box-shadow: 0 1px 0px 2px black;
    line-height: 37px;
    letter-spacing: -2px;
    padding-right: 1px;
}
.facebook-link {
    display: inline-block;
    width: 38px;
    height: 38px;
    color: white;
    font-weight: 500;
    border-radius: 9px;
    text-align: center;
    font-size: 22px;
    text-shadow: 0 2px #00000096;
    position: absolute;
    bottom: 8px;
    right: 6px;
    border: 3px solid #004caf;
    box-shadow: 0 0px 0px 1px #004caf, inset 0 17px 5px -15px #ffffff82, inset 0 -16px 5px -15px #00000082;
    overflow: hidden;
    background: #fff;
    background-image: url('/img/facebook-logo-round.svg');
}
.facebook-link:active, .facebook-link:focus {

    box-shadow: 0 1px 0px 2px black, inset 0 -16px 5px -15px #ffffff65, inset 0 17px 5px -15px #00000082;

}
.facebook-link img {
    margin: -1px;
}
#back-to-top {
    position: fixed;
    bottom: 50px;
    right: -200px;
    padding: 8px 30px 8px 12px;
    box-shadow: 1px 3px 4px 2px #00000073, inset 0 0 0 1px #00000066;
    border-radius: 10px;
    transition: right 0.5s;
}
.tickets-header {
    background: #ffffff;
    overflow: hidden;
    position: relative;
    border-bottom: 3px solid #9933cc;
    box-shadow: 0 2px 2px #0000004a;
    z-index: 1;
}
.tickets-header > div {
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
}
.tickets-header img {
    max-height: 40px;
    margin: 5px;
    z-index:1;
    position:relative;
    width: 134px;
}
.tickets-header #box-spin {
    background: white;
    width: 300%;
    height: 500%;
    position: absolute;
    top: -370%;
    left: -140%;
    transform: rotate(345deg);
}
.event-page {
    padding: 15px;
    font-size: 16px;
}
.event-logo {
    width: 100%;
}
.event-page h1 {
    font-size: 26px;
    margin: 25px 0 20px;
}
.event-page #total {
    font-size: 19px;
}
.event-page .short-date, #event-summary .short-date {
    display: block;
    background: #9933cc;
    margin: -15px -15px -5px;
    padding: 15px;
    color: white;
    text-align: center;
    text-shadow: 0 2px #00000030;
    font-size: 16px;
}
#event-summary.seatmap-page {
    padding: 0;
    margin: 0;
}
#event-summary.seatmap-page .event-page {
    padding: 0 25px;
}
#event-summary.seatmap-page .venue-name {
    color: #0000007d;
    margin: 20px 0 -25px;
}
.event-page .location, .event-page .date, .event-page .time  {
    display: block;
    margin: 0 -15px;
    padding: 10px 15px;
    border-top: 2px solid #9933cc;
    background: #0000000a;
    text-shadow: 0 1px #fff;
}
.event-page .location i, .event-page .date i, .event-page .time i  {
    margin-right: 5px;
}
.event-page .ticket-icon {
    text-align: center;
    border-bottom: 2px solid #9933cc;
    height: 22px;
    margin: 10px -15px 40px;
    font-size: 20px;
}

.event-page > .description {
    display: block;
    font-size: 18px;
    margin: 15px 0;
}
p img {
    margin: 15px;
}
p img[style="float: left;"] {
    margin-left: 0px;
}
p img[style="float: right;"] {
    margin-right: 0px;
}
.event-page .divider {
    background: #00000033;
    height: 15px;
    display: block;
    margin: -20px -15px 0;
}
.event-page .ticket {
    margin: 20px 0 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #9933cc;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
}
.event-page .ticket .qty-selector {
    margin-left: auto;
}
.event-page .ticket:last-child {
    border:none;
}
.event-page .ticket .description {
    white-space: pre-wrap;
    float: left;
    font-size: 14px;
}
.event-page .ticket h4 {
    font-size: 18px;
}
.event-page .ticket .price {
    display: block;
    font-weight: 500;
    font-size: 16px;
    margin: 17px 10px 0;
    float:right;
}
.event-page .ticket .form-select {
    min-width: 70px;
    display: inline-block;
    width: auto;
    float: right;
    margin-top: 10px;
}
.event-page .reserve-button {
    width: 100%;
    margin: 10px 0;
}

.checkout-event-details {
    background: #9933cc;
    color: white;
    text-shadow: 0 2px #0000002b;
    margin: 0 -20px;
    padding: 1px 20px;
}
.checkout-event-details img {
    float: right;
    width: 67px;
    height: 67px;
    object-fit: cover;
    margin: 7px -12px;
}
.pay-type-btn.unselected {
    opacity: 0.3;
}
.reserved-alert {
    display: inline-block;
    padding: 2px 10px 0;
    font-size: 12px;
    margin: 0;
    float: right;
    color: #707070;
}
.reserved-alert i {
    animation: rotate-hourglass 5s infinite;
}
.reserved-alert a, .reserved-alert a:not([href]):not([class]) {
    text-decoration: underline;
    text-shadow: none;
    cursor: pointer;
}

.seat-modal {
    position: absolute;
    background: white;
    text-shadow: none;
    padding: 10px 10px 0px;
    color:black;
    box-shadow: 0px 0px 17px -2px #000000;
}
.seat-modal .seat-number {
    background: #e1e1e1;
    margin: -10px -10px 10px;
    padding: 6px 10px;
    text-shadow: 0 1px 1px #ffffff36;
}
.seat-modal .seat-warning {
    font-size: 14px;
    color: #333;
    margin: -5px 0 3px;
}
.seat-modal .unavailable {
    margin: 10px 0;
    color: #9a9a9a;
    font-size: 14px;
}
.seat-modal:before {
    content: " ";
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 0 10px 10px 10px;
    border-color: transparent transparent #ffffff transparent;
    transform: rotate(315deg);
    display: block;
    position: absolute;
    bottom: -8px;
    left: 0;
}
.seat-modal .btn {
    display:block;
    margin-bottom: 10px;
}
#chosen-seats {
    font-size: 14px;
    margin-top: 15px;
    display: flex;
    flex-wrap: wrap;
}
.seatmap, #overview-container {
    user-select: none;
    text-shadow: none;
}
div.chosen-seat .form-check,  div.chosen-seat .form-check input {
    cursor:pointer;
 }
 div.chosen-seat .form-check label {
    width: 100%;
    display: block;
    cursor:pointer;
 }
#chosen-seats > div, div.chosen-seat {
    padding: 10px 30px 30px 20px;
    border: 1px solid #66666647;
    display: inline-block;
    margin: 0 25px 15px 0;
    border-radius: 3px;
    background: #0000000d;
    position: relative;
    white-space: nowrap;
    vertical-align:top;
    min-width: 22%;
}
div.chosen-seat .ticket-description {
    max-width: 300px;
    white-space: pre-wrap;
    margin: 5px 0 10px;
}
div.chosen-seat .remove-ticket {
    position: absolute;
    right: -15px;
    top: calc(50% - 15px);
    border-radius: 100px;
}
div.chosen-seat .ticket-seat {
    font-size: 16px;
    font-weight:bold;
}

div.chosen-seat .reservation-countdown {
    font-weight: bold;
    color: #4CAF50;
    margin: 0 0 10px;
}
div.chosen-seat .ticket-description {
    opacity: 0.7;
}
div.chosen-seat .ticket-price {
    font-weight: bold;
    position: absolute;
    bottom: 15px;
}
div.chosen-seat.renewal .ticket-price {
    font-weight: bold;
    position: initial;
    margin: 10px 0 0px;
}
div.chosen-seat .installments {
    margin: 0px 0 20px;
}
div.chosen-seat .installment-options {
    display: block;
    background: #0000001f;
    padding: 10px 15px;
    margin: 10px 0;
}

@keyframes rotate-hourglass {
    30% {transform: rotate(0deg);}
    50% {transform: rotate(180deg);}
    80% {transform: rotate(180deg);}
    100% {transform: rotate(360deg);}
  }

.homepage-event {
    display: block;
    background: #ffffffa8;
    margin: 0 10px 20px;
    color: #333;
    text-decoration: none;
    min-width: 35%;
    box-shadow: 0 3px 6px -3px #000000a1;
    min-height: 130px;
    flex-grow: 1;
    position: relative;
    overflow: hidden;
}
.homepage-event .age-restriction {
    right: 5px;
    top: 5px;
    left: auto;
    width: 34px;
    height: 34px;
    font-size: 17px;
    line-height: 25px;
}
.homepage-event:hover {
    box-shadow: 0 5px 6px -3px #000000a1;
    margin: -2px 10px 22px;
}

.homepage-event .info {
    text-align: left;
    flex-grow: 1;
    flex-basis: 0;
    padding: 10px;
    color: #333;
}
.homepage-event .info h3 {
    margin-bottom: 0;
    line-height: 1em;
    font-size: 1.3rem;
    max-width:500px;
}
.homepage-event .info .venue {
    color: #939393;
    display: block;
    line-height: 21px;
    margin: 2px 0 2px;
    font-weight: 500;
}
.homepage-event .info .image {
    height: 150px;
    margin: -10px -10px 10px;
    background-size: cover;
    background-position: center;
}
.homepage-event .date {
    display: block;
    position: absolute;
    line-height: 24px;
    text-align: center;
    margin: 0;
    background: #ffffffc7;
    color: #333;
    font-size: 14px;
    border-top: none!important;
    text-shadow: 0 1px 1px #ffffff5c;
    padding: 0 0 5px;
    text-transform: uppercase;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    font-weight: 500;
    width: 80px;
    overflow:hidden;
    box-shadow: 0 0 10px #00000029;
}
.homepage-event .month {
    background: #9933cc;
    padding: 3px 15px;
    display: block;
    box-shadow: inset 0 0 0px 100px #00000030, 0 1px 0px #ededed54;
    margin: -1px 0 10px;
    color: white;
    text-shadow: 0 1px black;
}
.homepage-event .day {
    display: block;
    font-size: 31px;
    letter-spacing: -2px;
    position: relative;
    left: -1px;
}
.homepage-event .callout{
    float:right;
    width:auto;
    background:red;
    color:white;
    font-weight:normal;
    padding: 2.5px 10px;
}
.main-content {
    max-width: 1000px;
    min-height: calc(100vh - 173px);
    margin: 0 auto;
    position: relative;
    overflow:hidden;
    background: #ffffff;
}
.main-container {
    min-height: calc(100vh - 143px);
}


.venue-page .venue-content {
    padding: 15px;
}

.low-stock-alert {
    font-size: 12px;
    float: right;
    padding: 5px 1px 0;
    color: red;
}

.alert-collapse .alert-info i {
    margin-bottom: 10px;
}

.alert-white {
    color: #434343;
    background-color: #ffffff;
    border-color: #d5d5d5;
  }
  .alert-white .alert-link {
    color: #4d4d4d;
  }

.alert-collapse {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #00000069;
    z-index: 99999;
    text-align: center;
    font-size: 16px;
}
.alert-collapse small {
    line-height: 17px;
    display: block;
    margin: 15px 0 5px;
}
.alert-collapse > div {
    top: 10%;
    width: auto;
    display: inline-block;
    box-shadow: 0 5px 10px 0px #00000073;
    padding: 20px 50px;
    margin: 0 15px;
}
.alert-collapse > div > i {
    font-size: 40px;
    display: block;
}
.tickets-header .login-container {
    float: right;
    margin: 8px 0 0;
}
.login-container {
    display: block;
    text-align: right;
    margin: 15px 15px -20px;
}
.login {
    display: inline-block;
    color: white;
    z-index: 1;
    position: relative;
    text-decoration: none;
    background: #9933cc;
    padding: 3px 11px;
    border-radius: 5px;
    font-size: 14px;
    top: -1px;
    text-shadow: 0 2px #00000030;
    margin-right:10px;
}
.login:hover {
    color:white;
    background: #601487;
}
.login > i {
    font-size: 11px;
    margin: 4px 4px 6px 1px;
    vertical-align: top;
}
.btn-check:active+.btn-primary, .btn-check:checked+.btn-primary, .btn-primary.active, .btn-primary:active, .show>.btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #9933cc;
    border-color: #601487;
}
.btn-check:focus+.btn-primary, .btn-primary:focus, .btn-primary:active {
    color: #fff;
    background-color: #9933cc;
    border-color: #9933cc;
    box-shadow: 0 0 0 0.25rem rgb(153 51 204 / 55%);
}
.customer-search-table tr {
    vertical-align: middle;
}
#staff-payment-options, .staff-print-options {
    display:flex;
    flex-wrap:wrap;
    gap:0 15px;
}
#staff-payment-options label, .staff-print-options label {
    width:100%;
}
#staff-payment-options .form-check, .staff-print-options .form-check{
    padding: 10px 15px 10px 58px;
    background: #ebebeb;
    border-radius: 10px;
    flex-grow: 1;
    font-size: 28px;
    margin: 10px 3px;
}

.staff-print-options .form-check {
    font-size: 18px;
}
#staff-payment-options .form-check.checked {
    background: #084298;
    color: white;
    text-shadow: 0 2px black;
}

.staff-print-options .do-print.checked {
    background: #0a8623;
    color: white;
    text-shadow: 0 2px black;
}
.staff-print-options .dont-print.checked {
    background: #980808;
    color: white;
    text-shadow: 0 2px black;
}

.footer {
    background: #222;
    color: white;
    text-shadow: 0 1px black;
    width: 100%;
    text-align:center;
    border-top: 3px solid #9933cc;
}
.footer .col-auto {
    flex-grow: 1;
    padding: 0;
}
.footer > .row {
    max-width: 1000px;
    margin: 0 auto;
    padding: 15px;
    justify-content: space-between;
    align-items: center;
}
.footer > .row > .row {
    justify-content: center;
    margin-left: 0px;
}
.footer img {
    width: 150px;
}
.footer small {
    font-size: 11px;
    margin-top: -2px;
    display: block;
    padding: 0 18px 0 0;
    color: #888;
    clear: both;
    text-align: center;
}
.footer a {
    text-decoration: none;
    font-size: 16px;
    width: auto;
    padding: 1px 10px 6px;
    color: #9933cc;
}
.footer .logo {
    padding: 4px 6px 0;
    margin-bottom: -3px;
}
@media (min-width: 500px) {
    .footer .col-auto {
        flex-grow: 0;
    }
}

@media (min-width: 992px) {
    .event-page .divider {
        height: 1px;
        margin: 10px 20px 30px;
    }
    .event-page > h3 {
        margin-top:15px;
    }
    .main-content {
        margin: 15px auto;
        padding: 15px;
    }
    .login {
        margin-right: 0;
    }
}

@media (min-width: 576px) {
    .event-page .divider {
        height: 1px;
        margin: 10px 20px 30px;
    }
    .event-page > h3 {
        margin-top:15px;
    }
    .main-content {
        padding: 15px;
    }
}


/* ----------------------------------------------
 * Generated by Animista on 2021-3-7 10:54:37
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation vibrate-1
 * ----------------------------------------
 */
@-webkit-keyframes vibrate-1 {
  0% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
  20% {
    -webkit-transform: translate(-1px, 1px);
            transform: translate(-1px, 1px);
  }
  40% {
    -webkit-transform: translate(-1px, -1px);
            transform: translate(-1px, -1px);
  }
  60% {
    -webkit-transform: translate(1px, 1px);
            transform: translate(1px, 1px);
  }
  80% {
    -webkit-transform: translate(1px, -1px);
            transform: translate(1px, -1px);
  }
  100% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
@keyframes vibrate-1 {
  0% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
  20% {
    -webkit-transform: translate(-1px, 1px);
            transform: translate(-1px, 1px);
  }
  40% {
    -webkit-transform: translate(-1px, -1px);
            transform: translate(-1px, -1px);
  }
  60% {
    -webkit-transform: translate(1px, 1px);
            transform: translate(1px, 1px);
  }
  80% {
    -webkit-transform: translate(1px, -1px);
            transform: translate(1px, -1px);
  }
  100% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}



/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden,
[hidden] {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

/*
 * Extends the .sr-only class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.sr-only.focusable:active,
.sr-only.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

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

.clearfix::after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 650px) {

}

@media only screen and (max-width: 340px) {
  /* Style adjustments for viewports that meet the condition */
  .categories a {
  font-size: 17px;
  padding: 15px 10px;
  }
  #item-options .inner {
    margin: 23px 13px;
    padding: 15px;
  }
  .cart {
  	padding: 15px 10px 121px;
  	font-size: 17px;
  }
}

@media print,
  (-webkit-min-device-pixel-ratio: 1.25),
  (min-resolution: 1.25dppx),
  (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *::before,
  *::after {
    background: #fff !important;
    color: #000 !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]::after {
    content: " (" attr(href) ")";
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
  }

  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }

  pre {
    white-space: pre-wrap !important;
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  /*
   * Printing Tables:
   * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
   */
  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}

