/*! HTML5 Boilerplate v5.1.0 | MIT License | https://html5boilerplate.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
  color: #585857;
  font-size: 16px;
  line-height: 1;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
  background: #007ebd;
  color: #aee2fa;
  text-shadow: none;
}

::selection {
  background: #007ebd;
  color: #aee2fa;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
  resize: vertical;
}

/* ==========================================================================
   Banff Springs Hotel
   ========================================================================== */

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

html {
  color: #1d1d1b;
  scroll-behavior: smooth;
  height: -webkit-fill-available;
}

html.with-fancybox {
  scroll-behavior: auto;
}

a {
  text-decoration: none;
  color: #89804a;
}

img {
  display: block;
  max-width: 100%;
}

ul {
  list-style: none;
}

* {
  font-variant-ligatures: none;
}

body, input, textarea {
  font-family: 'Fraunces', serif;
  font-weight: 400; /* 300, 400, 700 */
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

strong {
  font-weight: 400;
}

em {
  font-style: normal;
}

ul, li, p, h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  line-height: 1;
  font-weight: 400;
}

ul {
  list-style: none;
}

.container {
  max-width: 1192px; /* 1112px */
  margin: 0 auto;
  padding: 0 40px;
  position: relative;
}

header {
  position: relative;
}

.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 60px 0;
}

.header__logo {
  width: 120px;
}

.header__contact,
.header__buttons {
  width: calc(50% - 60px);
}

.header__contact {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.social {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.social a {
  display: block;
  width: 16px;
  height: 16px;
  margin-right: 16px;
}

.social a:last-of-type {
  margin-right: 0;
}

.icon-facebook,
.icon-instagram {
  transition: all 0.25s;
}

.icon-facebook {
  fill: #89804a;
}

.icon-instagram {
  fill: #89804a;
  fill-rule: evenodd;
}

a:hover .icon-facebook,
a:hover .icon-instagram {
  fill: #fff;
}

.header__contact .social {
  margin-right: 28px;
}

.footer__column .social {
  margin-top: 28px;
}

.header__contact > a {
  display: block;
  margin-right: 28px;
  text-transform: uppercase;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  transition: all 0.25s;
}

.header__contact > a:hover {
  color: #fff;
}

.header__contact > a:last-of-type {
  margin-right: 0;
}

.header__buttons {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.header__buttons a.bookARoom,
.header__buttons a.bookATable,
.nav__column__top a.bookARoom,
.nav__column__top a.bookATable {
  display: block;
  padding: 12px 16px;
  border: 1px solid #89804a;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  transition: all 0.25s;
  font-size: 0.75rem;
  margin-right: 20px;
}

.header__buttons a.bookARoom:hover,
.nav__column__top a.bookARoom:hover,
.header__buttons a.bookATable:hover,
.nav__column__top a.bookATable:hover {
  border-color: #fff;
}

.header__buttons a.openNav,
.nav__column__top a.closeNav {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  color: #fff;
  text-transform: uppercase;
  font-size: 1rem;
  letter-spacing: 0.1em;
  width: 92px;
}

.header__buttons a.openNav svg,
.nav__column__top a.closeNav svg {
  margin-right: 12px;
}

.header__buttons a.openNav svg .cls-1,
.nav__column__top a.closeNav svg .cls-1 {
  fill: #89804a;
  transition: all 0.25s;
}

.header__buttons a.openNav:hover svg .cls-1,
.nav__column__top a.closeNav:hover svg .cls-1 {
  fill: #fff;
}

.header__buttons a.openNav span,
.nav__column__top a.closeNav span {
  display: block;
}

.banner {
  height: 546px;
  background-color: rgba(31,35,35,.9);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background-blend-mode: multiply;
}

.banner__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  height: 326px;
  padding-top: 64px;
}

.banner__text h4 {
  font-size: 0.625rem;
  text-transform: uppercase;
  color: #878051;
  letter-spacing: 0.2em;
  margin-bottom: 20px;
}

.banner__text h1 {
  font-size: 2rem;
  color: #fff;
  text-transform: uppercase;
}

.banner__text h1 span {
  font-size: 4.25rem;
  color: #878051;
  font-family: 'Joules et Jaques Hand', serif;
  font-weight: 400;
  font-style: italic;
  text-transform: lowercase;
}

.homeVideo {
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(/uploads/home-video-bg.png);
  background-size: cover;
  padding-bottom: 100px;
}

.homeVideo__panel {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: rgba(31,35,35,.6);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background-blend-mode: multiply;
  height: 624px;
  margin-bottom: 40px;
}

.homeVideo__panel > img {
  margin-bottom: 24px;
}

.homeVideo__panel > a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: all 0.25s;
}

.homeVideo__panel > a svg {
  margin-bottom: 16px;
}

.homeVideo__panel > a svg .cls-1 {
  fill: #fff;
  transition: all 0.25s;
}

.homeVideo__panel > a svg .cls-2 {
  fill: none;
  stroke: #89804a;
  stroke-miterlimit: 10;
  transition: all 0.25s;
}

.homeVideo__panel > a svg .cls-3 {
  fill: #89804a;
  opacity: .3;
  transition: all 0.25s;
}

.homeVideo__panel > a:hover svg .cls-3 {
  opacity: .5;
}

.homeVideo__panel > a span {
  color: #fff;
  text-transform: uppercase;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
}

.homeVideo__heading {
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}

.homeVideo__heading h2 {
  font-size: 1.75rem;
  text-transform: uppercase;
  color: #fff;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.text {
  padding: 100px 0;
  background-color: #deddd5;
}

.text__main {
  max-width: 600px;
  margin: 0 auto;
}

.heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-bottom: 20px;
}

.heading h4 {
  font-size: 0.625rem;
  text-transform: uppercase;
  color: #878051;
  letter-spacing: 0.2em;
  margin-bottom: 12px;
}

.heading h1,
.heading h2 {
  font-size: 2rem;
  text-transform: uppercase;
  line-height: 1.25;
}

.heading h1 span,
.heading h2 span {
  font-size: 4.25rem;
  color: #878051;
  font-family: 'Joules et Jaques Hand', serif;
  font-weight: 400;
  font-style: italic;
  text-transform: lowercase;
}

.text__main__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.body h1 {
  font-size: 2.5rem;
  letter-spacing: 0.05em;
  margin-bottom: 16px;
  line-height: 1.375;
}

.body h2 {
  font-size: 2rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 16px;
  line-height: 1.5;
}

.body h3 {
  font-size: 1.125rem;
  margin-bottom: 16px;
  line-height: 1.625;
}

.body h4 {
  font-size: 0.625rem;
  text-transform: uppercase;
  color: #878051;
  letter-spacing: 0.2em;
  margin-bottom: 12px;
}

.body p {
  font-size: 0.875rem;
  line-height: 2;
  margin-bottom: 20px;
  font-weight: 300;
}

.body ul,
.body ol {
  margin-bottom: 24px;
}

.body li {
  border-bottom: 1px solid rgba(137,128,74,.25);
  font-size: 0.875rem;
  line-height: 2;
  padding: 12px;
}

.body em {
  color: #89804a;
}

.body strong {
  color: #89804a;
  font-weight: 700;
}

.body a {
  color: #89804a;
  text-decoration: underline;
}

.body--smallPrint {
  margin-top: 40px;
}

.body--smallPrint p {
  font-size: 0.625rem;
  font-weight: 400;
}

.textImageRows .body h1,
.textImageRows .body h2,
.textImageRows .body h3,
.textImageRows .body p,
.textImageRows .body li {
  color: #fff;
}

.body > :last-child {
  margin-bottom: 0;
}

.text__main__buttons {
  margin-top: 40px;
}

.text__main__resdiary {
  margin-top: 40px;
}

.buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.buttons a {
  display: block;
  padding: 12px 20px;
  border: 1px solid #89804a;
  color: #1f2323;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  transition: all 0.25s;
  font-size: 0.75rem;
  margin-right: 24px;
}

.textImageRows__rows__row__body .buttons a {
  margin-bottom: 20px;
}

.buttons a:hover {
  background-color: #89804a;
  color: #fff;
}

.buttons a:last-of-type {
  margin-right: 0;
}

.gallery__row__caption {
  padding: 28px;
  font-size: 0.875rem;
}

.gallery__row__caption strong {
  color: #89804a;
  padding-right: 16px;
}

.slick-slide > div > div {
  display: block !important;
}

.gallerySlider .slickArrow {
  position: absolute;
  bottom: 32px;
  z-index: 9000;
}

.gallerySlider .slickArrow--next {
  right: 28px;
}

.gallerySlider .slickArrow--prev {
  right: 76px;
}

.pages {
  padding: 100px 0;
  background-color: #1f2323;
}

.pages__main .heading h2 {
  color: #fff;
}

.pages__grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  grid-gap: 40px;
  max-width: 1064px;
  margin: 0 auto;
}

.pages__grid__page {
  position: relative;
  overflow: hidden;
}

.pages__grid__page img {
  will-change: transform;
  transition: transform 0.5s;
}

.pages__grid__page:hover img {
  transform: scale(1.125);
  transform-origin: 50% 50%;
}

.pages__grid__page a {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  text-align: center;
  width: 100%;
  height: 100%;
}

.pages__grid__page a h3 {
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  color: #fff;
  text-transform: uppercase;
  padding-bottom: 40px;
}

.ctas {
  padding: 100px 0;
  background-color: #deddd5;
}

.ctas--dark {
  background-color: #1f2323;
}

.ctas .container {
  max-width: 1040px;
}

.ctas__cta {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  min-height: 640px;
}

.ctas__cta__image {
  overflow: hidden;
}

.ctas__cta__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ctas__cta__gallery {
  overflow: hidden;
}

.ctas__cta__gallery div {
  height: 100%;
}

.ctas__cta__gallery .slick-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ctas__cta__body {
  background-color: #fff;
  padding: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.ctas__cta__body .buttons {
  margin-top: 40px;
}

.ctasGallerySlider .slickArrow {
  position: absolute;
  bottom: 28px;
  z-index: 9000;
}

.ctasGallerySlider .slickArrow--next {
  right: 28px;
}

.ctasGallerySlider .slickArrow--prev {
  right: 76px;
}

html,
body {
  overflow-x: hidden;
}

html.navIsOpen,
html.navIsOpen body {
  margin: 0;
  min-height: 100%;
  overflow: hidden;
}

#nav {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9000;
  width: 100%;
  height: 100vh;
  transform: translateX(100%);
  transition: transform 500ms ease-in-out;
  overflow-y: scroll;
  overflow-x: hidden;
}

#nav.isOpen {
  display: block;
  transform: translateX(0);
}

.nav {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  height: 100%;
}

@supports (-webkit-touch-callout: none) {

  #nav {
    height: -webkit-fill-available;
  }

}

.nav__column:first-of-type {
  background-color: rgba(31,35,35,.9);
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(/uploads/nav.jpg);
  background-size: cover;
  background-blend-mode: multiply;
  display: flex;
  justify-content: center;
  align-items: center;
}

.nav__column:last-of-type {
  background-color: #1f2323;
}

.nav__column:last-of-type > div {
  width: 100%;
  max-width: 596px;
  padding: 91px 40px 64px 116px;
}

.nav__column__top {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 100px;
}

.nav__column__main {
  margin-bottom: 100px;
}

.nav__column__main ul li {
  display: block;
  margin-bottom: 20px;
}

.nav__column__main ul li:last-of-type {
  margin-bottom: 0;
}

.nav__column__main ul li a {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  transition: all 0.25s;
}

.nav__column__main ul li a span:first-of-type {
  width: 32px;
  color: #89804a;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  padding-top: 8px;
}

.nav__column__main ul li a span:last-of-type {
  color: #fff;
  font-size: 2.125rem;
  letter-spacing: 0.05em;
  transition: all 0.25s;
}

.nav__column__main ul li a:hover span:last-of-type {
  color: #89804a;
}

.nav__column__bottom {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 40px;
}

.nav__column__bottom > div {
  margin-right: 48px;
}

.nav__column__bottom > div:last-of-type {
  margin-right: 0;
}

.nav__column__bottom > div p {
  font-size: 1rem;
  color: rgba(255,255,255,.5);
  line-height: 1.75;
}

.nav__column__bottom > div p strong {
  color: #89804a;
}

.nav__column__bottom > div p a {
  transition: all 0.25s;
}

.nav__column__bottom > div p a[href^="tel:"] {
  color: rgba(255,255,255,.5);
}

.nav__column__bottom > div p a:hover {
  color: #fff;
}

.ctasSlider--isActive {
  padding-bottom: 40px;
}

.ctasSlider > .slickArrow {
  position: absolute;
  bottom: 0;
  z-index: 9000;
}

.ctasSlider > .slickArrow--next {
  left: calc(50% + 12px);
}

.ctasSlider > .slickArrow--prev {
  right: calc(50% + 12px);
}

.textImageRows {
  padding: 100px 0;
  background-color: #1f2323;
}

.textImageRows__rows__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 100px;
}

.textImageRows__rows__row--left {
  flex-direction: row-reverse;
}

.textImageRows__rows__row:last-of-type {
  margin-bottom: 0;
}

.textImageRows__rows__row > div {
  width: calc(50% - 84px);
}

.textImageRows__rows__row__images {
  border: 1px solid #89804a;
  padding: 0 32px 32px 0;
  margin-right: -32px;
}

.textImageRows__rows__row__images .textImageRowsSlider {
  margin: -32px 0 0 -32px;
}

.textImageRows__rows__row--left .textImageRows__rows__row__images {
  padding: 0 0 32px 32px;
  margin-right: 0;
  margin-left: -32px;
}

.textImageRows__rows__row--left .textImageRows__rows__row__images .textImageRowsSlider {
  margin: -32px -32px 0 0;
}

.textImageRows .buttons {
  margin-top: 40px;
  justify-content: flex-start;
}

.textImageRows .buttons a {
  color: #fff;
}

.textImageRowsSlider .slickArrow {
  position: absolute;
  bottom: -18px;
  z-index: 9000;
}

.textImageRowsSlider .slickArrow--next {
  right: 0;
}

.textImageRowsSlider .slickArrow--prev {
  right: 48px;
}

.icons {
  padding: 100px 0;
  background-color: #deddd5;
}

.icons__grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  grid-column-gap: 40px;
}

.icons__grid__item {
  border-bottom: 1px solid #89804a;
  padding: 40px 28px;
  font-size: 1.125rem;
  line-height: 1.75;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.icons__grid__item__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  margin-right: 24px;
}

.icons__grid__item__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.icons__grid__item:nth-of-type(1),
.icons__grid__item:nth-of-type(2) {
  border-top: 1px solid #89804a;
}

.vacancies {
  padding: 100px 0;
  background-color: #1f2323;
}

.vacancies__heading.heading {
  margin-bottom: 64px;
}

.vacancies__heading.heading h2 {
  color: #fff;
}

.vacancies__grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  grid-gap: 40px;
}

.vacancies__grid__vacancy {
  padding: 28px;
  border: 1px solid #89804a;
}

.vacancies__grid__vacancy.body h3 {
  color: #89804a;
}

.vacancies__grid__vacancy.body p {
  color: #fff;
}

.vacancies__grid__vacancy .buttons {
  justify-content: flex-start;
}

.vacancies__grid__vacancy .buttons a {
  color: #fff;
  text-decoration: none;
}








footer {
  background-color: #1f2323;
  overflow: hidden;
}

.newsletter {
  background-color: rgba(255,255,255,.04);
  padding: 48px;
  margin-bottom: 76px;
}

.newsletter__heading {
  display: flex;
  justify-content: center;
  text-align: center;
  margin-bottom: 40px;
}

.newsletter__heading h3 {
  color: #878051;
  font-size: 2rem;
  letter-spacing: 0.05em;
}

.newsletter__form form {
  display: grid;
  grid-template-columns: repeat(3,1fr);
}

.newsletter__form .pure-form form input[type=text],
.newsletter__form .pure-form form input[type=email] {
  border: 1px solid rgba(255,255,255,.5);
  border-right: 0;
  padding: 20px 24px;
  background: transparent;
  border-radius: 0;
  -webkit-appearance: none;
  box-shadow: none;
  color: #fff;
}

.newsletter__form .pure-form form button {
  border: 0;
  -webkit-appearance: none;
  background-color: #878051;
  color: #fff;
  transition: all 0.25s;
}

.newsletter__form .pure-form form button:hover {
  background-color: #fff;
  color: #111;
}

.footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 76px;
}

.footer__column:first-of-type img {
  width: 104px;
  height: auto;
}

.footer__column p {
  font-size: 1rem;
  color: rgba(255,255,255,.5);
  line-height: 1.75;
}

.footer__column p strong {
  color: #89804a;
}

.footer__column p a {
  transition: all 0.25s;
}

.footer__column p a[href^="tel:"] {
  color: rgba(255,255,255,.5);
}

.footer__column p a:hover {
  color: #fff;
}

.footer__column ul {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  grid-column-gap: 40px;
}

.footer__column ul li {
  display: block;
  font-size: 1rem;
  line-height: 1.75;
}

.footer__column ul li a {
  color: rgba(255,255,255,.5);
  transition: all 0.25s;
}

.footer__column ul li a:hover {
  color: #fff;
}

.footer__column:last-of-type a svg .cls-1 {
  fill: #89804a;
  transition: all 0.25s;
}

.footer__column:last-of-type a svg .cls-2 {
  fill: #1f2323;
  fill-rule: evenodd;
}

.footer__column:last-of-type a:hover svg .cls-1 {
  fill: #fff;
}

.legal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 76px;
}

.legal__column {
  font-size: 0.875rem;
  color: rgba(255,255,255,.3);
  line-height: 1.75;
}

.legal__column span {
  padding: 0 4px;
}

.legal__column a {
  color: rgba(255,255,255,.3);
  transition: all 0.25s;
}

.legal__column a:hover {
  color: #fff;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers:
 */

.hidden {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *  `contenteditable` attribute is included anywhere else in the document.
 *  Otherwise it causes space to appear at the top and bottom of elements
 *  that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *  `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
  content: " "; /* 1 */
  display: table; /* 2 */
}

.clearfix:after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media print,
     (-webkit-min-device-pixel-ratio: 1.25),
     (-o-min-device-pixel-ratio: 5/4),
     (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important; /* Black prints faster:
                   http://www.sanbeiji.com/archives/953 */
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]:after {
    content: " (" attr(href) ")";
  }

  abbr[title]:after {
    content: " (" attr(title) ")";
  }

  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */

  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  /*
   * Printing Tables:
   * http://css-discuss.incutio.com/wiki/Printing_Tables
   */

  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}
