/* http://paulirish.com/2012/box-sizing-border-box-ftw/ */
/* apply a natural box layout model to all elements */
* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

/* 960 clearfix */
.clearfix:after{clear:both;content:' ';display:block;font-size:0;line-height:0;visibility:hidden;width:0;height:0}* html .clearfix,*:first-child+html .clearfix{zoom:1}

/* Apple */
body { font: 12px/18px "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif; background-color: transparent; color: #333; -webkit-font-smoothing: antialiased; }
a { color: #08C; text-decoration: none; }
a:hover { text-decoration: underline; }
h2 { font-size: 32px; font-weight: normal; line-height: 32px; margin: 1px 0 20px 7px; padding: 0; color: black; }
h3 { font-size: 1.7142em; font-weight: normal; line-height: 1.1666em; margin: 5px 0 1em 0; }
h4 { font-size: 1.4142em; font-weight: normal; line-height: 1; margin: 3px 0 0.5em 0; }
article { font-size: 1.167em; line-height: 1.4285em; color: #333; word-spacing: -1px; }

/* PIPED LINKS */
.piped { display: block; zoom: 1; }
.piped:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.piped li { float: left; display: inline; }
.piped a { border-left: 1px solid #797c80; padding: 0 0 0 0.75em; margin-left: 0.75em; }
.piped a.first { border-left: 0 !important; padding-left: 0; margin-left: 0 !important; }

/*--- Global Footer ---*/
#globalfooter { width: 980px; color: #888; font-size: 10px; margin: 18px auto 0; padding-bottom: 36px; text-align: left !important; }
#globalfooter a { color: #08c; }
#globalfooter p { margin-bottom: 1em; }
#globalfooter p.gf-buy { float: left; width: 52%; margin: 18px 0 9px 3px; }
#globalfooter ul.piped a { padding: 0 0 0 1.5em; margin-left: 1.5em; border-left: 1px solid #d0d0d0; }
#globalfooter .gf-links { float: right; margin: 18px 3px 9px 0; }
#globalfooter .gf-sosumi { clear: both; width: 100%; border-top: 1px solid #ddd; padding-top: 9px; }
#globalfooter .gf-sosumi p { float: left; margin-left: 3px; }
#globalfooter form { margin: 18px 10px; }
#globalfooter .search-wrapper { margin: 0 auto; }
#globalfooter .search-wrapper input.prettysearch { margin-left: 10px; }
#globalfooter ul.piped a.contact_us { padding-right: 1.5em; border-right: 1px solid #d0d0d0; }
#globalfooter ul.piped a.choose { margin-left: 0; border: 0; }
#globalfooter ul.piped a.choose img { vertical-align: middle; margin-top: -5px; *position: relative; }

/* Common */
#content { margin: 0 auto; width: 980px; }
article { margin: 0; padding: 0; background: white; }
#lang_select { position: fixed; right: 5px; top: 2px; width: 70px; padding-right: 3px; text-align: right; }
#lang_select a { color: #666; text-decoration: underline; }

/* Index */
#index { background: #fff; }
#index:hover #front img { opacity: 0;
  -webkit-transition: opacity 0.6s ease-in-out;
  -moz-transition: opacity 0.6s ease-in-out;
  -ie-transition: opacity 0.6s ease-in-out;
  -o-transition: opacity 0.6s ease-in-out;
  transition: opacity 0.6s ease-in-out;
}
#index:hover { background: #000;
  -webkit-transition: background 0.8s ease-in-out 0.8s;
  -moz-transition: background 0.8s ease-in-out 0.8s;
  -ie-transition: background 0.8s ease-in-out 0.8s;
  -o-transition: background 0.8s ease-in-out 0.8s;
  transition: background 0.8s ease-in-out 0.8s;
}
#index:hover #different img { opacity: 1;
  -webkit-transition: opacity 2.8s ease-in-out 1.8s;
  -moz-transition: opacity 2.8s ease-in-out 1.8s;
  -ie-transition: opacity 2.8s ease-in-out 1.8s;
  -o-transition: opacity 2.8s ease-in-out 1.8s;
  transition: opacity 2.8s ease-in-out 1.8s;
}
#index article { background: none; }
#cover_art { width: 980px; margin: 60px auto; }
#cover_art a { border-width: 0; display: block; }
#cover_art img { position: absolute; }
#cover_art #front img { opacity: 1; margin-left: 285px; }
#cover_art #different img { opacity: 0; margin-left: 2px; }

/* iParty */
#iparty { background: #F2F2F2 url(square_pattern.jpg) repeat 0px 0px; }
#iparty article { border-radius: 4px; -webkit-box-shadow: rgba(0, 0, 0, 0.296875) 0px 1px 3px; background: white; padding-bottom: 50px; }
#hello { margin: 10px auto 20px auto; padding-top: 20px; display: block; }
#iparty section { margin: 0; padding: 10px 20px; clear: both; }
#iparty section.divider-down { background: url(section_divider_down.png) no-repeat; }
#iparty h3 { margin-left: 70px; }
#iparty .narrow-text { margin: 0 70px; clear: right; }
#iparty .dresscode img { float: right; margin: -22px 1px 10px 90px; opacity: 0.9; border-radius: 5px; }

/* RSVP */
#rsvp { background: #F2F2F2 url(body_bg20110224.png) repeat-x 0px 0px; }
#rsvp article { border-radius: 4px; -webkit-box-shadow: rgba(0, 0, 0, 0.296875) 0px 1px 3px; background: white; width: 460px; margin: 0 auto 3em auto;
  background-image: linear-gradient(bottom, rgb(255,255,255) 100%, rgb(247,247,247) 10%);
  background-image: -o-linear-gradient(bottom, rgb(255,255,255) 100%, rgb(247,247,247) 10%);
  background-image: -moz-linear-gradient(bottom, rgb(255,255,255) 100%, rgb(247,247,247) 10%);
  background-image: -webkit-linear-gradient(bottom, rgb(255,255,255) 100%, rgb(247,247,247) 10%);
  background-image: -ms-linear-gradient(bottom, rgb(255,255,255) 100%, rgb(247,247,247) 10%);

  background-image: -webkit-gradient(
    linear,
    left bottom,
    left top,
    color-stop(1, rgb(255,255,255)),
    color-stop(0.1, rgb(247,247,247))
  );
}
#rsvp iframe { width: 200px; margin-left: 370px; border: 0px solid red; }
#rsvp form { width: 400px; margin: 0 auto 0 auto; padding: 0.5em 0 1em 0; }
#rsvp input[type=text], #rsvp textarea { width: 400px; }
#rsvp textarea { height: 40px; }
#rsvp label { line-height: 25px; }
#rsvp .arrive-leave { width: 49%; margin: 0 0 1em 0; padding: 0; }
#rsvp .arrive { float: left; }
#rsvp .leave { float: right; width: 150px; clear: right; }
#rsvp .arrive-leave input { width: 150px; }
#rsvp input[type=submit] { font-size: 2em; width: 60px; }
@media only screen and (max-device-width: 480px) {
  #rsvp input[type=submit] { font-size: 1em; width: 60px; -webkit-appearance: none; }
}
#rsvp .required:after { font-family: Geneva; font-size: 0.8em; color: #f00; content: ' (required)'; }
#rsvp.lang_ja .required:after { font-family: Geneva; font-size: 0.8em; color: #f00; content: ' (必須項目)'; }
#rsvp .please_fill_in { border-left: 5px solid #faa; padding-left: 5px; }
#rsvp #status { display: none; color: #666; padding-left: 15px; }
#rsvp #status.yay { color: #33AA3B; font-weight: bold; }
#rsvp #status.sad { color: #D2403B; font-weight: bold; }

/* Travel */
#travel { background: #F2F2F2 url(body_bg20110224.png) repeat-x 0px 0px; }
#travel article { border-radius: 4px; -webkit-box-shadow: rgba(0, 0, 0, 0.296875) 0px 1px 3px; background: white; }
#travel section { margin: 0; padding: 10px 20px; clear: both; }
#travel section.staying { padding-top: 2em; }
#travel section.divider-down { background: url(section_divider_down.png) no-repeat; }
#travel h3 { margin-left: 70px; }
#travel .narrow-text { margin: 0 70px; clear: right; }
#travel .transport-col { float: left; width: 363px; margin: 0 40px 0 35px; padding: 0; text-align: justify; }
#travel .by { width: 363px; margin: 0 35px 15px 35px; float: left; }
#travel .by-plane {  height: 275px; clear: none; }
#travel.lang_ja .by-plane {  height: 207px; clear: none; }
#travel .by-car { height: 493px; }
#travel.lang_ja .by-car { height: 340px; }
#travel .by-car img { margin: 15px 0 10px 0px; opacity: 0.9; border-radius: 5px; width: 363px; }
#travel.lang_ja .by-car img { margin: 5px 0 10px 0px; }
#travel .by-boat img { margin: 5px 0 10px 0px; opacity: 0.9; border-radius: 5px; width: 363px; }
#travel .by-boat { clear: none; }
#travel.lang_ja .by-train { margin-bottom: 40px; }
#travel .transport-icon { height: 13px; margin-left: 10px; width: 30px; }
#travel .transport-icon-large { height: 17px; margin-left: 10px; width: 30px; }
#travel #hotel-blurb { margin-bottom: 3em; }
#travel dt { clear: both; margin-top: 3em; }
#travel dt.hotelj { margin-top: 1em; }
#travel dd { margin-left: 0; clear: both; }
#travel dt.hotelj { margin-bottom: 15px; }
#travel .hotelj p { position: absolute; margin-left: 315px; width: 304px; padding-top: 0; margin-top: 0; }
#travel .hotelj .img1 { margin-bottom: 3em; }
#travel .hotelj .img2 { margin-top: 120px; }
#travel .hotelj .img3 { margin: 78px 0 0 0; }
#travel .story img.img1 { float: right; padding-left: 15px; }
#travel .story img.img2 { width: 354px; padding-top: 15px; }
#travel img.left { float: left; margin: 0 15px 15px 0; }
#travel .ippan_hotel_col { width: 400px; float: left; margin-right: 0px; }
#travel .ippan_hotel_col2 { padding-left: 30px; }
#travel .ippan_hotel { width: 300px; }
#travel .ippan_hotel img { padding-right: 15px; float: left; margin-bottom: 3em; }
#travel .ippan_hotel p { width: 370px; height: 120px; }
#travel #booking-sites { clear: both; padding-top: 1.7em; }
#travel #booking-sites ul { padding-left: 0; list-style-type: none; height: 100px; }
#travel #booking-sites li { line-height: 1.9; float: left; width: 130px; margin-left: 92px; }
#travel #booking-sites li.first { margin-left: 0; }
#travel .map { width: 980px; height: 300px; margin: 0 20px 45px -20px; padding: 0; }

/* Attendees */
#attendees { background: #F2F2F2 url(square_pattern.jpg) repeat 0px 0px; }
#attendees article { border-radius: 4px; -webkit-box-shadow: rgba(0, 0, 0, 0.296875) 0px 1px 3px; background: white; padding-bottom: 50px; }
#thankyou { text-align: center; font-size: 3em; font-weight: bold; padding-top: 2em; }

/* Pics */
#pics { background: #F2F2F2 url(body_bg20110224.png) repeat-x 0px 0px; }
#pics article { border-radius: 4px; -webkit-box-shadow: rgba(0, 0, 0, 0.296875) 0px 1px 3px; background: white; }
#pics section { margin: 0; padding: 10px 20px; clear: both; }
#pics section.staying { padding-top: 2em; }
#pics section.divider-down { background: url(section_divider_down.png) no-repeat; }
