
/* ==========================================================================
   Normalize.scss settings
   ========================================================================== */
/**
 * Includes legacy browser support IE6/7
 *
 * Set to false if you want to drop support for IE6 and IE7
 */
/* Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
 *  `em` units.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevents modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active, a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Addresses styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * 1. Remove border when inside `a` element in IE 8/9/10.
 * 2. Improves image quality when scaled in IE 7.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *  Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 * 4. Improves appearance and consistency in all browsers.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *  and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *  `input` and others.
 * 4. Removes inner spacing in IE 7 without affecting normal text inputs.
 *  Known issue: inner spacing remains in IE 6.
 */
button,
html input[type="button"], input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 *  Known issue: excess padding remains in IE 6.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */ }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 * 3. Corrects text not wrapping in Firefox 3.
 * 4. Corrects alignment displayed oddly in IE 6/7.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

html, body { 
  background: #000;
  overflow: unset; 
  overflow-y: unset; 
}
body { 
  margin: 0; 
  font-family: Montserrat, sans-serif;
  font-size: calc(1em+(100vw/50vh))
}
.wrapper {
  /* The height needs to be set to a fixed value for the effect to work.
   * 100vh is the full height of the viewport. */
  height: 100vh;
  /* The scaling of the images would add a horizontal scrollbar, so disable x overflow. */
  overflow-x: hidden;
  overflow-y: visible;
  /* Set the perspective to 2px. This is essentailly the simulated distance from the viewport to transformed objects.*/
  perspective: 2px;
  background-color: #000;
  font-family: Montserrat, sans-serif; font-size: 1em; line-height: 1.25em; 
}
.moving { overflow-x: unset; }
.section {
  /* Needed for children to be absolutely positioned relative to the parent. */
  position: relative;
  /* The height of the container. Must be set, but it doesn't really matter what the value is. */
  height: 100vh;
  width: 100vw;
  max-height: 100vh;
  /* For text formatting. */
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  font-family: sans-serif;
}
.section:last-child {
  overflow: hidden;
}

.parallax::after {
  /* Display and position the pseudo-element */
  content: " ";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: -3px;
  background-repeat: no-repeat;
  background-position: center;
  /* Move the pseudo-element back away from the camera,
   * then scale it back up to fill the viewport.
   * Because the pseudo-element is further away, it appears to move more slowly, like in real life. */
  transform: translateZ(-2px) scale(2);
  -moz-transform: translateZ(-2px) scale(2);
  /* Force the background image to fill the whole element. */
  background-size: cover;
  /* Keep the image from overlapping sibling elements. */
  z-index: -1;
}

/* The styling for the static div. */
.static {
  box-shadow: 5vh 5vw 20vh #ffffffaa;
  background-size: cover;
}

/* Sets the actual background images to adorable kitties. This part is crucial. */

.bg1 {
  background-image: url("/tour/images/welcome-still.jpg");
}
.bg2::after {
  background-image: url("/tour/images/MH_Zoom-background_2.jpg");
}
.bg3 {
  background-image: url("/tour/images/library-still.jpg");
}
.bg4::after {
  background-image: url("/tour/images/MH_Zoom-background_5.jpg");
}
.bg5 {
  background-image: url("/tour/images/classroom-bkg.jpg");
}
.bg6::after {
  background-image: url("/tour/images/winter-MH-21.jpg");
}
.bg7 {
  background-image: url("/tour/images/auditorium-bkg.jpg");
}
.bg8 {
  background-image: url("/tour/images/fall.jpg");
}
.bg9::after {
  background-image: url("/tour/images/student-life.jpg");
}
.bg10::after { 
  background-image: url("/tour/images/academic-life.jpg");
}

.title { font-size: 1.5em; z-index: 999; color: #fff; width: 50vw; text-shadow: -2px 2px 3px #000; line-height: 1.33em; }
.left.title { position: absolute; left: 10vw; bottom: 10vh; }
.right.title { position: absolute; right: 10vw; top: 10vh; text-align: right; }
.lower.title { top: unset; bottom: 5vh; }
.left.title,.right.title  { width: auto; max-width: 52.5vw; }
#library .title { max-width: 53.5vw; }
.title h2 { text-shadow: -3px 3px 4px #000; }
 /*
 #start .title { animation-name: fadeTitleOut; animation-duration: 4.5s; animation-fill-mode: forwards; }
 #start .welcome-text { animation-name: fadeWelcomeIn; animation-duration: 4.5s; }
 */
 @keyframes fadeTitleOut {
  0% { opacity: 1; }
  75% { opacity: 1; }
  100% { opacity: 0; }
 }
 @keyframes fadeWelcomeIn {
  0% { opacity: 0; }
  75% { opacity: 0; }
  100% { opacity: 1; }
 }

h1, h2, h3, h4, h5, h6, p { margin:0; }
h1 { font-family: Bembo, serif; font-weight: 400; font-size: 3.0em; line-height: .9em;  }
h2 { font-family: 'Montserrat Light', sans-serif; font-size: 2.25em; line-height: .9em; }
h3 { font-family: 'Montserrat Light', sans-serif; font-size: 1.75em; line-height: 1em; }
h4 { font-family: 'Montserrat Light', sans-serif; font-size: 1.5em; line-height: 1em; }

div.vid-wrap {
  position:absolute;
  height: inherit;
  width: inherit;
  top: 0;
  left:0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; 
	background-color: #000000aa;
}

video.bkg {  
  position: absolute;
  left: 0;
  top: 0; 
  right: 0;
  bottom: 0;
  width: 100vw;
  height: calc(100vw * 0.5625);
	margin:auto 0px;
}
.next, .top { 
  text-decoration: none;
  display: block; 
  height: auto; 
  width: 5vw; 
  position: absolute; 
  top: 47.5vh; 
  z-index: 999; 
  color: #fff; 
  font-weight: 900; 
  font-size: 1.5vw;
  text-transform: uppercase;
  text-align: center;
  opacity: .75;
}
.next:hover, .top:hover { opacity: 1; }
.next {
  right: 2.5vw; 
}
.top {
  left: 2.5vw; 
}
.next::after, .top::before {
  text-align: center;
  font: normal normal normal 7.5vw/3.75vw FontAwesome;
  content: "\f107";
  display: block;
  width: 5vw;

}
#done.next::after { content: '\f04d'; font-size: 3.5vw; }
.top::before {
  content: "\f106";
}
.absolute {
  position: absolute;
}
.content {
  background: #0000005a;
  color: #fff;
  outline: 4px solid #0000005a;
  position: absolute; 
  font-size: 1em;
  z-index: 999;
  padding: .5em .75em;
  max-width: 75vw;
  text-shadow:-1px 1px 2px #111;
}
.content:hover { 
  background: #fff;
  color: #181d25; 
  outline: 5px solid #fff; 
  text-shadow:-1px 1px 2px #fff;
}
.content.xs, .content.xxs { padding: .25em .5em; }
.filmstrip  {
    border-left: 4px dotted;
    border-right: 4px dotted;
    transform: rotate(1.5deg);
}
.left.filmstrip {
    transform: rotate(-1.25deg);
}
.content h2, .content h3, .content h4, .content h5 {  
  font-family: 'Montserrat Bold', 'Arial Bold', sans-serif;
   margin:.33em 0px .25em; }
.content h2 { font-size: 1.25em; }
.content h3 { font-size: 1.15em; }
.content h4 { font-size: 1.10em; }
.content h5 { font-size: .90em; }
.content a { 
  color: inherit;
  text-decoration: underline;
}
.content a:hover {
  color: #94021c;  
}
.content a.lightbox_trigger   { 
  text-decoration: none;
  display: block;
  position: relative;
}
.content a.lightbox_trigger:hover::after {
  position: absolute;
  color: white;
  font: normal normal normal 3vw/1em FontAwesome;
  content: '\f00e';
  top: 33%;
  left: 0;
  height: 100%;
  width: 100%;
  text-align: center;
  text-shadow:-1px 1px 2px #111;
}
.dark { background:#000000aa; color: #fff; outline-color: #000; }
.upper { top:5vh; bottom: unset; }
.middle { top: 37vh; bottom: unset; }
.lower { top: unset; bottom: 5vh; }
.left { left: 10vw; right: unset; }
.right { left: unset; right: 10vw; }
.center { left: 37vw; }
.small { width: 15vw; }
.xs { width: 10vw; }
.xxs { width: 7.5vw; }
.medium { width: 25vw; }
.large { width: 33vw; }
.xl { width: 50vw; }
.content iframe { width: 100%; }
.content.small iframe { height: calc(15vw * 0.5625); }
.content.medium iframe { height: calc(25vw * 0.5625); }
.content.large iframe { height: calc(33vw * 0.5625); }
.content img, .absolute img { max-width: 100%; height: auto; position: relative; }
.welcome-text { font-family: 'Montserrat Light', sans-serif; color: #fff; 
position: absolute; left: 40vw; top: 5vh; width: 34em; height: auto; max-height:85vh;  z-index: 999; 
overflow-y: auto; line-height: 2em; padding: 2.5em 1.5em;
 }
 .badges img { max-width: 33%; float: left; }
.title { transform: translateZ(.25px) scale(.7); }
#start .title { transform: unset; transform: translateZ(-1px) scale(1.33);}
.safari #start .title { -webkit-transform:unset; }
#start .title h1 {
    font-size: 3.5em;
}
.welcome-text img { max-width: 40%; }
.welcome-text:hover img { 
  -webkit-filter: invert(100%);
  filter: invert(100%); 
}
.content i.fa {
    font-size: 2.05em;
    position: absolute;
    left: -.75em;
    top: -.5em;
}
.content:hover i.fa { 
  color: #fff; 
  text-shadow:-1px 1px 2px #111;
}
/* fix snoflake upper overflow */
#classrooms { z-index: 1; }
#winter {  }


/* Snow! */
.snowfall 
{
overflow: hidden!important;
width: 100%;
height: inherit;
}

    .snowflake {
        position: absolute;
        color: white;
        font: normal normal normal 7.5vw/3.75vw FontAwesome;
    }

    .snowflake:after {
    content: "\f2dc"; /* leaf: 1F342; maple leaf: 1F341; blown leaf:1F343;  */
/*        content: "\2744"; /* leaf: 1F342; maple leaf: 1F341; blown leaf:1F343;  */
    }

    .snowflake:nth-of-type(1) {
        animation-name: snowflake-1;
        animation-delay: 17s;
        aanimation-duration: 17s;
        animation-iteration-count: infinite;
        left: 58%;
        top: -76%;
    }

    .snowflake:nth-of-type(1):after {
        font-size: 19px;
    }

    @Keyframes snowflake-1 {
        0% {
            transform: rotate(0deg);
            left: 58%;
            top: -76%;
        }

        25% {
            left: 59%;
        }

        50% {
            left: 58%;
        }

        75% {
            left: 60%;
            opacity: 1;
        }

        100% {
            transform: rotate(270deg);
            top: 116%;
            opacity: 0;
        }
    }

    .snowflake:nth-of-type(2) {
        animation-name: snowflake-2;
        animation-delay: 17s;
        animation-duration: 12s;
        animation-iteration-count: infinite;
        left: 17%;
        top: -96%;
    }

    .snowflake:nth-of-type(2):after {
        font-size: 8px;
    }

    @Keyframes snowflake-2 {
        0% {
            transform: rotate(0deg);
            left: 17%;
            top: -96%;
        }

        25% {
            left: 18%;
        }

        50% {
            left: 17%;
        }

        75% {
            left: 19%;
            opacity: 1;
        }

        100% {
            transform: rotate(360deg);
            top: 136%;
            opacity: 0;
        }
    }

    .snowflake:nth-of-type(3) {
        animation-name: snowflake-3;
        animation-delay: 3s;
        animation-duration: 15s;
        animation-iteration-count: infinite;
        left: 79%;
        top: -76%;
    }

    .snowflake:nth-of-type(3):after {
        font-size: 14px;
    }

    @Keyframes snowflake-3 {
        0% {
            transform: rotate(0deg);
            left: 79%;
            top: -76%;
        }

        25% {
            left: 80%;
        }

        50% {
            left: 79%;
        }

        75% {
            left: 81%;
            opacity: 1;
        }

        100% {
            transform: rotate(270deg);
            top: 116%;
            opacity: 0;
        }
    }

    .snowflake:nth-of-type(4) {
        animation-name: snowflake-4;
        animation-delay: 4s;
        animation-duration: 10s;
        animation-iteration-count: infinite;
        left: 84%;
        top: -98%;
    }

    .snowflake:nth-of-type(4):after {
        font-size: 7px;
    }

    @Keyframes snowflake-4 {
        0% {
            transform: rotate(0deg);
            left: 84%;
            top: -98%;
        }

        25% {
            left: 85%;
        }

        50% {
            left: 84%;
        }

        75% {
            left: 86%;
            opacity: 1;
        }

        100% {
            transform: rotate(270deg);
            top: 138%;
            opacity: 0;
        }
    }

    .snowflake:nth-of-type(5) {
        animation-name: snowflake-5;
        animation-delay: 2s;
        animation-duration: 12s;
        animation-iteration-count: infinite;
        left: 4%;
        top: -58%;
    }

    .snowflake:nth-of-type(5):after {
        font-size: 5px;
    }

    @Keyframes snowflake-5 {
        0% {
            transform: rotate(0deg);
            left: 4%;
            top: -58%;
        }

        25% {
            left: 5%;
        }

        50% {
            left: 4%;
        }

        75% {
            left: 6%;
            opacity: 1;
        }

        100% {
            transform: rotate(360deg);
            top: 98%;
            opacity: 0;
        }
    }

    .snowflake:nth-of-type(6) {
        animation-name: snowflake-6;
        animation-delay: 15s;
        animation-duration: 15s;
        animation-iteration-count: infinite;
        left: 19%;
        top: -72%;
    }

    .snowflake:nth-of-type(6):after {
        font-size: 12px;
    }

    @Keyframes snowflake-6 {
        0% {
            transform: rotate(0deg);
            left: 19%;
            top: -72%;
        }

        25% {
            left: 20%;
        }

        50% {
            left: 19%;
        }

        75% {
            left: 21%;
            opacity: 1;
        }

        100% {
            transform: rotate(270deg);
            top: 112%;
            opacity: 0;
        }
    }

    .snowflake:nth-of-type(7) {
        animation-name: snowflake-7;
        animation-delay: 12s;
        animation-duration: 13s;
        animation-iteration-count: infinite;
        left: 2%;
        top: -98%;
    }

    .snowflake:nth-of-type(7):after {
        font-size: 17px;
    }

    @Keyframes snowflake-7 {
        0% {
            transform: rotate(0deg);
            left: 2%;
            top: -98%;
        }

        25% {
            left: 3%;
        }

        50% {
            left: 2%;
        }

        75% {
            left: 4%;
            opacity: 1;
        }

        100% {
            transform: rotate(270deg);
            top: 138%;
            opacity: 0;
        }
    }

    .snowflake:nth-of-type(8) {
        animation-name: snowflake-8;
        animation-delay: 14s;
        animation-duration: 11s;
        animation-iteration-count: infinite;
        left: 20%;
        top: -81%;
    }

    .snowflake:nth-of-type(8):after {
        font-size: 23px;
    }

    @Keyframes snowflake-8 {
        0% {
            transform: rotate(0deg);
            left: 20%;
            top: -81%;
        }

        25% {
            left: 21%;
        }

        50% {
            left: 20%;
        }

        75% {
            left: 22%;
            opacity: 1;
        }

        100% {
            transform: rotate(360deg);
            top: 121%;
            opacity: 0;
        }
    }

    .snowflake:nth-of-type(9) {
        animation-name: snowflake-9;
        animation-delay: 13s;
        animation-duration: 19s;
        animation-iteration-count: infinite;
        left: 88%;
        top: -67%;
    }

    .snowflake:nth-of-type(9):after {
        font-size: 9px;
    }

    @Keyframes snowflake-9 {
        0% {
            transform: rotate(0deg);
            left: 88%;
            top: -67%;
        }

        25% {
            left: 89%;
        }

        50% {
            left: 88%;
        }

        75% {
            left: 90%;
            opacity: 1;
        }

        100% {
            transform: rotate(360deg);
            top: 107%;
            opacity: 0;
        }
    }

    .snowflake:nth-of-type(10) {
        animation-name: snowflake-10;
        animation-delay: 14s;
        animation-duration: 11s;
        animation-iteration-count: infinite;
        left: 99%;
        top: -81%;
    }

    .snowflake:nth-of-type(10):after {
        font-size: 4px;
    }

    @Keyframes snowflake-10 {
        0% {
            transform: rotate(0deg);
            left: 99%;
            top: -81%;
        }

        25% {
            left: 100%;
        }

        50% {
            left: 99%;
        }

        75% {
            left: 101%;
            opacity: 1;
        }

        100% {
            transform: rotate(360deg);
            top: 121%;
            opacity: 0;
        }
    }

    .snowflake:nth-of-type(11) {
        animation-name: snowflake-11;
        animation-delay: 14s;
        animation-duration: 19s;
        animation-iteration-count: infinite;
        left: 34%;
        top: -69%;
    }

    .snowflake:nth-of-type(11):after {
        font-size: 19px;
    }

    @Keyframes snowflake-11 {
        0% {
            transform: rotate(0deg);
            left: 34%;
            top: -69%;
        }

        25% {
            left: 35%;
        }

        50% {
            left: 34%;
        }

        75% {
            left: 36%;
            opacity: 1;
        }

        100% {
            transform: rotate(270deg);
            top: 109%;
            opacity: 0;
        }
    }

    .snowflake:nth-of-type(12) {
        animation-name: snowflake-12;
        animation-delay: 7s;
        animation-duration: 10s;
        animation-iteration-count: infinite;
        left: 51%;
        top: -93%;
    }

    .snowflake:nth-of-type(12):after {
        font-size: 17px;
    }

    @Keyframes snowflake-12 {
        0% {
            transform: rotate(0deg);
            left: 51%;
            top: -93%;
        }

        25% {
            left: 52%;
        }

        50% {
            left: 51%;
        }

        75% {
            left: 53%;
            opacity: 1;
        }

        100% {
            transform: rotate(270deg);
            top: 133%;
            opacity: 0;
        }
    }

    .snowflake:nth-of-type(13) {
        animation-name: snowflake-13;
        animation-delay: 7s;
        aanimation-duration: 17s;
        animation-iteration-count: infinite;
        left: 40%;
        top: -100%;
    }

    .snowflake:nth-of-type(13):after {
        font-size: 9px;
    }

    @Keyframes snowflake-13 {
        0% {
            transform: rotate(0deg);
            left: 40%;
            top: -100%;
        }

        25% {
            left: 41%;
        }

        50% {
            left: 40%;
        }

        75% {
            left: 42%;
            opacity: 1;
        }

        100% {
            transform: rotate(360deg);
            top: 140%;
            opacity: 0;
        }
    }
.parallax::after { 
  background-size: cover;
  background-position: center;
}
}
/* lightbox styles */
#lightbox-wrapper {
  width:600px; 
  margin:0 auto; 
  border-top:none; 
  text-align:left;
}
#lightbox {
  position:fixed; /* keeps the lightbox window in the current viewport */
  top:0; 
  left:0; 
  width:100%; 
  height:100%; 
  background:#000000cf; 
  text-align:center;
  z-index: 99999;
  animation: 1s ease-in show-image;
}
#lightbox p {
  text-align:right; 
  color:#fff; 
  margin-right:20px; 
  font-size:1em; 
}
#lightbox p:after {
    font: normal normal normal 33px/33px FontAwesome;
    content: "\f2d3";
    display: block;
    float: right;
    position: absolute;
    right: 2.5%;
    cursor: pointer;
}
#lightbox img {
  box-shadow:0 0 25px #111;
  max-width:75%;
}
#lightbox.has-caption img {
  max-height: 85vh;
}
#lightbox #lbcaption {
  font-size: 1em;
    text-align: center;
    color: #fff;
    padding: .25em;
}
@Keyframes show-image { 
  0% { opacity:0;}
  25% { opacity:0;}
  100% { opacity:1; }
 }
 .hold { background:none; box-shadow: none; }
 .hold::after { background:none; }
 .hold * { display: none; }
/* media queries */

/* tablets */
/* ipad pro */
@media only screen and (min-width: 1024px) and (max-width: 1366px)
{
video.bkg { 
  z-index: 1;
  zoom:.87;
  width:unset;
  height:unset;
}
}
@media only screen and (max-width: 1024px)
{
video.bkg { 
  z-index: 1;
  zoom:.44;
  width:unset;
  height:unset;
}
}
/* ipad */
@media only screen and (min-width : 768px) and (max-width : 1024px) { 
 video.bkg { 
 z-index: 1;
  zoom:.54;
  width:unset;
  height:unset;
  box-shadow: 0 0 130px #000;
  }
}
/* surface */
@media only screen and (min-width : 768px) and (max-width : 1024px)
and (-webkit-min-pixel-ratio: 2) { 
 video.bkg { 
 z-index: 1;
  zoom:.55;
  width:unset;
  height:unset;
  box-shadow: 0 0 130px #000;
  }
}
/* phones */
@media only screen and (max-width: 500px)
{
video.bkg {
  zoom:.25;
}
.parallax::after { 
  background-size: auto;
  background-position: center;
}
.content { 
  font-size: .85em;
  line-height: 1.25em;
}
.snowflake::after { zoom:.15; }
}
@media only screen and (max-width: 736px)
{
.title { font-size: .95em; }
#start .title h1 { font-size: 2.75em; }
.content { font-size: .85em; }
video.bkg { 
  z-index: 1;
  zoom:.55;
  width:unset;
  height:unset;
}
.parallax::after { 
  background-size: auto;
  background-position: center;
}
.content { 
  font-size: .85em;
  line-height: 1.25em;
}
.content.welcome-text {
    font-size: .66em;
    line-height: 1.5em;
}
.snowflake::after { zoom:.1;  }
}
/* portrait */
@media only screen and (orientation : portrait)	{
	body { 
    font-size: .66em;
	}
.xs { width: 15vw; }
.xxs { width: 25vw; }
.small { width: 33vw }
.medium { width: 44vw; }
.large { width: 55vw; }
.xl { width: 66vw; }
.lower.right { bottom: 33vh; }

	video.bkg { 
		z-index: 1;
		width:unset;
		height:unset;
		box-shadow: 0 0 130px #000;
	}
.content.welcome-text {
    font-size: 1.1em;
    line-height: 1.5em;
		left: 15vw; width: 70vw;
	}
}
iframe.outline { outline: 7px dotted orange; }