/* 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; box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }



body { padding-top: 100px; font-family: sans-serif; font-size: 16px; color: #555; line-height: 1.5; margin: 0; }

h1,h2,h3,h4,h5,h6 { line-height: 1.25; font-weight: 400; color: #555; margin: 0 0 1.5rem 0; }

h1 { font-size: 160%; }

h2 { font-size: 160%; }

h3 { font-size: 140%; }

h4 { font-size: 120%; }

h5 { font-size: 110%; }

h6 { font-size: 100%; }

ul { list-style: square; margin: 0 0 1.5rem 1rem; }

p { margin: 0 0 1.5rem 0; }

blockquote { font-style: italic; color: #757575; padding-left: 2rem; border-left: 2px solid #CCC; margin: 0 0 1.5rem 0; }

blockquote p { font-size: 105%; margin: 0 0 1em 0; }

blockquote cite { font-style: italic; }

blockquote cite::before { content: "\007E  "; }

hr { height: 1px; border: 0; border-bottom: 1px solid #EEE; margin: 0 0 1.5rem 0; }

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

small { color: #757575; }

b,strong { font-weight: bold; }

em,i { font-style: italic; }

.table-wrapper {}

table { width: 100%; max-width: 960px; margin: 0 0 1.5rem; }

th { font-weight: bold; text-align: left; padding: 0 1em 1em 0; border-bottom: 1px solid #CCC; }

td { padding: 0.5em 1em 0.5em 0; }

hr { width: 100%; border: 0; border-top: 1px solid #EEE; margin: 0 0 1.5rem 0; }



/* font */

body { font-family: "PT Sans", sans-serif; }



h1,h2,h3,h4,h5,h6, .calendar-name { font-family: "PT Sans Narrow", sans-serif; }

h1 { text-transform: uppercase; }

.grid-heading, .link, button { font-family: Oswald, "PT Sans Narrow", sans-serif; }

.logo, .stock-count, .stock-soldout { font-family: "PT Sans", sans-serif; }

blockquote { font-family: serif; }

   

/* LAYOUT */

.row-nav { position: fixed; top: 0; right: 0; left; 0; width: 100%; height: 90px; background: #FFF; z-index: 9999; }



.nav, .crumbs, .slides, .header, .section, .footer { max-width: 1320px; margin: 0 auto; }

.nav { position: relative; height: 90px; padding: 10px 20px 10px 20px; margin-bottom: 0em; }

.crumbs { padding: 0 20px; }

.slides { padding: 0 20px; margin-top: 0em; margin-bottom: 3em; }

.header { padding: 0 20px 0 20px; margin-top: 3em; margin-bottom: 3em; }

.section { padding: 0 20px 0 20px; margin-bottom: 3em; }

.footer { padding: 3em 20px 0 20px; border-top: 1px solid #EEE; }

.grid2 { display: grid; grid-gap: 2em; grid-template-columns: 1fr; margin: 0 0 2em 0; }

.grid2-nogap { display: grid; grid-template-columns: 1fr; margin: 0 0 2em 0; background-color: #F7F7F7; }

.grid2product { display: grid; grid-gap: 2em; grid-template-columns: 1fr; margin: 0 0 2em 0; }

.grid-team { display: grid; grid-gap: 2em; grid-template-columns: 1fr; margin: 0 0 2em 0; }

.grid3 { display: grid; grid-gap: 2em; grid-template-columns: 1fr; margin: 0 0 2em 0; }

.grid4 { display: grid; grid-gap: 2em; grid-template-columns: 1fr; margin: 0 0 2em 0; }

.flickr-gallery { display: grid; grid-gap: 1em; grid-template-columns: 1fr 1fr; margin: 0 0 2em 0; }



/* NAVIGATION */

.login-links { font-size: 0.85rem; list-style: none; line-height: 30px; text-align: right; padding: 0; margin: 0; }

.login-links li { display: inline-block; margin-left: 0.15rem; }

.login-links a { display: block; color: #000; text-decoration: none; padding: 0 0.5rem; }

.login-links li.join a {  } 

.login-links li.login a {  } 

.login-links li.cart a { width: 30px; font-size: 12px; font-weight: 400; text-align: center; padding: 0; background: #EEE; border-radius: 40px; }



.logo { float: left; font-weight: 400; height: 40px; line-height: 1; margin: -10px 0 0 0; }

.logo a { text-decoration: none; }

.logo img { display: block; width: 320px; height: 40px; }

.logo-text {}

.logo-title { font-size: 30px; color: #999; letter-spacing: 2px; line-height: 34px; }

.logo-title span {color: #555;}

.logo-strapline { font-size: 14px; color: #999; text-align: right; }

.logo-strapline span { font-weight: 700; color: #555; }

.logo-image { display: none; }



.minicart { display: none; }



.menu { list-style: none; line-height: 40px; text-transform: uppercase; margin: 0; z-index: 999; transition: 0.5s; }

.menu li {  }

.menu a { display: block; color: #000; text-decoration: none; transition: 0.25s; }

.menu a:hover { color: #757575; }



.menu-toggle { float: right; display: block; width: 80px; height: 40px; font-weight: 500; color: #000; line-height: 40px; text-align: right; text-decoration: none; text-transform: uppercase; cursor: pointer; }

input.menu-checkbox { display: none; }

input.menu-checkbox:checked + .menu-toggle + .menu { top: 90px; right: 20px; }



.crumbs ol { font-size: 0.8rem; list-style: none; margin: 0; }

.crumbs li { display: inline-block; }

.crumbs li::after { content: "  \203A"; }



/* GRID ITEMS */

.grid-pad { padding: 2rem;}

.grid-item img { display: block; }

.grid-card { position: relative; }

.grid-thumb { margin: 0 0 0.5em 0; }

.grid-thumb img { display: block; width: 100%; }

.grid-description { position: absolute; right: 0; bottom: 10px; left: 0; padding: 10px 15px; background: rgba(0,0,0,0.3); transition: 0.5s; }

.grid-card:hover .grid-description { padding-bottom: 20px; background: rgba(0,0,0,0.7); }

.grid-heading { font-size: 1.2rem; font-weight: 400; color: #FFF; letter-spacing: 1.5px; text-transform: uppercase; margin: 0; }

.grid-heading a { color: #757575; text-decoration: none; }

.grid-stock { font-size: 0.85rem; color: #FFF; margin: 0.5rem 0 0 0; }

.stock-count { display: inline-block; font-size: 0.8rem; font-weight: 700; color: #FFF; padding: 0.25rem 0.75rem; background: red; border-radius: 30px; }

.stock-soldout { display: inline-block; font-size: 0.8rem; font-weight: 700; color: #FFF; padding: 0.25rem 0.75rem; background: grey; border-radius: 30px; }

.grid-summary { font-size: 0.85rem; color: #FFF; margin: 0.5rem 0 0 0; }

.grid-price { margin: 1rem 0 0 0; }

.grid-price small { display: block; }



/* SLIDES */

.slides img { width: 100%; }

	

/* HEADER */

.header h1 { margin: 0; }

.header p { font-size: 120%; margin: 1rem 0 0 0; }



/* SECTION */

.section-heading { line-height: 1; text-transform: uppercase; margin: 0 0 1.5rem 0; }

.section-cta { text-align: center; margin: 0 0 2em 0; }



/* PAGINATION */

.pagination {}

.pagination ul { list-style: none; text-align: center; margin: 0 0 1.5rem 0; }

.pagination li { display: inline-block; margin: 0 0.5rem; }

.pagination a {}





/* PRODUCT */

.product-hero { padding: 0 0 1.5rem 0; border-bottom: 1px solid #EEE; margin: 0 0 1.5rem 0; }

.product-hero img { width: 100%; }

.product-date-venue { margin: 0 0 1rem 0; }

.product-description {

  column-count: 3;

  column-width: 280px;

  column-gap: 4em;

   column-fill: balance;

   column-rule: 1px solid #CCC;

   margin: 0 0 1.5rem 0; 

}



.product-description2 h1 {

    break-before: always;

}



.product-image { padding: 1.5rem 0 0 0; border-top: 1px solid #EEE; margin: 0 0 1.5rem 0; }

.product-stock-limited { font-weight: 700; color: #FF0000; }

.product-stock-soldout { font-size: 120%; font-weight: 700; color: #555; }

.event-requirement-heading { margin-bottom: 1rem; }





/* QUOTE */

.quote { font-size: 1.1rem; padding: 0; border: 0; }

.quote-icon { float: left; font-size: 1.5rem;  }

.quote-text { margin-left: 3rem; }



/* LINKS */

.link { display: inline-block; color: #757575; text-decoration: none; text-transform: uppercase; }

.link-pri { background: #FFF; border: 2px solid #757575; transition: 0.5s; }

.link-pri:hover { color: #FFF; background: #757575; }

.link-sec { color: #FFF; background: #757575; border: 2px solid #757575; transition: 0.5s; }

.link-sec:hover { color: #FFF; background: #757575; }

.link-s { font-size: 0.85rem; line-height: 30px; padding: 0 1rem; }

.link-m { font-size: 1rem; line-height: 40px; padding: 0 2rem; }



/* CALENDAR */

.calendar-list { list-style: none; border-top: 1px solid #CCC; margin: 0 0 2rem 0; }

.calendar-list li { border-bottom: 1px solid #CCC; }

.calendar-list li a { display: block; padding: 1rem; text-decoration: none; transition: 0.5s; }

.calendar-list li a:hover { background: #F7F7F7; }



.calendar-date { color: #757575; }

.calendar-name { font-weight: 700; font-size: 1.1rem; color: #000; }

.calendar-venue { font-size: 0.9rem; color: #757575; }



.cal-table { text-align: center; }

.cal-table caption { font-style: italic; }

.cal-table th { width: 14.28%; text-align: center; padding: 0.35rem 0; }

.cal-table td { width: 14.28%; text-align: center; padding: 2px; border-bottom: 1px solid #CCC; }

.cal-table a { display: block; color: #000; text-decoration: none; padding: 0.35rem 0; border: 1px solid #CCC; }

.cal-table span { display: block; padding: 0.35rem 0; border: 1px solid #FFF; }



/* MISC */

.flickr-label { margin: 0 0 0.5rem 0; }

.flickr-label a { font-weight: 700; color: #333; text-decoration: none;; }

.flickr-gallery { list-style: none; margin: 0 0 2rem 0; }

.flickr-gallery img { display: block; width: 100%; }

.flickr-list { list-style: none; margin: 0 0 2rem 0; }

.flickr-list img { display: block; width: 100%; }

.offscreen { position: absolute; left: -999em; }

.error-text { display: block; font-weight: 700; color: red; } 



/* TABS */

#caltabs { border: 0; }

#caltabs .tabs-links { list-style: none; background: #FFF; border: 0; margin: 0 0 2rem 0; }

#caltabs .tabs-links li { display: inline-block; }

#caltabs .tabs-links li a { display: inline-block; color: #000; text-decoration: none; padding: 0.25rem 0.5rem; background: #CCC; border: 1px solid #CCC; }

#caltabs .tabs-links li a:active { border: 1px solid #000; }







/* FOOTER */

.footer-links { list-style: none; margin: 0 0 1em 0; }

.footer-links li { display: inline-block; margin: 0 1rem 0.25em 0; }

.social-links { list-style: none; margin: 0 0 1rem 0; }

.social-links li { display: inline-block; }

.social-links a { display: block; width: 40px; height: 40px; line-height: 42px; font-size: 28px; text-align: center; color: #FFF; background: #eaf1f2; border-radius: 40px; } /* font-size: 20px; background:#555 */

.copyright { font-size: 0.85rem; text-align: left; margin-bottom: 4em; }



/* FORMS */

.form-login { max-width: 320px; }

.form-checkout { max-width: 640px;}

form p {}

form ul { list-style: none; margin-left: 0; }

form dl { margin: 0 0 1.5rem 0; }

form dt { font-weight: normal; margin: 0 0 0.25rem; }

form dd { margin: 0 0 1rem 0; }

fieldset { margin: 0 0 1.5rem 0; }

legend { display: block; font-size: 120%; font-weight: 700; margin: 0 0 1.5rem 0; }

input,select,textarea { font-size: 16px; border: 1px solid #000; box-sizing: border-box; }

input[type='text'],input[type='email'],input[type='password'] { width: 100%; height: 42px; text-indent: 8px; line-height: 1; margin: 0; }

select,textarea { width: 100%; }

select { height: 42px; }

textarea { height: 160px; }

button { height: 42px; font-size: 16px; color: #757575; text-transform: uppercase; line-height: 1; padding: 0 2em; background: #FFF; border: 2px solid #757575; margin: 0; transition: 0.5s; box-sizing: border-box; outline: none; cursor: pointer; }

button:hover { color: #FFF; background: #757575; border: 2px solid #757575; }

.book-form { max-width: 360px; }

.book-select { float: left; width: 180px; margin: 0 10px 0 0; }

.book-button { width: 80px; padding: 0; border-radius: 0; }

select[disabled],button[disabled] { opacity: 0.2; }

input.input-s { display: inline-block; width: 140px; }

.select-s { width: 60px; }

input.qty { width: 60px; }



/* CART AND CHECKOUT */

.cart-items { max-width: 640px; }

.cart-items-list { font-size: 0.9rem; }

.cart-items-list dt { float: left; width: 45%; margin: 0; clear: left; }

.cart-items-list dd { float: left; width: 55%; margin: 0; }

.cart-item-remove {}



.cart-totals { max-width: 640px; font-weight: 700; margin: 0 0 1.5rem 0; overflow: hidden; clear: both; }

.cart-totals dt { float: left; width: 45%; margin: 0; clear: left; }

.cart-totals dd { float: left; width: 55%; margin: 0; }



.cart-links { list-style: none; margin: 0 0 1.5rem 0; }

.cart-links li { display: inline-block; }





@media screen and (max-width: 480px) {

.logo { margin: 0; }

.logo img { width: 208px; height: 26px; margin-top: 6px; }

.logo-title { font-size: 26px; }

.logo-strapline { display: none; }

}





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

.flickr-gallery { display: grid; grid-gap: 1em; grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; margin: 0 0 2em 0; }

.grid-team { display: grid; grid-gap: 2em; grid-template-columns: 1fr 5fr; margin: 0 0 2em 0; }

}



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



.grid2 { display: grid; grid-gap: 2em; grid-template-columns: 1fr 1fr; margin: 0 0 2em 0; }

.grid2-nogap { display: grid; grid-template-columns: 1fr 1fr; margin: 0 0 2em 0; background-color: #F7F7F7; }

.grid3 { display: grid; grid-gap: 2em; grid-template-columns: 1fr 1fr; margin: 0 0 2em 0; }

.grid4 { display: grid; grid-gap: 2em; grid-template-columns: 1fr 1fr; margin: 0 0 2em 0; }



	

}



@media screen and (max-width: 1024px) {

body { overflow-x: hidden; }

.menu { position: absolute; top: 90px; right: -600px; width: 240px; list-style: none; line-height: 40px; padding: 0.5em 1em; background: #FFF; border: 1px solid #000; margin: 0; z-index: 999; }

.menu li { border-bottom: 1px dotted #000; }

.menu li:last-child { border: 0; }

.submenu { display: none; }



}



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

body { font-size: 16px; }

h1 { font-size: 200%; }

h2 { font-size: 180%; }

.menu { list-style: none; line-height: 40px; text-align: right; margin: 0; }

.menu li { display: inline-block; margin-left: 1rem; }

.menu a { display: block; color: #000; text-decoration: none; padding: 0; }

.menu a:hover {  }



.submenu { display: none; position: absolute; z-index: 999; }

.submenu-triangle { width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-bottom: 5px solid black; margin-left: 20px; }

.submenu ul { min-width: 240px; font-size: 0.85rem; line-height: 30px; list-style: none; text-align: left; text-transform: none; padding: 0.5rem 1rem; background: #000; margin: 0; border-radius: 4px; }

.submenu li { display: block; border-bottom: 1px solid #333; margin: 0; }

.submenu li:last-child { border: 0; }

.submenu li a { color: #FFF; border: 0; }

.submenu li a:hover { color: #CCC; }

.menu li:hover .submenu { display: block; }





.menu-toggle { display: none; }

.grid2 { display: grid; grid-column-gap: 2em; grid-row-gap: 2em; grid-template-columns: 1fr 1fr; margin: 0 0 2em 0; }

.grid2product { display: grid; grid-column-gap: 4em; grid-row-gap: 2em; grid-template-columns: 2fr 1fr; margin: 0 0 2em 0; }

.grid3 { display: grid; grid-gap: 2em; grid-template-columns: 1fr 1fr 1fr; margin: 0 0 2em 0; }

.grid4 { display: grid; grid-gap: 2em; grid-template-columns: 1fr 1fr 1fr 1fr; margin: 0 0 2em 0; }

.calendar-day { display: grid; grid-gap: 1em; grid-template-columns: 2fr 7fr 3fr; margin: 0; }



.nl { display: grid; grid-gap: 2em; grid-template-columns: 1fr 1fr 1fr 1fr; margin: 0; }

.nl-cta { text-align: center; }

.link { display: inline-block; }

}



