/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
		========================================================================== */
/**
	* Remove the margin in all browsers.
	*/
body {
  margin: 0;
}

/**
	* Render the `main` element consistently in IE.
	*/
main {
  display: block;
}

/**
	* Correct the font size and margin on `h1` elements within `section` and
	* `article` contexts in Chrome, Firefox, and Safari.
	*/
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
		========================================================================== */
/**
	* 1. Add the correct box sizing in Firefox.
	* 2. Show the overflow in Edge and IE.
	*/
hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
	* 1. Correct the inheritance and scaling of font size in all browsers.
	* 2. Correct the odd `em` font sizing in all browsers.
	*/
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
		========================================================================== */
/**
	* Remove the gray background on active links in IE 10.
	*/
a {
  background-color: transparent;
}

/**
	* 1. Remove the bottom border in Chrome 57-
	* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
	*/
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  /* 2 */
}

/**
	* Add the correct font weight in Chrome, Edge, and Safari.
	*/
b,
strong {
  font-weight: bolder;
}

/**
	* 1. Correct the inheritance and scaling of font size in all browsers.
	* 2. Correct the odd `em` font sizing in all browsers.
	*/
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
	* Add the correct font size in all browsers.
	*/
small {
  font-size: 80%;
}

/**
	* Prevent `sub` and `sup` elements from affecting the line height in
	* all browsers.
	*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
		========================================================================== */
/**
	* Remove the border on images inside links in IE 10.
	*/
img {
  border-style: none;
}

/* Forms
		========================================================================== */
/**
	* 1. Change the font styles in all browsers.
	* 2. Remove the margin in Firefox and Safari.
	*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
	* Show the overflow in IE.
	* 1. Show the overflow in Edge.
	*/
button,
input {
  /* 1 */
  overflow: visible;
}

/**
	* Remove the inheritance of text transform in Edge, Firefox, and IE.
	* 1. Remove the inheritance of text transform in Firefox.
	*/
button,
select {
  /* 1 */
  text-transform: none;
}

/**
	* Correct the inability to style clickable types in iOS and Safari.
	*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
	* Remove the inner border and padding in Firefox.
	*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
	* Restore the focus styles unset by the previous rule.
	*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
	* Correct the padding in Firefox.
	*/
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
	* 1. Correct the text wrapping in Edge and IE.
	* 2. Correct the color inheritance from `fieldset` elements in IE.
	* 3. Remove the padding so developers are not caught out when they zero out
	*    `fieldset` elements in all browsers.
	*/
legend {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
	* Add the correct vertical alignment in Chrome, Firefox, and Opera.
	*/
progress {
  vertical-align: baseline;
}

/**
	* Remove the default vertical scrollbar in IE 10+.
	*/
textarea {
  overflow: auto;
}

/**
	* 1. Add the correct box sizing in IE 10.
	* 2. Remove the padding in IE 10.
	*/
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
	* Correct the cursor style of increment and decrement buttons in Chrome.
	*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
	* 1. Correct the odd appearance in Chrome and Safari.
	* 2. Correct the outline style in Safari.
	*/
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
	* Remove the inner padding in Chrome and Safari on macOS.
	*/
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
	* 1. Correct the inability to style clickable types in iOS and Safari.
	* 2. Change font properties to `inherit` in Safari.
	*/
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
		========================================================================== */
/*
	* Add the correct display in Edge, IE 10+, and Firefox.
	*/
details {
  display: block;
}

/*
	* Add the correct display in all browsers.
	*/
summary {
  display: list-item;
}

/* Misc
		========================================================================== */
/**
	* Add the correct display in IE 10+.
	*/
template {
  display: none;
}

/**
	* Add the correct display in IE 10.
	*/
[hidden] {
  display: none;
}

/*--------------------------------------
   Mixins
--------------------------------------*/
/*--------------------------------------
	Variables
--------------------------------------*/
/*--------------------------------------
	Color Scheme
--------------------------------------*/
/*--------------------------------------
   Fonts
--------------------------------------*/
/*------------------------------
 Baseline
------------------------------*/
/* Title
------------------------------*/
html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

body {
  font-size: 1.5rem;
  line-height: 1.466666667;
  /* 22 */
  font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, Helvetica, sans-serif;
  color: #777777;
  background: white;
  -webkit-font-smoothing: antialiased;
}

/* Block Level
--------------------------------------*/
h1 {
  margin: 0 0 2.8rem 0;
  font-size: 3.5rem;
  line-height: 1.2;
  /* 42 */
  color: #22529d;
}

h2 {
  margin: 0 0 2.4rem 0;
  font-size: 3.1rem;
  line-height: 1.225806452;
  /* 38 */
  color: #22529d;
}

h3 {
  margin: 0 0 2.0rem 0;
  font-size: 2.7rem;
  line-height: 1.259259259;
  /* 34 */
  color: #22529d;
}

h4 {
  margin: 0 0 1.6rem 0;
  font-size: 2.3rem;
  line-height: 1.304347826;
  /* 30 */
  color: #22529d;
}

h5 {
  margin: 0 0 1.2rem 0;
  font-size: 1.9rem;
  line-height: 1.368421053;
  /* 26 */
  color: #22529d;
}

h6 {
  margin: 0 0 0.8rem 0;
  font-size: 1.5rem;
  line-height: 1.466666667;
  /* 22 */
  color: #22529d;
}

p {
  margin: 0 0 0.8rem 0;
}

/* Inline
--------------------------------------*/
a {
  color: #22529d;
}

img {
  display: block;
  max-width: 100%;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

svg {
  display: block;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

/* Forms
--------------------------------------*/
/*--------------------------------------
   Miscellaneous
--------------------------------------*/
/*------------------------------
 Header
------------------------------*/
.header {
  padding: 0 2.0rem;
}

@media screen and (min-width: 600px) {
  .header {
    padding: 0 4.0rem;
  }
}

@media screen and (min-width: 900px) {
  .header {
    padding: 0 6.0rem;
  }
}

.header__wrap {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 2.8rem 0;
}

@media screen and (min-width: 540px) {
  .header__wrap {
    position: relative;
  }
}

/* Logo */
.logo {
  display: inline-block;
}

.logo__link {
  display: block;
  text-decoration: none;
}

.logo__title {
  display: block;
  font-size: 2.3rem;
  line-height: 1.304347826;
  /* 30 */
  text-transform: uppercase;
  font-weight: bold;
}

.logo__tagline {
  display: block;
  color: #777777;
}

/* Nav */
.nav {
  display: none;
}

.nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Call to Action */
.call-to-action {
  margin: 16px 0 0 0;
  text-transform: uppercase;
}

@media screen and (min-width: 540px) {
  .call-to-action {
    position: absolute;
    right: 0;
    top: 50%;
    margin: -16px 0 0 0;
    z-index: 1;
  }
}

.call-to-action__link {
  display: inline-block;
  padding: 0.6rem 1.0rem;
  color: white;
  background: #22529d;
  text-decoration: none;
  -webkit-transition: background 0.35s ease-in-out;
  transition: background 0.35s ease-in-out;
}

.call-to-action__link:hover {
  background: #275db2;
}

/*------------------------------
 Main
------------------------------*/
.main {
  padding: 0 2.0rem 4.2rem 2.0rem;
}

@media screen and (min-width: 600px) {
  .main {
    padding: 0 4.0rem 4.2rem 4.0rem;
  }
}

@media screen and (min-width: 900px) {
  .main {
    padding: 0 6.0rem 4.2rem 6.0rem;
  }
}

.main__wrap {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  border-top: 1px solid #cbcbcb;
}

/* Hero */
.hero__meta {
  margin: 0 0 3.6rem 0;
  padding: 2.0rem 0;
  border-bottom: 1px solid #cbcbcb;
}

@media screen and (min-width: 520px) {
  .hero__meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    padding: 0;
  }
}

.hero__time {
  display: block;
  text-transform: uppercase;
  line-height: 1.733333333;
  /* 26 */
  color: #22529d;
}

@media screen and (min-width: 520px) {
  .hero__time {
    padding: 2.0rem;
    border-left: 1px solid #cbcbcb;
  }
}

.hero__location {
  display: block;
  font-size: 1.9rem;
  line-height: 1.368421053;
  /* 26 */
  color: #22529d;
}

@media screen and (min-width: 520px) {
  .hero__location {
    padding: 2.0rem 2.0rem 2.0rem 0;
  }
}

.hero__headline {
  color: #22529d;
}

.hero__cta {
  margin: 28px 0 0 0;
  text-transform: uppercase;
}

.hero__cta-link {
  display: inline-block;
  padding: 0.6rem 1.0rem;
  color: white;
  background: #22529d;
  text-decoration: none;
  -webkit-transition: background 0.35s ease-in-out;
  transition: background 0.35s ease-in-out;
}

.hero__cta-link:hover {
  background: #275db2;
}

/* Video */
.video {
  margin: 3.0rem 0 0 0;
}

.video__header {
  margin: 0 0 1.2rem 0;
  font-size: 1.9rem;
  line-height: 1.368421053;
  /* 26 */
}

.video__item {
  padding: 1.0rem;
  background: #e6e6e6;
}

.video__item-wrap {
  position: relative;
  padding: 56.25% 0 0 0;
}

.video__iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Location */
.location {
  margin: 4.2rem 0 0 0;
}

.location__header {
  margin: 0 0 1.2rem 0;
  font-size: 1.9rem;
  line-height: 1.368421053;
  /* 26 */
}

@media screen and (min-width: 600px) {
  .location__details {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
  }
}

.location__h-card {
  margin: 2.0rem 0 0 0;
}

.location__p-name {
  font-weight: bold;
}

.location__p-note {
  display: block;
}

@media screen and (min-width: 800px) {
  .location__p-note {
    display: inline;
  }
}

.location__directions {
  margin: 16px 0 0 0;
  text-transform: uppercase;
}

.location__directions-link {
  display: inline-block;
  padding: 0.6rem 1.0rem;
  color: #777777;
  background: #e6e6e6;
  text-decoration: none;
  -webkit-transition: background 0.35s ease-in-out;
  transition: background 0.35s ease-in-out;
}

.location__directions-link:hover {
  background: #f3f3f3;
}

.location__brochure {
  position: relative;
  display: inline-block;
  margin: 4.2rem 0 0 0;
  padding: 1.8rem 8.8rem 1.8rem 1.8rem;
  text-align: center;
  text-transform: uppercase;
  background: #e6e6e6;
}

@media screen and (min-width: 600px) {
  .location__brochure {
    margin: 2.5rem 0 0 0;
  }
}

.location__brochure:after {
  content: "";
  position: absolute;
  right: 20px;
  bottom: 0;
  width: 49px;
  height: 59px;
  background: url(/assets/img/page.svg);
  background-size: 49px 59px;
  z-index: 1;
}

.location__brochure-link {
  display: block;
  padding: 0.6rem 1.0rem;
  color: white;
  background: #22529d;
  text-decoration: none;
  -webkit-transition: background 0.35s ease-in-out;
  transition: background 0.35s ease-in-out;
}

.location__brochure-link:hover {
  background: #275db2;
}

/*------------------------------
 Footer
------------------------------*/
.footer {
  padding: 0 2.0rem;
  background: #e6e6e6;
}

@media screen and (min-width: 600px) {
  .footer {
    padding: 0 4.0rem;
  }
}

@media screen and (min-width: 900px) {
  .footer {
    padding: 0 6.0rem;
  }
}

.footer__wrap {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 2.0rem 0;
}

.primary__h-card {
  font-size: 1.2rem;
}

.primary__p-name {
  font-weight: bold;
  text-transform: uppercase;
}

.primary__p-adr {
  margin: 1.0rem 0 0 0;
}

.primary__p-label {
  font-weight: bold;
}

.copyright {
  margin: 1.0rem 0 0 0;
  font-size: 1.0rem;
  line-height: 1.7rem;
}

.copyright__link {
  color: #777777;
}
