/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

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-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
/* 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;
}

b {
  font-weight: bold;
}

html {
  height: 100%;
}

body {
  font-family: 'Inknut Antiqua', serif;
  font-size: 19px;
  line-height: 1.9;
  min-height: 100%;
  position: relative;
}

.root {
  background-color: #eae1b9;
  background-image: url(images/paper-vert-tiled.jpg);
  background-repeat: repeat-y;
  background-size: cover;
  background-position: top left;
  overflow: hidden;
}

body.subpage .root {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  /* Flexbox will enable main content to expand, but this make sures
     that we fill height in IE. */
  /* https://philipwalton.com/articles/normalizing-cross-browser-flexbox-bugs/ */
  min-height: 100vh;
}

.subpage main {
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.subpage header, .subpage footer {
  flex-shrink: 0;
}

}

header {
  -moz-box-shadow: 0 0 46px rgba(62, 36, 6, 0.5);
  -webkit-box-shadow: 0 0 46px rgba(62, 36, 6, 0.5);
  box-shadow: 0 0 46px rgba(62, 36, 6, 0.5);
  position: relative;
  z-index: 1;
}

header, footer {
  font-family: 'Quattrocento', serif;
}

header.hero {
  -ms-flex-align: start;
  align-items: flex-start;
  background-color: black;
  color: white;
  display: -ms-flexbox;
  display: flex;
  height: 100vh;
  font-size: 13vmin;
  line-height: 1.4;
  overflow: hidden;
  position: relative;
  width: 100vw;
}

.hero-img {
  height: 100%;
  overflow: hidden;
  position: absolute;
  width: 100%;
  z-index: 0;
}

.hero-img div {
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: cover;
  height: 100%;
  position: absolute;
  width: 100%;
}

.hero-img .low-quality {
  filter: blur(2vmax);
}

.hero-img .cover {
  background-image:
    -ms-linear-gradient(top left,rgba(0,0,0,0.7),rgba(0,0,0,0.3));
  background-image:
    -moz-linear-gradient(top left,rgba(0,0,0,0.7),rgba(0,0,0,0.3));
  background-image:
    -webkit-linear-gradient(top left,rgba(0,0,0,0.7),rgba(0,0,0,0.3));
  background-image:
    linear-gradient(top left,rgba(0,0,0,0.7),rgba(0,0,0,0.3));
}

header.hero section {
  padding-top: 15vh;
  position: relative;
  text-align: center;
  text-shadow: 0 0.045em 0.05em rgba(0,0,0,0.6);
  width: 100%;
  z-index: 0;
}

header h1 {
  font-family: 'Quattrocento';
  text-transform: uppercase;
}
header.hero h3 {font-size: 60%;margin-bottom: 27px;}

header.hero h1 {
  text-align: center;
  line-height:0.8;
}

header.hero h2 {
  font-size: 50%;
}

.info {
  font-size: 30%;
}

.important-update {
  background-color: rgba(170, 0, 17, 0.5);
  display: inline-block;
  font-size: 70%;
  margin-top: 1em;
  max-width: 50vw;
  padding: 0.75em;
}

header.subpage {
  background-color: black;
  background-image:
    -moz-linear-gradient(top left,rgba(0,0,0,0.7),rgba(0,0,0,0.0)),
    url(images/bethlehem-hero-front.jpg);
  background-image:
    -ms-linear-gradient(top left,rgba(0,0,0,0.7),rgba(0,0,0,0.0)),
    url(images/bethlehem-hero-front.jpg);
  background-image:
    -webkit-linear-gradient(top left,rgba(0,0,0,0.7),rgba(0,0,0,0.0)),
    url(images/bethlehem-hero-front.jpg);
  background-image:
    linear-gradient(top left,rgba(0,0,0,0.7),rgba(0,0,0,0.0)),
    url(images/bethlehem-hero-front.jpg);
  background-position: right center;
  background-repeat: no-repeat;
  background-size: cover;
  color: white;
  font-size: 20px;
  line-height: 1.1;
  padding: 1em 7em;
}

header.subpage h1 {
  font-size: 300%;
}

header a,
header a:hover,
header a:visited {
  color: inherit;
  text-decoration: none;
}

footer {
  background-image: url(images/stable-rough-sharp2x.png), url(images/skyline-rough-sharp2x.png), url(images/basic-star-rough2x.png);
  background-position: bottom right, bottom right, top right;
  background-repeat: no-repeat, repeat-x;
  background-size: 119px 114px, 760px 110px, 89px 133px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  color: white;
  font-size: 12px;
  height: 198px;
  mix-blend-mode: multiply;
  padding-top: 168px;
  position: relative;
  text-align: center;
  text-shadow: 0 1px rgba(0,0,0,0.2);
  width: 100%;
}

footer a,
footer a:visited {
  color: inherit;
}

.camel {
  position: absolute;
  bottom: 0;
  left: -50px;
}

main {
  -ms-flex-align: center;
  align-items: center;
  -moz-box-shadow: inset 0 45px 75px rgba(177, 166, 119, 0.13);
  -webkit-box-shadow: inset 0 45px 75px rgba(177, 166, 119, 0.13);
  box-shadow: inset 0 45px 75px rgba(177, 166, 119, 0.13);
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  mix-blend-mode: multiply;
  padding: 0 1.25em;
}

.spirals {
  background-image: url(images/spirals.png);
  background-position: top left;
  background-repeat: repeat-x;
  background-size: 440px 150px;
  height: 150px;
  left: 0;
  margin-top: -2em;
  mix-blend-mode: multiply;
  opacity: 0.17;
  position: absolute;
  right: 0;
  z-index: -1;
}

nav {
  margin-top: 4em;
  text-align: center;
}

nav li {
  border-bottom: 7px solid transparent;
  display: inline-block;
  mix-blend-mode: multiply;
  padding: 0 0.6em 0 0.7em;
  white-space: nowrap;
}

nav li.curr {
  font-weight: bold;
}

nav a, nav a:hover, nav a:visited, nav a:active {
  color: inherit;
  cursor: pointer;
  display: block;
  text-decoration: none;
}

main section {
  max-width: 600px;
}

main h2 {
  font-size: 120%;
  font-weight: bold;
  letter-spacing: 0.7em;
  margin-bottom: 0.75em;
  text-align: center;
  text-transform: uppercase;
}

main h3 {
  font-size: 110%;
  font-weight: bold;
}

main h4 {
  font-weight: bold;
}

main p.compact + h3 {
  margin-top: 1.5em;
}

a {
  color: #d21d55;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

main p {
  margin: 0 0 1.5em;
}

p.compact {
  margin: 0 0 0.75em;
}

main section p:first-child:first-letter {
  font-weight: 900;
  float: left;
  font-size: 380%;
  line-height: 1;
  margin-top: 0em;
  margin-right: 0.1em;
}

main img {
  display: block;
  margin: auto;
  mix-blend-mode: multiply;
}

main p:first-child,
main h2 + p {
  margin-top: 0;
}

main hr {
  background: url(images/separator.png);
  background-position: center;
  background-repeat: repeat-x;
  background-size: auto 7px;
  border: none;
  height: 14px;
  margin: 1em;
  width: 100%;
}

main > hr {
  margin: 0 1em 1em;
}

p.inset {
  padding-left: 2em;
  padding-right: 2em;
}

dt {
  font-weight: bold;
}

dd {
  margin-bottom: 1.25em;
}

dd:last-child {
  margin-bottom: 0;
}

em {
	font-style: italic;
}

blockquote {
  color: #9a6f3f;
  font-size: 85%;
  margin-bottom: 0.75em;
  padding: 0 2em;
  text-shadow: 0 0 2px rgba(154, 111, 63, 0.2);
}

blockquote cite {
  font-weight: bold;
}

table.two-col {
  margin: 0 2em 0.75em;
}

.two-col th {
  text-align: right;
  padding-right: 0.5em;
}

.order-form th {
  text-align: right;
  padding-right: 0.5em;
}

.order-form input {
  background: rgba(255, 243, 204, 0.51);
  font-size: inherit;
}

.order-form input[type=text] {
  max-width: 15em;
}

.order-form input[type=number] {
  text-align: center;
  width: 3em;
}

.print-only {
  display: none;
}

.event-map {
  border: 1px solid #555753;
  margin-bottom: 1em;
  max-width: 100%;
}

.drive-sticky {position:sticky;top:0;width:100%;background-color:#F0EBDE;text-align:center;display:flex;align-items:center;z-index:10;justify-content:center;}
.drive-sticky:after {content:'';height:40px;width:100%;opacity:0.15;background: linear-gradient(0deg,rgba(0,0,0,0) 0%, #000000 100%);position:absolute;bottom:-40px;}
.drive-sticky p {color: #131313;font-size: 18px;line-height: 30px;margin:25px 0 15px 0;padding:0 20px;}
.drive-sticky a {padding:10px 40px;border-radius: 40px;background-color: #425E79;box-shadow: 0 7px 14px 0 rgba(0,0,0,0.5);color: #FFFFFF;font-size: 20px;line-height: 40px;display:inline-block;margin-bottom:25px;}
.drive-sticky a:hover {text-decoration:none;background-color:#344b61;}
.drive-sticky img {height: 18px;margin-right: 10px;}


/* ------------------ MEDIA QUERIES ------------------------ */


@media only print {
  body {
    background: white;
    font-size: 15px;
  }

  main {
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
  }

  .print-only {
    display: block;
  }

  .noprint {
    display: none;
  }

  .order-form header {
    display: none;
  }

  .order-form footer {
    display: none;
  }

  main > * {
    display: none;
  }

  main > section {
    display: block;
  }

  .order-form nav {
    display: none;
  }

  .order-form hr {
    display: none;
  }

  .order-form input {
    background: inherit;
    border: 0 solid black;
    border-width: 0 0 1px 0;
  }
}

/* Desktop/Tablet styles */
@media (min-width: 451px) {
  .mb-only {
    display: none;
  }
}


/* Mobile Styles */
@media (max-width: 450px) {
  body {
    background-image: url(images/paper-vert-tiled-mb.jpg);
    font-size: 17px;
  }

  header time {
    display: block;
  }

  .info {
    font-size: 40%;
  }

  header .date-time-sep {
    display: none;
  }

  header.hero h2 {
    font-size: 65%;
    margin-top: 0.5em;
  }

  header.subpage {
    padding: 1em;
    text-shadow: 0 2px 2px rgba(0,0,0,0.6);
  }

  header.subpage h1 {
    font-size: 200%;
  }

  nav {
      margin-top: 2em;
  }

  main > hr {
    margin: 0.75em 1em 1.5em;
  }

  .spirals {
    background-size: 220px 75px;
    height: 75px;
    margin-top: -1em;
    opacity: 0.17;
  }

  .important-update {
    font-size: 80%;
    max-width: 80vw;
  }
}