﻿@import url(//fonts.googleapis.com/css?family=Open+Sans:700bold,400italic,400);

/*TODO: Consider setting max-width (280px?) on select, textarea, defaults to 100%*/


/* YUI 3.5.0 reset.css (http://developer.yahoo.com/yui/3/cssreset/) */

html {
    color: #000;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%; /*add*/
}

fieldset, img {
    border: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
    font-style: normal;
    font-weight: normal;
}

ul .cleanList {
    list-style-type: none;
}

caption, th {
    text-align: left;
}

h1, h2, h3, h4, h5, h6 {
    font-size: 100%;
    font-weight: normal;
}

q:before, q:after {
    content: '';
}

abbr, acronym {
    border: 0;
    font-variant: normal;
}

sup {
    vertical-align: text-top;
}

sub {
    vertical-align: text-bottom;
}

input, textarea, select, button {
    font-family: inherit;
    font-size: inherit;
    *font-size: 100%; /* star is a hack to apply property only in IE7 or below*/
    font-weight: inherit;
}

.input-disabled {
    background-color: #f3f3f3;    
}

legend {
    color: #000;
}

#yui3-css-stamp.cssreset {
    display: none;
}

a {
    color: #0D4E87;
    text-decoration: underline;
}

    a:active {
        text-decoration: none;
    }

    a.tooltip {
        text-decoration: none;
        border-bottom: 1px dotted #0D4E87;
    }

body {
    background-color: #FFFFFF;
    color: #232323;
    font-family: 'Open Sans', sans-serif;
    font-size: 1em;
}

#banner {
    padding-right: 0px;
    min-height: 54px;
}

#banner-logo {
    display: block;
}

#banner-title {
    display: none;
}

#bodyContent {
    margin-left: 108px;
    margin-right: 108px;
    padding: 1em 1em 2em 1em;
    float: left;
    width: calc(100% - 216px);
}

    #bodyContent.fullWidth {
        margin-left: 8px;
        margin-right: 8px;
        width: 100%;
    }

#menuToggle {
    position: absolute;
    right: 18px;
    top: 80px;
}

/* For the record, this isn't actually a nav, it's just used for navigation. */
#roleNav {
    position: fixed;
    z-index: 10;
    font-size: 0.85em;
    width: 260px;
    border: 1px #5b2988 solid;
    background: #FAFAFA;
    -webkit-transition: -webkit-transform .2s ease-out;
    -moz-transition: -moz-transform .2s ease-out;
    transition: transform .2s ease-out;
    top: 134px;
    right: -252px;
    max-height: 100%;
    overflow-y: auto;
  }

    #roleNav[data-state=hidden] {
        transform: translateX(20px);
        -webkit-transform: translateX(20px);       
        visibility: hidden;
    }

    #roleNav[data-state=shown] {
      -webkit-transform: translateX(-260px);
      transform: translateX(-260px);
      visibility: visible;
    }

#roleNav-mobile {
    display: none;
}

.noscroll {
    overflow: hidden;
}

.disableScroll {
    position: fixed; 
    overflow-y: scroll;
    width: calc(100% - 16px);
}

#menuNav {
    color: #444444;
    background: #e1e1e1;
    clear: both;
    padding-left: 58px;
    padding-right: 58px;
}

    #menuNav div {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        margin-top: 2px;
        padding-bottom: 2px;
        -ms-flex-pack: justify;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }

    #menuNav a {
        font-size: 1.0em;
        color: inherit;
        text-decoration: none;
        margin: 0 10px 0 10px;
    }

        #menuNav a.attention {
            /*font-size: 1.0em;*/
            text-shadow: 0.5px 0.5px 0px #a1a1a1;
        }

#partner_logos {
    display: block;
}

#the_logos {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 500px;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin: auto;
}

header, nav, section {
    display: block;
    padding-top: 5px;
}

footer {
    clear: both;
    color: #444444;
    display: block;
    font-size: 0.8em;
    text-align: center;
}

    footer div p {
        padding: 2em 0 1em 0;
        background: #e1e1e1;
    }

h2 {
    font-size: 1.4em;
    font-weight: bold;
    padding: 7px 15px 2px 0px;
    line-height: 1.1em;   
}

h3 {
    font-size: 1.1em;
    font-weight: bold;
    padding: 0em 0.7em 0.5em 0;
    color: #494949;
    margin-top: 0px;
}

legend {
    font-size: 1.4em;
    font-weight: bold;
    padding: 0.7em;
}

fieldset div {
    padding-left: 2.5em;
    padding-top: 0.8em;
}

    fieldset div p {
        padding-left: 1em;
    }

div .buttonRow {
    margin-top: 10px;
    margin-bottom: 15px;
}

span.lowKeyButton {
    margin-top: 10px;
    margin-bottom: 15px;
    padding: 2px 2px 2px 2px;
    text-align: center;
    border: 1px solid #5b2988;
    background-color: #ebebff;
    cursor: pointer;
}

div .formgroup {
    clear: both;
    /*padding: 5px;*/
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.formgroup label {
    padding-right: 10px;
}

div .reviewformgroup {
    clear: both;
    padding: 5px;
    margin-bottom: 10px;
    margin-top: 3px;
}

div .formAreaHeader {
    font-weight: bold;
}

div .newRow {
    clear: both;
    line-height: 1.5em;
}

div .spacer {
    padding-top: 10px;    
}

div .checkGroupHeader {
    text-decoration: underline;
    padding-left: 27px;
    padding-top: 3px;
}

div .bulletHeader {
    text-decoration: underline;
    padding-top: 3px;
    padding-left: 13px;
}

div .modificationHistory {
    color: #ee0000;
}

div .halfTab {
    padding-left: 16px;
}

div .oneTab {
    padding-left: 25px;
}

div .twoTab {
    padding-left: 50px;
}

div .formButton {
    padding-top: 15px;
    padding-right: 15px;
}

.alignMonetaryPenalty {
    /*top: 136px;*/
    /*position: relative;*/
}

div .mismatch {
    margin-top: 15px;
    margin-bottom: 15px;
    padding-bottom: 5px;
    padding-left: 2px;
    border-style: solid;
    border-width: 3px;
    border-color: #aa0000;
    width: 100%;
    /*Fix fancy dropdowns*/
    min-height: 70px;
    overflow: visible;
}

div .match {
    margin-top: 15px;
    margin-bottom: 15px;
    padding-bottom: 5px;
    padding-left: 2px;
    border-style: solid;
    border-width: 2px;
    border-color: #000080;
    width: 100%;
    /*Fix fancy dropdowns*/
    min-height: 70px;
    overflow: visible;
}

.SpanDifference {
    background-color: #EE0000;
    color: #FFFFFF;
    padding: 2px;
}

div .finalSection {
    margin-bottom: 30px;
    border-bottom: 1px solid #000;
    padding-bottom: 8px;
    clear: both;
}

div .finalSectionBorderless {
    margin-bottom: 30px;
    padding-bottom: 8px;
    clear: both;
}

.formOrphanPrevention {
    clear: both;
}

.overRule {
    border-top: 1px solid #000;
}

.rule {
    border-bottom: 1px solid #000;
}

.outline {
    border: 1px solid #000;
    margin: 5px;
}

.hardRule {
    border-bottom: 2px solid #000;
    margin-bottom: 10px;
    padding-bottom: 10px;
}

.hardOutline {
    border: 2px solid #000;
    margin-bottom: 10px;
    padding: 15px;
}

.softOutline {
    border: 1px solid #ccc;
    margin-bottom: 10px;
    padding: 15px;
}

.fixOverflow {
    overflow: auto;
}


.bold {
    font-weight: bold;
}

.wrap {
    width: 1200px;
    margin: 0 auto;
    padding-right: 0px;
    position: relative;
}

.h2less {
    font-weight: normal;
}

.h3less {
    margin-bottom: 8px;
}

.dateColumn {
    margin: auto;
    width: 100px;
}

.subhead {
    margin-top:-16px
 }

#searchAgain {
    width: 100%;
}

.greyBox {
    background-color: #e1e1e1;
    border: 0px;
    margin-bottom: 10px;
    padding: 15px 15px 20px 15px;
}

.seedIntro {
    font-size: 1.4em;
    line-height: 1.3em;
    padding-top: 0px;
    padding-bottom: 10px;
}


.nameLabel {
    font-weight: bold;
    border-bottom: 2px solid #000;
    width: 33%;
    display: inline-block;
    background-color: #ebebff;
}

.halfNameLabel {
    font-weight: bold;
    border-bottom: 2px solid #000;
    width: 50%;
    display: inline-block;
    background-color: #ebebff;
}

.thirdColumnSpacing {
    padding-left: 20px;
    padding-right: 0px;
}

.push-right {
    text-align: right;
}

div .verticalSpacing {
    padding-top: 5px;
    padding-bottom: 5px;
}

div .verticalHint {
    padding-top: 5px;
}

.verticalPadding {
    padding-bottom: 40px;
}

.headRoom {
    padding-top: 15px;
}

.bigHeadRoom {
    padding-top: 50px;
}

.verticalOffset {
    margin-bottom: 20px;
}

.tightenChildren {
    margin-bottom: 0px;
}

#AuthorLabels {
    width: 98vw;
    padding-left: 6px;
    height: 40px;
    white-space: nowrap;
}

/* Media Query for small devices */
/* ----------------------------- */
@media handheld, only screen and (max-width: 767px) {

    /* move the <a> for the logo to banner.logo */
    #banner-logo {
        display: none;
    }

    /* add 'SEED' to banner.title text */
    #banner-title {
        display: block;
        color: white;
        padding-left: 20px;
        padding-top: 5px;
        font-size: xx-large;
        font-weight: bold;
    }

    #menuToggle {
        top: 11px;
        background: none;
    }

    #bodyContent {
        margin-left: 0;
        margin-right: 0;
        float: none;
        width: inherit;
    }

    #menuNav {
        display: none;
    }

    #roleNav {
        top: 53px;
    }

    #roleNav-mobile {
        display: block;
    }

    #partner_logos {
        display: none;
    }
}

/*Better way to hide stuff that doesn't break width calculations
    or screen readers*/
.invisible {
    position: absolute;
    left: -999em;
}

.AddNewListItem {
    font-size: small;
    padding-left: 40px;
}

.AntiShim {
    padding-right: 5px;
}

.oneLiner {
    white-space: nowrap;
}

.NyuPurpleBg {
    background: #5b2988;
    background-color: #5b2988;
}

strong {
    font-weight: bold;
}

table {
}

tbody {
    text-align: left;
    vertical-align: top;
}

    tbody input[type="text"] {
        text-align: right;
    }

th {
    font-weight: bold;
    padding: 10px 10px;
    background-color: #e1e1e1;
    vertical-align: bottom;
    color: #444444;
    border: solid 1px #CCC;
    font-size: .9em;
}

tfoot tr {
    font-weight: bold;
    padding: 5px 10px;
    background-color: #470572;
    color: #F7F7F7;
    border-right: solid 1px #EEE0FF;
    font-size: 1.1em;
}

    tfoot tr td {
        text-align: right;
        border-right: solid 1px #EEE0FF;
    }

th strong {
    padding-right: 5px;
    font-weight: normal;
    font-size: 0.8em;
}

td {
    max-width: 50vw;
    padding: 10px 10px;
    border: 1px solid #ccc;
    font-size: .9em;
}

    td.status {
        background-color: #FFFFFF;
        border-right: none;
        padding: 0px;
    }

.fixed {
    display: block;
    position: fixed;
    width: 100%;
}

.authorFixed {
    top: 0;
    left: 0;
    display: block;
    position: fixed;
    width: 100%;
    z-index: 100;
    background-color: #ebebff;
}

.authorInPlace {
    left: -22px;
    width: 100vw;
    position: relative;
}

.eightemwidth {
    width: 8em;
}

.fouremwidth {
    width: 4em;
}


/* Styles for basic forms
-----------------------------------------------------------*/

fieldset {
    border: 1px solid #ddd;
    margin: 0 0 1.5em 0;
    padding: 0 1.4em 1.4em 1.4em;
}

legend {
    font-size: 1.2em;
    font-weight: bold;
}

textarea {
    min-height: 75px;
}

.editor-label {
    margin: 1em 0 0 0;
}

.editor-field {
    margin: 0.5em 0 0 0;
}

/*td {
    padding-left: 1em;
    padding-right: 1em;
}*/

/* CUSTOM */

/* Input placeholder styling */

::-webkit-input-placeholder {
    color: #b0b0b0;
}

:-moz-placeholder {
    color: #b0b0b0;
    opacity: 1;
}

::-moz-placeholder {
    color: #b0b0b0;
    opacity: 1;
}

:-ms-input-placeholder {
    color: #b0b0b0;
}
/* END CUSTOM */

/* Get rid of annoying arrows on Chrome/Firefox for number inputs */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield;
}

input[type="text"], input[type="number"],
input[type="password"], input[type="date"],
input[type="datetime"], input[type="textarea"],
select {
    border: 2px solid #dadada;
    border-radius: 4px;
    padding: 2px;
    min-width: 30px;
    /*max-width: 280px;*/
}

    input[type="text"]:focus, input[type="number"]:focus {
        border-color: #9ecaed;
        box-shadow: 0 0 10px #9ecaed;
        outline: none;
    }

    input[type="text"].invalid, input[type="number"].invalid {
        border-color: #D70835;
        box-shadow: 0 0 10px #D70835;
        outline: none;
    }

    input[type="text"].saved, input[type="number"].saved {
        border-color: #63a62f;
        box-shadow: 0 0 10px #9ecaed;
        outline: none;
    }

/*Reset styles for Chosen dropdown widgets
-----------------------------------------------------------*/
.chosenWrapper {
}


/* Styles for validation helpers
-----------------------------------------------------------*/

.field-validation-error {
    border: 1px solid;
    color: #f00;
}

.field-validation-valid {
    display: none;
}

.input-validation-error {
    background-color: #fee;
    border: 1px solid #f00;
}

input[type="checkbox"].input-validation-error {
    border: 0 none;
}

.validation-summary-errors {
    color: #f00;
    font-weight: bold;
}

.validation-summary-valid {
    display: none;
}


/* Imported Styles */
/* Button from: http://hellohappy.org/css3-buttons/ */
input.save {
    -webkit-box-shadow: inset 0 1px 0 0 #96ca6d;
    background-color: #7fbf4d;
    background-image: -webkit-linear-gradient(top, #7fbf4d, #63a62f);
    background-image: -moz-linear-gradient(top, #7fbf4d, #63a62f);
    background-image: -ms-linear-gradient(top, #7fbf4d, #63a62f);
    background-image: -o-linear-gradient(top, #7fbf4d, #63a62f);
    /* ReSharper disable InvalidValue */
    background-image: linear-gradient(top, #7fbf4d, #63a62f);
    /* ReSharper disable InvalidValue */
    background-image: linear-gradient(top, #7fbf4d, #63a62f);
    /* ReSharper restore InvalidValue */
    border: 1px solid #63a62f;
    border-bottom: 1px solid #5b992b;
    border-radius: 3px;
    box-shadow: inset 0 1px 0 0 #96ca6d;
    color: #fff;
    font: bold 11px/1 "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif;
    margin: 5px 0 5px 0;
    padding: 7px 0 8px 0;
    text-align: center;
    text-shadow: 0 -1px 0 #4c9021;
    width: 150px;
}

    input.save:hover {
        /* ReSharper restore InvalidValue */
        -webkit-box-shadow: inset 0 1px 0 0 #8dbf67;
        background-color: #76b347;
        background-image: -webkit-linear-gradient(top, #76b347, #5e9e2e);
        background-image: -moz-linear-gradient(top, #76b347, #5e9e2e);
        background-image: -ms-linear-gradient(top, #76b347, #5e9e2e);
        background-image: -o-linear-gradient(top, #76b347, #5e9e2e);
        /* ReSharper disable InvalidValue */
        background-image: linear-gradient(top, #76b347, #5e9e2e);
        background-image: linear-gradient(top, #76b347, #5e9e2e);
        /* ReSharper restore InvalidValue */
        box-shadow: inset 0 1px 0 0 #8dbf67;
        cursor: pointer;
    }

    input.save:active {
        -webkit-box-shadow: inset 0 0 8px 4px #548c29, 0 1px 0 0 #191919;
        border: 1px solid #5b992b;
        border-bottom: 1px solid #538c27;
        box-shadow: inset 0 0 8px 4px #548c29, 0 1px 0 0 #191919;
    }

input.submit {
    background-color: #a5b8da;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #a5b8da), color-stop(100%, #7089b3));
    background-image: -webkit-linear-gradient(top, #a5b8da, #7089b3);
    background-image: -moz-linear-gradient(top, #a5b8da, #7089b3);
    background-image: -ms-linear-gradient(top, #a5b8da, #7089b3);
    background-image: -o-linear-gradient(top, #a5b8da, #7089b3);
    /* ReSharper disable InvalidValue */
    background-image: linear-gradient(top, #a5b8da, #7089b3);
    /* ReSharper restore InvalidValue */
    border-top: 1px solid #758fba;
    border-right: 1px solid #6c84ab;
    border-bottom: 1px solid #5c6f91;
    border-left: 1px solid #6c84ab;
    border-radius: 3px;
    -webkit-box-shadow: inset 0 1px 0 0 #aec3e5;
    box-shadow: inset 0 1px 0 0 #aec3e5;
    color: #fff;
    font: bold 11px/1 "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif;
    margin: 5px 0 5px 0;
    padding: 7px 0 8px 0;
    text-align: center;
    text-shadow: 0 -1px 1px #64799e;
    width: 150px;
}

    input.submit:hover {
        background-color: #9badcc;
        background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #9badcc), color-stop(100%, #687fa6));
        background-image: -webkit-linear-gradient(top, #9badcc, #687fa6);
        background-image: -moz-linear-gradient(top, #9badcc, #687fa6);
        background-image: -ms-linear-gradient(top, #9badcc, #687fa6);
        background-image: -o-linear-gradient(top, #9badcc, #687fa6);
        /* ReSharper disable InvalidValue */
        background-image: linear-gradient(top, #9badcc, #687fa6);
        /* ReSharper restore InvalidValue */
        border-top: 1px solid #6d86ad;
        border-right: 1px solid #647a9e;
        border-bottom: 1px solid #546685;
        border-left: 1px solid #647a9e;
        -webkit-box-shadow: inset 0 1px 0 0 #a5b9d9;
        box-shadow: inset 0 1px 0 0 #a5b9d9;
        cursor: pointer;
    }

    input.submit:active {
        border: 1px solid #546685;
        -webkit-box-shadow: inset 0 0 8px 2px #7e8da6, 0 1px 0 0 #191919;
        box-shadow: inset 0 0 8px 2px #7e8da6, 0 1px 0 0 #191919;
    }


/* Tooltip code from http://osvaldas.info/elegant-css-and-jquery-tooltip-responsive-mobile-friendly */
#tooltip {
    font-size: 0.875em;
    text-align: center;
    text-shadow: 0 1px rgba( 0, 0, 0, .5 );
    line-height: 1.5;
    color: #fff;
    background: #333;
    background: -webkit-gradient( linear, left top, left bottom, from( rgba( 0, 0, 0, .8 ) ), to( rgba( 0, 0, 0, .9 ) ) );
    background: -webkit-linear-gradient( top, rgba( 0, 0, 0, .8 ), rgba( 0, 0, 0, .9 ) );
    background: -moz-linear-gradient( top, rgba( 0, 0, 0, .8 ), rgba( 0, 0, 0, .9 ) );
    background: -ms-radial-gradient( top, rgba( 0, 0, 0, .8 ), rgba( 0, 0, 0, .9 ) );
    background: -o-linear-gradient( top, rgba( 0, 0, 0, .8 ), rgba( 0, 0, 0, .9 ) );
    /*background: linear-gradient( top, rgba( 0, 0, 0, .8 ), rgba( 0, 0, 0, .9 ) );*/
    /*There's some kind of error in this... ^--'*/
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    border-top: 1px solid #fff;
    -webkit-box-shadow: 0 3px 5px rgba( 0, 0, 0, .3 );
    -moz-box-shadow: 0 3px 5px rgba( 0, 0, 0, .3 );
    box-shadow: 0 3px 5px rgba( 0, 0, 0, .3 );
    position: absolute;
    z-index: 100;
    padding: 15px;
}

    #tooltip:after {
        width: 0;
        height: 0;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-top: 10px solid #333;
        border-top-color: rgba( 0, 0, 0, .7 );
        content: '';
        position: absolute;
        left: 50%;
        bottom: -10px;
        margin-left: -10px;
    }

    #tooltip.top:after {
        border-top-color: transparent;
        border-bottom: 10px solid #333;
        border-bottom-color: rgba( 0, 0, 0, .6 );
        top: -20px;
        bottom: auto;
    }

    #tooltip.left:after {
        left: 10px;
        margin: 0;
    }

    #tooltip.right:after {
        right: 10px;
        left: auto;
        margin: 0;
    }

.sortColumnUp {
    background-image: url('../Content/themes/nyu/sort-arrow-up.png');
    padding: 6px;
    background-repeat: no-repeat;
    margin: 5px;
    top: 8px;
    position: relative;
}

.sortColumnDown {
    background-image: url('../Content/themes/nyu/sort-arrow-down.png');
    padding: 6px;
    background-repeat: no-repeat;
    margin: 5px;
    top: 8px;
    position: relative;
}

.noDataFound {
    color: red;
}

.sortArrowDiv {
    display: inline-block;
    width: 20px;
    position:relative;
    top:5px;    
}

/* for multi-select styling, to make the button appear as a dropdown menu */
.fakeDropdownButton {
    text-align: left;
    border-color: #b8b8b8; 
    color: #303030; 
    background-color: #f3f3f3; 
    font-family: inherit; 
    font-size: 13px; 
    line-height: 16px;
    padding: 10px 10px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.8), 0 2px 0 #e0e0e0, 0 3px 0 #c8c8c8, 0 4px 1px rgba(0,0,0,0.1); 
}

.fakeDropdownCaret { 
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #808080 !important;
    position: absolute;
    right: 15px;
    top: 45%;
}

.dropdown-toggle:active, .open .dropdown-toggle > .fakeDropdownCaret{
    border-top: none !important;
    border-bottom: 5px solid #808080 !important;        
}

.dropdown-toggle:active, .open .dropdown-toggle {
    background:#FFF !important;
    border: 1px solid #b8b8b8 !important;
    box-shadow: none !important;
}

a.multiselectItem {
    text-decoration: none;
    padding: 3px;
    line-height: 1.5em;
}

.multiselect-container li.other {
        background: #eeeeee;
}

.violationOtherLabel {
    margin-top: 5px;
}
 
.violationOtherInput {
    width: 100%;     
}

/*change the color of placeholder for Defendant Dropdown in Violations section 
    to make it match other placeholder colors in that section*/
#dark-placeholder input::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color:    #303030;
}
#dark-placeholder input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color:    #303030;   
}
#dark-placeholder input::-moz-placeholder { /* Mozilla Firefox 19+ */
   color:    #303030;
}
#dark-placeholder input:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color:    #303030;
}

.required:before {
    content: "* ";
    font-size: 75%;
    color: red;
}