/* RESET */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font: 100%; font: inherit; vertical-align: baseline; }


/* pallete 

#701d25 primary
#fdda04 secondary
#f67b36 dark highlight, replaced with "gold"
#0d81be blue
*/


/* GLOBAL */
body { font-family: Raleway, sans-serif; font-size: 1em; font-weight: 400; color: #252525; line-height: 1.5; background-color: #FFFFFF; margin: 0 auto; }
h1,h2,h3,h4,h5,h6 { font-family: Lora, Montserrat, sans-serif; font-weight: 700; margin: 0 0 1rem 0;  }
h3,h4,h5,h6 { margin-bottom: 0.5rem; }
h1 { font-size: 2.0em; }
h2 { font-size: 1.6em; }
h3 { font-size: 1.4em; }
h4 { font-size: 1.2em; }
h5 { font-size: 1.0em; }
h6 { font-size: 1.0em; }
table { width: 100%; border-collapse: collapse; margin: 0 0 1.5rem 0; }
caption { font-style: italic; margin: 0 0 0.5rem 0; }
th { font-weight: bold; text-align: left; padding: 0.5em; border-bottom: 1px dotted #CCC; }	
td { vertical-align: top; padding: 1em 0.5em; border-bottom: 1px dotted #CCC; }
p { line-height: 1.5; margin: 0 0 1.5rem 0; }
ul { list-style: disc; line-height: 1.5; padding: 0; margin: 0 0 1rem 1.5rem; }
ol { list-style: decimal; line-height: 1.5; padding: 0; margin: 0 0 1rem 1.5rem; }
dl { line-height: 1.5; margin: 0 0 1.5rem 0; }
dt { font-weight: bold; margin: 0; }
dd { margin-left: 1em; }
blockquote { font-family: Georgia, Serif; font-size: 1.2em; font-style: italic; color: #757575; padding: 0 2em; border-left: 2px solid #CCC; margin: 0 2em 1.5rem 2em; }
img { max-width: 100%; height: auto;  }
figure { text-align: center; margin: 0 0 1.5rem 0; }
figcaption { font-size: 0.8em; font-style: italic; color: #666; padding: 0.5em 0; }
.nobullet { list-style: none; margin: 0 0 1.5em 0; }
.inline li { display: inline; }
hr { display: block; width: 100%; background: 0; border: 0; border-bottom: 1px solid #B22222; margin: 1em 0; clear: both; }
img { max-width: 100%; height: auto; }
a { color: #0c4283; text-decoration: none; transition: 0.25s; } 
a:hover, a:focus { color: #278480; text-decoration: underline;  } 
small { font-size: 0.8em; }
em,i { font-style: italic; }
b,strong { font-weight: bold; }
pre { color: #4c516d; line-height: 1.5; padding: 1em 0; border-top: 1px dotted #CCC; border-bottom: 1px dotted #CCC; }
code { font-family: monospace; font-size: 1.1em; }
.center { text-align: center; }
.clear { clear: both; }
.right { text-align: right; }
.highlight { font-style: italic; color: #000; background: #FFFF00; background: rgba(255, 255, 0, 0.5); padding: 1em; border-radius: 14px 0; }


/* LAYOUT */
.row { position: relative; clear: both; }
.row-nav { padding: 1em; background: #701d25; border-bottom: 8px solid gold; margin: 0; }
.row-hero { background-color: #701d25; background-image: url(/shopimages/homeHero2019.jpg); background-repeat: no-repeat; background-position: center center; background-size: cover; border-bottom: 2px solid #000; margin: 0 0 1.5rem 0; }
.row-header { padding: 0 1.5rem 0 1.5em; } 
.row-section { padding: 1.5em; }
.row-section-alt { background: #fcffde; } 
.row-footer { padding: 3em 1.5em; background: #701d25; border-top: 4px solid gold; margin-top: 1.5em; }


.nav { position: relative; max-width: 1280px; margin: 0 auto; clear: both; }
.crumbs {  }
.hero { position: relative; max-width: 1280px; padding: 35vh 0 5vh 0; margin: 0 auto; z-index: 999; }
.header { max-width: 1280px; padding: 3em 0 0.5em 0; margin: 0 auto; }
.header-narrow { max-width: 960px; }
.header-thin { max-width: 640px;  }
.section { max-width: 1280px; margin: 0 auto; clear: both; }
.section-narrow { max-width: 960px; }
.section-thin { max-width: 640px; }
.footer { max-width: 1280px; margin: 0 auto; }

/* GRIDS */
.grid2 { display: grid; grid-column-gap: 3em; grid-row-gap: 1.5em; grid-template-columns: repeat(auto-fit, minmax(288px,1fr)); }
.grid3 { display: grid; grid-column-gap: 2em; grid-row-gap: 1.5em; grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); }
.grid4 { display: grid; grid-column-gap: 2em; grid-row-gap: 1.5em; grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); }


/* NAVIGATION */
.logo { position: absolute; top: 0; z-index: 999;}
.logo img { display: block; width: auto; height: 120px; }

.top-links { height: 32px; font-size: 0.8rem; color: #FFF; list-style: none; line-height: 24px; text-align: right; margin: 0; }
.top-links li { display: inline-block; margin: 0 0 0 0.5rem; }
.top-links a { font-weight: bold; color: gold; }
.top-links-cart { border-radius: 40px; }
.top-links-cart a { display: block; color: #FFF; padding: 0 1em; background: #0d81be; border-radius: 40px; }


.menu-toggle, .menu-checkbox { display: none; }
.menu { font-size: 0.9rem; font-weight: 700; text-align: right; list-style: none; line-height: 40px; padding: 0; margin: 0; }
.menu li { display: inline-block; margin: 0; }
.menu li a { display: block; color: #FFF; text-decoration: none; text-transform: uppercase; padding: 0 0.5rem; transition: 0.5s; }
.menu li a:hover { color: gold; text-decoration: none; }

.crumbs ol { list-style: none; font-size: 0.8rem; margin: 0 0 1rem 0; }
.crumbs li { display: inline-block; }
.crumbs li::before {content: "/ "; }
.crumbs li:first-child::before {content: ""; }
.crumbs a { color: #000; }

.subnav { list-style: none; margin: 1.5rem 0; }
.subnav li { }
.subnav li ul { list-style: none; margin: 0 0 1rem 0;}
.subnav li ul li { border-bottom: 1px solid #7FFFD4;}
.subnav a { display: block; }
.subnav li a { font-weight: bold; color: #FFFFCC; padding: 0.5rem 1rem; background: #546922; }
.subnav li ul li a { font-weight: normal; color: inherit; padding: 0.5rem 1rem; background: transparent; }

.subnav-icon { display: inline-block; float: right; padding: 0.25rem 0; transition: 0.5s; }
.subnav-hide { display: none; }
.subnav-label { font-weight: bold; color: #FFFFCC; padding: 0.5rem 1rem; background: #546922; margin: 0 0 2px 0; }
input.subnav-checkbox { position: absolute; left: -999em; }
input.subnav-checkbox:checked + .subnav-label + .subnav-hide { display: block; }
input.subnav-checkbox:checked + .subnav-label .subnav-icon { transform: rotate(270deg); }


/* HERO */
.hero-text { max-width: 600px; color: #FFF; padding: 1.5em; background: rgba(112,29,37,0.8); border-bottom: 4px solid gold; }
.hero-heading { line-height: 1.2; margin: 0; }
.hero-summary, hero p { font-size: 0.9rem; margin: 0.5rem 0 0 0; }
.hero h2 { font-size: 1.2rem; margin: 1rem 0 0 0; }
.hero ul { list-style: none; margin: 0.5rem 0 0 0; }
.hero-cta { font-size: 1.2rem; font-weight: bold; margin: 0.5rem 0 0 0; }
.hero a { color: #FFFFFF; }

/* HEADER */
.header {  }
.header-heading { margin: 0; }
.header-summary { margin: 1rem 0 0 0; }
.header-cta { font-weight: bold; margin: 1rem 0 0 0; }


/* SECTION */
.section-heading { font-size: 1.8rem; text-align: center; margin-bottom: 2rem; }
.section-cta { max-width: 800px; text-align: center; margin: 1.5rem auto 1.5rem auto; clear: both; }

/* EVENTS CALENDAR */
.month { border-top: 1px solid #CCC; margin: 0 0 1.5rem 0; }
.day { display: grid; grid-column-gap: 0; grid-row-gap: 0; grid-template-columns: 240px 1fr 200px; padding: 1rem 0; border-bottom: 1px solid #CCC; }
.day p { line-height: 2; margin: 0; }
.date { font-size: 0.9rem; }
.title { font-weight: bold; }
.book a { display: inline-block; font-weight: bold; font-size: 0.9rem; color: #FFF; line-height: 2rem; padding: 0 2em; background: #8B2C4B; border-radius: 7px; }


/* calendar table*/
.calendar-table { width: 100%; border: 0;}
.calendar-table caption {}
.calendar-table th { text-align: center; padding: 0.5em 0; border: 0; border-bottom: 1px solid #FFF; }
.calendar-table td { text-align: center; padding: 0; border: 1px solid #FFF; }
.calendar-table td.expanded { padding: 0.5em 0; border: 0; }
.calendar-table a { display: block; color: #FFF; padding: 0.5em 0; }
.calendar-table span { display: block; color: #999; padding: 0.5em 0; }
a.cal-events-link { color: #000; padding: 0; }


/* TODAY on home page */
.today { text-align: center; }
.today-list { list-style: none; margin: 0; }
.today-list li { display: inline-block; margin: 0 1em 1em 1em; }

/* LISTINGS */
.entries {  }  
.entries-thumb { max-height: 200px; background: #000; border-bottom: 4px solid gold; overflow: hidden; }
.entries-thumb img { display: block; width: 100%; transition: 0.5s; }
.entries:hover .entries-thumb img { position: relative; transform: scale(1.1, 1.1); }
.entries-description { padding: 1em 0; }
.entries-heading { font-size: 1.2em; line-height: 1.2; margin: 0; }
.entries-heading a { color: #000; }
.entries-summary { font-size: 0.9rem; margin: 0.5rem 0 0 0; }
.entries-list { list-style: none; margin: 0.5rem 0 0 0; }
.entries-cta { font-weight: bold; margin: 0.5rem 0 0 0; }

/* ARTICLE */
.entry-intro { font-size: 1.2em; }
.article-links { list-style: none; margin-left: 0; display: grid; grid-column-gap: 1em; grid-row-gap: 1em; grid-template-columns: repeat(auto-fit, minmax(288px,1fr)); }
.article-links li { margin: 0 0 0.5em 0; }
.article-parent { font-weight: bold; padding: 1rem 0; border-top: 2px solid #CCC; margin-top: 1.5rem; }
.tickets { padding-top: 1.5rem; }
.tickets-heading { font-size: 1.4rem; padding: 0.5rem 0; border-top: 1px solid #000; border-bottom: 1px solid #000; margin: 0; }
.tickets-list { margin: 0; }
.tickets-list dt { margin: 1.5rem 0 0 0; }
.tickets-list dd { display: inline-block; margin: 1rem 1.5rem 0 0; }
.tickets-list dd p { margin: 0; }
.tickets-list small a { font-weight: bold; }
.tickets-list a.ticket-book-link  { display: inline-block; font-size: 0.8rem; font-weight: bold; color: #FFF; line-height: 2.4rem; padding: 0 1.5rem; background: #0d81be; border-radius: 4px; margin-right: 0.5rem; }

.ticket-table { margin-bottom: 1.5rem; }
.type {}
.price { width: 80px; }
.qty { width: 70px; }

/* PAGINATION */
.pagination { font-size: 1em; font-weight: bold;  list-style: none; margin: 0 0 1.5em 0; }
.pagination li { display: inline-block; }
.pagination li.current { font-weight: bold; }
.pagination a { display: block; width: 38px; height: 38px; line-height: 38px; text-align: center; color: #FFF; text-decoration: none; background: #0c4283; border: 0; }
.pagination a:hover, .pagination a.current { background: #777; }

/* FOOTER */
.footer { color: #FFF; }
.footer-heading { font-size: 1.2rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 0.5rem; }
.footer p { font-size: 0.9em; text-align: center; margin: 0 0 1rem 0; }
.footer-links { font-size: 0.9em; list-style: none; text-align: center; margin: 0 auto 1rem auto; }
.footer-links li { display: inline-block; margin: 0 0.5rem 0.25rem 0.5rem; }
.footer-links a { color: #CCC; }
.footer-social { font-size: 0.9em; font-weight: bold; list-style: none; text-align: center; margin: 0 0 1rem 0; }
.footer-social li { display: inline-block; margin: 0 0.5rem; }
.footer-social a { position: relative; transition: 1s; }
.footer-social a:hover { text-decoration: none; top: 1px; }
.footer-social a.facebook { color: #3B579D; }
.footer-social a.twitter { color: #00ACED; }
.footer-social a.flickr { color: #0062DD; }
.footer-social a.youtube { color: #FE021C; }
.footer-social a.google-plus { color: #D62223; }
.footer-social a.instagram { color: #000000; }
.footer-social a.pinterest { color: #BD081C; }
.legal { font-size: 0.7rem; text-align: center; margin: 0 0 1em 0; clear: both; }

/* QUOTES */
.quote { padding: 0; margin: 0 0 1.5em 0; border: 0; }
.quote-text {font-family: Georgia, serif; font-size: 1.2em; font-style: italic; color: #757575; padding: 1.5em; background: #EEE; border-radius: 10px; margin: 0; }
.quote-text::before { content: '“';} 
.quote-text::after { content: '	”'; }
.quote-author { display: block; font-size: 0.8em; font-style: normal; line-height: 1.5; padding: 0 1em 0 10%; }
.quote-author-name { display: inline-block; }
.quote-author-company { display: inline-block; }
.arrow-down { width: 0; height: 0; border-left: 15px solid transparent; border-right: 15px solid transparent; border-top: 15px solid #EEE; margin: 0 0 0.5em 10%; }

/* LINK BUTTONS */
.link { display: inline-block; font-weight: 700; color: #FFF; text-align: center; text-decoration: none; text-transform: none; transition: 0.5s; cursor: pointer; background: transparent; transform: 0.5s; }
.link:after { content: " \2192"; }
.link:hover:after { position: relative; content: " \2192"; right: -5px; }
.link-pri { color: #FFF; background: #0d81be; } 
.link-pri:hover { color: #FFF; text-decoration: none; background: #000; } 
.link-sec { color: #FFF; background: #f67b36; }
.link-sec:hover { color: #FFF; text-decoration: none; background: #000; }
.link-ghost { color: #FFF; border: 2px solid #FFF;}
.link-ghost:hover { color: #FFF; text-decoration: none; border: 2px solid #FFF; }
.link-l { font-size: 1em; padding: 0.75rem 1em; }
.link-m { font-size: 0.9em; padding: 0.75rem 1rem; }
.link-s { font-size: 0.8em; padding: 0.5rem 1rem; }
.link-block { display: block; text-align: center;}


/* MISC */
.video { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; margin: 0 0 1.5rem 0; }
.video iframe, .video object, .video embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%;  }
.map iframe { width: 100%; margin: 0 0 1.5em 0; }
.offscreen { position: absolute; left: -999em; }

/* MESSAGES ERRORS ETC */
.important { padding: 1rem; background: #fcffde; border: 1px dotted #761262; margin: 0 0 1rem; }
.important h2 { font-size: 1.2rem; font-weight: bold; margin: 0; }
.important p { font-size: 0.9rem; margin: 0.25rem 0 0 0; }
.important ul, .important ol { font-size: 0.9rem; margin: 0.25rem 0 0 2rem; }
.message { font-size: 0.9em; font-weight: bold; padding: 1em; }
.message-normal { color: inherit; border: 1px solid #CCC; }
.message-warning { color: #FF6600; border: 2px solid #FF9900; }
.message-error { color: #FF0000; background: #FFFF33; border:1px solid #FF0000; }
.error-text { display: block; font-size: 0.8em; color: #FF0000; padding: 0.5rem; background: #FFFFCC; }

/* FORMS */
form { max-width: 100%; }
form p { margin: 0 0 1.5em 0; }
form ul { list-style: none; margin: 0 0 1.5em 0; }
form li { margin: 0 0 0.25em 0; }
fieldset { margin: 0 0 1rem 0; }
legend { font-size: 1.2em; font-weight: 700; color: #222; margin: 0 0 1rem 0;}		
label { display: block; }

input, textarea, select { font-size: 16px; padding: 0; border: 0; box-sizing: border-box; }
input[type='text'],input[type='tel'],input[type='email'],input[type='password'] { width: 100%; height: 42px; text-indent: 9px; border: 1px solid #757575; }
input[type='number'] { width: 60px; height: 42px; text-align: center; border: 1px solid #757575; }
input.input-s, select.input-s { width: 60px; height: 40px;  }
input.input-m, select.input-m { width: 120px; height: 40px;  }


select { width: 100%; height: 42px; border: 1px solid #757575; }
select.select-m { width: 180px; }
textarea { width: 100%; height: 160px; padding: 9px; border: 1px solid #757575; border-radius: 4px; }

button { width: 100%; height: 40px; font-family: Raleway, sans-serif; font-size: 16px; font-weight: bold; color: #FFF; text-transform: uppercase; background: #0d81be; border: 0; }
button.button-s { width: auto; font-size: 14px; padding: 0 1rem; }
button:hover { color: #FFF; background: #757575; }




.form-checkbox { display: none; }
.btn.form-toggle { margin: 0 0 1.5em 0;  }
input.form-checkbox:checked + .form-toggle + .form-extra { display:block; }
.form-extra { display: none; }

/* CHECKOUT */
.cart-item { display: grid; grid-column-gap: 1rem; grid-row-gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(160px,1fr)); }
.cart-totals { padding: 1rem 0; border-top: 1px solid #000; border-bottom: 1px solid #000; }
.cart-totals dt { float: left; width: 140px; clear: left; }
.cart-totals dd { }
.cart-links a { margin-bottom: 0.5rem; }


/* MEDIA QUERIES */
@media screen and (max-width: 960px) {

.logo img { display: block; width: auto; height: 70px; }

.menu-toggle { display: block; width: 100%; height: 30px; font-size: 0.9rem; line-height: 30px; text-decoration: none; text-transform: none; text-align: right; cursor: pointer; }
.menu-toggle span { display: inline-block; color: #FFF; padding: 0 1em; border: 1px solid #FFF; }
.menu-toggle span::after { content: "[+]"; }
@keyframes m1 { 0% {right: -400px; } 100% {right: 0px; } }
input.menu-checkbox:checked + .menu-toggle + .menu { display:block; animation-name: m1; animation-duration: 0.25s; }
input.menu-checkbox:checked + .menu-toggle span::after { content: "[x]"; ; }

	.menu { display: none; }
	.menu { width: auto; line-height: 40px; text-align: left; padding: 1em 0; clear: both; overflow: hidden; }
	.menu li { display: block; border-top: 1px solid #000; margin: 0; }
	.menu li:last-of-type { border-bottom: 1px solid #000; }
	.menu li a { padding: 0 1em; border: 0; }
	.menu li a:hover { color: #FFF; background: #0d81be; border: 0; }

.day { grid-template-columns: 1fr; }	
}

@media screen and (max-width: 480px) {
h1 { font-size: 1.8em; }
h2 { font-size: 1.4em; }

.top-links li.top-links-phone { display: none; }
	

	
}
