@import 'reset.css';

body 
{
    background: #0178BA url(../images/backgrounds/body.png) repeat-x top;
    color: #333;
}

#skip-content
{
    position: absolute;
    top: -9999px;
}

/* POSITIONING
--------------------------------------------------------------------------------------- */

#container 
{
    position: relative;
    width: 976px;
    margin: 0 auto;
    background: #FFF;
    text-align: left;
}

#header, #main, #partners, #footer
{
    position: relative;
}

#content, #content-wrapper
{
    float: left;
    display: inline;
    width: 675px;
}

#sidebar
{
    float: left;
    display: inline;
    width: 180px;
    margin-top: 15px;
}

#promos, #extras, #asides
{
    float: right;
    display: inline;
    width: 230px;
}

/* BASIC STYLES
--------------------------------------------------------------------------------------- */

body.access a:focus
{
    outline: solid 3px #FF0080;
}

h1
{
    padding-top: 25px;
    font-size: 2.6em;
    color: #039DE7;
    font-weight: 600;
}

h2
{
    margin-top: 30px;
    font-size: 1.8em;
    color: #676767;
    font-weight: 600;
}

h2.first
{
    margin-top: 0;
}

.ui-tabs-panel h2, 
.ui-tabs-panel h3
{
    margin: 10px 0 0 15px;
}

h3
{
    margin-top: 20px;
    font-size: 1.4em;
    color: #676767;
    font-weight: 600;
}

h4
{
    margin-top: 20px;
    padding-bottom: 5px;
    font-size: 1.2em;
    color: #333;
}

h4, h4 span
{
    font-weight: 600;
}

p, li, th, td, caption, dl
{
    font-size: 1.2em;
}

p 
{
    margin-top: 5px;
    padding-bottom: 10px;
    line-height: 1.6em;
}

.ui-tabs-panel p
{
    margin-left: 15px!important;
}

p.separator
{
    padding-top: 15px;
    border: dotted #CACACA;
    border-width: 1px 0 0 0;
}

p.inset
{
    position: relative;
    padding-left: 132px;
}

p.error
{
    color: #CC0000!important;
}

ul, ol
{
    margin-left: 30px;
    padding-bottom: 10px;
}

li
{
    margin-top: 5px;
    line-height: 1.2em;
}

a
{
    color: #039DE7;
    text-decoration: none;
}

body.access a
{
    color: #0276AD;
    text-decoration: underline!important;
}

body.access a:hover, 
body.access a:focus
{
    text-decoration: none!important;
}

strong, strong a
{
    font-weight: 600;
}

dl
{
    margin-top: 15px;
    line-height: 1.4em;
}

dl.sectioned
{
    margin-top: 0;
}

dt
{
    float: left;
    display: inline;
    width: 200px;
    margin: 7px 0 0 15px;
    color: #666;
}

dd
{
    display: block;
    padding: 7px 0 7px 225px;
}

dd.alt
{
    background: #E5F6FD;
}

table
{
    width: 100%;
    margin-top: 15px;
    border-collapse: collapse;
}

th, td
{
    padding: 8px 10px;
    border: dotted 1px #333;
    background: #FFF;
    font-size: 1.1em;    
}

th
{
    color: #666;
}

tr.alternate td
{
    background: #C4EBFA;
}

.column
{
    float: left;
    display: inline;
    width: 460px;
}

.column.alt
{
    float: right;
}

/* --- FORMS --- */

fieldset
{
    margin-top: 15px;
}

fieldset legend
{
    display: block;
    padding: 0 0 10px 15px;
    font-size: 1.4em;
    color: #676767;
    font-weight: 600;
}

fieldset p
{
    margin-top: 6px;
    padding-bottom: 0;
}

select, 
textarea, 
input[type=text], 
input[type=password]
{
    border: solid 1px #999;
    padding: 3px;
    color: #666;
}

textarea
{
    width: 250px;
    height: 90px;
    font-size: 1.1em;
}

input[type=text].blur, 
input[type=password].blur
{
    color: #CCC;
}

input[type=text].focus, 
input[type=password].focus
{
    color: #666;
}

span.checkbox, 
label
{
    white-space: nowrap;
}

fieldset label
{
    float: left;
    display: inline;
    width: 130px;
    margin: 3px 10px 0 0;
    color: #666;
    text-align: right;
}

fieldset label.inline, 
fieldset p.checkbox label
{
    float: none;
    width: auto;
    margin: 0;
    text-align: left;
}

fieldset p.checkbox, 
fieldset span.group
{
    display: block;
    padding-left: 140px;
}

fieldset p.label-span
{
    margin-left: 12px!important;
    padding-left: 0!important;
}

fieldset p.label-span label
{
    float: none;
    display: block;
    width: auto;
    text-align: left;
}

fieldset p.label-span.checkbox label
{
    display: inline;
    width: auto;
}

span.field-validation-error
{
    display: block;
    margin-left: 140px;
    padding-bottom: 5px;
    color: #CC0000;
}

fieldset p.checkbox span.field-validation-error, 
fieldset p.label-span span.field-validation-error
{
    margin-left: 0;
}

fieldset p.submit, 
fieldset .buttons
{
    margin-left: 140px;
}

/* --- BUTTONS --- */

.buttons
{
    margin-top: 15px;
}

.ui-tabs-panel .buttons
{
    margin: 30px 0 0 10px;
}

a.button
{
    float: left;
    display: inline;
    margin-right: 10px;
    padding: 5px 8px 3px 5px;
    border: solid 1px #999;
    background: #E5E5E5 url(../images/backgrounds/button-grey.png) repeat-x;
    font-size: 0.9em;
    color: #333;
    line-height: 1.2em;
    text-transform: uppercase;
}

a.button span
{
    padding-right: 15px;
    background: url(../images/icons/arrow-blue.gif) no-repeat right center;
}

a.button:active
{
    padding: 6px 8px 2px 5px;
    background: #F4F4F4 url(../images/backgrounds/button-grey-invert.png) repeat-x;
}

a.button.light
{
    border: none;
    background: none;
}

a.button.light, 
a.button.light span
{
    color: #039DE7;
}

a.button.light span
{
    padding-right: 10px;
}

a.button.heavy, 
a.button.heavy > span
{
    border: none;
    background: url(../images/backgrounds/button-default.png) no-repeat 0 0;
    color: #FFF;
}

a.button.heavy
{
    padding: 0 7px 0 0;
    background-position: right 0;
    font-size: 1.4em;
}

a.button.heavy > span
{
    float: left;
    display: inline;
    padding: 7px 0 8px 7px;
    font-weight: 600;
}

body.access a.button.heavy, 
body.access a.button.heavy > span
{
    background: #0089B7;
}

body.access a.button.heavy
{
    border: solid 1px #072B37;
}

a.button.heavy.action, 
a.button.heavy.action > span
{
    background-image: url(../images/backgrounds/button-action.png);
}

body.access a.button.heavy.action, 
body.access a.button.heavy.action > span
{
    background: #E75403;
}

body.access a.button.heavy.action
{
    border: solid 1px #993400;
}

a.button.heavy > span span
{
    background-image: url(../images/icons/arrow-white-blue.gif);
}

a.button.heavy.action > span span
{
    background-image: url(../images/icons/arrow-white-orange.gif);
}

a.button.heavy.cancel > span span
{
    background-image: url(../images/icons/cross-white-blue.gif);
}

a.button.alt
{
    float: right;
    margin-right: 0;
    margin-left: 10px;
}

/* --- TABS --- */

.tabs
{
    position: relative;
}

.tabs .tab-content
{
    margin: 0 15px;
}

.tabs .ui-tabs-hide
{
    display: none;
}

.tabs > ul, 
.tabs .panel > ul
{
    margin: 0;
    padding: 1px 0 0 8px;
    background: url(../images/backgrounds/tab-rail.png) repeat-x;
    list-style: none;
}

body.access .tabs > ul, 
body.access .tabs .panel > ul
{
    border: solid #0098CC;
    border-width: 1px 0;
    background: none;
}

.tabs > ul li, 
.tabs .panel > ul li
{
    float: left;
    display: inline;
    margin: 0;
    padding: 0;
    font-size: 1em;
    text-transform: uppercase;
}

.tabs > ul li a, 
.tabs > ul li span, 
.tabs .panel > ul li a, 
.tabs .panel > ul li span
{
    display: block;
    color: #333;
}

body.access .tabs > ul li a,
body.access .tabs .panel > ul li a
{
    border: solid #FFF;
    border-width: 0 1px 4px 1px;
}

.tabs > ul li.ui-tabs-selected a, 
.tabs > ul li.ui-tabs-selected a span, 
.tabs .panel > ul li.ui-tabs-selected a, 
.tabs .panel > ul li.ui-tabs-selected a span
{
    background: url(../images/backgrounds/tab-active.png) no-repeat;
}

body.access .tabs > ul li.ui-tabs-selected a, 
body.access .tabs > ul li.ui-tabs-selected a span, 
body.access .tabs .panel > ul li.ui-tabs-selected a, 
body.access .tabs .panel > ul li.ui-tabs-selected a span
{
    border-color: #0098CC;
    background: #F3F8FB;
}

.tabs > ul li.ui-tabs-selected a, 
.tabs .panel > ul li.ui-tabs-selected a
{
    background-position: right 0;
}

.tabs > ul li span, 
.tabs .panel > ul li span
{
    margin-right: 2px;
    padding: 7px 6px 12px 6px;
}

.tabs > ul li.ui-tabs-selected a span, 
.tabs .panel > ul li.ui-tabs-selected a span
{  
    padding: 10px 6px 9px 6px;
}

.tabs .loading
{
    position: absolute;
    top: 5px;
    right: 5px;
    width: 16px;
    height: 16px;
    background: url(../images/icons/ajax-loader.gif) no-repeat;
    text-indent: -9999px;
    display: none;
}

/* --- PAGING --- */

.paging
{
    margin-top: 25px;
}

.paging .location
{
    float: left;
    display: inline;
    font-size: 1.1em;
    color: #999;  
}

.paging .pages
{
    float: right;
    display: inline;
}

.paging a
{
    float: left;
    display: inline;
    margin-left: 7px;
    padding: 4px 7px;
    border: solid 1px #B7EBF9;
    background: #E4F2FF;
    font-size: 1.1em;
}

.paging a.current
{
    border-color: #E4F7FE;
    background: #FFF;
}

/* --- Ride Snippet --- */

.result
{
    position: relative;
    height: 116px;
    margin-top: 15px;
    border: dotted 1px #CECECE;
}

.result img
{
    float: left;
    display: inline;
}

.result .event-type
{
    position: absolute;
    top: 80px;
    left: 0;
    width: 110px;
    padding: 5px 0;
    background: #039DE7;
    text-align: center;
    overflow: hidden;
}

.result .event-type img
{
    float: none;
}

.result h3
{
    margin: 10px 10px 0 0;
    padding: 0 0 10px 0;
    border: dotted #CECECE;
    border-width: 0 0 1px 0;
    font-size: 1.2em;
    color: #039DE7;
    text-transform: uppercase;
    font-weight: 600;
}

.result h3, 
.result p, 
.result .options
{
    margin-left: 120px!important;
}

.result p
{
    font-size: 1.1em;
}

.result p span.date
{
    display: block;
    color: #999;
}

.result .options
{
    margin-right: 10px;
    padding: 6px 0;
    border: dotted #CECECE;
    border-width: 1px 0 0 0;
}

.result .button
{
    float: right;
    margin: 0 0 0 15px!important;
    padding-right: 0!important;
}

.result .facebook-like
{
    position: absolute;
    top: 6px;
    right: 5px;
    width: 90px;
    overflow: hidden;
}

/* HEADER
--------------------------------------------------------------------------------------- */

#header
{
    height: 163px;
    background: url(../images/backgrounds/header.png) repeat-x;
}

body.access #header
{
    height: auto;
}

a.masthead
{
    position: absolute;
    top: 20px;
    left: 20px;
    width: 260px;
    height: 57px;
    background: url(../images/logos/masthead.png) no-repeat;
    text-indent: -9999px;
}

span#tagline
{
    position: absolute;
    top: 83px;
    left: 20px;
    width: 264px;
    height: 18px;
    background: url(../images/logos/tagline.png) no-repeat;
    text-indent: -9999px;
}

span#header-logo
{
    position: absolute;
    top: 47px;
    right: 25px;
    width: 213px;
    height: 61px;
    background: url(../images/logos/skyride.png) no-repeat;
    text-indent: -9999px;
}

ul#menu
{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 976px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: solid #0097DA;
    border-width: 0 0 1px 0;
    background: #2675B8 url(../images/backgrounds/menu.png) repeat-x top;
}

body.access ul#menu
{
    position: relative;
    display: block;
    height: auto;
    margin-top: 113px;
}

ul#menu li
{
    position: relative;
    float: left;
    display: inline;
    margin: 0;
    padding: 0;
    font-size: 1.4em;
    text-transform: uppercase;
}

ul#menu a
{
    display: block;
    padding: 13px 16px;
    border: solid #0499DD;
    border-width: 0 1px 0 0;
    color: #FFF;
    font-weight: 600;
}

ul#menu li.current a,
ul#menu li.hover a, 
ul#menu a:hover
{
    background: #0499DD;
}

ul#menu ul
{
    position: absolute;
    top: 39px;
    left: 0;
    width: 200px;
    margin: 0;
    padding: 0;
    background: #0499DD;
    z-index: 105;
    display: none;
}

body.access ul#menu ul
{
    border: solid 1px #FFF;
}

ul#menu li.hover ul
{
    display: block;
}

ul#menu ul li
{
    float: none;
    display: block;
    font-size: 1em;
    text-transform: none;
}

ul#menu ul a
{
    width: auto;
    padding: 7px 16px;
    border: solid #1784C9;
    border-width: 1px 0 0 0;
}

ul#menu ul li.first a
{
    border: none;
}

ul#menu ul a:hover
{
    background: #1784C9;
}

#session
{
    position: absolute;
    top: 15px;
    right: 25px;
    text-align: right;
}

#session a.button
{
    margin-right: 0;
}

#user
{
    float: left;
    display: inline;
    margin: 6px 10px 0 0;
    font-size: 1em;
    color: #FFF;
    text-transform: uppercase;
}

#user a
{
    color: #FFF;
}

#user span.pipe
{
    padding: 0 5px;
}

/* MAIN
--------------------------------------------------------------------------------------- */

#main
{
    padding: 15px;
    /*background: #EFF5F8 url(../images/backgrounds/main-fade.png) repeat-x;*/
    background: #F0F5F9;
}

/* CONTENT
--------------------------------------------------------------------------------------- */

#content
{
    float: left;
    display: inline;
    width: 675px;
    padding-bottom: 10px;
    background: #FFF;
}

#content h1
{
    margin-left: 10px;
    padding-top: 10px;
}

#content h2
{
    margin-left: 10px;
}

#content p
{
    margin-left: 10px;
}

#content fieldset p
{
    margin-left: 0;
}

/* SIDEBAR + EXTRAS
--------------------------------------------------------------------------------------- */

#sidebar ul, 
#extras ul
{
    margin: 15px 0 0 0;
    padding: 0;
    border: dotted #CDCDCD;
    border-width: 1px 0 0 0;
    list-style: none;
}

#sidebar li, 
#extras li
{
    margin: 0;
    padding: 0;
    border: dotted #CDCDCD;
    border-width: 0 0 1px 0;
}

#sidebar li a, 
#extras li a
{
    display: block;
    padding: 6px 0;
}

body.access #sidebar li a, 
body.access #extras li a
{
    color: #676767;
}

#sidebar ul.categories li a
{
    padding: 10px 0;
    color: #666;
}

#sidebar ul.categories li.current a
{
    padding-left: 10px;
    background: url(../images/backgrounds/current.png) repeat-x bottom;
    font-weight: 600;
}

#extras li
{
    font-size: 1em;
    line-height: 1.4em;
}

#extras li.location
{
    font-size: 1.1em;
}

#extras li a
{
    display: block;
    padding-right: 35px;
    background: url(../images/icons/arrow-circled.png) no-repeat right 6px;
    color: #666;
}

#extras li.location a
{
    padding: 10px 0;
}

#extras li a:hover
{
    background-position: right -184px;
}

#extras li strong
{
    display: block;
    font-weight: 600;
    cursor: pointer;
}

#extras li a strong
{
    font-size: 1.2em;
}

body.access #extras li a strong
{
    color: #676767;
}

/* PROMOS
--------------------------------------------------------------------------------------- */

.promo
{
    position: relative;
    margin-top: 20px;
}

.promo-static
{
    padding-bottom: 20px;
}

.promo.first
{
    margin-top: 0;
}

.promo-inner
{
    border: solid 3px #D3E8ED;
    background: #FFF;
}

.promo-inner.titled
{
    border-width: 0 3px 3px 3px;
}

.promo.link
{
    padding-bottom: 22px;
}

.promo h2
{
    margin: 0;
    padding: 10px;
    background: #2775BD;
    font-size: 1.6em;
    color: #FFF;
    text-transform: uppercase;
}

body.access .promo h2
{
    word-wrap: break-word;
}

.promo p
{
    margin: 0 10px;
    padding: 10px 0;
    font-size: 1.1em;
}

.promo fieldset
{
    margin: 0;
    padding: 0;
}

.promo fieldset p
{
    font-size: 1.2em;
}

.promo fieldset label
{
    float: none;
    display: block;
    width: auto;
    margin: 0;
    padding: 0;
    text-align: left;
}

.promo fieldset input[type=text], 
.promo fieldset select
{
    font-size: 1em;
}

.promo img
{
    display: block;
    padding: 6px 0 0 6px;
}

.promo img.full
{
    padding: 0;
}

.promo a.button.light
{
    position: absolute;
    bottom: 5px;
    right: 0;
    margin: 0;
    padding: 0 22px 0 0;
    background: url(../images/buttons/promo.png) no-repeat right 0;
}

.promo a.button.light span
{
    float: left;
    padding: 3px 0 7px 22px;
    background: url(../images/buttons/promo.png) no-repeat;
    color: #676767;
    font-weight: 600;
}

#promo-search-wrapper
{
    position: relative;
    float: right;
    display: inline;
    width: 230px;
    height: 171px;
}

#promo-search-wrapper #promo-search
{
    height: 171px;
    background: url(../images/backgrounds/promo-search-compact.png) no-repeat;
}

#promo-search-wrapper #promo-search label
{
    position: absolute;
    top: 47px;
    left: 12px;
    font-size: 1.4em;
    color: #FFF;
}

body.access #promo-search-wrapper #promo-search label
{
    font-size: 1.6em;
    font-weight: 600;
}

#promo-search-wrapper #promo-search input
{
    position: absolute;
    top: 70px;
    left: 12px;
    width: 190px;
    padding: 6px 8px;
    border: none;
    background: none;
    font-size: 1.2em;
}

#promo-search-wrapper #promo-search a.search
{
    position: absolute;
    bottom: 28px;
    left: 11px;
    width: 112px;
    height: 29px;
    background: url(../images/buttons/search-sidebar.png) no-repeat;
    text-indent: -9999px;
}

#promo-search-wrapper #promo-search span.decor
{
    position: absolute;
    bottom: 0;
    right: -13px;
    width: 13px;
    height: 44px;
    background: url(../images/backgrounds/promo-search-sidebar-decor.png) no-repeat;
}

/* PARTNER LINKS
--------------------------------------------------------------------------------------- */

#partners
{
    padding: 7px 15px;
    background: #99E1F7;
}

#partners ul
{
    margin: 0;
    padding: 0;
    list-style: none;
}

#partners li
{
    float: left;
    display: inline;
    margin: 0 30px 0 0;
    padding: 0;
}

/* --- Social Links --- */

#social
{
    position: absolute;
    top: 15px;
    right: 15px;
}

#social a
{
    float: left;
    display: inline;
    margin-left: 8px;
}

/* SITE LINKS
--------------------------------------------------------------------------------------- */

#site-links
{
    padding: 20px 0 20px 15px;
}

#site-links p
{
    float: left;
    display: inline;
    width: 205px;
    margin: 0;
    font-size: 1.1em;
    color: #999;
    line-height: 1.7em;
}

body.access #site-links p
{
    color: #676767;
}

#site-links p strong
{
    display: block;
    font-size: 1.4em;
    color: #039DE7;
    font-weight: 600;
    text-transform: uppercase;
}

#site-links ul
{
    list-style: none;
}

#site-links ul, 
#site-links li
{
    margin: 0;
    padding: 0;
}

#site-links > ul
{
    margin-left: 250px;
}

#site-links ul li
{
    float: left;
    display: inline;
    margin-right: 15px;
    font-size: 1.4em;
    text-transform: uppercase;
}

#site-links ul li a
{
    font-weight: 600;
}

#site-links li ul
{
    margin-top: 3px;
}

#site-links li li
{
    float: none;
    display: block;
    font-size: 0.8em;
    text-transform: none;
    line-height: 1.6em;
}

#site-links li li a
{
    color: #999;
    font-weight: normal;
}

body.access #site-links li li a
{
    color: #676767;
    text-decoration: underline;
}

/* SITE LINKS
--------------------------------------------------------------------------------------- */

#footer 
{
    padding: 10px 20px 40px 20px;
    border: dotted #CECECE;
    border-width: 1px 0 0 0;
    background: url(../images/logos/sky-bc-lockup-22.png) no-repeat center 10px;
    font-size: 1em;
    color: #999;
}

body.access #footer
{
    background-position: 860px 10px;
    color: #676767;
    line-height: 1.6em;
}

span#copyright
{
    float: left;
    display: inline;
}

ul#links
{
    float: right;
    display: inline;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.access span#copyright, 
body.access ul#links
{
    float: none;
    display: block;
}

ul#links li
{
    display: inline;
    margin-left: 10px;
    font-size: 1em;
}

body.access ul#links li
{
    margin: 0 10px 0 0;
}

ul#links a
{
    color: #999;
}

body.access ul#links a
{
    color: #676767;
    text-decoration: underline;
}