/*!
 * Bootstrap v3.0.3
 *
 * Copyright 2013 Twitter, Inc
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Designed and built with all the love in the world @twitter by @mdo and @fat.
 *//*! normalize.css v2.1.3 | MIT License | git.io/normalize */
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
    display: block
}

audio, canvas, video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

[hidden], template {
    display: none
}

html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

a {
    background: transparent
}

a:focus {
    outline: thin dotted
}

a:active, a:hover {
    outline: 0
}

h1 {
    font-size: 2em;
    margin: 0.67em 0
}

abbr[title] {
    border-bottom: 1px dotted
}

b, strong {
    font-weight: bold;
    font-size: 14px;
}

dfn {
    font-style: italic
}

hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0
}

mark {
    background: #ff0;
    color: #000
}

code, kbd, pre, samp {
    font-family: monospace, serif;
    font-size: 1em
}

pre {
    white-space: pre-wrap
}

q {
    quotes: "\201C" "\201D" "\2018" "\2019"
}

small {
    font-size: 80%
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sup {
    top: -0.5em
}

sub {
    bottom: -0.25em
}

img {
    border: 0
}

svg:not(:root) {
    overflow: hidden
}

figure {
    margin: 0
}

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em
}

legend {
    border: 0;
    padding: 0
}

button, input, select, textarea {
    font-family: inherit;
    font-size: 100%;
    margin: 0
}

button, input {
    line-height: normal
}

button, select {
    text-transform: none
}

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

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

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

input[type="search"] {
    -webkit-appearance: textfield;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

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

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

textarea {
    overflow: auto;
    vertical-align: top
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

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

html {
    font-size: 62.5%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

body {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.428571429;
    color: #333333;
    background-color: #ffffff
}

input, button, select, textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit
}

a {
    color: #428bca;
    text-decoration: none
}

a:hover, a:focus {
    color: #2a6496;
    text-decoration: underline
}

a:focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px
}

img {
    vertical-align: middle
}

.img-responsive {
    display: block;
    max-width: 100%;
    height: auto
}

.img-rounded {
    border-radius: 6px
}

.img-thumbnail {
    padding: 4px;
    line-height: 1.428571429;
    background-color: #ffffff;
    border: 1px solid #dddddd;
    border-radius: 4px;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    display: inline-block;
    max-width: 100%;
    height: auto
}

.img-circle {
    border-radius: 50%
}

hr {
    margin-top: 20px;
    margin-bottom: 20px;
    border: 0;
    border-top: 1px solid #eeeeee
}

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

.container {
    margin-right: auto;
    margin-left: auto;
    padding-left: 10px;
    padding-right: 10px
}

.container:before, .container:after {
    content: " ";
    display: table
}

.container:after {
    clear: both
}

.container:before, .container:after {
    content: " ";
    display: table
}

.container:after {
    clear: both
}

@media (min-width: 768px) {
    .container {
        width: 740px
    }
}

@media (min-width: 992px) {
    .container {
        width: 960px
    }
}

@media (min-width: 1024px) {
    .container {
        width: 1160px
    }
}

.row, .rsvp-name-container, .rsvp-event-container, .section-items, .event-section-items, .wedding-event-section-items, .wedding-party-section-items, .location-section-items, .album-section-items, .photo-section-items, .registry-section-items, .retailer-section-items {
    margin-left: -10px;
    margin-right: -10px
}

.row:before, .rsvp-name-container:before, .rsvp-event-container:before, .section-items:before, .event-section-items:before, .wedding-event-section-items:before, .wedding-party-section-items:before, .location-section-items:before, .album-section-items:before, .photo-section-items:before, .registry-section-items:before, .retailer-section-items:before, .row:after, .rsvp-name-container:after, .rsvp-event-container:after, .section-items:after, .event-section-items:after, .wedding-event-section-items:after, .wedding-party-section-items:after, .location-section-items:after, .album-section-items:after, .photo-section-items:after, .registry-section-items:after, .retailer-section-items:after {
    content: " ";
    display: table
}

.row:after, .rsvp-name-container:after, .rsvp-event-container:after, .section-items:after, .event-section-items:after, .wedding-event-section-items:after, .wedding-party-section-items:after, .location-section-items:after, .album-section-items:after, .photo-section-items:after, .registry-section-items:after, .retailer-section-items:after {
    clear: both
}

.row:before, .rsvp-name-container:before, .rsvp-event-container:before, .section-items:before, .event-section-items:before, .wedding-event-section-items:before, .wedding-party-section-items:before, .location-section-items:before, .album-section-items:before, .photo-section-items:before, .registry-section-items:before, .retailer-section-items:before, .row:after, .rsvp-name-container:after, .rsvp-event-container:after, .section-items:after, .event-section-items:after, .wedding-event-section-items:after, .wedding-party-section-items:after, .location-section-items:after, .album-section-items:after, .photo-section-items:after, .registry-section-items:after, .retailer-section-items:after {
    content: " ";
    display: table
}

.row:after, .rsvp-name-container:after, .rsvp-event-container:after, .section-items:after, .event-section-items:after, .wedding-event-section-items:after, .wedding-party-section-items:after, .location-section-items:after, .album-section-items:after, .photo-section-items:after, .registry-section-items:after, .retailer-section-items:after {
    clear: both
}

.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .registry-item, .retailer-item, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .album-item, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .retailer-item, .col-sm-6, .registry-item, .col-md-6, .album-item, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .item, .event-item, .wedding-event-item, .location-item, .registry-item, .retailer-item, .item-separator, .event-separator, .wedding-event-separator, .location-separator, .col-sm-12, .blank-seperator, .col-md-12, .col-lg-12 {
    position: relative;
    min-height: 1px;
    padding-left: 10px;
    padding-right: 10px
}

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .retailer-item, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .item, .event-item, .wedding-event-item, .location-item, .registry-item, .retailer-item, .item-separator, .event-separator, .wedding-event-separator, .location-separator {
    float: left
}

.col-xs-12, .item, .event-item, .wedding-event-item, .location-item, .registry-item, .retailer-item, .item-separator, .event-separator, .wedding-event-separator, .location-separator {
    width: 100%
}

.col-xs-11 {
    width: 91.66666666666666%
}

.col-xs-10 {
    width: 83.33333333333334%
}

.col-xs-9 {
    width: 75%
}

.col-xs-8 {
    width: 66.66666666666666%
}

.col-xs-7 {
    width: 58.333333333333336%
}

.col-xs-6, .retailer-item {
    width: 50%
}

.col-xs-5 {
    width: 41.66666666666667%
}

.col-xs-4 {
    width: 33.33333333333333%
}

.col-xs-3 {
    width: 25%
}

.col-xs-2 {
    width: 16.666666666666664%
}

.col-xs-1 {
    width: 8.333333333333332%
}

.col-xs-pull-12 {
    right: 100%
}

.col-xs-pull-11 {
    right: 91.66666666666666%
}

.col-xs-pull-10 {
    right: 83.33333333333334%
}

.col-xs-pull-9 {
    right: 75%
}

.col-xs-pull-8 {
    right: 66.66666666666666%
}

.col-xs-pull-7 {
    right: 58.333333333333336%
}

.col-xs-pull-6 {
    right: 50%
}

.col-xs-pull-5 {
    right: 41.66666666666667%
}

.col-xs-pull-4 {
    right: 33.33333333333333%
}

.col-xs-pull-3 {
    right: 25%
}

.col-xs-pull-2 {
    right: 16.666666666666664%
}

.col-xs-pull-1 {
    right: 8.333333333333332%
}

.col-xs-pull-0 {
    right: 0%
}

.col-xs-push-12 {
    left: 100%
}

.col-xs-push-11 {
    left: 91.66666666666666%
}

.col-xs-push-10 {
    left: 83.33333333333334%
}

.col-xs-push-9 {
    left: 75%
}

.col-xs-push-8 {
    left: 66.66666666666666%
}

.col-xs-push-7 {
    left: 58.333333333333336%
}

.col-xs-push-6 {
    left: 50%
}

.col-xs-push-5 {
    left: 41.66666666666667%
}

.col-xs-push-4 {
    left: 33.33333333333333%
}

.col-xs-push-3 {
    left: 25%
}

.col-xs-push-2 {
    left: 16.666666666666664%
}

.col-xs-push-1 {
    left: 8.333333333333332%
}

.col-xs-push-0 {
    left: 0%
}

.col-xs-offset-12 {
    margin-left: 100%
}

.col-xs-offset-11 {
    margin-left: 91.66666666666666%
}

.col-xs-offset-10 {
    margin-left: 83.33333333333334%
}

.col-xs-offset-9 {
    margin-left: 75%
}

.col-xs-offset-8 {
    margin-left: 66.66666666666666%
}

.col-xs-offset-7 {
    margin-left: 58.333333333333336%
}

.col-xs-offset-6 {
    margin-left: 50%
}

.col-xs-offset-5 {
    margin-left: 41.66666666666667%
}

.col-xs-offset-4 {
    margin-left: 33.33333333333333%
}

.col-xs-offset-3 {
    margin-left: 25%
}

.col-xs-offset-2 {
    margin-left: 16.666666666666664%
}

.col-xs-offset-1 {
    margin-left: 8.333333333333332%
}

.col-xs-offset-0 {
    margin-left: 0%
}

@media (min-width: 640px) {
    .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .registry-item, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .blank-seperator {
        float: left
    }

    .col-sm-12, .blank-seperator {
        width: 100%
    }

    .col-sm-11 {
        width: 91.66666666666666%
    }

    .col-sm-10 {
        width: 83.33333333333334%
    }

    .col-sm-9 {
        width: 75%
    }

    .col-sm-8 {
        width: 66.66666666666666%
    }

    .col-sm-7 {
        width: 58.333333333333336%
    }

    .col-sm-6, .registry-item {
        width: 50%
    }

    .col-sm-5 {
        width: 41.66666666666667%
    }

    .col-sm-4 {
        width: 33.33333333333333%
    }

    .col-sm-3 {
        width: 25%
    }

    .col-sm-2 {
        width: 16.666666666666664%
    }

    .col-sm-1 {
        width: 8.333333333333332%
    }

    .col-sm-pull-12 {
        right: 100%
    }

    .col-sm-pull-11 {
        right: 91.66666666666666%
    }

    .col-sm-pull-10 {
        right: 83.33333333333334%
    }

    .col-sm-pull-9 {
        right: 75%
    }

    .col-sm-pull-8 {
        right: 66.66666666666666%
    }

    .col-sm-pull-7 {
        right: 58.333333333333336%
    }

    .col-sm-pull-6 {
        right: 50%
    }

    .col-sm-pull-5 {
        right: 41.66666666666667%
    }

    .col-sm-pull-4 {
        right: 33.33333333333333%
    }

    .col-sm-pull-3 {
        right: 25%
    }

    .col-sm-pull-2 {
        right: 16.666666666666664%
    }

    .col-sm-pull-1 {
        right: 8.333333333333332%
    }

    .col-sm-pull-0 {
        right: 0%
    }

    .col-sm-push-12 {
        left: 100%
    }

    .col-sm-push-11 {
        left: 91.66666666666666%
    }

    .col-sm-push-10 {
        left: 83.33333333333334%
    }

    .col-sm-push-9 {
        left: 75%
    }

    .col-sm-push-8 {
        left: 66.66666666666666%
    }

    .col-sm-push-7 {
        left: 58.333333333333336%
    }

    .col-sm-push-6 {
        left: 50%
    }

    .col-sm-push-5 {
        left: 41.66666666666667%
    }

    .col-sm-push-4 {
        left: 33.33333333333333%
    }

    .col-sm-push-3 {
        left: 25%
    }

    .col-sm-push-2 {
        left: 16.666666666666664%
    }

    .col-sm-push-1 {
        left: 8.333333333333332%
    }

    .col-sm-push-0 {
        left: 0%
    }

    .col-sm-offset-12 {
        margin-left: 100%
    }

    .col-sm-offset-11 {
        margin-left: 91.66666666666666%
    }

    .col-sm-offset-10 {
        margin-left: 83.33333333333334%
    }

    .col-sm-offset-9 {
        margin-left: 75%
    }

    .col-sm-offset-8 {
        margin-left: 66.66666666666666%
    }

    .col-sm-offset-7 {
        margin-left: 58.333333333333336%
    }

    .col-sm-offset-6 {
        margin-left: 50%
    }

    .col-sm-offset-5 {
        margin-left: 41.66666666666667%
    }

    .col-sm-offset-4 {
        margin-left: 33.33333333333333%
    }

    .col-sm-offset-3 {
        margin-left: 25%
    }

    .col-sm-offset-2 {
        margin-left: 16.666666666666664%
    }

    .col-sm-offset-1 {
        margin-left: 8.333333333333332%
    }

    .col-sm-offset-0 {
        margin-left: 0%
    }
}

@media (min-width: 768px) {
    .col-md-1, .col-md-2, .col-md-3, .registry-item, .retailer-item, .col-md-4, .col-md-5, .col-md-6, .album-item, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
        float: left
    }

    .col-md-12 {
        width: 100%
    }

    .col-md-11 {
        width: 91.66666666666666%
    }

    .col-md-10 {
        width: 83.33333333333334%
    }

    .col-md-9 {
        width: 75%
    }

    .col-md-8 {
        width: 66.66666666666666%
    }

    .col-md-7 {
        width: 58.333333333333336%
    }

    .col-md-6, .album-item {
        width: 50%
    }

    .col-md-5 {
        width: 41.66666666666667%
    }

    .col-md-4 {
        width: 33.33333333333333%
    }

    .col-md-3, .registry-item, .retailer-item {
        width: 25%
    }

    .col-md-2 {
        width: 16.666666666666664%
    }

    .col-md-1 {
        width: 8.333333333333332%
    }

    .col-md-pull-12 {
        right: 100%
    }

    .col-md-pull-11 {
        right: 91.66666666666666%
    }

    .col-md-pull-10 {
        right: 83.33333333333334%
    }

    .col-md-pull-9 {
        right: 75%
    }

    .col-md-pull-8 {
        right: 66.66666666666666%
    }

    .col-md-pull-7 {
        right: 58.333333333333336%
    }

    .col-md-pull-6 {
        right: 50%
    }

    .col-md-pull-5 {
        right: 41.66666666666667%
    }

    .col-md-pull-4 {
        right: 33.33333333333333%
    }

    .col-md-pull-3 {
        right: 25%
    }

    .col-md-pull-2 {
        right: 16.666666666666664%
    }

    .col-md-pull-1 {
        right: 8.333333333333332%
    }

    .col-md-pull-0 {
        right: 0%
    }

    .col-md-push-12 {
        left: 100%
    }

    .col-md-push-11 {
        left: 91.66666666666666%
    }

    .col-md-push-10 {
        left: 83.33333333333334%
    }

    .col-md-push-9 {
        left: 75%
    }

    .col-md-push-8 {
        left: 66.66666666666666%
    }

    .col-md-push-7 {
        left: 58.333333333333336%
    }

    .col-md-push-6 {
        left: 50%
    }

    .col-md-push-5 {
        left: 41.66666666666667%
    }

    .col-md-push-4 {
        left: 33.33333333333333%
    }

    .col-md-push-3 {
        left: 25%
    }

    .col-md-push-2 {
        left: 16.666666666666664%
    }

    .col-md-push-1 {
        left: 8.333333333333332%
    }

    .col-md-push-0 {
        left: 0%
    }

    .col-md-offset-12 {
        margin-left: 100%
    }

    .col-md-offset-11 {
        margin-left: 91.66666666666666%
    }

    .col-md-offset-10 {
        margin-left: 83.33333333333334%
    }

    .col-md-offset-9 {
        margin-left: 75%
    }

    .col-md-offset-8 {
        margin-left: 66.66666666666666%
    }

    .col-md-offset-7 {
        margin-left: 58.333333333333336%
    }

    .col-md-offset-6 {
        margin-left: 50%
    }

    .col-md-offset-5 {
        margin-left: 41.66666666666667%
    }

    .col-md-offset-4 {
        margin-left: 33.33333333333333%
    }

    .col-md-offset-3 {
        margin-left: 25%
    }

    .col-md-offset-2 {
        margin-left: 16.666666666666664%
    }

    .col-md-offset-1 {
        margin-left: 8.333333333333332%
    }

    .col-md-offset-0 {
        margin-left: 0%
    }
}

@media (min-width: 1024px) {
    .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .album-item, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
        float: left
    }

    .col-lg-12 {
        width: 100%
    }

    .col-lg-11 {
        width: 91.66666666666666%
    }

    .col-lg-10 {
        width: 83.33333333333334%
    }

    .col-lg-9 {
        width: 75%
    }

    .col-lg-8 {
        width: 66.66666666666666%
    }

    .col-lg-7 {
        width: 58.333333333333336%
    }

    .col-lg-6 {
        width: 50%
    }

    .col-lg-5 {
        width: 41.66666666666667%
    }

    .col-lg-4, .album-item {
        width: 33.33333333333333%
    }

    .col-lg-3 {
        width: 25%
    }

    .col-lg-2 {
        width: 16.666666666666664%
    }

    .col-lg-1 {
        width: 8.333333333333332%
    }

    .col-lg-pull-12 {
        right: 100%
    }

    .col-lg-pull-11 {
        right: 91.66666666666666%
    }

    .col-lg-pull-10 {
        right: 83.33333333333334%
    }

    .col-lg-pull-9 {
        right: 75%
    }

    .col-lg-pull-8 {
        right: 66.66666666666666%
    }

    .col-lg-pull-7 {
        right: 58.333333333333336%
    }

    .col-lg-pull-6 {
        right: 50%
    }

    .col-lg-pull-5 {
        right: 41.66666666666667%
    }

    .col-lg-pull-4 {
        right: 33.33333333333333%
    }

    .col-lg-pull-3 {
        right: 25%
    }

    .col-lg-pull-2 {
        right: 16.666666666666664%
    }

    .col-lg-pull-1 {
        right: 8.333333333333332%
    }

    .col-lg-pull-0 {
        right: 0%
    }

    .col-lg-push-12 {
        left: 100%
    }

    .col-lg-push-11 {
        left: 91.66666666666666%
    }

    .col-lg-push-10 {
        left: 83.33333333333334%
    }

    .col-lg-push-9 {
        left: 75%
    }

    .col-lg-push-8 {
        left: 66.66666666666666%
    }

    .col-lg-push-7 {
        left: 58.333333333333336%
    }

    .col-lg-push-6 {
        left: 50%
    }

    .col-lg-push-5 {
        left: 41.66666666666667%
    }

    .col-lg-push-4 {
        left: 33.33333333333333%
    }

    .col-lg-push-3 {
        left: 25%
    }

    .col-lg-push-2 {
        left: 16.666666666666664%
    }

    .col-lg-push-1 {
        left: 8.333333333333332%
    }

    .col-lg-push-0 {
        left: 0%
    }

    .col-lg-offset-12 {
        margin-left: 100%
    }

    .col-lg-offset-11 {
        margin-left: 91.66666666666666%
    }

    .col-lg-offset-10 {
        margin-left: 83.33333333333334%
    }

    .col-lg-offset-9 {
        margin-left: 75%
    }

    .col-lg-offset-8 {
        margin-left: 66.66666666666666%
    }

    .col-lg-offset-7 {
        margin-left: 58.333333333333336%
    }

    .col-lg-offset-6 {
        margin-left: 50%
    }

    .col-lg-offset-5 {
        margin-left: 41.66666666666667%
    }

    .col-lg-offset-4 {
        margin-left: 33.33333333333333%
    }

    .col-lg-offset-3 {
        margin-left: 25%
    }

    .col-lg-offset-2 {
        margin-left: 16.666666666666664%
    }

    .col-lg-offset-1 {
        margin-left: 8.333333333333332%
    }

    .col-lg-offset-0 {
        margin-left: 0%
    }
}

.clearfix:before, .clearfix-relative:before, .dialog .button-container:before, .main-nav-container-inner:before, .clearfix:after, .clearfix-relative:after, .dialog .button-container:after, .main-nav-container-inner:after {
    content: " ";
    display: table
}

.clearfix:after, .clearfix-relative:after, .dialog .button-container:after, .main-nav-container-inner:after {
    clear: both
}

.center-block, .page {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.pull-right {
    float: right !important
}

.pull-left {
    float: left !important
}

.hide {
    display: none !important
}

.show {
    display: block !important
}

.invisible {
    visibility: hidden
}

.text-hide {
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0
}

.hidden {
    display: none !important;
    visibility: hidden !important
}

.affix {
    position: fixed
}

@-ms-viewport {
    width: device-width
}

.visible-xs, tr.visible-xs, th.visible-xs, td.visible-xs {
    display: none !important
}

@media (max-width: 639px) {
    .visible-xs {
        display: block !important
    }

    table.visible-xs {
        display: table
    }

    tr.visible-xs {
        display: table-row !important
    }

    th.visible-xs, td.visible-xs {
        display: table-cell !important
    }
}

@media (min-width: 640px) and (max-width: 767px) {
    .visible-xs.visible-sm {
        display: block !important
    }

    table.visible-xs.visible-sm {
        display: table
    }

    tr.visible-xs.visible-sm {
        display: table-row !important
    }

    th.visible-xs.visible-sm, td.visible-xs.visible-sm {
        display: table-cell !important
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .visible-xs.visible-md {
        display: block !important
    }

    table.visible-xs.visible-md {
        display: table
    }

    tr.visible-xs.visible-md {
        display: table-row !important
    }

    th.visible-xs.visible-md, td.visible-xs.visible-md {
        display: table-cell !important
    }
}

@media (min-width: 1024px) {
    .visible-xs.visible-lg {
        display: block !important
    }

    table.visible-xs.visible-lg {
        display: table
    }

    tr.visible-xs.visible-lg {
        display: table-row !important
    }

    th.visible-xs.visible-lg, td.visible-xs.visible-lg {
        display: table-cell !important
    }
}

.visible-sm, tr.visible-sm, th.visible-sm, td.visible-sm {
    display: none !important
}

@media (max-width: 639px) {
    .visible-sm.visible-xs {
        display: block !important
    }

    table.visible-sm.visible-xs {
        display: table
    }

    tr.visible-sm.visible-xs {
        display: table-row !important
    }

    th.visible-sm.visible-xs, td.visible-sm.visible-xs {
        display: table-cell !important
    }
}

@media (min-width: 640px) and (max-width: 767px) {
    .visible-sm {
        display: block !important
    }

    table.visible-sm {
        display: table
    }

    tr.visible-sm {
        display: table-row !important
    }

    th.visible-sm, td.visible-sm {
        display: table-cell !important
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .visible-sm.visible-md {
        display: block !important
    }

    table.visible-sm.visible-md {
        display: table
    }

    tr.visible-sm.visible-md {
        display: table-row !important
    }

    th.visible-sm.visible-md, td.visible-sm.visible-md {
        display: table-cell !important
    }
}

@media (min-width: 1024px) {
    .visible-sm.visible-lg {
        display: block !important
    }

    table.visible-sm.visible-lg {
        display: table
    }

    tr.visible-sm.visible-lg {
        display: table-row !important
    }

    th.visible-sm.visible-lg, td.visible-sm.visible-lg {
        display: table-cell !important
    }
}

.visible-md, tr.visible-md, th.visible-md, td.visible-md {
    display: none !important
}

@media (max-width: 639px) {
    .visible-md.visible-xs {
        display: block !important
    }

    table.visible-md.visible-xs {
        display: table
    }

    tr.visible-md.visible-xs {
        display: table-row !important
    }

    th.visible-md.visible-xs, td.visible-md.visible-xs {
        display: table-cell !important
    }
}

@media (min-width: 640px) and (max-width: 767px) {
    .visible-md.visible-sm {
        display: block !important
    }

    table.visible-md.visible-sm {
        display: table
    }

    tr.visible-md.visible-sm {
        display: table-row !important
    }

    th.visible-md.visible-sm, td.visible-md.visible-sm {
        display: table-cell !important
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .visible-md {
        display: block !important
    }

    table.visible-md {
        display: table
    }

    tr.visible-md {
        display: table-row !important
    }

    th.visible-md, td.visible-md {
        display: table-cell !important
    }
}

@media (min-width: 1024px) {
    .visible-md.visible-lg {
        display: block !important
    }

    table.visible-md.visible-lg {
        display: table
    }

    tr.visible-md.visible-lg {
        display: table-row !important
    }

    th.visible-md.visible-lg, td.visible-md.visible-lg {
        display: table-cell !important
    }
}

.visible-lg, tr.visible-lg, th.visible-lg, td.visible-lg {
    display: none !important
}

@media (max-width: 639px) {
    .visible-lg.visible-xs {
        display: block !important
    }

    table.visible-lg.visible-xs {
        display: table
    }

    tr.visible-lg.visible-xs {
        display: table-row !important
    }

    th.visible-lg.visible-xs, td.visible-lg.visible-xs {
        display: table-cell !important
    }
}

@media (min-width: 640px) and (max-width: 767px) {
    .visible-lg.visible-sm {
        display: block !important
    }

    table.visible-lg.visible-sm {
        display: table
    }

    tr.visible-lg.visible-sm {
        display: table-row !important
    }

    th.visible-lg.visible-sm, td.visible-lg.visible-sm {
        display: table-cell !important
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .visible-lg.visible-md {
        display: block !important
    }

    table.visible-lg.visible-md {
        display: table
    }

    tr.visible-lg.visible-md {
        display: table-row !important
    }

    th.visible-lg.visible-md, td.visible-lg.visible-md {
        display: table-cell !important
    }
}

@media (min-width: 1024px) {
    .visible-lg {
        display: block !important
    }

    table.visible-lg {
        display: table
    }

    tr.visible-lg {
        display: table-row !important
    }

    th.visible-lg, td.visible-lg {
        display: table-cell !important
    }
}

.hidden-xs, .photo-section-title-container button {
    display: block !important
}

table.hidden-xs {
    display: table
}

tr.hidden-xs {
    display: table-row !important
}

th.hidden-xs, td.hidden-xs {
    display: table-cell !important
}

@media (max-width: 639px) {
    .hidden-xs, .photo-section-title-container button, tr.hidden-xs, th.hidden-xs, td.hidden-xs {
        display: none !important
    }
}

@media (min-width: 640px) and (max-width: 767px) {
    .hidden-xs.hidden-sm, .photo-section-title-container button.hidden-sm, tr.hidden-xs.hidden-sm, th.hidden-xs.hidden-sm, td.hidden-xs.hidden-sm {
        display: none !important
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .hidden-xs.hidden-md, button.hidden-xs.main-nav, .photo-section-title-container button.main-nav, .photo-section-title-container button.hidden-md, tr.hidden-xs.hidden-md, th.hidden-xs.hidden-md, td.hidden-xs.hidden-md {
        display: none !important
    }
}

@media (min-width: 1024px) {
    .hidden-xs.hidden-lg, button.hidden-xs.main-nav, .photo-section-title-container button.main-nav, .photo-section-title-container button.hidden-lg, tr.hidden-xs.hidden-lg, th.hidden-xs.hidden-lg, td.hidden-xs.hidden-lg {
        display: none !important
    }
}

.hidden-sm {
    display: block !important
}

table.hidden-sm {
    display: table
}

tr.hidden-sm {
    display: table-row !important
}

th.hidden-sm, td.hidden-sm {
    display: table-cell !important
}

@media (max-width: 639px) {
    .hidden-sm.hidden-xs, .photo-section-title-container button.hidden-sm, tr.hidden-sm.hidden-xs, th.hidden-sm.hidden-xs, td.hidden-sm.hidden-xs {
        display: none !important
    }
}

@media (min-width: 640px) and (max-width: 767px) {
    .hidden-sm, tr.hidden-sm, th.hidden-sm, td.hidden-sm {
        display: none !important
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .hidden-sm.hidden-md, button.hidden-sm.main-nav, tr.hidden-sm.hidden-md, th.hidden-sm.hidden-md, td.hidden-sm.hidden-md {
        display: none !important
    }
}

@media (min-width: 1024px) {
    .hidden-sm.hidden-lg, button.hidden-sm.main-nav, tr.hidden-sm.hidden-lg, th.hidden-sm.hidden-lg, td.hidden-sm.hidden-lg {
        display: none !important
    }
}

.hidden-md, button.main-nav {
    display: block !important
}

table.hidden-md {
    display: table
}

tr.hidden-md {
    display: table-row !important
}

th.hidden-md, td.hidden-md {
    display: table-cell !important
}

@media (max-width: 639px) {
    .hidden-md.hidden-xs, button.hidden-xs.main-nav, .photo-section-title-container button.main-nav, .photo-section-title-container button.hidden-md, tr.hidden-md.hidden-xs, th.hidden-md.hidden-xs, td.hidden-md.hidden-xs {
        display: none !important
    }
}

@media (min-width: 640px) and (max-width: 767px) {
    .hidden-md.hidden-sm, button.hidden-sm.main-nav, tr.hidden-md.hidden-sm, th.hidden-md.hidden-sm, td.hidden-md.hidden-sm {
        display: none !important
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .hidden-md, button.main-nav, tr.hidden-md, th.hidden-md, td.hidden-md {
        display: none !important
    }
}

@media (min-width: 1024px) {
    .hidden-md.hidden-lg, button.main-nav, tr.hidden-md.hidden-lg, th.hidden-md.hidden-lg, td.hidden-md.hidden-lg {
        display: none !important
    }
}

.hidden-lg, button.main-nav {
    display: block !important
}

table.hidden-lg {
    display: table
}

tr.hidden-lg {
    display: table-row !important
}

th.hidden-lg, td.hidden-lg {
    display: table-cell !important
}

@media (max-width: 639px) {
    .hidden-lg.hidden-xs, button.hidden-xs.main-nav, .photo-section-title-container button.main-nav, .photo-section-title-container button.hidden-lg, tr.hidden-lg.hidden-xs, th.hidden-lg.hidden-xs, td.hidden-lg.hidden-xs {
        display: none !important
    }
}

@media (min-width: 640px) and (max-width: 767px) {
    .hidden-lg.hidden-sm, button.hidden-sm.main-nav, tr.hidden-lg.hidden-sm, th.hidden-lg.hidden-sm, td.hidden-lg.hidden-sm {
        display: none !important
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .hidden-lg.hidden-md, button.main-nav, tr.hidden-lg.hidden-md, th.hidden-lg.hidden-md, td.hidden-lg.hidden-md {
        display: none !important
    }
}

@media (min-width: 1024px) {
    .hidden-lg, button.main-nav, tr.hidden-lg, th.hidden-lg, td.hidden-lg {
        display: none !important
    }
}

.visible-print, tr.visible-print, th.visible-print, td.visible-print {
    display: none !important
}

@media print {
    .visible-print {
        display: block !important
    }

    table.visible-print {
        display: table
    }

    tr.visible-print {
        display: table-row !important
    }

    th.visible-print, td.visible-print {
        display: table-cell !important
    }

    .hidden-print, tr.hidden-print, th.hidden-print, td.hidden-print {
        display: none !important
    }
}

html {
    height: 100%;
    font-size: 100%;
    margin: 0
}

body {
    height: 100%;
    font-family: OsloLightRegular;
    font-size: 10px;
    margin: 0
}

ul {
    margin: 0;
    padding: 0
}

li {
    list-style: none
}

a:hover {
    text-decoration: none
}

.center, .dialog .dialog-region {
    float: none;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.center-vertical-horizontal {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto
}

.clearfix-relative {
    position: relative
}

.blank-seperator {
    width: 100%;
    height: 16px
}

.seperator, .form-seperator {
    width: 100%;
    height: 1px;
    margin-top: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #eee
}

.fill-parent {
    height: 100%
}

input {
    height: 40px;
    outline: none
}

input[type="text"], input[type="password"], textarea {
    width: 100%;
    padding: 0 1em;
    margin-bottom: 1em;
    -webkit-appearance: none;
    border-radius: 0;
    border: 1px solid #e9e9e9;
    background-color: #fff;
    color: #1f1f1f;
    font-size: 1.4em;
    font-weight: 300
}

input[type="text"]:disabled, input[type="password"]:disabled, textarea:disabled {
    opacity: 0.4
}

textarea {
    resize: none;
    padding: 0.6em 0.8em
}

::-webkit-input-placeholder {
    color: #c3c3c3
}

:-moz-placeholder {
    color: #c3c3c3
}

::-moz-placeholder {
    color: #c3c3c3
}

:-ms-input-placeholder {
    color: #c3c3c3
}

label {
    display: inline-block;
    height: 40px;
    line-height: 40px;
    font-size: 1.4em;
    color: #767676
}

p {
    font-size: 1.4em;
    margin-top: 4px
}

p.instructions {
    font-size: 1.4em;
    color: #888
}

.checkbox-container.no-label {
    width: 22px;
    height: 22px
}

input[type="checkbox"] {
    margin-right: 0.6em
}

input[type="checkbox"].checkbox {
    display: none
}

label.checkbox:before {
    float: left;
    content: '';
    width: 22px;
    height: 100%;
    background: transparent url(../images/icon_uncheck.png) no-repeat center;
    margin-right: 0.4em
}

label.checkbox {
    height: 22px;
    line-height: 22px
}

input[type="checkbox"].checkbox:checked + label:before {
    content: '';
    background: transparent url(../images/icon_check.png) no-repeat center
}

input[type="radio"].tick {
    display: none
}

label.tick {
    float: left
}

label.tick:before {
    content: '';
    float: left;
    width: 22px;
    height: 100%;
    background: transparent url(../images/icon_untick.png) no-repeat center;
    margin-right: 10px
}

input[type="radio"].tick:checked + label:before {
    content: '';
    background: transparent url(../images/icon_tick.png) no-repeat center;
    width: 22px;
    height: 100%;
    margin-right: 10px
}

input[type="text"].date-input {
    background: #fff url(../images/icon_date.png) left no-repeat;
    background-position: 14px center;
    padding-left: 50px !important
}

input[type="text"].location-input {
    background: #fff url(../images/icon_location.png) left no-repeat;
    background-position: 14px center;
    padding-left: 50px !important
}

.dropdown-container {
    position: relative
}

.caret {
    position: absolute;
    right: 6px;
    top: 0;
    line-height: 42px
}

.dropdown {
    position: absolute;
    top: 39px;
    width: 100%;
    background-color: white;
    font-size: 14px;
    border: 1px solid #eee;
    max-height: 260px;
    overflow-y: scroll;
    z-index: 1060
}

.dropdown a {
    display: block;
    padding: 1em;
    border-bottom: solid 1px #eee
}

.dropdown a:hover {
    background-color: #f9f9f9;
    text-decoration: none
}

.grouped-inputs > input:first-child {
    margin-bottom: -1px
}

.clear-padding-right {
    padding-right: 0
}

.clear-padding-left {
    padding-left: 0px;
    margin-left: -1px;
    padding-right: 9px
}

.form-group-header {
    height: 34px
}

.form-group-header h5 {
    margin: 0;
    height: 34px;
    line-height: 34px
}

.form-group-header label {
    height: 34px;
    line-height: 34px
}

.input-group {
    position: relative;
    display: table;
    border-collapse: separate
}

.input-group input {
    display: table-cell;
    width: 100%;
    margin-bottom: 0
}

.input-group-addon {
    display: table-cell;
    background-color: #eee;
    font-size: 1.3em;
    width: 1%;
    height: 40px;
    padding: 12px 12px 10px 12px
}

input[type="text"].invalid, input[type="password"].invalid, textarea.invalid {
    border-color: red;
    color: red
}

.message {
    font-size: 12px;
    color: red;
    margin-top: 4px;
    text-align: right
}

.form-seperator {
    margin-top: 10px
}

.dialog {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.5);
    color: #333 !important;
    font-family: HelveticaNeue-Light, Helvetica, Arial, sans-serif;
    z-index: 7000;
    overflow-x: hidden;
    overflow-y: auto
}

.dialog a, .dialog a:hover {
    color: #333 !important;
    font-family: HelveticaNeue-Light, Helvetica, Arial, sans-serif
}

.dialog .dialog-region {
    max-width: 360px;
    margin-top: 40px;
    margin-bottom: 40px
}

.dialog .dialog-region.sm {
    max-width: 480px
}

.dialog .dialog-region.md {
    max-width: 640px
}

.dialog .dialog-region.lg {
    max-width: 960px
}

@media (max-width: 767px) {
    .dialog .dialog-region {
        margin-top: 0
    }
}

.dialog .dialog-content {
    background-color: #fdfdfd;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -khtml-border-radius: 4px;
    border-radius: 4px
}

.dialog .dialog-header {
    position: relative;
    padding: 10px 0 10px 20px;
    border-bottom: 1px solid #f0f0f0
}

.dialog .dialog-header .logo {
    margin-top: 20px;
    margin-bottom: 20px
}

.dialog .dialog-header button.close {
    position: absolute;
    right: 10px;
    top: 10px
}

.dialog .dialog-body.has-vertical-padding {
    padding-top: 20px;
    padding-bottom: 15px
}

.dialog .dialog-body.has-horizontal-padding {
    padding-left: 20px;
    padding-right: 20px
}

.dialog .dialog-body.has-padding {
    padding: 20px 20px 15px 20px
}

.dialog .content-scrollable {
    overflow-y: auto;
    max-height: 400px
}

.dialog .button-container {
    padding: 20px;
    border-top: 1px solid #eee
}

.dialog .button-container a {
    float: left;
    font-size: 1.3em;
    line-height: 32px
}

.dialog .button-container button {
    float: right;
    margin-right: 6px
}

.dialog .button-container button:first-of-type {
    margin-right: 0
}

.dialog.rsvp {
    z-index: 10000;
    font-size: 0.88em;
    font-family: HelveticaNeue-Light, Helvetica, Arial, sans-serif
}

.dialog.rsvp .dialog-region {
    max-width: 420px
}

.dialog.rsvp input[type="text"] {
    font-weight: normal;
    font-size: 12px
}

.dialog.rsvp a {
    display: inline-block;
    font-size: 13px;
    cursor: pointer
}

.rsvp-instructions {
    font-size: 12px
}

.rsvp-guest-container {
    border-top: 1px solid #eee;
    padding: 10px 0
}

.rsvp-guest-container:first-of-type {
    border-top-width: 0
}

.rsvp-name-container {
    padding-top: 8px;
    margin-left: -20px;
    margin-right: -20px;
    padding-left: 10px;
    padding-right: 10px
}

.rsvp-event-container {
    margin-top: 10px;
    margin-left: -20px;
    margin-right: -20px;
    padding-left: 10px;
    padding-right: 10px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden
}

.rsvp-subtitle {
    margin-bottom: 6px;
    text-transform: uppercase;
    font-size: 13px;
    color: #666;
    font-weight: bold
}

.rsvp-button {
    margin-top: 4px;
    height: 32px;
    line-height: 32px;
    font-size: 1.2em;
    float: left;
    padding-left: 18px;
    padding-right: 18px;
    margin-bottom: 10px;
    width: 50%;
    background-color: white;
    text-align: center;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
    color: #aaa;
    background-color: #f6f6f6;
    cursor: pointer
}

.rsvp-event-container span:first-of-type .rsvp-button {
    -webkit-border-top-left-radius: 4px;
    -moz-border-radius-topleft: 4px;
    -khtml-border-radius-topleft: 4px;
    border-top-left-radius: 4px;
    -webkit-border-bottom-left-radius: 4px;
    -moz-border-radius-bottomleft: 4px;
    -khtml-border-radius-bottomleft: 4px;
    border-bottom-left-radius: 4px;
    border-left: 1px solid #ddd
}

.rsvp-event-container span:last-of-type .rsvp-button {
    -webkit-border-top-right-radius: 4px;
    -moz-border-radius-topright: 4px;
    -khtml-border-radius-topright: 4px;
    border-top-right-radius: 4px;
    -webkit-border-bottom-right-radius: 4px;
    -moz-border-radius-bottomright: 4px;
    -khtml-border-radius-bottomright: 4px;
    border-bottom-right-radius: 4px
}

.select-rsvp-meal {
    height: 40px;
    padding: 0px 12px;
    margin-bottom: 10px;
    background-color: #fff;
    font-size: 12px;
    line-height: 20px;
    color: #555555;
    vertical-align: middle;
    display: block;
    width: 100%;
    border-radius: 0px 0px 0px;
    border: 1px solid #e9e9e9;
    -webkit-appearance: none
}

.select-rsvp-meal:disabled {
    opacity: 0.4;
    font-size: 12px;
    -webkit-appearance: none
}

input[type="radio"] {
    display: none
}

label.rsvp-button {
    cursor: pointer
}

input:checked ~ label {
    background-color: white;
    color: #aaa;
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.2) inset;
    -moz-box-shadow: 0 0 1px rgba(0, 0, 0, 0.2) inset;
    box-shadow: 0 0 1px rgba(0, 0, 0, 0.2) inset
}

button.close {
    font-family: HelveticaNeue, Helvetica, Arial, 'Source Sans Pro', sans-serif;
    font-size: 20px;
    background-color: transparent;
    border: none;
    color: #c3c3c3;
    line-height: 1em
}

div#valid-error {
    padding: 0 20px;
    font-size: 12px;
    color: red;
    margin-top: 4px
}

.caret-rsvp {
    right: 20px
}

span#remove-last {
    font-size: 13px;
    float: right;
    margin-right: 3px;
    cursor: pointer
}

button.rsvp {
    visibility: hidden !important;
    display: none !important;
    position: absolute;
    right: 0;
    top: -6px
}

html {
    font-size: 100%;
    height: 100%
}

body {
    font-size: 10px;
    min-height: 100%
}

input {
    outline: none
}

ul {
    margin: 0;
    padding: 0
}

li {
    list-style: none
}

p {
    margin: 0;
    padding: 0;
    font-size: 1.4em
}

body {
    min-height: 100%
}

h1, h2, h3, h4, h5, h6 {
    padding: 0;
    font-weight: 300;
    font-style: normal;
    color: #555;
    text-rendering: optimizeLegibility
}

h2 {
    font-size: 3em;
    margin: 0.25em 0
}

h3 {
    font-size: 2.4em;
    margin: 0.2em 0 0.6em 0
}

h4 {
    font-size: 2em;
    margin: 0.2em 0
}

h5 {
    font-size: 1.5em;
    margin: 0.6em 0
}

h6 {
    font-size: 1.8em;
    margin: 0.6em 0
}

button {
    display: inline-block;
    padding: 0.46em 1.23em;
    outline: 0
}

#main-container {
    position: relative;
    min-height: 100%;
    padding-bottom: 12%
}

#main-container.details-page #content, #main-container.registry-page #content, #main-container.photos-page #content, #main-container.rsvp-page #content {
    margin-top: 0
}

#main-container.details-page #header, #main-container.registry-page #header, #main-container.photos-page #header, #main-container.rsvp-page #header {
    visibility: hidden !important;
    display: none !important
}

#main-container.details-page #main-nav-container, #main-container.registry-page #main-nav-container, #main-container.photos-page #main-nav-container {
    margin-bottom: 0
}

#main-container-background {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-position: center
}

#main-container-foreground {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 0;
    background-color: rgba(0, 0, 0, 0.5)
}

#content {
    margin-top: 60px
}

.theme-image-container, .theme-image-container-bottom {
    width: 100%;
    padding-bottom: 12%
}

.theme-image-container {
    position: relative
}

.theme-image-container-bottom {
    position: absolute;
    bottom: 0
}

.theme-image-container-left, .theme-image-container-right {
    width: 12%;
    max-width: 132px;
    position: fixed;
    top: 0;
    bottom: 0
}

.theme-image-container-right {
    right: 0
}

.theme-image, .theme-image-layer-top, .theme-image-bottom, .theme-image-left, .theme-image-right {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat
}

@media (min-width: 1200px) {
    #main-container {
        padding-bottom: 120px
    }

    .theme-image-container, .theme-image-container-bottom {
        padding: 0;
        height: 120px
    }
}

@media (max-width: 1199px) {
    .theme-image-left, .theme-image-right {
        visibility: hidden !important;
        display: none !important
    }

    #content {
        margin-top: 20px
    }
}

#main-nav-container {
    position: relative;
    padding-top: 30px;
    padding-bottom: 30px;
    width: 100%;
    text-align: center;
    z-index: 10000
}

#main-nav-container.fixed {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    background-color: white;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.17);
    -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.17);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.17)
}

.main-nav-container-inner {
    position: relative;
    max-width: 70%;
    margin-left: auto;
    margin-right: auto
}

#main-nav {
    display: block
}

#main-nav > ul > li {
    position: relative;
    display: inline-block;
    padding: 8px 12px;
    text-transform: uppercase
}

#main-nav > ul > li > ul {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    max-width: 320px;
    text-align: left;
    background-color: white;
    padding: 8px 24px 8px 12px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -khtml-border-radius: 2px;
    border-radius: 2px;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.17);
    -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.17);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.17);
    -webkit-transition: opacity 0.3s ease;
    -moz-transition: opacity 0.3s ease;
    -o-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease
}

#main-nav > ul > li:hover > ul {
    visibility: visible !important;
    opacity: 1
}

#main-nav > ul > li > ul > li {
    padding-top: 4px;
    padding-bottom: 4px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden
}

button.main-nav {
    margin-left: 6px;
    margin-right: 6px
}

@media (max-width: 767px) {
    #main-nav-container {
        position: relative;
        padding-top: 8px;
        padding-bottom: 8px
    }

    .main-nav-container-inner {
        max-width: 100%
    }

    #main-nav {
        visibility: hidden;
        display: none;
        margin-top: 10px
    }

    #main-nav.visible {
        visibility: visible;
        display: block
    }

    #main-nav > ul > li {
        display: block;
        padding: 6px 10px
    }

    #main-nav > ul > li:hover > ul {
        display: none !important;
        visibility: hidden !important
    }
}

@media (min-width: 768px) {
    .main-nav-container-inner {
        max-width: 90%
    }
}

@media (min-width: 1200px) {
    .main-nav-container-inner {
        max-width: 70%
    }
}

#header {
    position: relative;
    margin: auto
}

.header-background {
    visibility: hidden !important;
    display: none !important
}

#cover-image {
    position: relative;
    border: 15px solid white;
    padding-bottom: 50%;
    background-color: white;
    overflow: hidden
}

#cover-image img {
    position: absolute
}

@media (max-width: 767px) {
    #header {
        width: 100%
    }

    #cover-image {
        border-width: 8px
    }
}

@media (min-width: 768px) {
    #header {
        width: 90%
    }
}

@media (min-width: 1200px) {
    #header {
        width: 70%
    }
}

.footer {
    position: relative;
    width: 100%;
    height: 32px;
    line-height: 32px
}

.footer a, .footer a:hover {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif
}

.footer-text {
    text-align: center;
    font-size: 1em;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif
}

#wedding-title {
    margin: 6px 0 8px 0;
    line-height: 1
}

#wedding-date, #wedding-location {
    display: inline
}

#wedding-countdown {
    margin: 3px 1px;
    font-size: 1.6em
}

#title-container {
    position: relative;
    padding: 5px 10px 20px 0;
    text-align: center;
    background-color: white
}

@media (max-width: 767px) {
    #wedding-title {
        font-size: 28px !important
    }

    #wedding-date-location {
        font-size: 18px !important
    }

    #title-container {
        padding-bottom: 13px;
        padding-bottom: 13px
    }
}

.page {
    position: relative;
    margin-bottom: 1.5em;
    width: 70%
}

@media (max-width: 767px) {
    .page {
        width: 90%
    }
}

@media (min-width: 768px) {
    .page {
        width: 90%
    }
}

@media (min-width: 1200px) {
    .page {
        width: 70%
    }
}

.section, .event-section, .wedding-event-section, .wedding-party-section, .location-section, .registry-section, .album-section, .photo-section {
    position: relative
}

.section-title, .event-section-title, .wedding-event-section-title, .wedding-party-section-title, .location-section-title, .registry-section-title, .photo-section-title {
    max-width: 840px;
    margin: 0 auto;
    text-align: center;
    line-height: 1.5
}

.section-title-border-top, .event-section-title-border-top, .wedding-event-section-title-border-top, .wedding-party-section-title-border-top, .location-section-title-border-top, .registry-section-title-border-top, .album-section-title-border-top, .photo-section-title-border-top {
    background-position: center;
    width: 100%;
    max-width: 840px;
    margin: 0 auto
}

.section-title-border-bottom, .event-section-title-border-bottom, .wedding-event-section-title-border-bottom, .wedding-party-section-title-border-bottom, .location-section-title-border-bottom, .registry-section-title-border-bottom, .album-section-title-border-bottom, .photo-section-title-border-bottom {
    background-position: center;
    margin-bottom: 24px;
    width: 100%;
    max-width: 840px;
    margin: 0 auto 24px auto
}

.section-image-container, .wedding-event-section-image-container, .wedding-party-section-image-container, .location-section-image-container, .registry-section-image-container, .album-section-image-container, .photo-section-image-container {
    text-align: center;
    margin-top: 20px;
    margin-bottom: 30px
}

.section-image, .event-section-image, .wedding-event-section-image, .wedding-party-section-image, .location-section-image, .registry-section-image, .album-section-image, .photo-section-image {
    border: 16px solid white;
    max-height: 640px;
    max-width: 100%
}

.section-description, .item-description, .event-description, .wedding-event-description, .wedding-party-description, .location-description, .registry-note, .event-section-description, .wedding-event-section-description, .wedding-party-section-description, .location-section-description, .registry-section-description, .album-section-description, .photo-section-description {
    text-align: left;
    max-width: 840px;
    margin: 0 auto;
    font-size: 1.4em
}

.section-description p, .item-description p, .event-description p, .wedding-event-description p, .wedding-party-description p, .location-description p, .registry-note p, .event-section-description p, .wedding-event-section-description p, .wedding-party-section-description p, .location-section-description p, .registry-section-description p, .album-section-description p, .photo-section-description p, .section-description a, .item-description a, .event-description a, .wedding-event-description a, .wedding-party-description a, .location-description a, .registry-note a, .event-section-description a, .wedding-event-section-description a, .wedding-party-section-description a, .location-section-description a, .registry-section-description a, .album-section-description a, .photo-section-description a, .section-description a:hover, .item-description a:hover, .event-description a:hover, .wedding-event-description a:hover, .wedding-party-description a:hover, .location-description a:hover, .registry-note a:hover, .event-section-description a:hover, .wedding-event-section-description a:hover, .wedding-party-section-description a:hover, .location-section-description a:hover, .registry-section-description a:hover, .album-section-description a:hover, .photo-section-description a:hover {
    font-size: 1em
}

.section-description ol, .item-description ol, .event-description ol, .wedding-event-description ol, .wedding-party-description ol, .location-description ol, .registry-note ol, .event-section-description ol, .wedding-event-section-description ol, .wedding-party-section-description ol, .location-section-description ol, .registry-section-description ol, .album-section-description ol, .photo-section-description ol {
    margin: 0;
    padding: 0
}

.section-description ol li, .item-description ol li, .event-description ol li, .wedding-event-description ol li, .wedding-party-description ol li, .location-description ol li, .registry-note ol li, .event-section-description ol li, .wedding-event-section-description ol li, .wedding-party-section-description ol li, .location-section-description ol li, .registry-section-description ol li, .album-section-description ol li, .photo-section-description ol li {
    text-align: left;
    list-style: decimal
}

.section-description ul li, .item-description ul li, .event-description ul li, .wedding-event-description ul li, .wedding-party-description ul li, .location-description ul li, .registry-note ul li, .event-section-description ul li, .wedding-event-section-description ul li, .wedding-party-section-description ul li, .location-section-description ul li, .registry-section-description ul li, .album-section-description ul li, .photo-section-description ul li {
    text-align: left;
    list-style: disc
}

.section-items, .event-section-items, .wedding-event-section-items, .wedding-party-section-items, .location-section-items, .album-section-items, .photo-section-items {
    max-width: 840px;
    margin: auto
}

.section-separator, .event-section-separator, .wedding-event-section-separator, .wedding-party-section-separator, .location-section-separator, .registry-section-separator, .album-section-separator, .photo-section-separator {
    max-width: 840px;
    margin: 40px auto;
    background-size: contain
}

.section-separator:last-of-type, .event-section-separator:last-of-type, .wedding-event-section-separator:last-of-type, .wedding-party-section-separator:last-of-type, .location-section-separator:last-of-type, .registry-section-separator:last-of-type, .album-section-separator:last-of-type, .photo-section-separator:last-of-type {
    visibility: hidden !important;
    display: none !important
}

@media (max-width: 767px) {
    .section-title, .event-section-title, .wedding-event-section-title, .wedding-party-section-title, .location-section-title, .registry-section-title, .photo-section-title {
        font-size: 24px !important
    }

    .section-title-border-bottom, .event-section-title-border-bottom, .wedding-event-section-title-border-bottom, .wedding-party-section-title-border-bottom, .location-section-title-border-bottom, .registry-section-title-border-bottom, .album-section-title-border-bottom, .photo-section-title-border-bottom {
        margin-bottom: 10px
    }

    .section-image-container, .wedding-event-section-image-container, .wedding-party-section-image-container, .location-section-image-container, .registry-section-image-container, .album-section-image-container, .photo-section-image-container {
        margin-top: 10px
    }

    .section-separator, .event-section-separator, .wedding-event-section-separator, .wedding-party-section-separator, .location-section-separator, .registry-section-separator, .album-section-separator, .photo-section-separator {
        margin: 30px auto
    }

    .section-image, .event-section-image, .wedding-event-section-image, .wedding-party-section-image, .location-section-image, .registry-section-image, .album-section-image, .photo-section-image {
        border-width: 6px
    }
}

.item, .event-item, .wedding-event-item, .location-item, .registry-item, .retailer-item {
    position: relative
}

.item-title, .event-title, .wedding-event-title, .location-title {
    text-align: center
}

.item-image-container, .event-image-container, .wedding-event-image-container, .location-image-container {
    text-align: center;
    margin-top: 20px;
    margin-bottom: 30px
}

.item-image, .event-image, .wedding-event-image, .location-image {
    border: 16px solid white;
    max-height: 640px;
    max-width: 100%
}

.item-description p:not(:first-of-type), .event-description p:not(:first-of-type), .wedding-event-description p:not(:first-of-type), .wedding-party-description p:not(:first-of-type), .location-description p:not(:first-of-type), .registry-note p:not(:first-of-type) {
    margin-top: 15px
}

.item-button-container, .event-button-container, .wedding-event-button-container, .wedding-party-button-container, .location-button-container {
    text-align: center;
    margin-top: 12px
}

.item-button-container a > button, .event-button-container a > button, .wedding-event-button-container a > button, .wedding-party-button-container a > button, .location-button-container a > button {
    margin-left: 6px
}

.item-button-container a:first-child > button, .event-button-container a:first-child > button, .wedding-event-button-container a:first-child > button, .wedding-party-button-container a:first-child > button, .location-button-container a:first-child > button {
    margin-left: 0
}

.item-separator, .event-separator, .wedding-event-separator, .location-separator {
    margin-top: 20px;
    margin-bottom: 20px
}

.item-separator:last-of-type, .event-separator:last-of-type, .wedding-event-separator:last-of-type, .location-separator:last-of-type {
    visibility: hidden !important;
    display: none !important
}

@media (max-width: 767px) {
    .item-title, .event-title, .wedding-event-title, .location-title {
        font-size: 20px !important
    }

    .item-image, .event-image, .wedding-event-image, .location-image {
        border-width: 6px
    }
}

.event-address, .event-venue, .event-attire, .event-date {
    text-align: center;
    font-size: 1.5em;
    line-height: 2
}

.event-button-container button {
    display: inline-block
}

.wedding-event-address, .wedding-event-venue, .wedding-event-attire, .wedding-event-date {
    text-align: center;
    font-size: 1.5em;
    line-height: 2
}

.wedding-event-button-container button {
    display: inline-block
}

.wedding-event-separator:last-of-type {
    display: block;
    visibility: visible
}

.wedding-party-item {
    position: relative
}

.wedding-party-title {
    text-align: left;
    font-size: 1.5em;
    margin-bottom: 8px
}

.wedding-party-image {
    padding-bottom: 100%;
    border-radius: 100%;
    background-size: cover;
    background-position: center
}

.wedding-party-description {
    font-size: 1.3em
}

.wedding-party-separator {
    margin-top: 6px;
    margin-bottom: 6px
}

.wedding-party-image-container {
    width: 110px;
    padding-right: 10px;
    display: table-cell
}

.wedding-party-content-container {
    display: table-cell;
    vertical-align: middle
}

@media (max-width: 767px) {
    .wedding-party-image-container {
        display: block;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 12px
    }

    .wedding-party-content-container {
        display: block
    }

    .wedding-party-title {
        text-align: center
    }
}

.location-address, .location-venue, .location-attire, .location-date {
    text-align: center;
    font-size: 1.5em;
    line-height: 2
}

.location-button-container button {
    display: inline-block
}

.registry-page-description {
    max-width: 840px;
    margin: 4px auto;
    font-size: 1.6em;
    line-height: 1.6
}

.registry-page-description p:not(:first-of-type) {
    margin-top: 15px
}

.registry-page-description p, .registry-page-description a, .registry-page-description a:hover {
    font-size: 1em
}

.registry-page-description ol {
    margin: 0;
    padding: 0
}

.registry-page-description ol li {
    text-align: left;
    list-style: decimal
}

.registry-page-description ul li {
    text-align: left;
    list-style: disc
}

.registry-note {
    text-align: center;
    font-size: 1.5em
}

.registry-note p, .registry-note a, .registry-note a:hover {
    font-size: 1em
}

.registry-note ol {
    margin: 0;
    padding: 0
}

.registry-note ol li {
    text-align: left;
    list-style: decimal
}

.registry-note ul li {
    text-align: left;
    list-style: disc
}

.registry-section {
    max-width: 960px;
    margin: 0 auto
}

.registry-section-title-border-top {
    visibility: hidden
}

.registry-section-title-border-bottom {
    margin-bottom: 15px;
    visibility: hidden
}

.registry-product-drawer {
    overflow: hidden;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.registry-item {
    text-align: center;
    cursor: pointer;
    margin-bottom: 20px
}

.registry-item-inner {
    background-color: #f3f3f3;
    padding-bottom: 8px;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.17);
    -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.17);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.17)
}

.registry-title {
    height: 44px;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 0.35em;
    margin-top: 8px;
    margin-bottom: 10px;
    overflow: hidden
}

.registry-title p {
    font-size: 15px !important;
    line-height: 1.4 !important;
    color: #666 !important;
    font-family: sans-serif !important
}

.registry-price {
    font-weight: 500;
    color: #2A93EE;
    font-size: 15px;
    padding-bottom: 0.35em;
    font-family: sans-serif
}

.registry-price-sold {
    font-weight: 500;
    color: #CCCCCC;
    font-size: 15px;
    padding-bottom: 0.35em;
    font-family: sans-serif
}

.registry-quantity {
    color: #878787;
    font-size: 13px;
    font-weight: 200;
    font-family: sans-serif
}

.registry-image {
    background-size: cover;
    width: 100%;
    padding-bottom: 110%;
    margin-bottom: 10px;
    cursor: pointer
}

.registry-separator {
    margin-top: 20px;
    margin-bottom: 20px
}

.registry-status {
    color: #878787;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    padding: 6px 12px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -khtml-border-radius: 3px;
    border-radius: 3px;
    font-family: HelveticaNeue-Light, Helvetica, Arial, sans-serif;
    font-size: 13px;
    margin: 10px 10px 2px 10px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden
}

a.registry-buy, a.registry-buy:hover {
    background-color: #2A93EE;
    color: white;
    padding: 6px 12px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -khtml-border-radius: 3px;
    border-radius: 3px;
    font-family: HelveticaNeue-Light, Helvetica, Arial, sans-serif;
    font-size: 13px;
    margin: 10px 10px 4px 10px;
    display: block
}

.retailer-section-items {
    text-align: center;
    max-width: none
}

.retailer-item {
    text-align: center;
    cursor: pointer;
    margin-bottom: 20px;
    display: inline-block;
    float: none
}

.retailer-item-inner {
    background-color: #fff;
    padding: 10px;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.17);
    -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.17);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.17)
}

.retailer-title {
    position: relative;
    width: 100%;
    padding-bottom: 40%;
    font-size: 18px;
    line-height: 1.4;
    color: #666
}

.retailer-title-inner {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0
}

.registry-more-container {
    text-align: center
}

.registry-more-container .registry-more-button {
    font-size: 12px !important;
    font-weight: 200 !important;
    border-style: solid !important;
    border-width: 1px !important;
    border-radius: 1.7em !important;
    display: inline-block !important;
    padding: 0.4em 1.2em !important;
    text-transform: uppercase !important;
    font-family: sans-serif !important;
    line-height: 1.7 !important;
    cursor: pointer !important
}

.table {
    display: table;
    position: absolute;
    height: 100%;
    width: 100%
}

.table-cell {
    display: table-cell;
    vertical-align: middle
}

.table-cell-inner {
    margin-left: auto;
    margin-right: auto
}

.album-section-title-border-top {
    visibility: hidden
}

.album-section-title-border-bottom {
    margin-bottom: 6px;
    visibility: hidden
}

.album-section-items {
    text-align: center;
    max-width: none
}

.album-item {
    margin-bottom: 20px
}

.album-item-inner {
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.17);
    cursor: pointer
}

.album-image {
    background-size: cover;
    background-position: center;
    border: 10px white solid;
    border-bottom: none;
    padding-bottom: 80%
}

.album-description {
    background-color: white;
    padding: 0 10px;
    height: 80px;
    line-height: 80px;
    text-align: center;
    font-size: 1.6em;
    color: #666;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden
}

.photo-section-title-container {
    position: relative
}

.photo-section-title-container button {
    position: absolute;
    bottom: 14px;
    left: 4px
}

.photo-section-title {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden
}

.photo-section-title-border-top {
    visibility: hidden
}

.photo-section-title-border-bottom {
    margin-bottom: 6px;
    visibility: hidden
}

.photo-section-items {
    max-width: none
}

.photo-section .col-sm-4 {
    margin: 0;
    padding-left: 4px;
    padding-right: 4px
}

.photo-item {
    position: relative;
    margin-top: 8px;
    border: 10px solid white;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.17);
    -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.17);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.17)
}

.photo-item .photo-description {
    margin-top: 8px;
    font-size: 12px;
    text-align: center;
}

img.photo-image {
    width: 100%;
    height: auto
}

@media (min-width: 768px) {
    .album-section-items {
        text-align: center
    }

    .album-item {
        margin-right: -4px;
        display: inline-block;
        float: none
    }
}

div.anchor {
    padding-top: 110px;
    margin-top: -110px;
    width: 1px; /* '0' will not work for Opera */
    display: inline-block;
}