@media screen {
  html {
    background: #fff; } }

body {
  font-family: foco, sans-serif;
  line-height: 1.5;
  margin: 0;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: none;
  text-size-adjust: none; }
  @media screen {
    body {
      color: #333; } }

a {
  color: #004976; }

a:focus {
  outline: 1px dotted; }

h1 a,
h2 a,
h3 a,
h4 a {
  text-decoration: none; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1em;
  line-height: 1.25;
  margin: 1em 0 0 0; }

h1,
h2,
h3 {
  font-family: foco, sans-serif; }

h1 {
  font-size: 3.75em; }

h2 {
  font-size: 2.5em; }

h3 {
  font-size: 1.5em; }

hr {
  border: 0;
  border-top: 1px solid;
  margin: 1em 0; }

blockquote {
  margin: 1em 2em; }

p {
  margin: 1em 0; }

pre {
  margin: 1em 0;
  white-space: pre-wrap; }

address,
cite,
dfn,
em,
i,
var {
  font-style: italic; }

b,
strong {
  font-weight: bold; }

code,
pre,
samp,
tt {
  font-family: monospace, monospace;
  font-size: 0.875em; }

small {
  font-size: 0.75em; }

sub,
sup {
  font-size: 0.75em;
  line-height: 0; }

sub {
  vertical-align: sub; }

sup {
  vertical-align: super; }

dl {
  margin: 1em 0; }

dt {
  font-weight: bold;
  margin: 1em 0 0.5em; }

dd {
  margin: 0.5em 0 0.5em 2em; }

ol,
ul {
  margin: 1em 0;
  padding-left: 2em; }

ol li {
  list-style: decimal outside none; }

ol li li {
  list-style: lower-alpha outside none; }

ol li li li {
  list-style: lower-roman outside none; }

ul li {
  list-style: disc outside none; }

ul li li {
  list-style: circle outside none; }

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

table {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 1em auto; }

td,
th {
  padding: 0.25em 0.5em;
  text-align: left; }

.section-heading {
  font-weight: normal;
  position: relative; }
  .section-heading.fancy {
    text-align: center; }
    @media screen and (min-width: 40em) {
      .section-heading.fancy {
        padding: 0 200px; } }
    @media screen and (min-width: 40em) {
      .section-heading.fancy:before, .section-heading.fancy:after {
        background: url(../images/sprite.png) -20px 0;
        content: "";
        margin-top: -40px;
        position: absolute;
        top: 50%;
        height: 70px;
        width: 140px; } }
    @media screen and (min-width: 40em) {
      .section-heading.fancy:before {
        left: 0; } }
    @media screen and (min-width: 40em) {
      .section-heading.fancy:after {
        background-position: -160px 0;
        right: 0; } }

button,
input,
select,
textarea {
  border-radius: 0;
  font: inherit;
  margin: 0; }

button,
input {
  line-height: inherit; }

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer; }

button[disabled],
input[disabled] {
  cursor: default; }

input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

input[type="search"] {
  -webkit-appearance: textfield; }

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none; }

::-ms-clear {
  display: none; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto; }

input:focus,
textarea:focus {
  outline: 0; }

:invalid {
  box-shadow: none; }

.main-form {
  margin: 2em 0; }
  .main-form .message {
    background: #fff;
    font-style: italic;
    padding: 1em; }
  .main-form .error {
    font-style: italic;
    color: #c33; }
  .main-form .success {
    font-style: italic;
    color: #393; }
  .main-form .field .text-label {
    color: #d8ecd4;
    display: block;
    font-family: foco, sans-serif;
    font-size: 1.5em;
    margin: 0.25em 0; }
  .main-form .field .text {
    background: #fff;
    border: 0.25em solid transparent;
    box-sizing: border-box;
    display: block;
    font: inherit;
    line-height: inherit;
    margin: 0.5em 0;
    padding: 0.5em;
    width: 100%; }
    .main-form .field .text:focus {
      border-color: #858585; }
    .main-form .field .text.invalid {
      background: #f5d6d6; }
      .main-form .field .text.invalid:focus {
        border-color: #ebadad; }
  .main-form .field textarea.text {
    height: 12em; }
  .main-form .field .error {
    display: block;
    margin: 0.5em 0;
    text-align: right; }
  .main-form .field.submit {
    text-align: right; }
    .main-form .field.submit button {
      background: #d8ecd4;
      border: 0;
      border-radius: 0;
      color: #fff;
      font-family: foco, sans-serif;
      font-size: 1.5em;
      padding: 0.25em 1em; }
      .main-form .field.submit button:focus, .main-form .field.submit button:hover {
        background: #e8f4e6; }
      .main-form .field.submit button:active {
        background: #c8e4c2; }

.screenreader {
  position: absolute;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px); }

.container:after, .inner:after {
  clear: both;
  content: "";
  display: block; }

.inner {
  margin: 0 auto;
  max-width: 80em;
  min-width: 18em;
  padding: 0 1em;
  position: relative; }
  .inner.full {
    padding: 0; }

@media screen and (min-width: 60em) {
  .column-1 {
    box-sizing: border-box;
    float: left;
    width: 8.33333%; } }

@media screen and (min-width: 60em) {
  .column-2 {
    box-sizing: border-box;
    float: left;
    width: 16.66667%; } }

@media screen and (min-width: 60em) {
  .column-3 {
    box-sizing: border-box;
    float: left;
    width: 25%; } }

@media screen and (min-width: 60em) {
  .column-4 {
    box-sizing: border-box;
    float: left;
    width: 33.33333%; } }

@media screen and (min-width: 60em) {
  .column-5 {
    box-sizing: border-box;
    float: left;
    width: 41.66667%; } }

@media screen and (min-width: 60em) {
  .column-6 {
    box-sizing: border-box;
    float: left;
    width: 50%; } }

@media screen and (min-width: 60em) {
  .column-7 {
    box-sizing: border-box;
    float: left;
    width: 58.33333%; } }

@media screen and (min-width: 60em) {
  .column-8 {
    box-sizing: border-box;
    float: left;
    width: 66.66667%; } }

@media screen and (min-width: 60em) {
  .column-9 {
    box-sizing: border-box;
    float: left;
    width: 75%; } }

@media screen and (min-width: 60em) {
  .column-10 {
    box-sizing: border-box;
    float: left;
    width: 83.33333%; } }

@media screen and (min-width: 60em) {
  .column-11 {
    box-sizing: border-box;
    float: left;
    width: 91.66667%; } }

@media screen and (min-width: 60em) {
  .column-12 {
    box-sizing: border-box;
    float: left;
    width: 100%; } }

.page-ymt {
  background: #808184;
  color: #fff; }
  .page-ymt ul {
    margin: 0;
    padding: 0; }
    @media screen and (min-width: 50em) {
      .page-ymt ul {
        display: table;
        table-layout: fixed;
        width: 100%; } }
  @media screen and (min-width: 50em) {
    .page-ymt li {
      display: table-cell;
      vertical-align: middle; } }
  .page-ymt li + li {
    border-top: 1px solid #fff; }
    @media screen and (min-width: 50em) {
      .page-ymt li + li {
        border-top: 0;
        border-left: 1px solid #fff; } }
  .page-ymt a {
    background: #404041;
    color: inherit;
    display: block;
    padding: 0.5em 1em;
    overflow: hidden;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap; }
    @media screen and (min-width: 50em) {
      .page-ymt a {
        padding: 0.25em 0.75em; } }
    .page-ymt a:focus, .page-ymt a:hover {
      background: #585758; }
  .page-ymt .gallery a:focus,
  .page-ymt .gallery a:hover {
    background: #009fdb; }
  .page-ymt .castle a:focus,
  .page-ymt .castle a:hover {
    background: #f26b23; }
  .page-ymt .mary a:focus,
  .page-ymt .mary a:hover {
    background: #ee4e8f; }
  .page-ymt .museum a:focus,
  .page-ymt .museum a:hover {
    background: #9bca3b; }
  .page-ymt .venues a:focus,
  .page-ymt .venues a:hover {
    background: #bbb0bc; }
  .page-ymt button {
    background: #808184;
    border: 0;
    border-top: 1px solid #fff;
    color: #fff;
    display: block;
    margin: 0;
    overflow: hidden;
    padding: 0.5em 1em;
    position: relative;
    text-indent: -999em;
    width: 100%; }
    @media screen and (min-width: 50em) {
      .page-ymt button {
        display: none; } }
    .page-ymt button:after {
      background: url(../images/sprite.png) 0 -20px;
      content: "";
      height: 20px;
      margin: -10px 0 0 -10px;
      position: absolute;
      left: 50%;
      top: 50%;
      width: 20px;
      -webkit-transform: rotate(270deg);
      transform: rotate(270deg); }
  @media screen and (max-width: 49.999em) {
    .page-ymt.hidden ul {
      display: none; } }
  .page-ymt.hidden ul + button {
    border: 0; }
    .page-ymt.hidden ul + button:after {
      -webkit-transform: rotate(90deg);
      transform: rotate(90deg); }

.page-header .inner {
  padding-top: 1px; }

.page-header .title img,
.page-header .trust img {
  box-sizing: border-box;
  display: block;
  margin: 0 auto;
  max-width: 100%; }
  @media screen and (min-width: 40em) {
    .page-header .title img,
    .page-header .trust img {
      margin: 0; } }

.page-header .title {
  font-size: 2em;
  margin-top: 1em; }
  @media screen and (min-width: 60em) {
    .page-header .title {
      margin-top: 2.25em; } }

.page-header .trust {
  margin: 0.5em 0 2em 0; }
  @media screen and (min-width: 60em) {
    .page-header .trust {
      margin: 4.5em 0 0 0;
      position: absolute;
      right: 1em;
      top: 0; } }
  .page-header .trust img {
    max-height: 1em; }
    @media screen and (min-width: 60em) {
      .page-header .trust img {
        max-height: none; } }

@media screen and (min-width: 60em) {
  .page-header .swirl {
    background: url(../images/sprite.png) -160px -70px;
    position: absolute;
    left: 365px;
    top: 30px;
    height: 80px;
    width: 160px; } }

@media screen and (min-width: 60em) {
  .page-header .swirl + .swirl {
    background-position: 0 -70px;
    left: auto;
    right: 360px; } }

.page-header .nav {
  margin-top: 0; }
  @media screen and (min-width: 60em) {
    .page-header .nav {
      margin-top: 1em; } }
  .page-header .nav ul {
    margin: 0;
    padding: 0; }
    .page-header .nav ul li {
      display: block;
      margin: 0; }
      .page-header .nav ul li a {
        background: #808184;
        border-bottom: 1px solid #fff;
        color: #fff;
        display: block;
        padding: 0.5em 1em;
        text-decoration: none; }
        .page-header .nav ul li a:focus, .page-header .nav ul li a:hover {
          background: #004976;
          color: #fff;
          outline: none; }
          @media screen and (min-width: 60em) {
            .page-header .nav ul li a:focus, .page-header .nav ul li a:hover {
              background: #80a4bb; } }
        @media screen and (min-width: 60em) {
          .page-header .nav ul li a {
            background: transparent;
            border: 0;
            color: inherit; } }
  @media screen and (min-width: 60em) {
    .page-header .nav > ul {
      border-top: 1px solid;
      display: table;
      table-layout: fixed;
      width: 100%; } }
  @media screen and (min-width: 60em) {
    .page-header .nav > ul > li {
      display: table-cell; } }
  .page-header .nav > ul > li > a {
    overflow: hidden;
    position: relative;
    text-overflow: ellipsis;
    white-space: nowrap; }
    .page-header .nav > ul > li > a:after {
      background: url(../images/sprite.png) 0 -20px;
      content: "";
      height: 20px;
      margin-top: -10px;
      position: absolute;
      right: 0.75em;
      top: 50%;
      width: 20px; }
      @media screen and (min-width: 60em) {
        .page-header .nav > ul > li > a:after {
          display: none; } }
  @media screen and (min-width: 60em) {
    .page-header .nav > ul > li.current-menu-item > a, .page-header .nav > ul > li.current-menu-ancestor > a, .page-header .nav > ul > li.current-page-ancestor > a {
      background-color: #e9e9e9;
      color: inherit; } }
  .page-header .nav > ul > li > ul {
    display: none; }
  .page-header .nav .search {
    background: #808184;
    padding: 0.5em;
    position: relative; }
    @media screen and (min-width: 40em) {
      .page-header .nav .search {
        background: transparent;
        padding: 0;
        position: absolute;
        right: 1em;
        top: 2.5em;
        width: 12em; } }
    @media screen and (min-width: 60em) {
      .page-header .nav .search {
        top: 1em; } }
    .page-header .nav .search input {
      border: 1px solid;
      border-radius: 0.25em;
      box-sizing: border-box;
      padding: 0.25em 2.5em 0.25em 0.5em;
      width: 100%; }
    .page-header .nav .search button {
      background: transparent;
      border: 0;
      border-left: 1px solid;
      border-radius: 0 0.25em 0.25em 0;
      height: 2em;
      margin-right: 1px;
      margin-top: 1px;
      overflow: hidden;
      position: absolute;
      right: 0.5em;
      text-indent: -999em;
      top: 0.5em;
      width: 2em; }
      @media screen and (min-width: 40em) {
        .page-header .nav .search button {
          top: 0;
          right: 0; } }
      .page-header .nav .search button:focus, .page-header .nav .search button:hover {
        background-color: #e6edf1; }
      .page-header .nav .search button:after {
        background: url(../images/sprite.png) 0 0;
        content: "";
        height: 20px;
        position: absolute;
        left: 50%;
        top: 50%;
        width: 20px;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
  .page-header .nav > button {
    background: #e9e9e9;
    border: 0;
    border-top: 1px solid;
    border-bottom: 1px solid #fff;
    display: block;
    font-weight: bold;
    padding: 0.5em 1em;
    position: relative;
    text-align: left;
    text-transform: uppercase;
    width: 100%; }
    .page-header .nav > button:focus, .page-header .nav > button:hover {
      background: #004976;
      color: #fff; }
    .page-header .nav > button:after {
      background: linear-gradient(transparent 50%, #fff 50%);
      background-size: 6px 6px;
      content: "";
      height: 18px;
      margin-top: -10px;
      position: absolute;
      right: 0.75em;
      top: 50%;
      width: 20px; }
    @media screen and (min-width: 60em) {
      .page-header .nav > button {
        display: none; } }
  @media screen and (max-width: 59.999em) {
    .page-header .nav.hidden > ul {
      display: none; } }
  @media screen and (max-width: 39.999em) {
    .page-header .nav.hidden > .search {
      display: none; } }
  .page-header .nav > ul > li > .nav-columns {
    display: none; }
    @media screen and (min-width: 60em) {
      .page-header .nav > ul > li > .nav-columns {
        background: #004976;
        background: rgba(0, 73, 118, 0.8);
        color: #fff;
        overflow: hidden;
        position: absolute;
        width: 40em;
        z-index: 999; } }
    .page-header .nav > ul > li > .nav-columns a {
      background: #404041;
      padding-left: 1.5em; }
      @media screen and (min-width: 60em) {
        .page-header .nav > ul > li > .nav-columns a {
          background: transparent;
          display: inline;
          padding: 0; } }
      .page-header .nav > ul > li > .nav-columns a:focus, .page-header .nav > ul > li > .nav-columns a:hover {
        background: #004976; }
    @media screen and (min-width: 60em) {
      .page-header .nav > ul > li > .nav-columns > .nav-column {
        box-sizing: border-box;
        float: left;
        padding: 1px 1em;
        width: 33.333%; } }
    @media screen and (min-width: 60em) {
      .page-header .nav > ul > li > .nav-columns > .nav-column > ul > li {
        margin: 1em 0; } }
    @media screen and (min-width: 60em) {
      .page-header .nav > ul > li > .nav-columns > .nav-column > ul > li a:focus, .page-header .nav > ul > li > .nav-columns > .nav-column > ul > li a:hover {
        background: transparent; } }
    @media screen and (min-width: 60em) {
      .page-header .nav > ul > li > .nav-columns > .nav-column > ul > li > a {
        font-weight: bold; } }
    @media screen and (min-width: 60em) {
      .page-header .nav > ul > li > .nav-columns > .nav-column > ul > li > ul > li {
        margin: 0.25em 0; } }
    .page-header .nav > ul > li > .nav-columns > .nav-column > ul > li > ul > li > a {
      padding-left: 2.25em; }
      @media screen and (min-width: 60em) {
        .page-header .nav > ul > li > .nav-columns > .nav-column > ul > li > ul > li > a {
          padding: 0; } }
    .page-header .nav > ul > li > .nav-columns > .nav-column > ul > li > ul > li ul {
      display: none; }
  @media screen and (min-width: 60em) {
    .page-header .nav > ul > li.open > a {
      background: #004976;
      background: rgba(0, 73, 118, 0.8); } }
  .page-header .nav > ul > li.open > .nav-columns {
    display: block; }

.page-banner {
  margin: 1em 0; }

.page-carousel {
  margin: 1em 0; }
  .page-carousel .carousel .item {
    display: block;
    position: relative; }
    .page-carousel .carousel .item img {
      display: block;
      width: 100%; }
    .page-carousel .carousel .item .caption {
      background: rgba(51, 51, 51, 0.8);
      color: #fff;
      display: block;
      padding: 0.5em 100px 0.5em 1em;
      position: relative; }
      @media screen and (min-width: 50em) {
        .page-carousel .carousel .item .caption {
          position: absolute;
          right: 0;
          bottom: 0; } }
      .page-carousel .carousel .item .caption .pager {
        margin-top: -15px;
        position: absolute;
        right: 0.5em;
        top: 50%; }
        .page-carousel .carousel .item .caption .pager:before {
          border-left: 1px solid #fff;
          content: "";
          height: 20px;
          position: absolute;
          left: -1em;
          top: 5px; }
        .page-carousel .carousel .item .caption .pager .prev,
        .page-carousel .carousel .item .caption .pager .next {
          background: transparent;
          border: 0;
          float: left;
          height: 30px;
          overflow: hidden;
          position: relative;
          text-indent: -999em;
          width: 30px; }
          .page-carousel .carousel .item .caption .pager .prev:after,
          .page-carousel .carousel .item .caption .pager .next:after {
            background: url(../images/sprite.png) 0 -20px;
            content: "";
            position: absolute;
            height: 20px;
            width: 20px;
            left: 5px;
            top: 5px;
            opacity: 0.5; }
          .page-carousel .carousel .item .caption .pager .prev:focus, .page-carousel .carousel .item .caption .pager .prev:hover,
          .page-carousel .carousel .item .caption .pager .next:focus,
          .page-carousel .carousel .item .caption .pager .next:hover {
            background-color: rgba(255, 255, 255, 0.2); }
            .page-carousel .carousel .item .caption .pager .prev:focus:after, .page-carousel .carousel .item .caption .pager .prev:hover:after,
            .page-carousel .carousel .item .caption .pager .next:focus:after,
            .page-carousel .carousel .item .caption .pager .next:hover:after {
              opacity: 0.75; }
        .page-carousel .carousel .item .caption .pager .prev:after {
          transform: rotate(180deg); }
    .page-carousel .carousel .item + .item {
      display: none; }

.page-content {
  margin: 1em 0; }
  @media screen and (min-width: 60em) {
    .page-content {
      margin: 2em 0; } }
  .page-content .main,
  .page-content .side {
    margin: 1em 0; }
    @media screen and (min-width: 60em) {
      .page-content .main,
      .page-content .side {
        margin: 0; } }
    .page-content .main > .section-heading:first-child,
    .page-content .side > .section-heading:first-child {
      margin-top: 0; }
  @media screen and (min-width: 60em) {
    .page-content .main {
      float: right;
      width: 66.667%;
      width: calc(66.667% - 1em); } }
  .page-content .main .featured-image {
    float: right;
    margin: 1em 0 1em 1em;
    max-width: 25%; }
  .page-content .main .figure {
    margin: 2em 0; }
    .page-content .main .figure img {
      display: block;
      margin: 0 auto;
      max-width: 100%; }
    .page-content .main .figure .caption {
      color: #5c5c5c;
      font-size: 0.875em;
      margin: 1em 0;
      text-align: center; }
  @media screen and (min-width: 60em) {
    .page-content .side {
      float: left;
      width: 33.333%;
      width: calc(33.333% - 1em); } }

.read-more {
  color: inherit;
  font-weight: bold;
  text-decoration: none; }
  .read-more:focus, .read-more:hover {
    color: #004976; }

.more-link {
  text-align: right; }
  .more-link a {
    color: inherit;
    font-weight: bold;
    text-decoration: none; }
    .more-link a:after {
      content: "";
      display: inline-block;
      background: url(../images/sprite.png) -300px -40px;
      height: 20px;
      margin-left: 0.25em;
      vertical-align: middle;
      width: 20px; }
    .more-link a:focus, .more-link a:hover {
      color: #004976; }

.post {
  border-bottom: 1px solid #cccccc;
  padding-bottom: 1.5em; }
  .post > h3 {
    font-size: 2em;
    margin-top: 1em; }
    .post > h3 a {
      color: inherit; }
      .post > h3 a:focus, .post > h3 a:hover {
        color: #004976; }
    .post > h3 + p {
      margin: 0.5em 0; }
  .post img {
    float: right;
    margin: 0 0 1em 1em;
    max-width: 25%; }

.meta {
  color: #999999;
  font-size: 0.875em; }
  .meta p {
    margin: 0.5em 0; }
  .meta a {
    color: inherit;
    text-decoration: none; }
    .meta a:focus, .meta a:hover {
      text-decoration: underline; }

.pagination {
  margin: 2em 0 1em; }
  .pagination .page-numbers {
    background: #f5faf4;
    color: inherit;
    display: inline-block;
    font-size: 1.125em;
    margin-right: 0.25em;
    padding: 0.25em 0.75em;
    text-decoration: none; }
    .pagination .page-numbers.current {
      background: #d8ecd4;
      color: #fff; }

.cgit-gallery {
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  margin: 2em 0;
  padding-top: 1em; }
  .cgit-gallery:after {
    clear: both;
    content: "";
    display: block; }
  .cgit-gallery ul {
    margin: 0;
    padding: 0; }
  .cgit-gallery li {
    display: block;
    float: left;
    margin: 0 1em 1em 0;
    width: 50%;
    width: calc(50% - 0.5em); }
    .cgit-gallery li:nth-of-type(2n) {
      margin-right: 0; }
    @media screen and (min-width: 40em) {
      .cgit-gallery li {
        width: 25%;
        width: calc(25% - 0.75em); } }
    @media screen and (min-width: 40em) {
      .cgit-gallery li:nth-of-type(2n) {
        margin-right: 1em; } }
    @media screen and (min-width: 40em) {
      .cgit-gallery li:nth-of-type(4n) {
        margin-right: 0; } }
  .cgit-gallery img {
    display: block;
    width: 100%; }

.main form label,
.side form label {
  display: block;
  margin: 0.5em 0; }

.main form input[type="text"],
.main form input[type="email"],
.main form select,
.main form textarea,
.side form input[type="text"],
.side form input[type="email"],
.side form select,
.side form textarea {
  border: 1px solid #cccccc;
  border-radius: 0.25em;
  box-sizing: border-box;
  display: block;
  margin: 0.5em 0;
  padding: 0.5em;
  width: 100%; }
  .main form input[type="text"]:focus,
  .main form input[type="email"]:focus,
  .main form select:focus,
  .main form textarea:focus,
  .side form input[type="text"]:focus,
  .side form input[type="email"]:focus,
  .side form select:focus,
  .side form textarea:focus {
    border-color: #004976; }

.main form textarea,
.side form textarea {
  height: 8em; }

.main form .submit,
.side form .submit {
  text-align: right; }

.main form button,
.side form button {
  background: #004976;
  border: 0;
  border-bottom: 0.25em solid #002943;
  border-radius: 0.25em;
  color: #fff;
  font-weight: bold;
  padding: 0.5em 1em 0.25em 1em;
  text-transform: uppercase; }
  .main form button:focus, .main form button:hover,
  .side form button:focus,
  .side form button:hover {
    background-color: #1a5b84; }
  .main form button:active,
  .side form button:active {
    background-color: #002943; }

.feature-box {
  background: #004976;
  color: inherit;
  display: block;
  font-size: 1.125em;
  padding: 1em;
  position: relative;
  text-align: center; }
  @media screen and (min-width: 30em) {
    .feature-box {
      padding: 2em; } }
  .feature-box.squirrel {
    padding: 0; }
    .feature-box.squirrel > img {
      display: block;
      width: 100%; }
  .feature-box a {
    color: inherit; }
  .feature-box h2,
  .feature-box h3,
  .feature-box p {
    position: relative; }
  .feature-box h2,
  .feature-box h3 {
    font-size: 2.5rem;
    margin: 0; }
  @media screen and (min-width: 30em) {
    .feature-box .download {
      margin-top: 2em; } }
  .feature-box .download a {
    background: #d8ecd4;
    color: inherit;
    display: inline-block;
    font-size: 1.125em;
    padding: 0.5em 1em;
    text-decoration: none; }

.side-box h2,
.side-box h3 {
  font-size: 2.5rem;
  font-weight: normal;
  margin: 0; }

.side-box + .side-box {
  margin-top: 2em; }

.side-box.opening dl {
  margin: 2em; }

.side-box.opening dd {
  margin: 0; }

.side-box .download-box {
  background: #004976;
  color: #fff;
  margin: 1em 0;
  padding: 1em 2em; }

.side-box .download-link {
  background: #005990;
  color: #fff;
  display: block;
  font-size: 1.5em;
  margin: 1em 0;
  margin: 2rem 0 1rem 0;
  padding: 0.5em 0;
  text-align: center;
  text-decoration: none; }

.side-box.subnav {
  margin-bottom: 1em; }
  .side-box.subnav ul {
    padding: 0; }
  .side-box.subnav li {
    border-bottom: 1px solid #a491a4;
    display: block; }
  .side-box.subnav a {
    color: inherit;
    display: block;
    font-size: 1.25em;
    text-decoration: none;
    padding: 0.5em 1em; }
    .side-box.subnav a:focus, .side-box.subnav a:hover {
      background: #f4f2f4; }
  .side-box.subnav .active a {
    background: #f4f2f4;
    border-left: 0.25em solid #004976;
    padding-left: 0.75em; }

.gallery-main,
.videos-main {
  margin: 1em 0; }
  @media screen and (min-width: 60em) {
    .gallery-main,
    .videos-main {
      margin-bottom: 2em; } }

.gallery-main a {
  color: inherit;
  display: block;
  margin-bottom: 1em;
  text-decoration: none; }
  @media screen and (min-width: 30em) {
    .gallery-main a {
      float: left;
      margin: 0 1em 1em 0;
      width: 50%;
      width: calc(50% - 0.5em); } }
  @media screen and (min-width: 40em) {
    .gallery-main a {
      margin-right: 2em;
      width: 33.333%;
      width: calc(33.333% - 1.333em); } }
  @media screen and (min-width: 30em) {
    .gallery-main a:nth-of-type(2n) {
      margin-right: 0; } }
  @media screen and (min-width: 40em) {
    .gallery-main a:nth-of-type(2n) {
      margin-right: 2em; } }
  @media screen and (min-width: 30em) {
    .gallery-main a:nth-of-type(2n-1) {
      clear: left; } }
  @media screen and (min-width: 40em) {
    .gallery-main a:nth-of-type(2n-1) {
      clear: none; } }
  @media screen and (min-width: 40em) {
    .gallery-main a:nth-of-type(3n) {
      margin-right: 0; } }
  @media screen and (min-width: 40em) {
    .gallery-main a:nth-of-type(3n-2) {
      clear: left; } }
  .gallery-main a img {
    display: block;
    width: 100%; }
  .gallery-main a .caption {
    display: block;
    margin: 0.5em 0; }

.videos-main .video-item {
  margin-bottom: 2em; }
  @media screen and (min-width: 40em) {
    .videos-main .video-item {
      padding: 45px;
      position: relative; } }
  @media screen and (min-width: 40em) {
    .videos-main .video-item:before, .videos-main .video-item:after {
      background: url(../images/sprite.png);
      content: "";
      position: absolute;
      height: 95px;
      width: 90px;
      z-index: -1; } }
  @media screen and (min-width: 40em) {
    .videos-main .video-item:before {
      background-position: 0 -465px;
      left: 0;
      top: 0; } }
  @media screen and (min-width: 40em) {
    .videos-main .video-item:after {
      background-position: 0 -560px;
      right: 0;
      bottom: 0; } }

.videos-main .video {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 25px;
  height: 0; }

.videos-main .video iframe,
.videos-main .video img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

@media screen and (min-width: 60em) {
  .list-column {
    float: left;
    width: 50%;
    width: calc(50% - 1em); } }

@media screen and (min-width: 60em) {
  .list-column + .list-column {
    margin-left: calc(1em + 1em); } }

.list-tick,
.list-cross {
  list-style: none;
  position: relative; }
  .list-tick:before,
  .list-cross:before {
    background: url(../images/sprite.png) -300px 0;
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    left: -25px; }

.list-cross:before {
  background-position: -300px -20px; }

.page-venues .inner:before {
  border-top: 1px dotted;
  content: "";
  display: block;
  margin: 2em 0; }

.page-venues .section-heading {
  margin: 0.5em 0; }

.page-venues .box {
  color: #fff;
  display: block;
  margin: 1em 0;
  position: relative;
  text-align: center; }
  @media screen and (min-width: 40em) {
    .page-venues .box {
      float: left;
      margin: 0 1em 1em 0;
      width: 50%;
      width: calc(50% - 0.5em); } }
  @media screen and (min-width: 60em) {
    .page-venues .box {
      width: 25%;
      width: calc(25% - 0.75em); } }
  @media screen and (min-width: 40em) {
    .page-venues .box:nth-of-type(2n) {
      margin-right: 0; } }
  @media screen and (min-width: 60em) {
    .page-venues .box:nth-of-type(2n) {
      margin-right: 1em; } }
  @media screen and (min-width: 60em) {
    .page-venues .box:nth-of-type(4n) {
      margin-right: 0; } }
  .page-venues .box img {
    display: block;
    width: 100%; }
  .page-venues .box h3 {
    background: #333;
    background: rgba(51, 51, 51, 0.8);
    box-sizing: border-box;
    font-size: 1.25em;
    margin: 0;
    padding: 1em 0.25em 1.25em;
    position: absolute;
    bottom: 0;
    text-transform: uppercase;
    width: 100%; }
    .page-venues .box h3:after {
      background: #fff;
      content: "";
      height: 0.125em;
      margin-left: -1em;
      width: 2em;
      position: absolute;
      left: 50%;
      bottom: 0.5em; }

.trail-map {
  margin-bottom: 4em;
  position: relative; }
  .trail-map object {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    max-height: 380px;
    width: 100%; }
  @media screen and (min-width: 60em) {
    .trail-map {
      border: 1em solid #188f4d;
      border-radius: 2em;
      margin-bottom: 3em; } }
  .trail-map > .image {
    background: #d8ecd4;
    border-radius: 1em;
    position: relative;
    z-index: 20; }
  .trail-map > .image {
    max-height: 380px;
    overflow: hidden; }
    .trail-map > .image.-zoomed {
      overflow: scroll;
      -webkit-overflow-scrolling: touch; }
      .trail-map > .image.-zoomed object {
        max-height: 1097px;
        width: 1231px;
        max-width: 1231px; }
  .trail-map > .zoom {
    background: #188f4d;
    border-radius: 0 0 0.75em 0.75em;
    color: #fff;
    height: 3em;
    line-height: 3em;
    padding: 0 1em;
    position: absolute;
    right: 0;
    bottom: -3em;
    text-decoration: none;
    z-index: 10; }
    .trail-map > .zoom:before {
      content: "";
      background: #188f4d;
      height: 2em;
      position: absolute;
      right: 0;
      top: -2em;
      width: 1em; }
    .trail-map > .zoom:after {
      content: "";
      background: url(../images/sprite.png) -300px -190px;
      display: inline-block;
      height: 20px;
      margin-left: 0.5em;
      position: relative;
      top: -2px;
      vertical-align: middle;
      width: 20px; }
    @media screen and (min-width: 60em) {
      .trail-map > .zoom {
        right: -1em;
        bottom: -3.5em;
        display: block; } }

.trail-map-window {
  background: #fff;
  border: 1em solid #188f4d;
  border-radius: 2em;
  box-sizing: border-box;
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.25);
  margin: 0 auto;
  max-width: 40em;
  padding: 1.5em;
  position: relative; }
  @media screen and (min-width: 40em) {
    .trail-map-window {
      padding: 2em; } }
  .trail-map-window > .close {
    background: url(../images/sprite.png) -280px -150px;
    height: 20px;
    width: 20px;
    overflow: hidden;
    margin: -2px -2px 0 0;
    text-indent: -999em;
    position: absolute;
    right: 1.5em;
    top: 1.5em; }
    @media screen and (min-width: 40em) {
      .trail-map-window > .close {
        right: 2em;
        top: 2em; } }
  .trail-map-window > h3 {
    color: #188f4d;
    font-size: inherit;
    margin-top: 0; }
  .trail-map-window > p {
    margin: 0.5em 0; }

.trail-heading {
  font-weight: normal;
  margin: 0.75em 0; }
  .trail-heading .number {
    display: none;
    color: #c9c9c9;
    float: right; }
    @media screen and (max-width: 59.999em) {
      .trail-heading .number {
        display: none; } }
    .trail-heading .number .current {
      color: #a5d543; }
  .trail-heading .done {
    color: #a5d543;
    float: right;
    font-weight: bold; }

.squirrel_quiz_holder {
  display: none; }

.trail-pagination {
  border-collapse: collapse;
  display: none;
  margin: 1em 0;
  table-layout: fixed;
  width: 100%; }
  @media screen and (min-width: 60em) {
    .trail-pagination {
      border-collapse: separate;
      border-spacing: 0.5em;
      margin: 2em 0;
      margin-left: calc(0.5em - 1em);
      width: calc(100% + 1em); } }
  .trail-pagination > a {
    background: #eee;
    border: 1px solid #c2c2c2;
    color: #acacac;
    display: none;
    font-weight: bold;
    padding: 0.5em 0;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    white-space: nowrap; }
    @media screen and (min-width: 40em) {
      .trail-pagination > a {
        display: table-cell; } }
    @media screen and (min-width: 60em) {
      .trail-pagination > a {
        border-radius: 4px;
        box-shadow: 1px 1px 0 #fff inset, -1px -1px 0 #fff inset;
        font-size: 0.75em;
        text-transform: uppercase; } }
    .trail-pagination > a:focus, .trail-pagination > a:hover {
      opacity: 0.875; }
    .trail-pagination > a.prev, .trail-pagination > a.next, .trail-pagination > a.current {
      display: table-cell; }
    .trail-pagination > a.prev, .trail-pagination > a.next {
      font-size: 0.75em; }
      @media screen and (min-width: 40em) {
        .trail-pagination > a.prev, .trail-pagination > a.next {
          font-size: inherit;
          width: 3em; } }
      @media screen and (min-width: 60em) {
        .trail-pagination > a.prev, .trail-pagination > a.next {
          display: none; } }
      .trail-pagination > a.prev:after, .trail-pagination > a.next:after {
        background: url(../images/sprite.png) -300px -170px;
        content: "";
        display: none;
        height: 20px;
        vertical-align: middle;
        width: 20px; }
        @media screen and (min-width: 40em) {
          .trail-pagination > a.prev:after, .trail-pagination > a.next:after {
            display: inline-block; } }
        @media screen and (min-width: 60em) {
          .trail-pagination > a.prev:after, .trail-pagination > a.next:after {
            display: none; } }
      .trail-pagination > a.prev.inactive:after, .trail-pagination > a.next.inactive:after {
        background-position: -300px -150px; }
      @media screen and (min-width: 40em) {
        .trail-pagination > a.prev > .text, .trail-pagination > a.next > .text {
          display: none; } }
    .trail-pagination > a.prev:after {
      transform: rotate(180deg); }
    .trail-pagination > a.number {
      width: 3em; }
      .trail-pagination > a.number > .text {
        display: none; }
        @media screen and (min-width: 60em) {
          .trail-pagination > a.number > .text {
            display: inline; } }
    @media screen and (min-width: 60em) {
      .trail-pagination > a.done {
        background: #dbecb8;
        border-color: #cade9f;
        box-shadow: 1px 1px 0 #f0fbda inset, -1px -1px 0 #f0fbda inset;
        color: #94a570; } }
    .trail-pagination > a.current {
      background: #9bca3b;
      color: #516e15; }
      @media screen and (min-width: 60em) {
        .trail-pagination > a.current {
          border-color: #94be3f;
          box-shadow: 1px 1px 0 #b3e253 inset, -1px -1px 0 #b3e253 inset; } }

.quiz-slide {
  display: block;
  width: 100%; }

@media screen and (min-width: 40em) {
  .trail-side :first-child,
  .trail-main :first-child {
    margin-top: 0; } }

.trail-side img {
  border: 0.5em solid #e6e6e6;
  box-sizing: border-box;
  width: 100%; }

@media screen and (min-width: 40em) {
  .trail-side {
    float: right;
    width: 50%;
    width: calc(50% - 1em); } }

@media screen and (min-width: 60em) {
  .trail-side {
    width: 33.333%;
    width: calc(33.333% - 1em); } }

@media screen and (min-width: 40em) {
  .trail-main {
    float: left;
    width: 50%;
    width: calc(50% - 1em); } }

@media screen and (min-width: 60em) {
  .trail-main {
    width: 66.667%;
    width: calc(66.667% - 1em); } }

.trail-main .fields {
  margin: 2em 0; }
  .trail-main .fields label {
    background: #e5e5e5;
    border: 1px solid #d7d7d7;
    box-sizing: border-box;
    box-shadow: 1px 1px 0 #fff inset, -1px -1px 0 #fff inset;
    cursor: pointer;
    display: block;
    margin-bottom: 1em;
    padding: 1em;
    width: 100%; }
    @media screen and (min-width: 60em) {
      .trail-main .fields label {
        float: left;
        width: 50%;
        width: calc(50% - 1em); } }
    @media screen and (min-width: 60em) {
      .trail-main .fields label:nth-of-type(2n-1) {
        clear: left;
        margin-right: 2em; } }
    .trail-main .fields label input {
      margin-right: 0.5em; }

.trail-main .result .message {
  font-size: 2.5em;
  line-height: 1.25; }

.trail-main .result .score {
  color: #c9c9c9; }
  .trail-main .result .score .correct {
    color: #9bca3b; }

.trail-buttons {
  margin: 2em 0; }
  .trail-buttons .missing-question {
    text-align: center;
    color: #c33;
    font-weight: bold;
    display: none; }
  @media screen and (min-width: 60em) {
    .trail-buttons {
      width: 66.667%;
      width: calc(66.667% - 1em); } }
  @media screen and (min-width: 60em) {
    .trail-main .trail-buttons {
      width: auto; } }
  .trail-buttons .next,
  .trail-buttons .prev {
    background: #9bca3b;
    border: 0;
    border-bottom: 0.25em solid #78a320;
    color: #fff;
    font-size: 1.25em;
    margin-bottom: 1em;
    padding: 1em 1.5em;
    text-decoration: none;
    width: 100%; }
    @media screen and (min-width: 30em) {
      .trail-buttons .next,
      .trail-buttons .prev {
        float: right;
        width: auto; } }
    .trail-buttons .next:focus, .trail-buttons .next:hover,
    .trail-buttons .prev:focus,
    .trail-buttons .prev:hover {
      background: #a5cf4f; }
    .trail-buttons .next:active,
    .trail-buttons .prev:active {
      background: #8db932; }
  .trail-buttons .prev {
    background: #dd8631;
    border-color: #aa641f; }
    @media screen and (min-width: 30em) {
      .trail-buttons .prev {
        float: left; } }
    .trail-buttons .prev:focus, .trail-buttons .prev:hover {
      background: #e19347; }
    .trail-buttons .prev:active {
      background: #d27923; }
  .trail-buttons .next.inactive,
  .trail-buttons .prev.inactive {
    background: #e8e8e8;
    border-color: #d0d0d0;
    color: #bdbcbc;
    cursor: default; }
  .trail-buttons .finish {
    display: none; }

.fb-share-button {
  width: 33%; }

.twitter-share-button {
  width: 33%;
  vertical-align: middle;
  display: inline-block; }

.page-footer {
  margin: 2em 0;
  text-align: center; }
  @media screen and (min-width: 60em) {
    .page-footer:before {
      background: url(../images/sprite.png) 0 -150px;
      content: "";
      height: 60px;
      width: 220px;
      position: absolute;
      left: 50%;
      margin-left: -110px;
      margin-top: 20px; } }
  .page-footer .inner:before {
    border-top: 1px dotted;
    content: "";
    display: block;
    margin: 1em 0; }
  .page-footer p {
    margin: 0.5em 0; }
  .page-footer a {
    color: inherit;
    text-decoration: none; }
    .page-footer a:focus, .page-footer a:hover {
      text-decoration: underline; }
  .page-footer .copyright,
  .page-footer .links {
    font-size: 0.875em; }
  @media screen and (min-width: 60em) {
    .page-footer .copyright {
      padding-right: 125px;
      text-align: left; } }
  .page-footer .links .logos a + a {
    margin-left: 0.5em; }
  @media screen and (min-width: 60em) {
    .page-footer .links {
      padding-left: 125px;
      text-align: right; } }

.cc-link {
  font-weight: bold !important;
  text-decoration: none !important; }

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
  filter: alpha(opacity=80); }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close, .mfp-arrow, .mfp-preloader, .mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #cccccc;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }

.mfp-preloader a {
  color: #cccccc; }

.mfp-preloader a:hover {
  color: white; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close, button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  -webkit-box-shadow: none;
  box-shadow: none; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  filter: alpha(opacity=65);
  padding: 0 0 18px 10px;
  color: white;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }

.mfp-close:hover, .mfp-close:focus {
  opacity: 1;
  filter: alpha(opacity=100); }

.mfp-close:active {
  top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333333; }

.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close {
  color: white;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #cccccc;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  filter: alpha(opacity=65);
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

.mfp-arrow:active {
  margin-top: -54px; }

.mfp-arrow:hover, .mfp-arrow:focus {
  opacity: 1;
  filter: alpha(opacity=100); }

.mfp-arrow:before, .mfp-arrow:after, .mfp-arrow .mfp-b, .mfp-arrow .mfp-a {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent; }

.mfp-arrow:after, .mfp-arrow .mfp-a {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px; }

.mfp-arrow:before, .mfp-arrow .mfp-b {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }

.mfp-arrow-left:after, .mfp-arrow-left .mfp-a {
  border-right: 17px solid white;
  margin-left: 31px; }

.mfp-arrow-left:before, .mfp-arrow-left .mfp-b {
  margin-left: 25px;
  border-right: 27px solid #3f3f3f; }

.mfp-arrow-right {
  right: 0; }

.mfp-arrow-right:after, .mfp-arrow-right .mfp-a {
  border-left: 17px solid white;
  margin-left: 39px; }

.mfp-arrow-right:before, .mfp-arrow-right .mfp-b {
  border-left: 27px solid #3f3f3f; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px; }

.mfp-iframe-holder .mfp-close {
  top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: black; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }

.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444444; }

.mfp-figure small {
  color: #bdbdbd;
  display: block;
  font-size: 12px;
  line-height: 14px; }

.mfp-figure figure {
  margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #f3f3f3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

.mfp-ie7 .mfp-img {
  padding: 0; }

.mfp-ie7 .mfp-bottom-bar {
  width: 600px;
  left: 50%;
  margin-left: -300px;
  margin-top: 5px;
  padding-bottom: 5px; }

.mfp-ie7 .mfp-container {
  padding: 0; }

.mfp-ie7 .mfp-content {
  padding-top: 44px; }

.mfp-ie7 .mfp-close {
  top: 0;
  right: 0;
  padding-top: 0; }
