/*****************
 * Service Advisories
*****************/
/* localized reset */
form.serviceAdvForm fieldset, form.serviceAdvForm label, form.serviceAdvForm button, form.serviceAdvForm div {
    margin:0;
    padding:0;
    border:0;
    font-size:100%;
    font:inherit;
    vertical-align:baseline;
    }
/* shell */
div#serviceAdvShell {
    margin:5px 5px 11px 8px;
    padding:0 0 2em;
    width:740px;
    background:#fff;
    -webkit-border-radius:6px;
    -moz-border-radius:6px;
    border-radius:6px;
    -webkit-box-shadow:1px 1px 10px rgba(0,0,0,0.2);
    -moz-box-shadow:2px 2px 10px rgba(0,0,0,0.2);
    box-shadow:1px 1px 10px rgba(0,0,0,0.2);
    border:1px solid rgb(220,220,220);

    }
/* shell .SA-header */
div#serviceAdvShell .SA-header {
    padding:1em 16px 10px;
    width:708px;
    overflow:hidden;
    background-color:#ccc;
    -webkit-border-radius:6px 6px 0 0;
    -moz-border-radius:6px 6px 0 0;
    border-radius:6px 6px 0 0;
    border-bottom:1px solid rgb(191,191,191);

    }
#serviceAdvShell .SA-header img {
    float:left;
    width:87px; height:74px;
    }
#serviceAdvShell .SA-header > div {
    margin:22px 0 0 97px;
    }
#serviceAdvShell .SA-header h1 {
    margin:0;
    color:#fff;
    /*text-shadow:0 1px 1px rgba(0,0,0,0.2), 0 -1px 1px rgba(180,180,180,0.53);*/
    }
#serviceAdvShell .SA-header p {
    margin:0;
    color:#333; /* fallback */
    color:rgba(0,0,0,0.85);
    /*text-shadow:0 1px 0 #fff;*/
    }

#serviceAdvShell .SA-body {
    padding:2em 50px 0;
    }
#serviceAdvShell .SA-body > div.instruct {
    margin:0 0 2em;
    padding:1em 10px;
    width:618px;
    background-color:rgb(255,250,215); /* fallback */
    background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(255,221,0,0.2)), to(rgba(255,221,0,0.05)));
    background:-webkit-linear-gradient(0% 100% 90deg, rgba(255,221,0,0.05), rgba(255,221,0,0.2));
    background:-moz-linear-gradient(0% 100% 90deg, rgba(255,221,0,0.05), rgba(255,221,0,0.2));
    background:linear-gradient(0% 100% 90deg, rgba(255,221,0,0.05), rgba(255,221,0,0.2));
    border:1px solid rgb(255,221,0);
    -webkit-border-radius:2px;
    -moz-border-radius:2px;
    border-radius:2px;
    text-shadow:0 1px 0 #fff;

    }
#serviceAdvShell .SA-body > div p:first-child {margin-top:0;}
#serviceAdvShell .SA-body > div > :last-child {margin-bottom:0;}
#serviceAdvShell .SA-body > div p strong {font-weight:bold;}

/* forms */
form#serialNumberForm {
    margin-top:20px;
    }
form.serviceAdvForm fieldset {
    padding:10px 110px 10px 10px;
    width:350px;
    border-top:1px solid #e5e5e5;
    }
form.serviceAdvForm fieldset:nth-of-type(odd) {
    background:#f5f5f5;
    }
form.serviceAdvForm fieldset.submit {
    position:relative; /* positioning context for ab pos'ed feedback */
    padding-top:0; /* @KLUDGE: FF 3.6+ rendering bug: fieldset padding throws off ab pos'ed child; use margin on static children instead */
    }
form.serviceAdvForm fieldset:last-child:not(nth-of-type(even)) {
    border-bottom:1px solid #e5e5e5;
    }
form.serviceAdvForm h2 {
    margin:0 0 1em 0;
    font-size:12px;
    font-weight:bold;
    }
form.serviceAdvForm p {
    position:relative;
    font-size:11px;
    font-style:italic;
    }
form.serviceAdvForm label {
    float:left;
    width:155px;
    color:#000;
    color:rgba(0,0,0,0.8);
    font-size:11px;
    font-weight:bold;
    line-height:1.8;
    }
form.serviceAdvForm fieldset:nth-of-type(odd) label {
    text-shadow:0 1px 1px #fff;
    }
form.serviceAdvForm input[type="text"] {
    float:right;
    width:183px;
    padding:3px 0 2px 3px;
    /*background-image:-webkit-gradient(linear, 0% 0%, 0% 12%, from(rgba(0,0,0,0.25)), to(#fff));
    background-image:-webkit-linear-gradient(0% 12% 90deg, #fff, rgba(0,0,0,0.25));
    background-image:-moz-linear-gradient(0% 12% 90deg, #fff, rgba(0,0,0,0.25));
    background-image:linear-gradient(0% 12% 90deg, #fff, rgba(0,0,0,0.25));*/
    background:#fff url('/static/images/backgrounds/bg-input.png') 0 0 repeat-x;
    border:1px solid rgb(230,230,230);
    border-top:none; border-left-color:#d5d5d5;
    -webkit-border-radius:2px 2px 0 0;
    -moz-border-radius:2px;
    border-radius:2px 2px 0 0;
    font-size:11px;
    -webkit-transition:all .2s linear;
    -moz-transition:all .2s linear;
    -o-transition:all .2s linear;
    transition:all .2s linear;

    }
form.serviceAdvForm input[type="text"]:focus {
    -webkit-box-shadow:0 0 12px rgba(255,221,0,0.5);
    -moz-box-shadow:0 0 12px rgba(255,221,0,0.5);
    box-shadow:0 0 12px rgba(255,221,0,0.5);
    }
form.serviceAdvForm input[type="text"].error,
form.serviceAdvForm input[type="text"].invalid {
    border:1px solid #c00;
    background:rgb(246,220,220); /* fallback */
    background:rgba(255,0,0,0.1);
    color:#000;
    }
form.serviceAdvForm input[type="text"].error:focus,
form.serviceAdvForm input[type="text"].invalid:focus {
    -webkit-box-shadow:0 0 12px rgba(255,0,0,0.5);
    -moz-box-shadow:0 0 12px rgba(255,0,0,0.5);
    box-shadow:0 0 12px rgba(255,0,0,0.5);
    }
form.serviceAdvForm a.button,
form.serviceAdvForm a.button:active {
    display:block;
    margin-top:10px; /* @KLUDGE FF3.6+ fieldset padding issue */
    margin-left:162px;
    color:#fff;
    font-size:11px;
    text-align:right;
    text-shadow:0 1px 1px rgba(0,0,0,0.5);
    cursor:pointer;
    /*
    - best practice is to use form input or button element, not anchor with JS
    - additional styles for button, requires some IE fixes ideally via CC stylesheet
    padding:3px 6px 3px 18px;
    background:#575757 url('/static/images/buttons/submit-arrow.png') 4px 50% no-repeat;
    border:none;
    -webkit-border-radius:5px;
    -moz-border-radius:5px;
    border-radius:5px;
    -webkit-box-shadow:0 1px 2px rgba(0,0,0,0.5);
    -moz-box-shadow:0 1px 2px rgba(0,0,0,0.5);
    box-shadow:0 1px 2px rgba(0,0,0,0.5);
    -webkit-transition:background-color .1s linear;
    -moz-transition:background-color .2s linear;
    -o-transition:background-color .2s linear;
    transition:background-color .2s linear; */
    }
form.serviceAdvForm a.button span {margin:0;}
*+html form.serviceAdvForm button { /* IE7 */
    padding-left:5px;
    }
form.serviceAdvForm button:hover {
    background-color:#000;
    }
/* Serial Number submit - please wait... */
span#waitMsg {
    display:block;
    margin:15px 0 0 162px;
    padding:0 0 0 0.5em;
    background-color:rgb(255,250,215); /* fallback */
    -webkit-box-shadow:0 0 12px rgba(255,221,0,0.5);
    -moz-box-shadow:0 0 12px rgba(255,221,0,0.5);
    box-shadow:0 0 12px rgba(255,221,0,0.5);
    font-weight:bold;
    line-height:1.5;
    text-align:left;
    }
form#serialNumberForm span#waitMsg {
    margin-top:14px;
    }
/* Serial Number submit - feedback messages */
#invalidMsg.feedback,
#validMsg.feedback {
    padding:10px 110px 10px 10px;
    width:350px;
    background:rgb(0,128,0);
    border-top:1px solid #e5e5e5;
    color:#fff;
    font-style:normal;
    font-weight:bold;
    text-shadow:0 1px 1px rgba(0,0,0,0.4);
    }
/* Serial Number valid message */
#validMsg.feedback {
    background: rgb(210,0,0);
    }

form#serialNumberForm p.feedback {
    margin:0;
    }
form#serialNumberForm p.feedback em {
    display: block;
    margin-top:1em;
    font-style: normal;
}

/* validation */
form.serviceAdvForm #requiredMessage,
form.serviceAdvForm #invalidEmail {
    display:block;
    padding:4px 10px;
    width:448px;
    background:rgb(246,220,220); /* fallback */
    background:rgba(255,0,0,0.1);
    border:1px solid #c00;
    color:#c00;
    font-size:12px;
    font-style:normal;
    font-weight:bold;
    line-height:1.8;
    text-align:center;
    text-shadow:1px 1px 0 rgba(255,255,255,1);
    }
/* animation progressive enhancement, webkit only */
@-webkit-keyframes pulse {
    0%      {-webkit-box-shadow:0 0 12px rgba(255,221,0,0.1);}
    50%     {-webkit-box-shadow:0 0 12px rgba(255,221,0,0.6);}
    100%    {-webkit-box-shadow:0 0 12px rgba(255,221,0,0.1);}
    }
form.serviceAdvForm input[type="text"]:focus,
form.serviceAdvForm button:hover,
form.serviceAdvForm button:focus {
    -webkit-animation: pulse 1.5s infinite ease-in-out;
    }
@-webkit-keyframes pulseErr {
    0%      {-webkit-box-shadow:0 0 12px rgba(255,0,0,0.1);}
    50%     {-webkit-box-shadow:0 0 12px rgba(255,0,0,0.6);}
    100%    {-webkit-box-shadow:0 0 12px rgba(255,0,0,0.1);}
    }
form.serviceAdvForm input[type="text"].error:focus,
form.serviceAdvForm input[type="text"].invalid:focus,
form.serviceAdvForm button:hover,
form.serviceAdvForm button:focus {
    -webkit-animation: pulseErr 1.5s infinite ease-in-out;
    }

/* -- Shipping Page -- */
#serviceAdvShell .SA-body h2 {
    margin-bottom:1.5em;
    font-size:12px;
    }
#serviceAdvShell #shippingLabel,
#serviceAdvShell #returnForm {
    margin:1em 0;
    width:100%; overflow:hidden;
    }
#serviceAdvShell #shippingLabel h3,
#serviceAdvShell #returnForm h3 {
    margin:0 0 1em;
    padding:.5em 0;
    background:rgb(245,245,245);
    border-top:1px solid rgb(230,230,230);
    letter-spacing:normal;
    text-align:center;
    text-shadow:0 1px 1px #fff;
    }
#serviceAdvShell .SA-body > div > div.group {
    padding:1em 10px;
    width:96.56%;
    border:1px dashed #666;
    -webkit-border-radius:2px;
    -moz-border-radius:2px;
    border-radius:2px;

    }

/* Shipping Label */
#serviceAdvShell #shippingLabel .shipFrom * {display:inline;}
#serviceAdvShell #shippingLabel .shipFrom > div {
    display:block;
    margin:0 0 0 40px;
    font-size:130%;
    line-height:1.5;
    }
#serviceAdvShell #shippingLabel .shipFrom div.adr > div {
    display:block;
    }
#serviceAdvShell #shippingLabel .shipTo {
    clear:left;
    float:right;
    margin:1.5em 0 0 1em;
    min-width:40%;
    font-size:130%;
    line-height:1.5;
    text-align:left;
    }
#serviceAdvShell #shippingLabel .shipTo div.street-address span {display:block;}

#serviceAdvShell .SA-body > hr {margin:3em 0; border:none; border-top:2px dashed #000;}

/* Return Form */
#serviceAdvShell #returnForm > .group {
    padding-bottom:0;
    border-style:solid;
    }
#returnForm h4 {
    margin:0 0 1.5em;
    font-weight:normal;
    text-align:center;
    }
#returnForm ul,
#returnForm ul li {
    margin:0; padding:0;
    list-style:none;
    list-style-image:none; /* ie7 needs help */
    }
#returnForm ul.nikon {
    width:100%;
    overflow:hidden;
    border-bottom:2px solid #000;
    }
#returnForm ul.nikon li {
    float:left;
    padding:0.25em 8px 0.5em;
    border-right:2px solid #000;
    font-size:112%;
    font-weight:bold;
    }
#returnForm ul.nikon li.last {border-right:none;}

/* customer fields on return form */
#returnForm ul.customer {
    width:100%;
    overflow:hidden;
    }
#returnForm ul.customer li {
    position:relative;
    padding:1em 0 0.6em 10px;
    min-height:1.95em;
    border-bottom:1px solid #000;
    font-size:110%;
    line-height:2;
    }
#returnForm ul.customer li.adr {
    padding:0;
    width:100%; overflow:hidden;
    min-height:0;
    }
#returnForm ul.customer li div {
    position:relative;
    float:left;
    padding:1em 0 0.6em 10px;
    }
#returnForm ul.customer li div:first-child {
    float:none;
    border-bottom:1px solid #000;
    }
#returnForm ul.customer li div.locality,
#returnForm ul.customer li.phone {width:270px;}
#returnForm ul.customer li div.region {min-width:150px; padding-right:5px;}
#returnForm ul.customer li div.postal-code {min-width:150px}
#returnForm ul.customer li.phone,
#returnForm ul.customer li.email {float:left; border-bottom:none;}
#returnForm ul.customer li.email {min-width:300px;}
#returnForm ul.customer li em {
    position:absolute; top:1px; left:5px;
    width:90%;
    font-size:11px;
    line-height:normal;
    white-space:nowrap;
    }
#returnForm ul.customer li strong {
    font-size:130%;
    font-weight:normal;
    }

/* REUSABLE GLOBALS */
@media screen {
    .btn-print {
        clear:both;
        margin:1em 0 0;
        text-align:center;
        }
    .btn-print a:link,
    .btn-print a:visited {
        padding:4px 12px 5px 30px;
        background:#FFDF0D url('/static/images/icons/print.png') 8px 50% no-repeat;
        background:rgba(255,221,0,0.7) url('/static/images/icons/print.png') 8px 50% no-repeat;
        border:1px solid rgb(0,0,0);
        border-color:rgba(0,0,0,0.25);
        color:#444; /* fallback */
        color:rgba(0,0,0,0.85);
        font:bold 14px/2 Arial, Helvetica;
        text-shadow:0 1px 1px #fff;
        -webkit-border-radius:4px;
        -moz-border-radius:4px;
        border-radius:4px;
        -webkit-box-shadow:0 1px 2px rgba(0,0,0,0.25);
        -moz-box-shadow:0 1px 2px rgba(0,0,0,0.25);
        box-shadow:0 1px 2px rgba(0,0,0,0.25);

        }
    .btn-print a:hover {
        background-color:rgba(255,221,0,0.95);
        color:#000;
        text-shadow:0 1px 1px #fff;
        }
    .btn-print p:last-child {margin-bottom:0;}
    }

/* group clear */
.group:after {
    content:' ';
    height:0;
    visibility:hidden;
    clear:both;
    display:block;
    }

/* PRINT STYLES */
@media print {
    #header,
    #global-nav,
    #breadcrumbs,
    #leftNav,
    #nikon_global_footer,
    #footer-parent,
    #build__,
    #element1 > div.iw_component,
    #serviceAdvShell .btn-print,
    #element1 + *
    {
        display:none;
        }

    #element2 {width:100%; margin:0; padding:0; float:none; display:block;}
    #element2 div.iw_component {float:none; display:block; margin:10px; padding:0; width:100%;}
    div#serviceAdvShell {
        -webkit-box-shadow:none;
        -moz-box-shadow:none;
        box-shadow:none;
        border:none;
        margin:0;
        padding:0;
        width:90%;
        }
    div#serviceAdvShell .SA-header {width:90%;}
    #serviceAdvShell .SA-body {margin:0 auto; width:86.48%;}

    #serviceAdvShell #shippingLabel h3,
    #serviceAdvShell #returnForm h3,
    #serviceAdvShell .SA-body > div.instruct {border:none;}
    #serviceAdvShell .SA-body > div.instruct {padding:0;}
    #serviceAdvShell .SA-body > div > div.group {margin-bottom:5px; border:1px solid #666;}

    /* ie7 */
    *+html #serviceAdvShell * {display:inline-block;}
    }
