/* Eric Meyer's CSS reset (http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded) */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; outline: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; }
body { line-height: 1; color: black; background: white; }
ol, ul { list-style: none; }
table { border-collapse: separate; border-spacing: 0; }
caption, th, td { text-align: left; font-weight: normal; }
blockquote:before, blockquote:after, q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }

/* Clearfix (http://www.positioniseverything.net/easyclearing.html) */
.group:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.group { display: inline-block; }
/* \*/
* html .group {height: 1%; }
.group { display: block; }
/* */

/* Fonts (http://paulirish.com/2009/bulletproof-font-face-implementation-syntax/) (modified format declaration) */
@font-face {
    font-family: 'Hit the Road';
    src: url('/media/hit-the-road.eot?2b3b11f66997');
    src: local('Hit the Road'), local('Hit the Road'),
         url('/media/hit-the-road.ttf?2b3b11f66997');
}

/* Elements */
body {
    background-color: #000;
    color: #C7C7C7;
    font: 12px "Hit the Road", Sans-Serif;
    text-transform: uppercase;
}
body a {
    color: #000; text-decoration: underline; }
body p, #content li, .about-module p {
    color: #000;
    font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif !important;
    line-height: 1.5em;
    font-size: 15px !important;
    margin-top: 10px;
    margin-bottom: 20px;
    text-transform: none;
}
h1 {
    border-bottom: 6px solid #BBBBBB;
    color: #000;
    font-size: 30px;
    line-height: 35px;
    margin-bottom: 20px;
}
h2 {
    font-size: 24px;
    line-height: 22px;
    text-transform: uppercase;
}

/* Structure */
.frame { margin: 0 auto; padding: 0 10px; width: 940px; }

/* Header */
#header {
    background: #0D0D0D url('/media/images/header-bg.gif?2b3b11f66997') top left repeat-x;
    border-bottom: 6px solid #BBB;
    height: 78px;
}
#header .frame { position: relative; }
#header #logo { float: left; width: 320px; }
#header #logo img { left: 10px; position: absolute; top: 30px; }
#header #nav { float: left; width: 620px; }

/* Nav */
#nav li { display: inline; }
#nav li a {
    color: #6F6F6F;
    display: block;
    float: left;
    letter-spacing: .114em;
    text-decoration: none;
    padding: 62px 12px 3px 12px;
}
#nav li a:hover, #nav li a.active { color: #E7D9BF; }
#nav li a.first { padding-left: 0; }
#nav li a.last { padding-right: 0; }

/* Wedding Info */
#wedding-info { background-color: #FFF; padding-top: 17px; padding-bottom: 13px; }
#wedding-info .location { font-size: 17px; text-transform: uppercase; margin-left: 320px; line-height: 21px; }
#wedding-info .locations { float: left; margin-right: 10px; }
.wedding-date { color: #000; float: left; font-size: 48px; letter-spacing: .072em; line-height: 43px; }
.wedding-date em { color: #6F6F6F; }
.locations .ceremony { letter-spacing: .113em; }
.locations .reception { letter-spacing: .217em; }

/* Global */
#content { background-color: #FFF; padding-bottom: 20px; }
#content p { color: #000; font-size: 17px; text-transform: none; }
.error-page { font-size: 48px; }
.error-page em { color: #E7D9BF; }
.disabled { display: none; }

/* Homepage */
.homepage .montage li { display: inline; }
.homepage .montage li a {
    background: transparent url('/media/images/homepage-1.jpg?2b3b11f66997') top left no-repeat;
    border-right: 10px solid #E4D0AF;
    cursor: default;
    display: block;
    float: left;
    height: 322px;
    text-decoration: none;
}
.homepage .montage li a:hover { background-position: 0 -322px; }
.homepage .montage li a.homepage-1 { width: 310px; }
.homepage .montage li a.homepage-2 { background-image: url('/media/images/homepage-2.jpg?2b3b11f66997'); width: 150px; }
.homepage .montage li a.homepage-3 { background-image: url('/media/images/homepage-3.jpg?2b3b11f66997'); width: 230px; }
.homepage .montage li a.homepage-4 { background-image: url('/media/images/homepage-4.jpg?2b3b11f66997'); border-right: 0; width: 220px; }

/* Footer */
#footer .section { float: left; margin-right: 20px; margin-top: 17px; width: 300px; }
#footer .last { margin-right: 0; }
#footer .props span { color: #E7D9BF; display: inline !important; }
#footer .props {
    border-top: 1px solid #292929;
    color: #6F6F6F;
    display: block;
    font-size: 11px;
    margin: 20px auto;
    margin-bottom: 0;
    padding: 30px 0;
    text-align: center;
    text-decoration: none;
    width: 940px;
}
#footer .props:hover {
    background-color: #141414;
}
#footer .section a {
    color: #E7D9BF;
    border-bottom: 5px solid #000;
    display: block;
    font-size: 17px;
    line-height: 20px;
    padding-bottom: 5px;
    text-decoration: none;
}
#footer .section a img { margin-left: 2px; vertical-align: 2px; }
#footer a:hover span { color: #FFF; margin-top: 0; }
#footer a:hover { border-color: #E4D0AF; }
#footer a span { color: #6F6F6F; display: block; font-size: 11px; line-height: 14px; }

/* Wedding Party */
.wedding-party h1 { width: 935px; }
.wedding-party ul { list-style: none; margin: 0; padding: 0; background-color: #FFF; width: 940px; }
.wedding-party ul li { background-color: #FFF; float: left; padding: 0 4px 4px 0; display: block; margin: 0 !important; }
.wedding-party ul li a { border: 0; cursor: default; display: block; overflow: hidden; height: 300px; width: 123px; position: relative; text-decoration: none; }
.wedding-party ul li p { margin: 0; padding: 0; width: 299px; display: block; }
.wedding-party ul li img { border: 0; margin-left: -51px; }
.wedding-party ul li span { display: block; }
.wedding-party ul li .bio {
    background-color: rgba(0, 0, 0, .81);
    bottom: 0;
    color: #FFF;
    display: none;
    height: 57px;
    left: 0;
    padding: 15px;
    position: absolute;
    width: 270px;
}
.wedding-party .bio .person-name { font: bold 18px "Helvetica Neue", Helvetica, Arial, Sans-Serif; margin-bottom: 3px; }
.wedding-party .bio .person-title, .wedding-party .bio .person-class { font: bold 11px Helvetica, Arial, Sans-Serif; margin-bottom: 2px; }
.wedding-party .bio .person-class { color: #E7D9BF; margin-bottom: 7px; }
.wedding-party .bio .person-bio { font: 11px Arial, Sans-Serif; line-height: 14px; }
#a1, #a2 { width: 299px; }
#a1 span, #a2 span { display: block; }
#a1 img, #a2 img { margin-left: 0; }

/* Events */
.the-events .left, .the-events .right { float: left; width: 460px; }
.event-venue { font-size: 24px; line-height: 22px; }
.event-location { color: #DBDBDB; font-size: 18px; line-height: 18px; }
.event-location a { color: #DBDBDB; }
.event-location a:hover { color: #000000; }
h2 span { color: #E7D9BF; }
.venue-photo { margin-top: 20px; }
.the-events .right { margin-left: 20px; }

/* About Page */
.about-module {
    border-bottom: 1px solid #BBBBBB;
    margin-bottom: 20px;
    padding-bottom: 20px;
}
.about-module .left, .about-module .inset {
    float: left;
    width: 460px;
}
.about-module .inset { margin-left: 20px; }
#content .last {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}
.about-module h2 span { color: #E7D9BF; }

/* Colorbox */
.colorbox .content { padding: 15px; }

/* Accomodations */
.about-module p em { color: #C7C7C7; font-weight: bold; }
.about-module p strong { font-weight: bold; text-transform: uppercase; }

/* Guestbook */
div.guestbook { padding-bottom: 0 !important; }
.guestbook h2 {
    font: italic 24px Georgia, Sans-Serif;
    text-transform: none;
    margin-left: 320px;
    margin-bottom: 20px;
}
.guestbook li {
    border-top: 1px solid #BBBBBB;
    padding-top: 20px;
}
.guestbook li p {
    font: 15px 'Helvetica Neue', Helvetica, Arial, Sans-Serif;
}
.guestbook li dt, .guestbook dt input, .guestbook dd textarea {
    color: #BBBBBB;
    font-family: Georgia, Serif;
    font-size: 18px;
    font-style: italic;
    float: left;
    letter-spacing: -.04em;
    text-align: right;
    padding-right: 20px;
    width: 300px;
}
.guestbook li dt span {
    display: block;
    font: 10px "Hit the Road", Sans-Serif;
    margin-top: 3px;
    text-transform: uppercase;
}
.guestbook li dd {
    float: left;
    width: 620px;
}
.guestbook li dd p {
    margin-top: 0;
}
.guestbook li dd p:last-child { margin-bottom: 0; }
#contact-form input, .guestbook dt input {
    margin-left: 80px;
    padding: 5px 8px;
    width: 200px;
}
#contact-form textarea, #contact-form .fields input, .guestbook dt input, .guestbook dd textarea {
    background-color: #F0F0F0;
    border: 1px solid #A6A6A6;
    border-radius: 5px;
    border-bottom: 0;
    border-right: 0;
    color: #3D3D3D;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
}
#contact-form input {
    font: normal 15px 'Helvetica Neue', Helvetica, Sans-Serif;
}
#contact-form textarea, .guestbook dd textarea {
    height: 100px;
    font: normal 15px 'Helvetica Neue', Helvetica, Sans-Serif;
    margin: 0;
    padding: 5px;
    text-align: left;
    width: 609px;
}
.guestbook #submit {
    float: right;
    font: italic 15px Georgia, Serif;
    margin: 20px 0;
}
.add-comment {
    position: relative;
    margin-bottom: -5px !important;
}
#comment-modal, #contact-modal {
    background-color: rgb(255, 255, 255);
    background-color: rgba(255, 255, 255, .9);
    color: #000;
    font: italic 22px Georgia, Serif;
    padding-top: 60px;
    position: absolute;
    height: 115px;
    text-align: center;
    width: 100%;
}
#contact-modal {
    height: 137px !important;
    padding-top: 105px;
    width: 542px;
    z-index: 999;
}
dd.success { color: green; margin-bottom: 15px; }

/* Contact Form */
#contact-form { position: relative; }
#contact-form div { margin: 10px 0; }
#contact-form label {
    float: left;
    font-size: 16px;
    margin: 0;
    padding-top: 5px;
    width: 100px;
}
#contact-form input {
    margin: 0;
    width: 225px;
}
#contact-form textarea {
    float: left;
    padding: 5px 8px;
    width: 425px;
}
#contact-form #submit {
    float: right;
    width: auto;
}


/*
    ColorBox Core Style
    The following rules are the styles that are consistant between themes.
    Avoid changing this area to maintain compatability with future versions of ColorBox.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative; overflow:visible;}
#cboxLoadedContent{overflow:auto;}
#cboxLoadedContent iframe{display:block; width:100%; height:100%; border:0;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}

/* 
    ColorBox example user style
    The following rules are ordered and tabbed in a way that represents the
    order/nesting of the generated HTML, so that the structure easier to understand.
*/
#cboxOverlay{background:#000;}

#colorbox{}
    #cboxTopLeft{width:14px; height:14px; background:url('/media/images/controls.png?2b3b11f66997') 0 0 no-repeat;}
    #cboxTopCenter{height:14px; background:url('/media/images/border.png?2b3b11f66997') top left repeat-x;}
    #cboxTopRight{width:14px; height:14px; background:url('/media/images/controls.png?2b3b11f66997') -36px 0 no-repeat;}
    #cboxBottomLeft{width:14px; height:43px; background:url('/media/images/controls.png?2b3b11f66997') 0 -32px no-repeat;}
    #cboxBottomCenter{height:43px; background:url('/media/images/border.png?2b3b11f66997') bottom left repeat-x;}
    #cboxBottomRight{width:14px; height:43px; background:url('/media/images/controls.png?2b3b11f66997') -36px -32px no-repeat;}
    #cboxMiddleLeft{width:14px; background:url('/media/images/controls.png?2b3b11f66997') -175px 0 repeat-y;}
    #cboxMiddleRight{width:14px; background:url('/media/images/controls.png?2b3b11f66997') -211px 0 repeat-y;}
    #cboxContent{background:#fff;}
        #cboxLoadedContent{margin-bottom:5px;}
        #cboxLoadingOverlay{background:url('/media/images/loading_background.png?2b3b11f66997') center center no-repeat;}
        #cboxLoadingGraphic{background:url('/media/images/loading.gif?2b3b11f66997') center center no-repeat;}
        #cboxTitle{position:absolute; bottom:-25px; left:0; text-align:center; width:100%; font-weight:bold; color:#7C7C7C;}
        #cboxCurrent{position:absolute; bottom:-25px; left:58px; font-weight:bold; color:#7C7C7C;}
        
        #cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{position:absolute; bottom:-29px; background:url('/media/images/controls.png?2b3b11f66997') 0px 0px no-repeat; width:23px; height:23px; text-indent:-9999px;}
        #cboxPrevious{left:0px; background-position: -51px -25px;}
        #cboxPrevious.hover{background-position:-51px 0px;}
        #cboxNext{left:27px; background-position:-75px -25px;}
        #cboxNext.hover{background-position:-75px 0px;}
        #cboxClose{right:0; background-position:-100px -25px;}
        #cboxClose.hover{background-position:-100px 0px;}
        
        .cboxSlideshow_on #cboxSlideshow{background-position:-125px 0px; right:27px;}
        .cboxSlideshow_on #cboxSlideshow.hover{background-position:-150px 0px;}
        .cboxSlideshow_off #cboxSlideshow{background-position:-150px -25px; right:27px;}
        .cboxSlideshow_off #cboxSlideshow.hover{background-position:-125px 0px;}