/* General elements */
*
{
    margin: 0;
    padding: 0;
}

body
{
    background: #f6f6f6 url("../images/bodyBackground.jpg") repeat-x;
    font-family: Helvetica,Arial,sans-serif;
    font-size: 12px;
    color: #6b6b6b;
}

input, textarea
{
    padding: 2px 5px;
    border: 1px solid #efefef;
    font-family: Helvetica,Arial,sans-serif;
    font-weight: bold;
    color: #6b6b6b;
}

h1, h2, h3, h4
{
    margin: 0;
    font-family: "Helvetica Neue" ,Helvetica,Arial,sans-serif;
    font-weight: normal;
    text-shadow: 1px 1px 0 #DDDDDD;
}
h2, h3, h4
{
    margin-bottom: 20px;
    padding-bottom: 9px;
    border-bottom: 1px solid #f2f2f2;
    letter-spacing: -1px;
    color: #37404c;
}

h2
{
    font-size: 28px;
}

h3
{
    font-size: 16px;
    font-weight: bold;
}

h4
{
    font-size: 14px;
    font-weight: bold;
}

p
{
    margin-bottom: 1.5em;
    line-height: 170%;
    text-align: justify;
}

em
{
    font-style: normal;
    font-weight: bold;
    color: #37404C;
    font-size: 120%;
    letter-spacing: -1px;
}

a
{
    color: #a71930;
}

a:hover
{
    text-decoration: none;
}

a img
{
    border: none;
}

img.left
{
    float: left;
    margin: 5px 20px 0 0;
}

img.right
{
    float: right;
    margin: 5px 0 0 20px;
}

img.floatSticky
{
    float: right;
    margin-top: -8.5em;
    margin-left: 1em;
    z-index: 999;
}

img.floatTL
{
    float: right;
    clear: right;
    margin: 20px 0 20px 20px;
    padding: 1px;
    border: 1px solid #cccccc;
}

.smallPic
{
    float: left;
    margin-right: 10px;
    background: #fff;
    border: solid 1px #ccc;
    padding: 1px 1px 1px 1px;
}

.generalPic
{
    float: left;
    background: #fff;
    border: solid 1px #ccc;
    padding: 1px 1px 1px 1px;
}

blockquote
{
    background: transparent url("../images/pullquote.gif") no-repeat scroll 0 0;
    font-family: Georgia, "Bitstream Vera Serif" ,serif;
    font-size: 1.6em;
    font-style: italic;
    font-weight: normal;
    line-height: 1.5em;
    margin: 20px 10px 20px 0;
    min-height: 44px;
    padding: 6px 0 2px 28px;
}

/* Page elements - general site structure */

#outerWrapper
{
    width: 960px;
    margin: 0 auto;
    background: url("../images/outerWrapper.jpg") repeat-y;
}

#innerWrapper
{
    background: url("../images/innerWrapper.jpg") no-repeat left bottom;
}

/* Page */

#page
{
    background: url("../images/pageBackground.jpg") no-repeat;
}

/* Header */

#header
{
    height: 140px;
    background: #000 url("../images/headerBackground.jpg") no-repeat;
}

/* Logo */

#logo
{
    float: left;
}

#logoTextMain h1
{
    margin: 0;
    padding: 55px 0 0 45px;
    letter-spacing: -1px;
    font-size: 50px;
    color: #ffffff;
    font-weight: bold;
    line-height: 55px;
}
#logoTextMain h1 a
{
    text-decoration: none;
    color: #ffffff;
    text-shadow: 1px 1px 0 #2e3436;
}
#logoTextMain h2
{
    margin: 0;
    padding: 0px 0 0 0px;
    letter-spacing: -1px;
    font-size: 20px;
    color: #ffffff;
}
#logoTextMain h2 a
{
    text-decoration: none;
    color: #ffffff;
}
/* Menu navigation */

#mainMenu
{
    position: relative;
    top: 0px;
    margin: 0 20px;
    padding: 4px 28px 0 28px;
}

/* Breadcrumb navigation */

#breadcrumbMenu
{
    position: relative;
    margin: 10px 20px 0 20px;
    padding: 0 0 0 30px;
}

#breadcrumb
{
    position: relative;
    background-image: url("../images/breadcrumbBackground.png");
    font: 11px Helvetica, sans-serif;
    height: 30px;
    line-height: 30px;
    color: #9b9b9b;
    border: solid 1px #DEDEDE;
    width: 860px;
    overflow: hidden;
    margin: 0px;
    padding: 0px;
}

#breadcrumb li
{
    list-style-type: none;
    float: left;
    padding-left: 5px;
    font-variant: small-caps;
}

#breadcrumb a
{
    height: 30px;
    display: block;
    background-image: url("../images/breadcrumbSeparator.png");
    background-repeat: no-repeat;
    background-position: right;
    padding-right: 15px;
    text-decoration: none;
    color: #A71930;
    font-variant: small-caps;
}

#breadcrumb .breadcrumbTitle
{
    height: 30px;
    display: block;
    background-image: url("../images/breadcrumbSeparator.png");
    background-repeat: no-repeat;
    background-position: right;
    padding-right: 15px;
    text-decoration: none;
    color: #454545;
    font-weight: bold;
    cursor: help;
    font-variant: small-caps;
}

#breadcrumb a:hover
{
    color: #A71930;
    text-decoration: underline;
}

/* Homepage tabs */

/*#homepageTab
{
    margin: 0 20px;
    padding: 10px 30px 0 30px;
}*/

/* Main content */

#mainContent
{
    position: relative;
    width: 850px;
    padding: 10px 0 0 55px;
}

#mainContent h1
{
    font-size: 36px;
    color: #37404C;
    letter-spacing: -1px;
    border-bottom: 2px solid #F6F6F6;
    margin-bottom: 0.5em;
    padding: 5px;
}
#mainContent h2
{
    font-size: 26px;
    color: #37404C;
    letter-spacing: -1px;
    border-bottom: 2px solid #F6F6F6;
}
#mainContent ul
{
    margin-left: 3em;
    margin-bottom: 1.5em;
    line-height: 170%;
    text-align: justify;
}

#mainContent #sitemap ul
{
    margin-left: 3em;
    margin-bottom: 1.5em;
    line-height: 170%;
    text-align: justify;
    list-style: disc;
}

/*#mainContent span
{
    color: #666666;
    font: bold 20px Verdana, Geneva, sans-serif;
    letter-spacing: -1px;
    border-bottom: 2px solid #F6F6F6;
}*/

#mainContent .imgfloat
{
    background: #fff;
    border: solid 1px #ccc;
}

#mainContent p
{
    padding: 5px;
}

.shortenWidth
{
    width: 420px;
}

.shortenWidth2
{
    width: 450px;
}

#mainContent #map span
{
    font-size: 8px;
}

#telephoneNumber
{
    font-size: 20px;
    text-align: center;
    color: #37404C;
    font-weight: normal;
    font-family: Helvetica, Arial, sans-serif;
    letter-spacing: -1px;
    margin-bottom: 10px;
    text-shadow: 1px 1px 0 #DDDDDD;
}

#contentLeft
{
    width: 49%;
    float: left;
    padding: 0 0 0 0;
}

#contentRight
{
    padding: 0 0 0 0px;
    width: 49%;
    float: right;
}

/* Bottom of the page content */

#bottomContent
{
    margin: 0 50px;
    padding: 25px 28px 0 28px;
    background: #F9F9F9 url("../images/bottomContentBackground.gif") repeat-x;
    height: 204px;
}

#bottomContent #sectionOne
{
    float: left;
    width: 565px;
}

#bottomContent #sectionTwo
{
    float: left;
    width: 260px;
    padding-left: 45px;
}

#bottomContent #sectionThree
{
    float: left;
    width: 186px;
    padding-left: 45px;
}

/* Footer content */

#footer
{
    height: 108px;
    background: url("../images/footerBackground.jpg") no-repeat;
}

#footer p
{
    margin: 0;
    padding-top: 45px;
    padding-left: 40px;
    text-align: left;
    color: #8E8E8E;
}

#footer a
{
    color: #666666;
    text-shadow: 0 1px 0 #fff;
}

#kcomLogo
{
    height: 53px;
    width: 142px;
    float: right;
    margin-right: 50px;
    padding-top: 45px;
    padding-left: 40px;
}

/* Portfolio clients section */

#portfolio
{
    list-style: none;
}

ul#portfolio li img
{
    background: #fff;
    border: solid 1px #ccc;
}

ul#portfolio li a:hover img
{
    border-color: #000;
    -webkit-box-shadow: 0px 0px 15px #BABABA;
    -moz-box-shadow: 0px 0px 15px #BABABA;
    box-shadow: 0px 0px 15px #BABABA;
}

/* Gallery */

.gallery
{
    list-style: none;
    margin: 0;
    padding: 0;
}

.gallery li
{
    margin: 15px 25px;
    padding: 0 12px;
    float: left;
    position: relative;
    width: 170px;
    height: 130px;
    background: url("../images/dropShadow.png") no-repeat center bottom;
}

.gallery img
{
    background: #fff;
    border: solid 1px #ccc;
    border-bottom: none;
}

.gallery img:hover, .gallery span:hover
{
    cursor: pointer;
    -webkit-box-shadow: 0px 0px 15px #BABABA;
    -moz-box-shadow: 0px 0px 15px #BABABA;
    box-shadow: 0px 0px 15px #BABABA;
}

.gallery a:hover img
{
    border-color: #000;
}

#mainContent .gallery span
{
    width: 172px;
    height: 120px;
    display: block;
    position: absolute;
    border-bottom: solid 0px #fff;
    top: 0px;
    left: 12px;
    background: url("../images/glossyGradient.png") no-repeat;
}

.gallery a
{
    text-decoration: none;
}

.gallery em
{
    background: #fff url("../images/greyGradient.gif") repeat-y;
    color: #37404C;
    font-style: normal;
    padding: 2px 10px;
    display: block;
    position: absolute;
    top: 90px;
    left: 9px;
    border: 1px solid #999;
    border-left-color: #888;
}

.gallery a:hover em
{
    background: #A01630 url("../images/redGradient.gif") repeat-y;
    border-color: #930D28;
    color: #fff;
}

.galleryProfile
{
    list-style: none;
    margin: 0;
    padding: 0;
}

.galleryProfile li
{
    margin: 15px 5px;
    padding: 0 12px;
    float: left;
    position: relative;
    width: 166px;
    height: 262px;
    background: url("../images/drop-shadow.png") no-repeat center bottom;
}

.galleryProfile img
{
    background: #fff;
    border: solid 1px #ccc;
    padding: 1px 1px 1px 1px;
}

.galleryProfile a:hover img
{
    border-color: #000;
    -webkit-box-shadow: 0px 0px 15px #BABABA;
    -moz-box-shadow: 0px 0px 15px #BABABA;
    box-shadow: 0px 0px 15px #BABABA;
}

#mainContent .galleryProfile span
{
    width: 172px;
    height: 84px;
    display: block;
    position: absolute;
    border-bottom: solid 0px #fff;
    top: 0px;
    left: 12px;
    background: url("../images/glossy-gradient.png") no-repeat;
}

.galleryProfile a
{
    text-decoration: none;
}

.galleryProfile em
{
    background: #fff url("../images/grey-gradient.gif") repeat-y;
    color: #37404C;
    font-style: normal;
    padding: 2px 10px;
    display: block;
    position: absolute;
    top: 200px;
    left: 9px;
    border: 1px solid #999;
    border-left-color: #888;
}

.galleryProfile a:hover em
{
    background: #A01630 url("../images/redGradient.gif") repeat-y;
    border-color: #930D28;
    color: #fff;
}

/* Slideshow */

#slideshow
{
    position: relative;
    height: 380px;
}

#slideshow .figure
{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 8;
    padding: 3px 3px 4px;
    background: #eee;
    margin-bottom: 1.5em;
    border: 1px solid #ddd;
}

#slideshow .figure:hover
{
    -webkit-box-shadow: 0px 0px 15px #BABABA;
    -moz-box-shadow: 0px 0px 15px #BABABA;
    box-shadow: 0px 0px 15px #BABABA;
}

#slideshow .figure img
{
    border: 1px solid #ddd;
}

#slideshow .figure.active
{
    z-index: 10;
}

#slideshow .figure.last-active
{
    z-index: 9;
}

.figure .textCaption
{
    padding: 4px 3px 0;
    display: block;
    font-weight: bold;
    line-height: 150%;
    margin: 0;
    font-size: 9px;
}

#staticImage .figure
{
    position: relative;
    height: 460px;
    margin-bottom: 20px;
    z-index: 8;
    padding: 3px 3px 4px;
    background: #eee;
    margin-bottom: 1.5em;
    border: 1px solid #ddd;
}

#staticImage .figure:hover
{
    -webkit-box-shadow: 0px 0px 15px #BABABA;
    -moz-box-shadow: 0px 0px 15px #BABABA;
    box-shadow: 0px 0px 15px #BABABA;
}

#staticImage .figure img
{
    border: 1px solid #ddd;
}

#staticImageSmall
{
    float: right;
}


#staticImageSmall .figure
{
    height: 369px;
    z-index: 8;
    padding: 3px 3px 4px;
    background: #eee;
    border: 1px solid #ddd;
    margin-right: 20px;
}

#staticImageSmall .figure img
{
    border: 1px solid #ddd;
}

#slideshowSmall
{
    position: relative;
    float: right;
    height: 232px;
    width: 310px;
    margin-right: 20px;
}

#slideshowSmall:hover
{
    -webkit-box-shadow: 0px 0px 15px #BABABA;
    -moz-box-shadow: 0px 0px 15px #BABABA;
    box-shadow: 0px 0px 15px #BABABA;
}

#slideshowSmall .figure
{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 8;
    padding: 3px 3px 4px;
    background: #eee;
    margin-bottom: 1.5em;
    border: 1px solid #ddd;
}

#slideshowSmall .figure img
{
    border: 1px solid #ddd;
}

#slideshowSmall .figure.active
{
    z-index: 10;
}

#slideshowSmall .figure.last-active
{
    z-index: 9;
}

/* Random elements */

br.clear
{
    clear: both;
}

#map
{
    width: 421px;
    height: 250px;
    border: 1px solid #cccccc;
}

#map:hover
{
    -webkit-box-shadow: 0px 0px 15px #BABABA;
    -moz-box-shadow: 0px 0px 15px #BABABA;
    box-shadow: 0px 0px 15px #BABABA;
}

#awardsImage
{
    position: relative;
    border: 1px solid #cccccc;
    padding: 1px;
    margin: 5px 0 0 20px;
}

.fade
{
    margin-bottom: 2em;
}

.fade p
{
    margin-bottom: 2em;
    text-align: center;
    width: 100%;
    background: #fff;
}

#dialogSteven, #dialogMark, #dialogCraig, #dialogTony, #dialogNatalie, #dialogRecruitment, #dialogWhy, #dialogCareers, #dialogPeople
{
    overflow: auto;
    height: 600px;
}

/* UI menu */
.kwicks
{
    list-style: none;
    position: relative;
    margin: 0;
    padding: 0;
    background-image: url("../images/no_flicker.jpg");
    border: 1px solid #BABABA;
    -webkit-box-shadow: 0px 0px 15px #BABABA;
    -moz-box-shadow: 0px 0px 15px #BABABA;
    box-shadow: 0px 0px 15px #BABABA;
}
.kwicks li
{
    display: block;
    overflow: hidden;
    padding: 0;
    cursor: pointer;
    float: left;
    width: 123px;
    height: 40px;
    margin-right: 0px;
    background-image: url("../images/kwicks_sprite.jpg");
    background-repeat: no-repeat;
}
.kwicks a
{
    display: block;
    height: 40px;
    text-indent: -9999px;
    outline: none;
}

#kwick1
{
    background-position: 0px 0px;
}
#kwick2
{
    background-position: -200px 0px;
}
#kwick3
{
    background-position: -400px 0px;
}
#kwick4
{
    background-position: -600px 0px;
}

#kwick5
{
    background-position: -800px 0px;
}

#kwick6
{
    background-position: -1000px 0px;
}

#kwick7
{
    background-position: -1200px 0px;
}

#kwick1.active, #kwick1:hover
{
    background-position: 0 bottom;
}

#kwick2.active, #kwick2:hover
{
    background-position: -200px bottom;
}

#kwick3.active, #kwick3:hover
{
    background-position: -400px bottom;
}
#kwick4.active, #kwick4:hover
{
    background-position: -600px bottom;
}

#kwick5.active, #kwick5:hover
{
    background-position: -800px bottom;
}

#kwick6.active, #kwick6:hover
{
    background-position: -1000px bottom;
}

#kwick7.active, #kwick7:hover
{
    background-position: -1200px bottom;
}

#kwick1 a
{
    background-image: url("images/end.jpg");
    background-repeat: no-repeat;
    background-position: left 0px;
}

#kwick1 a:hover
{
    background-position: left -80px;
}

#kwick7 a
{
    background-image: url("images/end.jpg");
    background-repeat: no-repeat;
    background-position: right -40px;
}

#kwick7 a:hover
{
    background-position: right -120px;
}

.spacer
{
    clear: both;
    margin-top: 5px;
    margin-bottom: 5px;
}

#careerBoxes
{
    width: 860px;
    height: 155px;
    margin-bottom: 20px;
}

#careerBoxes img
{
    float: left;
    border-width: 0;
    margin: 0 17px 0 0;
}

#careerBoxes img.last
{
    margin: 0;
}

/* rss feed */
#feedSubscribe
{
    float: right;
    margin: 0;
    padding: 70px 48px 0 0;
    display: block;
    color: #8E8E8E;
    font-variant: small-caps;
}

.feedMenu
{
    height: 22px;
    width: 22px;
    vertical-align: middle;
    overflow: hidden;
    margin: 0 .25em;
}

/* Contact form */
#contactForm
{
    width: 415px;
}

#contactForm input, #contactForm textarea
{
    padding: 5px;
    width: 250px;
    margin: 0px 0px 10px 0px;
    border: 1px solid #ccc;
    font-family: Helvetica,Arial,sans-serif;
    font-size: 12px;
}

#contactForm textarea
{
    height: 90px;
}

#contactForm textarea:focus, #contactForm input:focus
{
    border: 1px solid #A71930;
}

#contactForm input.submit-button
{
    width: 100px;
    margin-left: 95px;
}

label
{
    float: left;
    text-align: right;
    margin-right: 15px;
    width: 80px;
    padding-top: 5px;
}

label, input[type="text"]
{
    float: left;
    display: block;
}

.field
{
    width: 100%;
    overflow: auto;
}

/* Validation */
.emailSuccess
{
    position: relative;
    padding: 3px 10px;
    background: #FFFCDF;
    border: 2px solid #EFE795;
    color: #2e3436;
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center;
}

.emailMessage
{
    margin-bottom: 1.5em;
    line-height: 170%;
    text-align: justify;
}

.errorMessage
{
    margin-bottom: 1em;
    line-height: 170%;
    text-align: justify;
    margin-left: 95px;
}

.emailNotValid, .emailError
{
    position: relative;
    padding: 3px 10px;
    background: #ffdfdf;
    border: 2px solid #df7d7d;
    color: #2e3436;
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center;
}

.smallText
{
    font-size: 10px;
}



