/* Node level declarations
 *----------------------------------------------------------------------------------*/
html, body {
  margin: 0;
  padding: 0;
  height: 100%;
}
body, td {
  font: normal normal normal 12px/normal Helvetica, Arial, sans-serif;
  }
img {
  border: 0;
  }
h2, h4, h5, h6 {
  font-size: 1em;
  margin: 0;
  }
h1 {
  font-size: 1.8em;
  margin: 0;
  }
h3 {
  font-size: 1.04em;
  margin: 0;
}
.clear {
  clear: both;
  }

a {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 800;
  font-size: 1em;
  color: #b32017;
  text-decoration: none;
  }
a:hover {
  color: #961b13;
}

button::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
input[type="file"] > input[type="button"]::-moz-focus-inner {
    border: none;
}
/* Admin front end experience
 *----------------------------------------------------------------------------------*/
#admin_toolbar_container {
  position:absolute;
  left: 10px;
  background-color: #ccc;
  padding: 8px;
  -moz-border-radius: 0 0 5px 5px;
  -webkit-border-radius: 0 0 5px 5px;
  border-radius: 0 0 5px 5px;
  opacity: 0.8;
  filter: alpha(opacity=80);
  z-index: 3;
  }
.contentator-toolbar {
  float: left;
  background: #333;
  opacity: 0.8;
  filter: alpha(opacity=80);
  position: relative;
  -moz-border-radius: 5px 5px 0 0;
  -webkit-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
  z-index: 20;
  top: -20px;
  height: 13px;
  padding: 4px;
  margin-bottom: -20px;
  }
.contentator-toolbar a,
#contentator-form form a {
  background: 0 !important;
  padding: 0 !important;
  }
#contentator-form form {
  display: block;
  padding-top: 7px;
  }

#contentator-form label {
  padding-top: 10px;
  display: block;
  }
#contentator-form .buttons {
  padding-top: 10px;
  text-align: right;
  }
#contentator-form #page_content_block_title {
  margin-bottom: 10px;
  }


/* Main layout declarations
 *----------------------------------------------------------------------------------*/
#body_container {
  width: 100%;
  position: absolute;
  z-index: 2;
  }
#body {
  background: #ffffff url(/images/header_bg.png) repeat-x top left;
  width: 895px;
  padding: 0 15px;
  outline: #e4e4e4 solid 2px;
  border: 1px solid #b1b3b3;
  border-top: 0;
  margin: 0 auto;
}
#background { /* the image assigned to the background is in the html */
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  overflow: hidden;
  width: 100%;
  }
* html #background { /* ie hack to treat the background as position: fixed */
  position: absolute;
  top: 0;
  left: 0;
  top: expression((_IEHackTop = document.documentElement.scrollTop) + 'px');
  left: expression((_IEHackLeft = document.documentElement.scrollLeft) + 'px');
  }

#header {
  padding-bottom: 20px;
  }
#header #logo a {
  float: left;
  overflow: hidden;
  display: block;
  text-indent: -10000px;
  outline: none;
  background: url(/images/logo_ruby_mountain.png) no-repeat bottom;
  width: 241px;
  height: 106px;
  }
#header #links {
  float: right;
  padding: 0 5px;
  }
#header #links span,
#header #links a {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 800;
  display: block;
  line-height: 25px;
  font-size: .8em;
  color: #b32017;
  text-decoration: none;
  outline: none;
  float: left;
  padding: 0 10px;
  background: url(/images/nav_divider_header.gif) repeat-y right;
  }
#header #links a.last,
#header #links a.last:hover {
  padding-right: 0;
  background: none;
  text-decoration: none;
  }
#header #links a:hover {
  text-decoration: underline;
  }

#hero {
  overflow: hidden;
  background: url(/images/hero_filler.png) repeat top left;
  margin-bottom: 2px;
  height: 276px;
  }

#navigation {
  position: relative;
  }
#navigation_root {
  position: relative;
  height: 26px;
  border-bottom: 1px solid #000000;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: .9em;
  font-weight: 800;
  }
#navigation_root,
#navigation_root ul {
  margin: 0 0 2px 0;
  padding: 0;
  list-style: none;
  background: #FFF url(/images/nav_bg.png) repeat-x bottom;
  }
#navigation_root li {
  border-bottom: 1px solid #FFF;
  float: left;
  padding: 8px 3px 0 0;
  background: url(/images/nav_divider.gif) no-repeat bottom right;
  overflow: hidden;
  }
#navigation_root li.last {
  background: none;
  padding-right: 0;
  }
#navigation_root li a {
  color: #5f6062;
  text-decoration: none;
  outline: none;
  height: 17px;
  line-height: 17px;
  display: block;
  padding: 0 27px;
  background: url(/images/nav_arrow.png) no-repeat 0 95%;
  }
#navigation_root li a:hover,
#navigation_root li a:focus {
  color: #961b13;
  }
#navigation_root li.active {
  background: url(/images/nav_active_button_bg.png) no-repeat 0 8px;
  padding-right: 0;
  }
#navigation_root li.active a {
  color: #ffffff;
  background: url(/images/nav_active_button_bg.png) no-repeat bottom right;
  padding-right: 30px;
  }
#navigation_root li .subnavigation {
  position: absolute;
  left: 0;
  display: none;
  width: 895px;
  margin-top: 2px;
  }
#navigation_root li .subnavigation ul {
  background: #FFF url(/images/subnav_bg.png) no-repeat bottom right;
  }
#navigation_root li .subnavigation li {
  background: #FFF url(/images/subnav_bg.png) no-repeat 0 1px;
  padding: 1px 0 0 0;
  }
#navigation_root li .subnavigation .subnavigation-empty {
  background: #FFF url(/images/subnav_bg.png) no-repeat 0 1px;
  padding: 1px 0 0 0;
  width: 200px;
  height: 16px;
  overflow: hidden;
  }
#navigation_root li .subnavigation li a {
  background: url(/images/subnav_bg.png) no-repeat bottom right;
  height: 16px;
  line-height: 16px;
  }
#navigation_root li.active .subnavigation {
  display: block;
  }
#navigation_root li.active .subnavigation li a {
  color: #5f6062;
  }
#navigation_root li.active .subnavigation a:hover,
#navigation_root li.active .subnavigation a:focus {
  color: #961b13;
  }
#navigation_root li.active .subnavigation li.active a {
  color: #961b13;
  }

#content {
  margin-right: -2px;
  }

#footer {
  background: url(/images/footer_bg.png) no-repeat bottom;
  height: 95px;
  margin-bottom: 15px;
  padding: 0 10px;
  font-size: .8em;
  }
#footer #sponsors {
  height: 73px;
  }
#footer #sponsors #sponsor_label {
  float: left;
  text-decoration: underline;
  margin-top: 48px;
  padding-right: 10px;
  }
#footer #sponsors #sponsor_logos {
  float:left;
  margin-top: 31px;
  }
#footer #sponsors #heli_logo {
  width: 45px;
  height: 21px;
  float: right;
  background: url(/images/logo_us_heliski.png) no-repeat right;
  margin-top: 44px;
  }
#footer #copyright {
  float: left;
  color: #b32017;
  line-height: 23px;
  }
#footer #utility {
  float: right;
  list-style: none;
  margin: 0;
  padding: 0;
  }
#footer #utility li {
  float: left;
  line-height: 23px;
  background: url(/images/footer_divider.png) no-repeat left;
  margin-left: 12px;
  padding-left: 12px;
  }
#footer #utility li a {
  color: #575B5C;
  text-decoration: none;
  }
#footer #utility li a:hover,
#footer #utility li a:focus {
  color: #b32017;
  }
#footer #utility li.active a {
  color: #b32017;
  }


/* Site wide declarations
 *----------------------------------------------------------------------------------*/
.box {
  background: url(/images/box_border.gif) no-repeat left top;
  width: 297px;
  float: left;
  margin: 0 2px 10px 0;
  }
.box-outter {
  background: url(/images/box_border.gif) no-repeat right top;
  padding: 4px;
  }
.box-outter .content {
  color: #575B5C;
  background: url(/images/box_bg.png) repeat-x;
  padding: 2px 10px 10px 10px;
  font-size: .95em;
}
.box-outter .content .content-inner {
  line-height: 1.4em;
}
.box-outter .content, .box-outter .content td {
  overflow: hidden;
  }
.box-outter .content .content-inner a {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: .8em;
  color: #575b5c;
  background: url(/images/link_arrow.gif) no-repeat left;
  text-decoration: underline;
  padding-left: 5px;
  }
.box-outter .content a:focus,
.box-outter .content a:hover {
  text-decoration: none;
  }
.box h2 {
  font-size: 1.4em;
  color: #575B5C;
  border-bottom: 4px solid #575B5C;
  margin: 0 -14px 10px 0;
  padding: .65em 0 1em 0;
  width: 2000px;
  }
.box h2 div {
  float: left;
  text-transform: uppercase;
  margin-left: -3px;
  background: url(/images/red_tag_flair.gif) no-repeat 0 35%;
  padding-left: 18px;
  }
.box h2 .mountains {
  margin-top: -.65em;
  width: 890px;
  height: 25px;
  float: left;
  background: url(/images/box_mountains.png) no-repeat right top;
  }
.box-outter .content img {
  background: #ced4d9;
  padding: 4px;
  margin: 0 10px 10px 0;
  }
.box-outter .content .title-holder {
  width: 2000px;
  margin: 10px -10px 10px 0;
  padding-bottom: 12px;
  display: block;
}
.box-outter .content .title {
  float: left;
  white-space: nowrap;
  padding: 3px 5px 1px 0;
  }
.box-outter .content .grey-bar {
  background: #cccccc;
  height: 10px;
  width: 895px;
  float:left;
  margin-top: .2em;
  }
.small {
  width: 297px;
  }
.large {
  width: 895px
  }
.medium {
  width: 596px
  }
.really-small {
  width: 222px;
  }


/* News articles template columns
 *----------------------------------------------------------------------------------*/
.news-articles-left {
  float: left;
  width: 446px;
  }
.news-articles-right {
  float: right;
  width: 446px;
  margin-right: 2px;
  }
.news-article {
  width: 446px;
  }
.image-expander {
  position: absolute;
  background: url(/images/image_expander.png) no-repeat bottom right;
  margin: 4px;
  width: 175px;
  height: 240px;
  }

/* Video Gallery specifics
 *----------------------------------------------------------------------------------*/
#video_gallery_flash_container {
  width: 621px;
  height: 359px;
  margin: 15px 137px;
  }
.really-small .box-outter .content img {
  background: #ced4d9;
  padding: 4px;
  margin: 5px 10px 10px 0;
  width: 183px;
  height: 142px;
  }


/* Photo Gallery styles
 *----------------------------------------------------------------------------------*/
.photo-gallery #file_attachments_container {
  margin: 10px 0 0 4px;
  }
.photo-gallery .file_attachment {
  float: left;
  }
.photo-gallery .box-outter .content img {
  background: #ced4d9;
  margin: 0 2px 2px 0;
  }
.photo-gallery .box-outter .content img:hover {
  background: #b32017;
  }

/* Trip Planner styles
 *----------------------------------------------------------------------------------*/
.trip-planner .button {
  color: #b32017;
  border: 1px solid #cfd5da;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: .91em;
  background: none;
  text-decoration: none;
  padding: 1px 6px;
  cursor: pointer;
  width: auto;
  }
.trip-planner .button:focus,
.trip-planner .button:hover {
  color: #cfd5da;
  border: 1px solid #cfd5da;
  }
.trip-planner .content-inner {
  padding: 0 10px 0 0;
  }
.trip-planner table {
  width: 100%;
}
.trip-planner th {
  text-align: left;
  padding-left: 5px;
}
.trip-planner td {
  border: 1px solid #cfd5da;
  padding: 2px 5px;
}
.trip-planner table .disabled {
  color: #abb1b4;
  background: #dde2e5;
}
.trip-planner table .red {
  color: #b32017;
}
.trip-planner .content-inner p {
  font-size: 1.04em;
  }
.form-menu ul {
  font-size: .91em;
  padding: 0;
  list-style: none;
  font-weight: bold;
}
.form-menu li {
  display: inline;
  margin-right: 5px;
  }
.form-menu li.highlighted a {
  color: #b32017;
  }
.form-menu li.disabled {
  color: #abb1b4;
  }
.form-menu a {
  text-decoration: none;
  padding-right: 2px;
  color: #575b5c;
  }
.form-menu a:focus,
.form-menu a:hover{
  color: #b32017;
  }
.trip-planner .trip-planner-form label {
  width: 73px;
  text-align: right;
  padding-right: 5px;
  }
.trip-planner .trip-planner-form .member-form .select select {
  float: right;
  }
.trip-planner .trip-planner-form .member-form .select label {
  width: 256px;
  padding-right: 10px;
  text-align: right;
  float: left;
  }
.trip-planner input {
  border: 1px solid #cfd5da;
  }
.trip-planner  .trip-planner-form select {
  padding: 5px;
  /*width: 65px;*/
  border: 1px solid #cfd5da;
  }
.trip-planner .form-divider {
  background: #cccccc;
  height: 2px;
  width: 895px;
  margin: 1em 0;
  }
.trip-planner .other-check input {
  margin: 10px 0;
  }
.trip-planner .summary-table td {
  width: 33%;
  border: none;
  }
.trip-planner .terms {
  height: 195px;
  border: 1px solid #cfd5da;
  overflow-y: scroll;
  padding: 15px;
}

.trip-planner .card-error {
  border: 2px solid #b32017;
  background-color: #f07e78;
  padding: 10px;
  font-size: 120%;
  color: black;
  line-height: 28px
}

 /* Page specific styles
  *----------------------------------------------------------------------------------*/
.home-page #hero {
  height: 504px;
  }
.gallery-video-page #hero {
  height: 389px;
  }

 /* Google map styles
  *----------------------------------------------------------------------------------*/
.map-container {
  width: 865px;
  height: 460px;
  border: 1px solid #cfd5da;
  }
.google-map .box-outter .content img {
  background: none;
  padding: 0;
  margin: 0 10px 10px 0;
  }
#marker-image {
  width: 37px;
  height: 34px;
  }

/*
 * Formtastic overrides
 *-----------------------------------------------------------------------------------*/
fieldset ol li {
  float: left;
  }
fieldset ol li.error label {
  color: #b32017;
  }
fieldset ol li.error input {
  border: 1px solid #b32017;
  }
fieldset ol li.error select {
  border: 1px solid #b32017;
  }
.trip-planner form.formtastic fieldset ol li.string input {
  width: 200px;
  padding: 5px;
  line-height: 17px;
  margin-right: 10px;
  }
form.formtastic fieldset ol li.boolean label {
  padding-left: 0;
  }
form.formtastic fieldset.buttons {
  padding-left: 0;
}

/* Lightbox styles
  *----------------------------------------------------------------------------------*/
#lightbox {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 100;
  text-align: center;
  line-height: 0;
  }
#lightbox img {
  width: auto;
  height: auto;
  }
#lightbox a img {
  border: none;
  }

#outerImageContainer {
  position: relative;
  background-color: #fff;
  width: 250px;
  height: 250px;
  margin: 0 auto;
  }
#imageContainer {
  padding: 0;
  }

#loading {
  position: absolute;
  top: 40%;
  left: 0%;
  height: 25%;
  width: 100%;
  text-align: center;
  line-height: 0;
  }
#hoverNav {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10;
  }
#imageContainer>#hoverNav {
  left: 0;
  }
#hoverNav a { 
  outline: none;
  }

#prevLink, #nextLink {
  width: 49%;
  background-image: url(data:image/gif;base64,AAAA); /* Trick IE into showing hover */
  display: block;
  }
#prevLink {
  left: 0;
  float: left;
  }
#nextLink {
  right: 0;
  float: right;
  }
#prevLink:hover, #prevLink:visited:hover {
  background: url(/images/prevlabel.gif) left 15% no-repeat;
  }
#nextLink:hover, #nextLink:visited:hover {
  background: url(/images/nextlabel.gif) right 15% no-repeat;
  }

#imageDataContainer {
  background: #FFF url(/images/nav_bg.png) repeat-x bottom;
  margin: 0 auto;
  line-height: 22px;
  overflow: auto;
  width: 100%	;
  padding-bottom: 2px;
  border-bottom: 1px solid #575b5c;
  }

#imageData {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: bold;
  font-size: .7em;
  padding:0 10px;
  }
#imageData a {
  color: #575b5c;
  text-decoration: none;
  font-size: 1.1em;
  }
#imageData a:hover {
  color:#b32017;
  }
#imageData #imagePrevNext {
  text-align: center;
  padding: 0 10px;
  }
#imageData #bottomNavClose {
  float: right;
  outline: none;
  }
#imageData #nextPrevDivider {
  background: url(/images/footer_divider.png) no-repeat left;
  line-height: 23px;
  }
#overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 90;
  width: 100%;
  height: 500px;
  background-color: #fff;
  }
