/* 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; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
table {	border-collapse: collapse; border-spacing: 0; }
img { max-width: 100%; height: auto;  }

/* TYPOGRAPHY */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { font-family: Poppins, sans-serif; font-size: 95%; font-weight: 400; color: #000; background-color: #F5F5F5; margin: 0; }
h1,h2,h3,h4,h5,h6  { font-weight: 700; margin: 0 0 1rem 0; }
h1,h2,h3,h4,h5,h6 { line-height: 1.2; }
h1 { font-size: 1.6em; margin: 0 0 1rem 0; }
h2 { font-size: 1.2em; margin: 0 0 1rem 0; }
h3 { font-size: 1.0em; margin: 0 0 0.5rem 0; }
h4 { font-size: 1.0em; margin: 0 0 0.5rem 0; }
h5 { font-size: 1.0em; margin: 0 0 0.5rem 0; }
h6 { font-size: 1.0em; margin: 0 0 0.5rem 0; }
table { width: 100%; font-size: 0.9rem; border-collapse: collapse; margin: 0 0 1rem 0; }
caption { font-style: italic; margin: 0 0 1rem 0; }
th { font-weight: 700; text-align: left; padding: 0.5rem 0; border-bottom: 1px dotted #CCC; }
td { vertical-align: top; padding: 1rem 1rem 1rem 0; border-bottom: 1px dotted #CCC; }
p { line-height: 1.5; margin: 0 0 1rem 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; }
ul li, ol li { margin-bottom: 0.5rem; }
dl { line-height: 1.5; margin: 0 0 1rem 0; }
dt { font-weight: 700; margin: 0 0 0.5rem 0; }
dd { padding-left: 0; }
blockquote { font-family: Georgia, Serif; font-size: 1.125rem; font-style: italic; color: #757575; padding: 0 2rem 0 1rem; border-left: 2px solid #CCC; margin: 2rem 2rem 2rem 2rem; }
blockquote cite { font-family: sans-serif; font-style: normal; font-size: 0.9rem; color: #333; }
figure { text-align: center; margin: 0 0 1rem 0; }
figcaption { font-size: 0.8rem; font-style: italic; color: #666; padding: 0.5rem 0; }
hr { display: block; width: 100%; background: 0; border: 0; border-bottom: 1px solid #E5E5E5; margin: 2rem 0 2rem; clear: both; }
summary { font-weight: 700;  margin: 0 0 1rem 0; }
img { max-width: 100%; height: auto; }
a { color: #6A5ACD; text-decoration: none;transition: 0.25s; }
a:hover, a:focus { color: #9370DB; text-decoration: underline; }
small { font-size: 0.8rem; color: #555; }
em,i { font-style: italic; }
b,strong { font-weight: 700; }
pre { color: #4c516d; line-height: 1.5; padding: 1rem 0; border-top: 1px dotted #CCC; border-bottom: 1px dotted #CCC; }
code { font-family: monospace; font-size: 1.1rem; }

/* LAYOUT */
.row { }
.row-top { padding: 0.75rem 2rem; background: #006882; }
.row-nav { padding: 1.25rem 2rem; background: #FFFFFF; }
.row-hero { padding: 6rem 2rem; background: #4F84C4; background: #005561; }
.row-header { padding: 4rem 2rem; background: #422DB9; background: #005561; }
.row-section { padding: 4rem 2rem; background: #FFFFFF; }
.row-section-alt { padding: 4rem 2rem; background: #F5F5F5; }
.row-section-dark { padding: 4rem 2rem; background: #F5F5F5; background: #005561; }
.row-footer { padding: 4rem 2rem; background: #0C0C0C; }

.top,.nav,.search,.hero,.header,.section,.footer { max-width: 1360px; margin: 0 auto; }
.top {}
.nav { position: relative; min-height: 40px; }
.search { display: none; padding: 1rem 0 0 0; }
.hero {}
.hero {}
.section {}
.footer {}
.section-narrow { max-width: 960px; margin: 0 auto; }
.article { max-width: 960px; padding: 4rem 2rem; margin: 0 auto; }

.article { padding: 1.5rem; background: #FFF; box-shadow: .1rem .1rem .3rem 0 #e5e5e5; border: 1px solid #ddd; border-radius: 0.3rem;}

/* GRIDS */
.grid1 { display: grid; grid-column-gap: 1rem; grid-row-gap: 1rem; grid-template-columns: 1fr; }
.grid2 { display: grid; grid-column-gap: 1rem; grid-row-gap: 1rem; grid-template-columns: 1fr; }
.grid3 { display: grid; grid-column-gap: 1rem; grid-row-gap: 1rem; grid-template-columns: 1fr; }
.grid4 { display: grid; grid-column-gap: 1rem; grid-row-gap: 1rem; grid-template-columns: 1fr; }
.grid6 { display: grid; grid-column-gap: 1rem; grid-row-gap: 1rem; grid-template-columns: 1fr; }
.grid-listing { display: grid; grid-column-gap: 1rem; grid-row-gap: 1rem; grid-template-columns: 1fr; margin: 0 0 1rem 0; }
.grid-product { display: grid; grid-column-gap: 1rem; grid-row-gap: 1rem; grid-template-columns: 1fr;}
.grid-pad { padding: 1.25rem; background: #FFF; box-shadow: .1rem .1rem .3rem 0 #e5e5e5; border: 1px solid #ddd; border-radius: 0.3rem; }
.grid-item { position: relative; }
.grid-item-with-label { margin-bottom: 2rem; }

/* TOP */
.top-links { list-style: none; font-size: 0.8rem; color: #FFF; text-align: right; margin: 0; }
.top-links li { display: inline-block; margin: 0 0 0 1rem; }
.top-links li.top-links-sec { display: none; }
.top-links a { font-weight: 700; color: #FFF; text-decoration: none; }
.top-links a.minicart-active { color: #00FF00; }

/* NAV */
.logo { float: left; }
.logo img { display: block; width: auto; height: 40px; }
.btn-menu-toggle { float: right; width: 40px; height: 40px; font-size: 28px; padding: 0; margin: 0; background: #FFF; border: 0; }
.menu { display: none; list-style: none; font-size: 0.85rem; font-weight: 700; line-height: 40px; text-transform: uppercase; padding-top: 1rem; margin: 1rem 0; clear: both; }
.menu li { display: block; border-top: 1px solid #CCC; margin: 0; }
.menu li a { display: block; color: #000; text-decoration: none; padding: 0 0.5rem; }
.menu li a:hover { background: #F5F5F5; }
.menu li ul { font-weight: 400; line-height: 1; text-transform: none; background: #FFF; margin: 0; z-index: 999; }
.menu li ul li { display: block; border-top: 0; margin: 0; }
.menu li ul li a { display: block; padding: 0.75rem 1rem; }
.menu li ul li a:hover { background: #F5F5F5; }
.menu li ul li ul { margin-left: 0.5rem; }

.crumbs { list-style: none; font-size: 0.8rem; margin: 0 0 1rem 0; }
.crumbs li { display: inline-block; margin: 0; }
.crumbs li::after { content: "  \203A"; }

/* HERO */
.hero-heading { max-width: 768px; font-size: 2.4rem; color: #FFF; line-height: 1.2; margin: 0 0 1rem 0; }
.hero-summary { max-width: 768px; font-size: 1.2rem; color: #FFF; margin: 2rem 0 1rem 0; }
.hero-cta { margin: 1rem 0 0 0; }

/* HEADER */
.header-heading { font-size: 2.4rem; color: #FFF; margin: 0; }

/* HOME */
.home-quote { max-width: 960px; font-size: 135%; color: #000; text-align: center; padding: 0; border: 0; margin: 0 auto; }
.home-quote cite::before, .home-quote cite::after { content: " \007E  "; }
.one-column-copy { width: 75%; display: inline-block; }
.one-column-copy.no-image { width: 100%; }
.one-column-image { width: 22%; float: left; margin-right: 3%; }
.one-column-image.right { float: right; margin-right: 0; margin-left: 3%; }

/* CATEGORY */
.category-description { max-width: 900px; font-size: 110%; }
.category-description p { margin: 0; }

/* SECTION */
.section-heading { position: relative; font-size: 1.4rem; text-align: left; margin: 0 0 2rem 0; }
.Xsection-heading::after { position: absolute; bottom: -1rem; left: 45%; content: ''; border-bottom: 2px solid #333; width: 10%; }
.section-heading-light { color: #FFF; }
.section-heading-light::after { border-color: #FFF; }
.section-intro { margin: 0 0 2rem 0; }

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

/* LISTINGS */
.grid-thumb { max-height: 200px; overflow: hidden; margin: 0 0 0.75rem 0; }
.grid-thumb img { display: block; width: 100%; }
.grid-description {}
.grid-label { display: block; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; margin: 0 0 0.5rem;  }
.grid-label { position: absolute; top: -1rem; left: -0.5rem; display: inline-block; width: auto; color: #FFF; padding: 0.5rem 2rem 0.5rem 0.5rem; margin: 0;
clip-path: polygon(0 0, 90% 0, 100% 100%, 0% 100%); box-shadow: 1px 2px 2px #CCC; }
.grid-heading { font-size: 1.125rem; margin: 0; }
.grid-heading-small { font-size: 1rem; margin: 0; }
.grid-heading a { color: #000; }
.grid-label + .grid-heading {margin-top: 0.5rem;}
.grid-subheading { font-size: 0.9rem; font-weight: 700; color: #555; }
.grid-date { font-size: 0.9rem; color: #757575; margin: 0.25rem 0 0 0; }
.grid-author { font-size: 0.9rem; margin: 0.25rem 0 0 0; }
.grid-summary { font-size: 0.9rem; margin: 0.75rem 0 0 0; }
.grid-detail { font-size: 0.9rem; list-style: square; margin: 0.75rem 0 0 1rem; }
.grid-detail li { margin: 0 0 0.5rem 0; }
.grid-cta { margin: 1rem 0 0 0; }

.event-available { font-weight:700; color:#008000; }
.event-limited { font-weight:700; color:#FF8000; }
.event-oneplaceleft { font-weight:700; color:#FF0000; }
.event-soldout { font-weight: 700; color: #FF0000; }

/* ARTICLE */
.article-date { font-size: 0.8rem; }
.share-links { font-size: 0.8rem; }
.share-links dt { display: inline-block; margin: 0; }
.share-links dd { display: inline-block; }
.share-links a { display: inline-block; width: 30px; height: 30px; line-height: 30px; text-align:center; font-weight: 700; color: #FFF; text-decoration: none; border-radius: 40px; }
.share-links a:hover, ul.share-links a:focus { text-decoration: none;  }
.share-links a.facebook { background: #3B579D; }
.share-links a.twitter { background: #00ACED; }
.share-links a.linkedin { background: #007BB6; }
.share-links span { position: absolute; left: -999em; }


/* PAGINATION */
.pagination { margin: 2rem 0 2rem 0; }
.pagination ul { list-style: none; text-align: center; margin: 0; }
.pagination li { display: inline-block; margin: 0 0.25rem 0 0; }
.pagination a { display: block; width: 40px; height: 40px; line-height: 40px; font-size: 0.9rem; font-weight: 400; color: #000; text-align: center; text-decoration: none; background: #FFF; border: 1px solid #E5E5E5; border-radius: 0.3rem; }
.pagination a:hover, pagination a:focus, .pagination a.active { background: #e9ecef; }

.list-blog-categories { margin: 0; }
.list-blog-categories dd { display: inline-block; width: 280px; margin: 0 0 0.25rem 0; }

.list-event-dates { list-style: none; margin-left: 0; }
.list-event-dates li { display: inline-block; width: 200px; }

/* FOOTER */
.footer { color: #BBB; }
.footer h2 { font-size: 1rem; text-transform: uppercase; }
.footer p { font-size: 0.875rem; }
.footer ul { list-style: none; font-size: 0.875rem; margin-left: 0; }
.footer li { margin: 0 0 0.5rem 0; }
.footer a { color: #DDD; }
.footer p.footer-credits { font-family: sans-serif; font-size: 0.8rem; color: #CCC; text-align: center; margin: 2rem 0; }

/* LINKS */
a.link { display: inline-block; font-size: 0.8rem; font-weight: 700; color: #FFF; line-height: 1; text-decoration: none; text-transform: uppercase; border-radius: 0.3rem; transition: 0.25s; }
.link:hover,.link:focus { text-decoration: none; }
.link::after { content: "  \203A";  }
.link-pri { background: #FF3300; }
.link-pri:hover,.link-pri:focus { color: #FFF; background: #007bff; }
.link-sec { background: #575757;}
.link-sec:hover,.link-sec:focus { color: #FFF; background: #666; }
.link-s { font-size: 0.7rem; padding: 0.5rem 1.4rem; }
.link-m { font-size: 0.85rem; padding: 0.7rem 1.7rem; }
.link-l { font-size: 0.9rem; padding: 0.9rem 1.8rem; }
.link-block { width: 100%; text-align: center; }
.list-inline a:hover { background: #007bff !important; }

/* FORMS */
form ul { list-style: none; margin-left: 0;  }
fieldset { margin: 0 0 1rem 0; }
legend { font-size: 1rem; font-weight: 700; margin: 0 0 1rem 0; }

input,select,textarea,button { box-sizing: border-box; }
input[type='text'], input[type='email'], input[type='url'], input[type='password'], input[type='number'], input[type='search']
{ width: 100%; max-width: 100%; height: 42px; font-size: 1rem; text-indent: 0.5rem; border: 1px solid #CCC; }
input[type='number'] { width: 48px; }
select { width: auto; max-width: 100%; height: 42px; font-size: 1rem; border: 1px solid #CCC; }
textarea { width: 100%; height: 140px; font-size: 1rem; padding: 0.5rem; border: 1px solid #CCC; }
button { height: 42px; font-size: 1rem; padding: 0; border: 0; }
button[disabled] { opacity: 0.5; }
button[disabled]::after { content: " - Processing please wait"; }
.btn { display: inline-block; font-size: 0.8rem; font-weight: 700; color: #FFF; line-height: 1; text-transform: uppercase; padding: 0; border: 0; background: #F2552C; margin: 0; border-radius: 0.3rem; transition: 0.25s; }
.btn-pri { background: #F2552C; }
.btn-pri:hover,.btn-pri:focus { color: #FFF; background: #007bff; }
.btn-sec { background: #AAA;}
.btn-sec:hover,.btn-sec:focus { color: #FFF; background: #666; }
.btn-s { height: 24px; padding: 0 1rem; }
.btn-m { height: 42px; padding: 0 1.5rem; }
.btn-l { height: 48px; font-size: 0.9rem; }
.btn-block { width: 100%; }

input.search-keywords { width: calc(100% - 75px); }
button.search-button { float: right; width: 70px; }

/* CHECKOUT */
.cart-totals { margin: 0 0 1rem 0; }
.cart-totals dl { display: grid; grid-gap: 1rem; grid-template-columns: 75% 1fr;}
.cart-totals dt { text-align: right; margin: 0; }
.cart-totals dd { text-align: right; margin: 0; }
#card-element { padding: 1rem; border: 1px solid #CCC; }
.payment-logos img { width: auto; height: 40px; }

/* messages */
.alert { font-size: 0.75rem; padding: 0.75rem; border: 1px dotted #757575; margin: 0 0 1.5rem 0; }
.alert p { margin: 0; }
.alert-primary {}
.alert-secondary {}
.alert-success { color: #005500; border: 1px dotted #005500; }
.alert-danger { color: #FF0000; border: 1px dotted #FF0000; }
.alert-warning { color: #FF0000; border: 1px dotted #FF0000; }
.alert-info { color: #757575; border: 1px dotted #757575; }
.alert-light {}
.alert-dark {}
.alert-error { color: #FF0000; border: 1px dotted #FF0000; }


/* MISC */
.video { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; margin: 0 0 1.5em 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; }
.text-center { text-align: center; }
.list-inline { display: grid; grid-column-gap: 1rem; grid-row-gap: 0.5rem; grid-template-columns: 1fr; list-style: none; margin-left: 0; }
.list-inline li { }
.faq-item { margin: 0 0 1.5rem 0; }
.faq-item p { margin: 0 0 0.5rem 0; }

/* COOKIES */
.cookies { position: fixed; right: 0; bottom: 0; left: 0; }
.cookies { font-family: sans-serif; font-size: 0.85rem; color: #FFF; background: #333; background: rgba(51,51,51,0.9); }
.cookies form { max-width: 1360px; padding: 1rem; margin: 0 auto; }
.cookies-icon { float: left; width: 60px; font-size: 40px; line-height: 1; }
.cookies-info { overflow: hidden;}
.cookies p { font-size: 13px; font-weight: 700; margin: 0 0 5px 0; }
.cookies a { color: #DDD; }
.cookies ul { font-size: 13px; list-style: none; margin: 0; }
.cookies li { display: inline-block; margin: 0 0.5rem 0.5rem 0; }
.cookies input[type='checkbox'] { width: 16px; height: 16px; }
.cookies button { width: 60px; height: 24px; font-size: 12px; font-weight: 700; text-align: center; padding: 0;  }

.cookies { animation-name: cookies; animation-duration: 1s; animation-delay: 0.5s;animation-fill-mode: backwards; }
@keyframes cookies {
  from {bottom: -300px;}
  to {bottom: 0;}
}


/* MEDIA QUERIES (mobile first) */

@media screen and (min-width: 480px) {
.grid2 { display: grid; grid-column-gap: 1rem; grid-row-gap: 1rem; grid-template-columns: 1fr 1fr; }
.grid3 { display: grid; grid-column-gap: 1rem; grid-row-gap: 1rem; grid-template-columns: 1fr 1fr; }
.grid4 { display: grid; grid-column-gap: 1rem; grid-row-gap: 1rem; grid-template-columns: 1fr 1fr; }
.grid6 { display: grid; grid-column-gap: 1rem; grid-row-gap: 1rem; grid-template-columns: 1fr 1fr; }
.grid-listing { display: grid; grid-column-gap: 1rem; grid-row-gap: 1rem; grid-template-columns: 25% 1fr;}
.grid-product { display: grid; grid-column-gap: 1rem; grid-row-gap: 1rem; grid-template-columns: 25% 1fr;}
}

@media screen and (min-width: 768px) {
h1 { font-size: 2.4em; margin: 0 0 1rem 0; }
h2 { font-size: 1.6em; margin: 0 0 1rem 0; }
h3 { font-size: 1.2em; margin: 0 0 0.5rem 0; }
h4 { font-size: 1.0em; margin: 0 0 0.5rem 0; }
h5 { font-size: 1.0em; margin: 0 0 0.5rem 0; }
h6 { font-size: 1.0em; margin: 0 0 0.5rem 0; }
.top-links li.top-links-sec { display: inline-block; }
.grid2 { display: grid; grid-column-gap: 2rem; grid-row-gap: 2rem; grid-template-columns: 1fr 1fr; }
.grid3 { display: grid; grid-column-gap: 2rem; grid-row-gap: 2rem; grid-template-columns: 1fr 1fr; }
.grid4 { display: grid; grid-column-gap: 2rem; grid-row-gap: 2rem; grid-template-columns: 1fr 1fr 1fr; }
.grid6 { display: grid; grid-column-gap: 2rem; grid-row-gap: 2rem; grid-template-columns: 1fr 1fr 1fr; }
.hero-heading { font-size: 3.2rem; }
.header-heading { font-size: 3.2rem; }
.section-heading { font-size: 2rem; }
}

@media screen and (min-width: 1024px) {
.logo { float: left; }
.logo img { display: block; width: auto; height: 60px; }
.btn-menu-toggle { display: none; }
.menu { display: block; list-style: none; font-size: 0.925rem; font-weight: 700; line-height: 60px; text-align: right; text-transform: uppercase; padding: 0; margin: 0; clear: none; }
.menu li { display: inline-block; border: 0; }
.menu li a { display: block; color: #000; text-decoration: none; padding: 0 0.65rem; }
.menu li a:hover { color: #555; background: #FFF; }
.menu li ul { min-width: 200px; max-width: 288px; font-size: 0.85rem; font-weight: 600; line-height: 1; text-align: left; text-transform: none; background: #FFF; margin: 0; box-shadow: .1rem .1rem .1rem 0 #e5e5e5; border: 1px solid #DDD; }
.menu li ul li { display: block; border-top: 1px solid #F5F5F5; }
.menu li ul li a { display: block; padding: 0.75rem 1rem; }
.menu li ul li a:hover { background: #F5F5F5; }
.menu li ul li ul { font-size: 0.75rem; font-weight: 400; box-shadow: none; border: 0; margin-left: 0.5rem; }
.menu li ul li ul li { display: block; border: 0; }
.menu li .sub-menu { display: none; }
.menu li:hover .sub-menu { position: absolute; display: block; right: auto; z-index: 999; }
.menu li:hover .sub-menu.last { right: 0; }


.grid2 { display: grid; grid-column-gap: 2rem; grid-row-gap: 2rem; grid-template-columns: 1fr 1fr; }
.grid3 { display: grid; grid-column-gap: 2rem; grid-row-gap: 2rem; grid-template-columns: 1fr 1fr 1fr; }
.grid4 { display: grid; grid-column-gap: 2rem; grid-row-gap: 2rem; grid-template-columns: 1fr 1fr 1fr 1fr; }
.grid6 { display: grid; grid-column-gap: 2rem; grid-row-gap: 2rem; grid-template-columns: 1fr 1fr 1fr 1fr 1fr; }
.grid-product { display: grid; grid-column-gap: 2rem; grid-row-gap: 2rem; grid-template-columns: 25% 1fr;}

.list-inline { grid-template-columns: 1fr 1fr; list-style: none; margin-left: 0; }


}

@media only screen and (max-width: 599px) {
  .one-column-copy { width: 100%; }
  .one-column-image { width: 100%; margin-right: 0; margin-bottom: 5%; }
  .one-column-image.right { margin-right: 0; margin-left: 0; }
}
