/* generic elements used througout the site,not specific to the template being used. */
/*html elements*/
body {
    color: #444;
    font-family: Arial, Helvetica, sans-serif;
}

h1, h2, h3 {
    font-family: Lucida Sans Unicode, Lucida Grande, sans-serif;
}

h1 {
    font-size: 240%;
    line-height: 33px;
}

h1.long-header {
/*if an h1 is too long to fit on the page without wrapping use this*/
    font-size: 197%;
}

p {
    line-height: 17px;
    font-size: 108%;
}

a {
    color: #006abc;
    outline: none;
    text-decoration: none;
}

a:active {
    outline: none;
}

a:hover {
    text-decoration: underline;
}

h1, h2, h3, h4, h5, h6 {
    margin-bottom: .5em;
    font-weight: normal;
}

h2 {
    color: #444;
    font-size: 123.1%;
    line-height: 20px;
}

h5, h6 {
    font-size: 100%;
}

strong {
    font-weight: bold;
}

em {
    font-style: italic;
}

ul, ol, dl, p, pre, table {
    margin-bottom: 1em;
}

ul.normal-size-font li {
    font-size:108%;    
}

dl p {
    margin: 0;
    padding: 5px 0 0;
}

fieldset {
    margin-bottom: .5em;
}

abbr, acronym {
    border-bottom: 1px dotted #000;
    cursor: help;
}

ul, ol {
    margin-left: 2em;
}

li {
    margin-bottom: .5em;
}

ol li {
    list-style: decimal outside;
}

ul li {
    list-style: disc outside;
}

ul li ol li {
    list-style: decimal outside;
    margin-top: 1em;
}

dl dd {
    margin-left: 1em;
}

th {
    font-weight: bold;
}

table.standard {
    margin-top: 10px;
}

table.standard td, table.standard th {
    border: 1px solid #CCCCCC;
    padding: 10px;
}

table.standard th {
    background: #fff url(../../images/page/pra/icon/snp-grad.gif) repeat-x scroll 0 0;
}

table.standard tfoot td {
/*	border-top: 2px #ccc solid;*/
}

table.standard tfoot tr.even td {
    background-color: #fff;
}

table.standard tfoot p {
    font-size: 85%;
    margin-bottom: 2px;
    padding: 0;
}

table.standard span.footnote {
    color: #ff0000;
    font-size: 10px;
    font-weight: normal;
    font-family: "Verdana", normal, sans-serif;
    vertical-align: top;
}

table.standard tr.even td {
    background-color: #f2f7eb;
}

caption {
    margin-bottom: .5em; /*centered so it doesn't blend in to other content*/
    text-align: center;
}

input[type=text], input[type=password], textarea, input.text-field, input.password {
    width: 12.25em;
    *width: 11.9em;
}

input.large-text-field {
    width: 205px;
}

input.extra-large-text-field {
    width: 27em;
}

input[type=button], input[type=submit], input[type=reset],
    button, .button, .submit, .reset {
    overflow: visible;
}

/*Clear floats and add to divs that contain floated divs in layouts*/
.clearfix:after, #content:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.underline {
    text-decoration: underline;
}

.checkbox {
    margin-right: 5px;
}

.hide {
    display: none;
}

.show {
    display: block;
}

.invisible {
    visibility: hidden;
}

.visible {
    visibility: visible;
}

.toggle-link {
    cursor: pointer;
    background: url(../../images/page/pra/arrow-right.gif) no-repeat;
    padding-left: 12px;
}

.toggle-link-down {
    background-image: url(../../images/page/pra/arrow-down.gif);
}

.action {
    display: block;
    margin-top: .8333em;
    padding-right: .5em;
    text-align: right;
}

a.action {
    display: inline;
    margin: 0;
    padding: 0;
    text-align: inherit;
}

.action a, a.action {
    text-transform: capitalize;
    font-weight: bold;
}

.action a:hover, a.action:hover {
    color: #1b95c8;
}

/*
	TODO wpaoli should this be moved to debugwindow.css?
*/

/*debug/preview*/
.debug-window-link {
    position: fixed;
    padding: 4px;
    border: 1px solid white;
    top: 10px;
    right: 10px;
    background: #333;
    width: 6em;
    font-size: 90%;
    font-weight: bold;
    text-align: center;
    opacity: .8;
}

.preview-mode-window {
    position: fixed;
    padding: 4px;
    border: 1px solid white;
    top: 40px;
    right: 10px;
    background: #333;
    font-size: 90%;
    font-weight: bold;
    text-align: center;
    opacity: .8;
}

.debug-window-link a {
    color: #ff7;
}

.preview-mode-window a {
    color: #ff7;
}

.debug-table {
    width: 100%;
    border: 1px solid #eee;
}

.debug-table thead tr {
    background: #eee;
}

.debug-table th, .debug-table td {
    padding: 5px;
    font-size: 120%;
    border-bottom: 1px solid #999;
}

.debug-table th {
    font-weight: bold;
}

/*info tips*/
img.has-info-tip {
    vertical-align: top;
}

.info-tip {
    position: absolute;
    padding: 8px;
    border: 1px solid #00a6d3;
    background: #fff;
    width: 16.7em;
    font-size: 85%;
    z-index: 99;
}

.info-tip h3 {
    padding-bottom: 2px;
    margin: 0;
    font-size: 100%;
}

.info-tip .body {
    font-weight: normal;
}

/*Feedback Panel*/
.feedbackPanel {
    margin: 0;
    padding: .8333em;
    color: #666;
    font-weight: bold;
    width: 475px;
}

/* append this class to feedbackPanel for smaller containers like modal alerts */
.extendedFeedbackPanel {
    width: 100%;
    padding: 0.2%;
}

.feedbackPanel ul li {
    margin: 0;
    padding: 7px 0 7px 35px;
    list-style: none;
}

.feedbackPanel li.success-msg {
    background: url(../../images/common/widgets/success.gif) 0 1px no-repeat;
}

.feedbackPanel li.error-msg {
    background: url(../../images/common/widgets/error.gif) 0 1px no-repeat;
}

.feedbackPanel li.info-msg {
    background: url(../../images/common/widgets/information.gif) 0 1px no-repeat;
}

/*Forms*/
form.general {
    width: 528px;
}

fieldset.group {
    clear: left;
}

.signin-txt {
    padding-top: 5px;
}

a.signin-txt {
    float: left;
}

.required {
    background: url(../../images/common/required_field.gif) 0 2px no-repeat;
    text-indent: 11px;
    font-weight: bold;
}

.required input {
    font-weight: normal;
}

label.required a {
    float: left; /* safari fix */
    text-indent: 0;
}

.required-head {
    float: right;
}

.group label, .group .multi {
    float: left;
    display: inline;
    margin-right: 10px;
    margin-bottom: 10px;
}

.group .multi label, .multi span.required {
    display: block;
    float: none;
    margin: 0;
}

label select {
    margin-top: 4px;
}

.multi .label {
    display: block; /* fixes safari layout issue with gender radio inputs */
}

.multi input, .multi select {
    display: inline;
    float: none;
    margin-right: .5em;
}

.multi label span, .multi label .radio {
    float: left;
}

.group label input {
    margin-top: 2px;
}

.group label input.text-field-indent {
    margin-left: 10px;
}

.group label .text-field,
    .group label .password,
    .group label .dropdown {
    display: block;
    padding: 2px 0 1px 0;
}

.group label .text-field, .group label .password {
    padding-left: 2px;
}

.group label .dropdown, .group .multi .dropdown {
    margin-top: 2px;
    padding-top: 0;
}

/* for form fields with text and input that arent next to each other */
label.field-underneath {
    float: none;
    margin-top: 5px;
}

/* used to match the width of large-text-field*/
.large-dropdown {
    width: 16.3em;
}

/*Buttons*/
a.button, div.button {
    background: transparent url(../../images/visitor/button-left-cap.png) no-repeat left 1px;
    color: #fff;
    display: inline-block;
    padding: 0 0 0 3px;
    text-decoration: none;
    float: left;
}

a.button span, div.button span {
    background: transparent url(../../images/visitor/button-right.png) no-repeat scroll right 1px;
    display: inline-block;
    font-size: 85%;
    height: 19px;
    padding: 1px 10px;
    white-space: nowrap;
    float: left;
}

a.button:hover {
    background-position: left -19px;
    text-decoration: none;
}

a.button:hover span {
    background-position: right -19px;
    cursor: pointer;
}

/*larger orange button*/
a.large-button {
    background: transparent url(../../images/visitor/large-button-left-cap.png) no-repeat left 0;
    color: #fff;
    display: inline-block;
    padding: 0 0 0 5px;
    text-decoration: none;
    float: left;
}

a.large-button-blue {
    background: transparent url(../../images/visitor/large-button-left-cap-blue.png) no-repeat left 0;
}

a.large-button-pink, .geneius-pink a.large-button, .pink a.large-button {
    background: transparent url(../../images/visitor/large-button-left-cap-pink.png) no-repeat left 0;
}

.highmark-direct a.large-button, .cisco a.large-button {
    background: transparent url(../../images/visitor/large-button-left-cap-cisco-red.png) no-repeat left 0;
}

a.large-button-grey, a.large-button-disabled {
    background: transparent url(../../images/visitor/large-button-left-cap-grey.gif) no-repeat left 0;
}

/* do we really need floats on all our large buttons? yes we do, if you want to center them use .centered-element */
.centered a.large-button {
    float:none;
}

.centered-element {
    width: 50%;
    margin: auto;
}


.widget-content a.large-button {
    margin-left: 43px;
    color: white;
}

.member-home-columns .widget-content a.large-button {
    margin-left: 100px;
}

a.large-button span {
    background: transparent url(../../images/visitor/large-button-right.png) no-repeat right 0;
    display: inline-block;
    height: 19px;
    padding: 8px 9px 6px 4px;
    white-space: nowrap;
    float: left;
}

a.large-button-blue span {
    background: transparent url(../../images/visitor/large-button-right-blue.png) no-repeat right 0;
}

a.large-button-pink span, .geneius-pink a.large-button span, .pink a.large-button span{
    background: transparent url(../../images/visitor/large-button-right-pink.png) no-repeat right 0;
}

.highmark-direct a.large-button span, .cisco a.large-button span{
    background: transparent url(../../images/visitor/large-button-right-cisco-red.png) no-repeat right 0;
}

a.large-button-grey span, a.large-button-disabled span {
    background: transparent url(../../images/visitor/large-button-right-grey.gif) no-repeat right 0;
}

a.large-button:hover {
    background-position: left -33px;
    text-decoration: none;
}

a.large-button:hover span {
    background-position: right -33px;
    cursor: pointer;
}

.large-button.view-demo span {
    padding-left: 9px;
    padding-right: 12px;
}

.large-button.sign-up span, #home a.button.sign-up span {
    padding-left: 17px;
    padding-right: 20px;
}

.button-inline-right {
    margin-left: 5px;
}

.blue-button {
    height: 22px;
    overflow: hidden;
    float: left;
}

.blue-button .button {
    background: transparent url(../../images/visitor/light-blue-button-left-cap.gif) no-repeat left 0;
    padding-left: 6px;
    height: 22px;
}

.blue-button .button span {
    background: transparent url(../../images/visitor/light-blue-button-right.gif) no-repeat right 0;
    height: 18px
}

/* button tags need extra span wrapper or else */
button.button, button.button-small {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
    width: auto;
}

/* fix extra padding on buttons in ff */
button::-moz-focus-inner{
    padding: 0;
    border:none;
}

button.button:hover, button.button-small:hover {
    text-decoration: none;
}

button.button span, button.button-small span {
    display: block;
    overflow: visible;
    height: 31px;
    line-height: 31px;
    color: #fff;
    font-weight: normal;
}

button.button span.left {
    padding-left: 15px;
    background: url(../../images/common/widgets/general-buttons.gif) left top no-repeat;
}

/* todo move geneius stuff to partners css after deployed successful */
button.pink-button span.left, .geneius-pink button span.left, .pink button span.left {
    background: url(../../images/common/widgets/pink-buttons.gif) left top no-repeat;
}

button.button-small span.left {
    padding-left: 9px;
    background: url(../../images/common/widgets/general-buttons-small.gif) left top no-repeat;
}

button.button span.right {
    padding-right: 15px;
    background: url(../../images/common/widgets/general-buttons.gif) right top no-repeat;
}

button.pink-button span.right, .geneius-pink button span.right, .pink button span.right {
    background: url(../../images/common/widgets/pink-buttons.gif) right top no-repeat;
}

button.button-small span.right {
    padding-right: 6px;
    background: url(../../images/common/widgets/general-buttons-small.gif) right top no-repeat;
}

button.button:hover .left, button.button-small:hover .left {
    background-position: left bottom;
}

button.button:hover .right, button.button-small:hover .right {
    background-position: right bottom;
}

button.button-small span {
    height: 20px;
    line-height: 20px;
}

button.disabled span.left {
    background: url(../../images/common/widgets/general-buttons-disabled.gif) left bottom no-repeat;
}

button.disabled span.right {
    background: url(../../images/common/widgets/general-buttons-disabled.gif) right bottom no-repeat;
}

button.disabled:hover, button.disabled span.left:hover, button.disabled span.right:hover{
    cursor:default;
}

button.disabled:hover .left {
    background-position:left bottom;
}

button.disabled:hover .right {
    background-position:right bottom;
}

/*home page buttons*/
.home-content a.large-button {
    background: transparent url(../../images/visitor/home-button-left-cap.png) no-repeat left 0;
    color: #fff;
    display: inline-block;
    padding: 0 0 0 3px;
    text-decoration: none;
    float: left;
    margin-right: 3px;
}

.home-content a.large-button span {
    background: transparent url(../../images/visitor/home-button-right.png) no-repeat scroll right 0;
    display: inline-block;
    float: left;
    font-size: 93%;
    height: auto;
    padding: 4px 20px 7px 17px;
    white-space: nowrap;
}

.home-content a.large-button:hover {
    background-position: left -26px;
}

.home-content a.large-button:hover span {
    background-position: right -26px;
    cursor: pointer;
}

.address-view {
    margin-left: 0;
}

.address-view li {
    margin: 0;
    list-style: none;
}

/* error classes */
.error-message {
    display: block;
    clear: left;
    color: #f58523;
    font-size: 91.67%;
    text-indent: 0;
    font-weight: normal;
    width: 205px;
}

fieldset.full-width span.error-message {
    width: auto;
}

fieldset.full-width .required span.error-message {
    padding-left: 12px;
}

.submitter {
    padding: 10px 0;
    text-align: right;
}

.submitter2 {
    padding: .5em 0;
}

.submitter-row {
    padding-top: 1em;
}

form .panel {
    padding: 20px;
    width: 485px;
}

#lightbox-container form .panel {
    width:440px;
}

form .autosize-panel {
    width: auto;
}

/* member mayo image details popups */
.popup .title {
    font-size: 150%;
    font-weight: bold;
    color: #333;
}

.popup .media {
    display: block;
}

.popup .caption {
    width: 90%;
    font-size: 85%;
}

/* general visitor side popups */
.popup-info {
    padding: 20px;
}

.popup-info h2 {
    text-align: center;
    margin-bottom: 1em;
}

/* Password Strength Meter */
.strengthWidget {
    font-size: 85%;
    width: 11.25em;
    padding: .5em;
    background: #fff;
    border: 1px solid #999;
    left: 0;
    position: absolute;
    top: 0;
    z-index: 3;
}

.strengthStatus {
    font-weight: bold;
    margin: 0 0 .25em;
}

.strengthMeter {
    border: 1px solid #ccc;
    width: 10em;
    height: 1em;
}

.hasvideo:hover {
    cursor: pointer;
}

.disabled {
    color: #ccc;
}

/* Print Invoice Styles */

#invoicepage h1 {
    float:right;
    font-size:149%;
}


#invoicepage h3 {
    margin-bottom: 0;
    font-weight: bold;
}

.invoice-footer {
    text-align:center;
    font-size:83%;
    margin-top: 5em;
}

#invoicepage .section {
    float:left;
}

.addresses, .invoiceinfo {
    float: left;
}

.addresses, .shipping {
    width: 50%;
}

.addresses p, .invoiceinfo p {
    margin: 0;
}

.invoicelineitems {
    width: 540px;
    clear: both;
    margin: 5em 0;
}

.invoicelineitems .rt {
    text-align: right;
}

.invoicelineitems .hd {
    border-bottom: 1px solid #666;
}

.invoicelineitems .tl {
    border-top: 1px solid #666;
}

.invoicelineitems td {
    padding-bottom: 3px;
}

#invoicepage {
    margin: 50px;
    width: 550px;
}

#invoicepage .section {
    margin-top: 1em;
}

.invoice-footer {
    margin: 20px 0 20px 0;
}

.header-wrapper {
    margin-bottom: 20px;
}

.header-wrapper h2 {
    float: right;
    margin-top: 5px;
    width: 50%;
}

/* END Print Invoice Styles */
.create-account {
    float: left;
    padding-top: 8px;
    font-size: 105%;
}

.login-page-left {
    float: left;
}

.login-page-right {
    float: right;
    margin: 1em 0 0;
    text-align: right;
    font-size: 96%;
}

.clearing-spacer {
    clear: both;
    height: 16px;
}

.dashed-divider {
    border-bottom: 1px dashed #ccc;
    margin: 20px 0;
    width: 99%;
}

.clear {
    clear: both;
}

.float-right {
    float: right;
}

.float-left {
    float: left;
}

.callout, .campaign-wrapper .callout.thank-you-message {
    padding: 10px 10px 0 10px; /* usually has p's in it that take care of bottom padding */
    border: 1px solid #E2E2E2;
    margin-bottom: 10px;
}

.submit-message-container {
    margin-left: 10px;
    font-size: 85%;
}

.response-bad {
    color: #F58523;
}

.response-good {
    color: #00CC00;
}

.form-indented {
    margin-left: 20px;
    padding-top: 10px;
    clear: both;
}

.wicket-ajax-indicator img {
    vertical-align: middle;
}

/*For safari, disables the ability to resize a textarea*/
textarea {
    resize: none;
    overflow: auto;
}

.comments textarea {
    display: block;
    width: 430px;
    height: 80px;
    clear: both;
}

.centered-text {
    text-align: center;
    padding: 1em 0;
}

.centered {
    text-align: center;
}

.login-lightbox-content {
    padding: 20px;
    background: #fff;
    border: 2px solid #ccc;
    border-right: 2px solid #555;
    border-bottom: 2px solid #555;   
    background: url('/static/images/common/bg_gradient.jpg');
}

.login-lightbox-content h1 {
    color: #87847B;
}

#lightbox-modal {
    position: absolute;
    z-index: 300;
}

.popup-container {
    display: none;
}

.strengthMeterLevel {
    width: 0;
    height: 100%;
}

/* these need to be here for terms that arent in checkout */
body.inline {
    background: #fff;
    padding: 1em;
    width: 90%; /* prevents horiz scrollbars in IE */
}

.inline h1 {
    font-size: 110%;
    font-weight: bold;
}

.inline h1 {
    font-size: 100%;
    font-weight: bold;
}

.inline p.top {
    text-align: right;
}

.inline .terms-content {
    clear: both;
}

#lightbox-overlay {
    background-color: #000;
}

.popup-video-background {
    background: #fff;
    width: 568px;
    height: 285px;
}

/* used in content editor */
.content-float-right {
    float: right;
    margin-left: 40px;
    margin-bottom: 10px;
}

.content-float-right img {
    margin: 5px 0 0 0;
    padding: 0;
}

.content-float-left {
    float: left;
    margin-right: 40px;
    margin-bottom: 10px;
}

.content-top-block {
    clear: both;
    display: block;
    margin-bottom: 10px;
}

.content-float-left img {
    margin: 0;
    padding: 0;
}

.content-center {
    text-align: center;
    margin-bottom: 10px;
}

.indent {
    margin-left: 20px;
}

/* static error pages,404,curtains,etc */
.error-content-body {
    padding: 30px 20px;
}

.error-content-body .problem {
    font-size: 110%;
}

.rounded {
    border: 1px solid #ccc;
    -moz-border-radius: 8px; /* doesnt work for ie */
    -webkit-border-radius: 5px;
    padding: 10px;
}

/* generic bumper styles for cms content */
.thumb-left {
    float: left;
    margin-right: 10px;
}

.content-spacer-top {
    margin-top: 10px;
}

.content-spacer-bottom {
    margin-bottom: 25px;
}

.content-spacer-bottom-small {
    margin-bottom: 10px;
}

.content-center img {
    margin: 10px 0 20px;
}

/* order history items */
.order-items p {
    margin-bottom: 0;
}

/* for spacing a button next to it over a bit */
.button-space-right {
    margin-right: 5px;
}

.lightbox-close {
    cursor: pointer;
}

.hide-show {
    display: none;
}

.hide-show-action {
    cursor: pointer;
}

.header-with-right-logo h1 {
    float: left;
}

.header-with-right-logo img {
    float: right;
}

.required span.normal {
    font-weight: normal;
}

.acrobat_footer {
    margin-top: 1em;
}

.column h3, .column h4 {
    font-family: verdana, sans-serif;
    font-weight: bold;
    margin-bottom: 0;
}

.column-first h2 {
    font-size: 123.1%;
}

#box-wrapper ul#news li {
    display: none;
}

#box-wrapper ul#news li.first {
    display: block;
}

.initials {
    font-weight: bold;
    margin-bottom: 20px;
}

.product-name, .statement {
    color: #1b95c8;
    font-weight: bold;
	padding-top: 10px;
}

.initials input.text-field, .age input.text-field {
    display: inline;
    float: left;
    margin: 0;
    width: 3em;
}

.initials span, .age span { /* initials field should not break a line */
    float: left;
    display: inline;
    margin:0px 7px 0pt 0pt;
}

.initials span {
    margin-top:4px;
}

.signature-form {
    border-color: #1B95C8;
    border-style: solid;
    border-width: 4px 1px 1px 1px;
    padding: 8px;
    margin: 20px 0 10px;
}

.signature-form .initials {
    margin-bottom: 0;
}

.tc-accountSeperation {
    height: 210px;
}

.terms {
    margin: .9167em 0 0 0;
    padding: .75em;
    font-size: 95%;
    color: #333;
    border: 1px solid #ccc;
    overflow: auto;
    background: #fff;
}

.popup-link {
    float:right;
    margin-bottom:5px;
}

.heading-normal {
    padding-top:20px;
}

.wide-terms {
    margin:10px 0;
    width:662px;
}

ol.footnotes {
    font-size: 85%;
}

