/****************************************************************
**  BODY
****************************************************************/

body { letter-spacing:1px; font-family:'Open Sans', sans-serif; font-size:14px; font-weight:400; background:#f7f8fc; color:#666666; }

/****************************************************************
**  ANCHORS
****************************************************************/

a { color:#666666; text-decoration:none; }
a:focus, a:hover { color:#dd137b; text-decoration:none; }

/****************************************************************
**  HEADING
****************************************************************/

h1 { font-family:'Libre Baskerville', serif; font-weight:400; font-size:60px; }
h2 { font-family:'Libre Baskerville', serif; font-weight:400; font-size:25px; }
h3 { font-family:'Libre Baskerville', serif; font-weight:400; font-size:20px; }
h4 { font-family:'Libre Baskerville', serif; font-weight:400; font-size:20px; }
h5 { font-family:'Libre Baskerville', serif; font-weight:400; font-size:20px; }

/****************************************************************
**  HEAD
****************************************************************/

#head { border-bottom:1px solid #eeeeee; }
#head .head-img { padding:10px 0px; }
#head .head-img img { height:60px; }
#head .head-nav { text-align:right; }
#head .head-nav ul { list-style:none; padding:0px; margin:0px; display:inline-block; }
#head .head-nav ul li { display:inline-block; padding:30px 10px; text-transform:uppercase; }
#head .head-nav ul li a.active { color:#dd137b; }
#head .head-nav span { text-align:center; padding:5px 15px; border:1px solid #eeeeee; border-radius:20px; margin-left:20px; }
#head .head-nav span:hover { background:#eeeeee; }

/****************************************************************
**  HERO
****************************************************************/

#hero { height:400px; background-color:#333333; background-repeat:no-repeat; background-size:cover; position:relative; }
#hero h1 { margin:0; position:absolute; top:45%; left:0px; right:0px; -ms-transform:translateY(-45%); transform:translateY(-45%); text-align:center; color:#ffffff; font-size:60px; }
#hero .link { position:absolute; bottom:0px; width:inherit; text-align:center; }
#hero .link a { background-color:rgba(0,0,0,0.4); display:inline-block; color:#ffffff; padding:25px 50px; font-size:20px; font-family:'Libre Baskerville', serif; font-weight:400; }

/****************************************************************
**  BAND
****************************************************************/

#band { height:250px; background-color:#333333; background-repeat:no-repeat; background-size:cover; position:relative; }
#band h1 { margin:0; position:absolute; top:50%; left:0px; right:0px; -ms-transform:translateY(-50%); transform:translateY(-50%); text-align:center; color:#ffffff; font-size:60px; }

/**************************************************************************************************************************
**  HOME
**************************************************************************************************************************/

#home { padding:50px 0px; text-align:center; }

/****************************************************************
**  WIDGET / FEATURED
****************************************************************/

  #home .feat { margin-top:20px; border:1px solid #eeeeee; background:#ffffff; }
  #home .feat .inner { padding:30px 40px; }
  #home .feat .inner h3 { margin:0px; text-transform:uppercase; margin-bottom:20px; }
  #home .feat .inner .type { margin-bottom:15px; color:#666666; }
  #home .feat .inner .time { font-size:16px; text-transform:uppercase; margin-bottom:10px; }
  #home .feat .inner p { line-height:25px; margin:0px; }
  #home .feat .link { margin-top:20px; }
  #home .feat .link a { display:inline-block; padding:10px 20px; min-width:160px; text-align:center; border-radius:20px; background:#4578ed; color:#ffffff; }
  #home .feat .link a:hover { opacity:0.9; }
  #home .feat hr { margin:16px 0px; }

/****************************************************************
**  WIDGET / DATE
****************************************************************/

  #home .date { margin-top:20px; border:1px solid #eeeeee; background:#ffffff; }
  #home .date .inner { padding:30px 40px; text-align:left; }
  #home .date .inner h3 { margin:0px; font-size:14px; text-transform:uppercase; margin-bottom:0px; }
  #home .date .inner .type { margin-bottom:10px; color:#666666; }
  #home .date .inner .type span { color:#bbb; border-left:1px solid #eeeeee; padding-left:5px; }
  #home .date .inner .date { font-size:16px; text-transform:uppercase; margin-bottom:15px; }
  #home .date .inner p { line-height:25px; margin:0px; }
  #home .date .month { background:#555; text-align:center; color:#ffffff; padding:20px 0px; position:relative; }
  #home .date .month span { font-size:12px; padding:3px; background:rgba(0,0,0, 0.1); display:block; width:45px; margin:0px auto; margin-top:3px; }
  #home .date .booked { position:absolute; right:10px; top:10px; }
  #home .date.pink .month { background:#f4b1a1; }
  #home .date.pink .type span { color:#f4b1a1; }
  #home .date.green .month { background:#a0c298; }
  #home .date.green .type span { color:#a0c298; }

/****************************************************************
**  #HOME / PROD
****************************************************************/

  #home .prod { margin-top:20px;  text-align:center;  }
  #home .prod .item { display:block; position:relative; padding:25px 15px; padding-top:40px; border:1px solid #eeeeee; background:#ffffff; }
  #home .prod .item span { background:#eeeeee; position:absolute; top:0px; left:0px; right:0px; padding:2px 15px; font-size:10px; color:#999; text-transform:uppercase; }
  #home .prod .item h3 { margin:0px; font-size:14px; text-transform:uppercase; margin-bottom:20px; line-height:20px; }
  #home .prod .item img { margin:0px auto; }
  #home .prod .item .price { font-size:20px; margin-top:25px; }
  #home .prod .item .price sup { font-size:14px; color:#bbb; text-decoration: line-through; }
  #home .prod .item a:hover { opacity:0.9; }

/****************************************************************
**  MORE LINK
****************************************************************/

.more-link { margin-top:25px; }
.more-link a { display:inline-block; padding:10px 20px; min-width:160px; text-align:center; border-radius:20px; background:#666666; color:#ffffff; cursor:pointer; }
.more-link a:last-of-type { background:#4578ed; }
.more-link a:hover { opacity:0.9; }
.more-link span { display:inline-block; padding:10px 20px; min-width:160px; text-align:center; border-radius:20px; background:#666666; color:#ffffff; }
.more-link span:last-of-type { background:#4578ed; }
.more-link span:hover { opacity:0.9; }
.more-link.r { text-align:right; }
.more-link.c { text-align:center; }
.more-link.s a { min-width:auto; background:#eeeeee; color:#999; }
.more-link a.disabled { opacity:0.6; cursor:not-allowed; }

/****************************************************************
**  TAB
****************************************************************/

.nav { margin-bottom:5px; }
.nav li a { margin-left:0px; }
.nav li.active a { background:#4578ed; color:#ffffff; }
.nav li.active:hover a { background:#4578ed; color:#ffffff; }
.nav li.active a:hover { background:#4578ed; color:#ffffff; }

/****************************************************************
**  BTN
****************************************************************/

.btn { border-radius:20px; min-width:160px; border:0px; cursor:pointer; }
.btn.a { min-width:auto; }
.btn.btn-default { background:#666666; color:#ffffff; }
.btn.btn-default:hover { opacity:0.9; }
.btn.btn-primary { background:#4578ed; }
.btn.btn-primary:hover { opacity:0.9; }
.btn.btn-secondary { background:#666666; color:#ffffff; }
.btn.btn-secondary:hover { opacity:0.9; }
.btn.btn-no-label { margin-top:26px; padding:9px 12px; }
.btn.btn-margin-right { margin-right:5px; }
.btn.active { background: #dd137b; }
.btn.invoice-selector { border-radius: 0px; }

/****************************************************************
**  ENTITY FORM 
****************************************************************/

#EntityFormPanel table td.cell { padding:0px 0px 20px; }
#EntityFormPanel .btn { padding:10px 20px; letter-spacing:1px; font-size:14px; }
#EntityFormPanel .btn.launchentitylookup { /* background:#666666; color:#ffffff; */ }
#EntityFormPanel .btn.btn-default { background:#666666; color:#ffffff; }
#EntityFormPanel .btn.btn-default.remove-value { background:#ebccd1; color:#666666; display:none; }
#EntityFormPanel .description { margin-bottom:5px; margin-top:3px; }
#EntityFormPanel .description a { color: #dd137b; text-decoration:underline; } 

/****************************************************************
**  ENTITY VIEW
****************************************************************/

.crmEntityFormView .cell.file-cell { padding:0px; margin-bottom:30px; margin-top:-20px; }

/****************************************************************
**  TILE
****************************************************************/

#tile { margin-top:25px; background:#ffffff; border:1px solid #eeeeee; padding:50px 0px; }
#tile h4 { margin:0; position:absolute; top:50%; left:0px; right:0px; -ms-transform:translateY(-50%); transform:translateY(-50%); text-align:center; color:#ffffff; }
#tile a { background-color:#333333; background-repeat:no-repeat; background-size:cover; display:block; height:250px; position:relative; }
#tile a:hover { opacity:0.9; }

/****************************************************************
**  PAGE
****************************************************************/

#page { padding:50px 0px; }
#page .widget { border:1px solid #eeeeee; background:#ffffff;  }
#page .widget .inner { padding:80px; }

/****************************************************************
**  TEXT-FORMAT
****************************************************************/

.text-format h2 { text-align:center; margin-bottom:30px; margin-top:0px; }
.text-format p { margin-bottom:30px; color:#666666; letter-spacing:1px; line-height:25px; }
.text-format hr { margin-bottom:30px; }
.text-format a { border-bottom:1px dotted #666666; }

/****************************************************************
**  FORM
****************************************************************/

form .checkbox, form .radio { margin-top:0px; }
form .form-group { border-bottom:1px solid #eeeeee; margin-bottom:15px; padding-bottom:15px; }
form .form-group label a { border-bottom:1px dotted #666666; }

/****************************************************************
**  STEP
****************************************************************/

#step { padding-top:50px; text-align:center; }
#step ul { counter-reset:step; margin:0px; padding:0px; }
#step ul li { list-style:none; display:inline-block; width:15%; position:relative; text-align:center; }
#step ul li:before { content:counter(step); counter-increment:step; width:30px; height:30px; line-height:27px; border:1px solid #ddd; border-radius:100%; display:block; text-align:center; margin:0 auto 10px auto; background-color:#fff; }
#step ul li:after { content: ""; position:absolute; width:100%; height:1px; background-color:#ddd; top:15px; left:-50%; z-index:-1; }
#step ul li:first-child:after { content:none; }
#step ul li.active { color:#ddd; }
#step ul li.active:before { border-color:#ddd; background-color:#ddd; color:#ffffff; } 
#step ul li.active + li:after { background-color:#ddd; }
#step ul li.now { color:#4578ed; }
#step ul li.now:before { border-color:#4578ed; background-color:#4578ed; color:#ffffff; } 
#step ul li.now + li:after { background-color:#ddd; }

/****************************************************************
**  TABLE
****************************************************************/

.table { margin-bottom:0px; border:1px solid #eeeeee; }
.table thead tr th { font-family:'Libre Baskerville', serif; font-weight:400; background:#dddddd; padding:15px; vertical-align:middle; }
.table tbody tr th { font-family:'Libre Baskerville', serif; font-weight:400; background:#dddddd; padding:15px; vertical-align:middle; }
.table tbody tr td { padding:15px; vertical-align:middle; }
.table tr .c { text-align:center; }
.table tr .m { text-align:center; }
.table tr .r { text-align:right; }
.table tr.white td { background:#ffffff; }
.table tr .n { font-family:'Open Sans', sans-serif; }
.table tr .option { width:45px; }
.table tr.row-disabled {}
.table tr.row-disabled td { color:#dddddd; }
.table tr.row-disabled td span.muted { color:#dddddd; }
.table tr.row-disabled td bold { color:red; } 

/****************************************************************
**  DISCOUNTS
****************************************************************/

.table.discount td { padding:9px; }
.table.discount .form-control { height:32px; }
.table.discount .btn { height:32px; width:100%; min-width:auto; }

/****************************************************************
**  TABLE / BASKET
****************************************************************/

.table tbody tr td img { max-height:60px; }
.table tbody tr td h3 { margin:0px; margin-bottom:5px; font-size:14px; text-transform:uppercase; color:#666666; line-height:20px; }
/* .table tbody tr td span { display: block;unicode-bidi: embed;font-family: monospace;white-space: pre;} */
.table tbody tr td span { display:block; margin-bottom:5px }
.table tbody tr td span.address { display:block; unicode-bidi:embed; white-space:pre; margin-bottom:10px; }
.table tbody tr td span.danger { color:#a94442; }
.table tbody tr td span.warning { color:#8a6d3b; }
.table tbody tr td span.success { color:#3c763d; }
.table tbody tr td span.muted { color:#888888; }
.table tbody tr td span.grey { color:#aaa; }

/****************************************************************
**  A-Z
****************************************************************/

.a-z { margin-bottom:30px;}
.a-z ul { margin:0px; padding:0px; list-style:none; text-align:center; }
.a-z ul li { display:inline-block; padding:0px; }
.a-z ul li a { background:#f9f9f9; padding:10px; display:inline-block; margin:0px; }
.a-z ul li a:hover { background:#eeeeee; }
.a-z ul li.active a { background:#dddddd; color:#333333; }

/****************************************************************
**  CATEGORIES
****************************************************************/

#categories { background:#ffffff; padding:0px; text-align:center;  }
#categories h4 { margin:0; position:absolute; top:50%; left:0px; right:0px; -ms-transform:translateY(-50%); transform:translateY(-50%); text-align:center; color:#ffffff; }
#categories a { background-color:#333333; background-repeat:no-repeat; background-size:cover; display:block; height:250px; position:relative; margin-bottom:30px; }
#categories a:hover { opacity:0.9; }
#categories a::before { content:""; background:rgba(0,0,0,0.5); position:absolute; top:0px; left:0px; right:0px; bottom:0px;  }

/****************************************************************
**  PRODUCTS
****************************************************************/

#products { background:#ffffff; padding:0px; text-align:center; }
#products .item { display:block; position:relative; margin-bottom:30px; padding:15px; border-bottom:1px solid #eeeeee; padding-bottom:30px; }
#products .item span { background:#4578ed; position:absolute; top:0px; left:0px; padding:2px 15px; font-size:10px; color:#ffffff; text-transform:uppercase; }
#products .item h3 { margin:0px; font-size:14px; text-transform:uppercase; margin-bottom:20px; line-height:20px; }
#products .item .price { font-size:20px; margin-top:20px; }
#products .item .price sup { font-size:14px; color:#bbb; text-decoration: line-through; }
#products .item a:hover { opacity:0.9; }

/****************************************************************
**  DETAILS
****************************************************************/

#details h3 { margin:0px; font-size:20px; text-transform:uppercase; margin-bottom:20px; line-height:20px; }
#details .image {  text-align:center; }
#details .image img { background:#ffffff;}
#details .image span { position:absolute; left:0px; bottom:0px; }
#details .price { font-size:20px; margin-top:20px; margin-bottom:20px; }
#details .price sup { font-size:14px; color:#bbb; text-decoration: line-through; }
#details .text { margin-bottom:30px; color:#666666; letter-spacing:1px; line-height:25px; }
#details .date { color:#888888; margin-bottom:5px; font-weight:500; }
#details .location { color:#888888; margin-bottom:15px; font-weight:500; }
#details .event-image { max-width:400px; padding:20px; background:#eeeeee; margin-left:25px; margin-bottom:10px; }
#details .options { padding:20px; background:#eeeeee; }

/****************************************************************
**  FORM
****************************************************************/

select.form-control { border-radius:0px; min-width:250px; border:1px solid #cfd5e5; height:40px; -webkit-appearance:none; -moz-appearance:none; appearance:none; background:url("/assets/img/select-arrow.png") no-repeat right 10px center #ffffff; }
select.form-control:hover { background-color:#fcfcfc; }
select.form-control.nowidth { min-width:auto; }
input.form-control { border-radius:0px; min-width:250px; border:1px solid #cfd5e5; height:40px; -webkit-appearance:none; -moz-appearance:none; appearance:none; background:#ffffff; }
input.form-control:hover { background-color:#fcfcfc; }
input.form-control.nowidth { min-width:auto; }

/****************************************************************
**  FILTERS
****************************************************************/

#filters { background:#eeeeee; margin-bottom:30px; padding:20px; }
#filters .form-group { margin-bottom:0px; padding-bottom:0px; }

/****************************************************************
**  EVENTS
****************************************************************/

#events .date { margin-bottom:20px; border:1px solid #eeeeee; background:#ffffff; }
#events .date .inner { padding:30px 0px; text-align:left; }
#events .date .inner h3 { margin:0px; font-size:14px; text-transform:uppercase; margin-bottom:0px; }
#events .date .inner .type { margin-bottom:10px; color:#666666; }
#events .date .inner .type span { color:#bbb; border-left:1px solid #eeeeee; padding-left:5px; }
#events .date .inner .date { font-size:16px; text-transform:uppercase; margin-bottom:15px; }
#events .date .inner p { line-height:25px; margin:0px; }
#events .date .month { background:#555; text-align:center; color:#ffffff; padding:20px 0px; }
#events .date .month span { font-size:12px; padding:3px; background:rgba(0,0,0, 0.1); display:block; width:45px; margin:0px auto; margin-top:3px; }
#events .date .booked { position:absolute; right:10px; top:10px; }
#events .date.pink .month { background:#f4b1a1; }
#events .date.pink .type span { color:#f4b1a1; }
#events .date.green .month { background:#a0c298; }
#events .date.green .type span { color:#a0c298; }

/****************************************************************
**  PAGINATION
****************************************************************/

.paging { text-align:center; margin-top:30px; }
.paging ul { list-style:none; padding:0px; display:block; margin:0px; }
.paging ul li { display:inline-block; }
.paging ul li.disabled { cursor:not-allowed; }
.paging ul li.active a { background:#dddddd; color:#333333; }
.paging ul li a { padding:10px; background:#f9f9f9; display:inline-block; }

/****************************************************************
**  FOOT
****************************************************************/

#foot { background:#555; padding:15px 0px;  }
#foot .foot-img { padding:10px 0px; }
#foot .foot-img img { height:60px; }
#foot .foot-nav { text-align:right; }
#foot .foot-nav ul { list-style:none; padding:0px; margin:0px; display:inline-block; }
#foot .foot-nav ul li { display:inline-block; padding:30px 10px; text-transform:uppercase; }
#foot .foot-nav ul li a { color:#eeeeee; }
#foot .foot-nav ul li:last-child { padding-right:0px; }

/****************************************************************
**  COPYRIGHT
****************************************************************/

#copy { background:#333; padding:20px 0px; color:#888; }

/****************************************************************
**  LOAD
****************************************************************/

#load { position:fixed; background-color:rgba(255,255,255,0.8); left:0px; right:0px; top:0px; bottom:0px; text-align:center; display:none; z-index:100; }
#load img { margin:0; position:absolute; top:50%; left:0px; right:0px; -ms-transform:translateY(-50%); transform:translateY(-50%); text-align:center; color:#ffffff; display:block; margin:0px auto; }

/****************************************************************
**  PREVIEW
****************************************************************/

.previewCMS { display:none; }

/****************************************************************
**  STRIPE PAYMENT
****************************************************************/

#payment-form { margin:0px auto; margin-top:50px; }
#payment-form button { border: none; border-radius: 4px; outline: none; text-decoration: none; color: #fff; background: #32325d; white-space: nowrap; display: inline-block; height: 40px; line-height: 40px; padding: 0 14px; border-radius: 4px; font-size: 15px; font-weight: 600; letter-spacing: 0.025em; text-decoration: none; -webkit-transition: all 150ms ease; transition: all 150ms ease; }
#payment-form button:hover { transform: translateY(-1px); background-color: #43458b; }
#payment-form form { padding:30px; height:120px; width:630px; margin:0px auto; }
#payment-form label { font-weight: 500; font-size: 14px; display: block; margin-bottom: 8px; }
#payment-form .token { color: #32325d; font-family: 'Source Code Pro', monospace; font-weight: 500; }
#payment-form #stripe-token-handler { position: absolute; top: 0; left: 25%; right: 25%; padding: 20px 30px; border-radius: 0 0 4px 4px; box-sizing: border-box; box-shadow: 0 50px 100px rgba(50, 50, 93, 0.1), 0 15px 35px rgba(50, 50, 93, 0.15), 0 5px 15px rgba(0, 0, 0, 0.1); -webkit-transition: all 500ms ease-in-out; transition: all 500ms ease-in-out; transform: translateY(0); opacity: 1; background-color: white; }
#payment-form #stripe-token-handler.is-hidden { opacity: 0; transform: translateY(-80px); }
#payment-form .StripeElement { display:block; width: 100%; height: 35px; padding: 9px 6px 10px; font-size: 15px; line-height: 1.42857; color: #555; background-color: #fff; background-image: none; border: 1px solid #ccc; border-radius: 0; -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075); box-shadow: inset 0 1px 1px rgba(0,0,0,.075); -webkit-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;  transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; }
#payment-form .StripeElement--focus { box-shadow: 0 1px 3px 0 #cfd7df; }
#payment-form .StripeElement--invalid { border-color: #fa755a; }
#payment-form .StripeElement--webkit-autofill { background-color: #fefde5 !important; }
#card-errors:empty { display:none; }