@media screen {
    .ym-form {
        background: #f4f4f4;
        border: 2px #fff solid;
        margin: 0 0 1.5em 0;
        box-shadow: 0 0 4px #dddddd;
    }

    .ym-form fieldset {
        position: static;
        background: transparent;
        margin: 0.75em 0 0.75em 0;
        padding: 0 0.5em;
    }

    .ym-form legend {
        background: transparent;
        color: #000;
        font-size: 1.2em;
        line-height: 1.25em;
        font-weight: bold;
        padding: 0 0.5em;
    }

    .ym-form label,
    .ym-form .ym-label {
        color: #666;
        line-height: 1.5;
        padding-top: 0.25em;
    }

    .ym-form .ym-fbox {
        padding: 0 1em;
        margin: 1em 0 0.5em 0;
    }

    .ym-form .ym-fbox-footer {
        background: #ececec;
        border-top: 1px #e0e0e0 solid;
        padding: 1.5em 1em;
        margin: 0;
    }

    .ym-form .ym-fbox + .ym-fbox {
        margin: 0.5em 0;
    }

    .ym-form .ym-fbox:last-child {
        margin-bottom: 1em;
    }

    .ym-form .ym-fbox + .ym-fbox-footer {
        margin: 1em 0 0 0;
    }

    .ym-form .ym-fbox :last-child,
    .ym-form .ym-fbox-footer :last-child {
        margin-bottom: 0;
    }

    .ym-form .ym-fbox-heading {
        font-size: 1em;
        font-size: 100%;
        color: #000;
        margin: 1em;
    }

    .ym-form .ym-fbox-check:focus + label {
        color: #000;
    }

    .ym-form .ym-gbox-left {
        padding: 0 4px 0 0;
    }

    .ym-form .ym-gbox-right {
        padding: 0 0 0 4px;
    }

    .ym-form .ym-gbox {
        padding: 0 2px 0 2px;
    }

    /**
    * @section styling form elements
    *
    */
    .ym-form input,
    .ym-form textarea,
    .ym-form select {
        border: 1px solid #ddd;
        line-height: 1em;
        font-family: Arial, Helvetica, sans-serif;
        box-shadow: inset 0 0 4px #eeeeee;
    }

    .ym-form input,
    .ym-form textarea {
        padding: 4px 0.3em;
    }

    .ym-form select {
        padding: 3px 2px 3px 1px;
    }

    .ym-form input:focus,
    .ym-form select:focus,
    .ym-form textarea:focus,
    .ym-form input:hover,
    .ym-form select:hover,
    .ym-form textarea:hover,
    .ym-form input:active,
    .ym-form select:active,
    .ym-form textarea:active {
        border: 1px #888 solid;
        background: #fff;
    }

    .ym-form optgroup {
        font-family: Arial, Helvetica, sans-serif;
        font-style: normal;
        font-weight: bold;
    }

    .ym-form .ym-fbox-check input,
    .ym-form input[type="image"],
    .ym-form input[type="radio"],
    .ym-form input[type="checkbox"] {
        border: 0 none !important;
        background: transparent !important;
    }

    .ym-form .ym-message {
        color: #666;
        margin-bottom: 0.5em;
    }

    .ym-form .ym-required {
        color: #800;
        font-weight: bold;
    }

    .ym-form input:valid,
    .ym-form textarea:valid {
        background-color: #fff;
    }

    .ym-form input:invalid,
    .ym-form textarea:invalid {
        background-color: #fdd;
    }

    .ym-form .ym-error label {
        color: #800;
        font-weight: normal;
    }

    .ym-form .ym-error input,
    .ym-form .ym-error select,
    .ym-form .ym-error textarea {
        border: 1px #800 solid;
    }

    .ym-form .ym-error input:hover,
    .ym-form .ym-error input:focus,
    .ym-form .ym-error select:hover,
    .ym-form .ym-error select:focus,
    .ym-form .ym-error textarea:hover,
    .ym-form .ym-error textarea:focus {
        border: 1px #800 solid !important;
    }

    .ym-form .ym-error .ym-message {
        color: #800;
        font-weight: bold;
        margin-top: 0;
    }

    /**
    * @section Buttons
    * inspired from: Catalin Rosu (http://www.red-team-design.com/just-another-awesome-css3-buttons)
    */
    .ym-button,
    .ym-form button,
    .ym-form input[type="button"],
    .ym-form input[type="reset"],
    .ym-form input[type="submit"] {
        display: inline-block;
        white-space: nowrap;
        background-image: linear-gradient(to bottom, #eeeeee, #cccccc);
        background-color: #eeeeee;
        border: 1px solid #777;
        border-radius: .2em;
        box-shadow: 0 0 1px 1px rgba(255, 255, 255, 0.8) inset, 0 1px 0 rgba(0, 0, 0, 0.15);
        color: #333 !important;
        cursor: pointer;
        font: normal 1em/2em Arial, Helvetica;
        margin: 0 0.75em 0 0;
        padding: 0 1.5em;
        overflow: visible;
        text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
    }

    .ym-button:hover,
    .ym-form button:hover,
    .ym-form input[type="button"]:hover,
    .ym-form input[type="reset"]:hover,
    .ym-form input[type="submit"]:hover {
        background-image: linear-gradient(to bottom, #fafafa, #dddddd);
        background-color: #fafafa;
    }

    .ym-button:active,
    .ym-form button:active,
    .ym-form input[type="button"]:active,
    .ym-form input[type="reset"]:active,
    .ym-form input[type="submit"]:active {
        box-shadow: inset 2px 2px 3px rgba(0, 0, 0, 0.2);
        background-image: linear-gradient(to bottom, #cccccc, #bbbbbb);
        background-color: #cccccc;
        position: relative;
        top: 1px;
    }

    .ym-button:focus,
    .ym-form button:focus,
    .ym-form input[type="button"]:focus,
    .ym-form input[type="reset"]:focus,
    .ym-form input[type="submit"]:focus {
        outline: 0;
        background: #fafafa;
    }

    /* Button size-scaling classes */
    .ym-button {
        /* 21px */
        /* 18px */
        /* 12px */
        /* 10px */
    }

    .ym-button.ym-xlarge {
        font-size: 1.5em;
    }

    .ym-button.ym-large {
        font-size: 1.2857em;
    }

    .ym-button.ym-small {
        font-size: 0.8571em;
    }

    .ym-button.ym-xsmall {
        font-size: 0.7143em;
    }

    /* Button color scheme: primary */
    .ym-button.ym-primary,
    .ym-form button.ym-primary,
    .ym-form input[type="button"].ym-primary,
    .ym-form input[type="reset"].ym-primary,
    .ym-form input[type="submit"].ym-primary {
        box-shadow: 0 0 1px 1px rgba(255, 255, 255, 0.3) inset, 0 1px 0 rgba(0, 0, 0, 0.15);
        background-image: linear-gradient(to bottom, #8888ee, #6666cc);
        background-color: #8888ee;
        border: 1px solid #007;
        color: #fff !important;
        text-shadow: 0 1px 0 rgba(0, 0, 0, 0.8);
    }

    .ym-button.ym-primary:hover,
    .ym-form button.ym-primary:hover,
    .ym-form input[type="button"].ym-primary:hover,
    .ym-form input[type="reset"].ym-primary:hover,
    .ym-form input[type="submit"].ym-primary:hover {
        background-image: linear-gradient(to bottom, #8888ff, #6666dd);
        background-color: #8888ff;
    }

    .ym-button.ym-primary:active,
    .ym-form button.ym-primary:active,
    .ym-form input[type="button"].ym-primary:active,
    .ym-form input[type="reset"].ym-primary:active,
    .ym-form input[type="submit"].ym-primary:active {
        box-shadow: inset 2px 2px 3px rgba(0, 0, 0, 0.2);
        background-image: linear-gradient(to bottom, #8888cc, #6666aa);
        background-color: #8888cc;
    }

    .ym-button.ym-primary:focus,
    .ym-form button.ym-primary:focus,
    .ym-form input[type="button"].ym-primary:focus,
    .ym-form input[type="reset"].ym-primary:focus,
    .ym-form input[type="submit"].ym-primary:focus {
        outline: 0;
        background: #88f;
    }

    /* Button color scheme: success */
    .ym-button.ym-success,
    .ym-form button.ym-success,
    .ym-form input[type="button"].ym-success,
    .ym-form input[type="reset"].ym-success,
    .ym-form input[type="submit"].ym-success {
        box-shadow: 0 0 1px 1px rgba(255, 255, 255, 0.3) inset, 0 1px 0 rgba(0, 0, 0, 0.15);
        background-image: linear-gradient(to bottom, #66bb66, #449944);
        background-color: #66bb66;
        border: 1px solid #070;
        color: #fff !important;
        text-shadow: 0 1px 0 rgba(0, 0, 0, 0.8);
    }

    .ym-button.ym-success:hover,
    .ym-form button.ym-success:hover,
    .ym-form input[type="button"].ym-success:hover,
    .ym-form input[type="reset"].ym-success:hover,
    .ym-form input[type="submit"].ym-success:hover {
        background-image: linear-gradient(to bottom, #66cc66, #55aa55);
        background-color: #66cc66;
    }

    .ym-button.ym-success:active,
    .ym-form button.ym-success:active,
    .ym-form input[type="button"].ym-success:active,
    .ym-form input[type="reset"].ym-success:active,
    .ym-form input[type="submit"].ym-success:active {
        box-shadow: inset 2px 2px 3px rgba(0, 0, 0, 0.2);
        background-image: linear-gradient(to bottom, #66aa66, #448844);
        background-color: #66aa66;
    }

    .ym-button.ym-success:focus,
    .ym-form button.ym-success:focus,
    .ym-form input[type="button"].ym-success:focus,
    .ym-form input[type="reset"].ym-success:focus,
    .ym-form input[type="submit"].ym-success:focus {
        outline: 0;
        background: #6c6;
    }

    /* Button color scheme: warning */
    .ym-button.ym-warning,
    .ym-form button.ym-warning,
    .ym-form input[type="button"].ym-warning,
    .ym-form input[type="reset"].ym-warning,
    .ym-form input[type="submit"].ym-warning {
        box-shadow: 0 0 1px 1px rgba(255, 255, 255, 0.3) inset, 0 1px 0 rgba(0, 0, 0, 0.15);
        background-image: linear-gradient(to bottom, #ddaa44, #bb7722);
        background-color: #ddaa44;
        border: 1px solid #970;
        color: #fff !important;
        text-shadow: 0 1px 0 rgba(0, 0, 0, 0.8);
    }

    .ym-button.ym-warning:hover,
    .ym-form button.ym-warning:hover,
    .ym-form input[type="button"].ym-warning:hover,
    .ym-form input[type="reset"].ym-warning:hover,
    .ym-form input[type="submit"].ym-warning:hover {
        background-image: linear-gradient(to bottom, #eebb55, #cc8833);
        background-color: #eebb55;
    }

    .ym-button.ym-warning:active,
    .ym-form button.ym-warning:active,
    .ym-form input[type="button"].ym-warning:active,
    .ym-form input[type="reset"].ym-warning:active,
    .ym-form input[type="submit"].ym-warning:active {
        box-shadow: inset 2px 2px 3px rgba(0, 0, 0, 0.2);
        background-image: linear-gradient(to bottom, #cc9944, #aa6622);
        background-color: #cc9944;
    }

    .ym-button.ym-warning:focus,
    .ym-form button.ym-warning:focus,
    .ym-form input[type="button"].ym-warning:focus,
    .ym-form input[type="reset"].ym-warning:focus,
    .ym-form input[type="submit"].ym-warning:focus {
        outline: 0;
        background: #da4;
    }

    /* Button color scheme: danger */
    .ym-button.ym-danger,
    .ym-form button.ym-danger,
    .ym-form input[type="button"].ym-danger,
    .ym-form input[type="reset"].ym-danger,
    .ym-form input[type="submit"].ym-danger {
        box-shadow: 0 0 1px 1px rgba(255, 255, 255, 0.3) inset, 0 1px 0 rgba(0, 0, 0, 0.15);
        background-image: linear-gradient(to bottom, #bb6666, #994444);
        background-color: #bb6666;
        border: 1px solid #700;
        color: #fff !important;
        text-shadow: 0 1px 0 rgba(0, 0, 0, 0.8);
    }

    .ym-button.ym-danger:hover,
    .ym-form button.ym-danger:hover,
    .ym-form input[type="button"].ym-danger:hover,
    .ym-form input[type="reset"].ym-danger:hover,
    .ym-form input[type="submit"].ym-danger:hover {
        background-image: linear-gradient(to bottom, #cc6666, #aa5555);
        background-color: #cc6666;
    }

    .ym-button.ym-danger:active,
    .ym-form button.ym-danger:active,
    .ym-form input[type="button"].ym-danger:active,
    .ym-form input[type="reset"].ym-danger:active,
    .ym-form input[type="submit"].ym-danger:active {
        box-shadow: inset 2px 2px 3px rgba(0, 0, 0, 0.2);
        background-image: linear-gradient(to bottom, #aa5555, #884444);
        background-color: #aa5555;
    }

    .ym-button.ym-danger:focus,
    .ym-form button.ym-danger:focus,
    .ym-form input[type="button"].ym-danger:focus,
    .ym-form input[type="reset"].ym-danger:focus,
    .ym-form input[type="submit"].ym-danger:focus {
        outline: 0;
        background: #c66;
    }

    /* pseudo elements don't work on input */
    .ym-form button:before,
    .ym-button:before {
        background: #ccc;
        background: rgba(0, 0, 0, 0.1);
        float: left;
        width: 1em;
        text-align: center;
        font-size: 1.5em;
        margin: 0 1em 0 -1em;
        padding: 0 .2em;
        box-shadow: 1px 0 0 rgba(0, 0, 0, 0.5), 2px 0 0 rgba(255, 255, 255, 0.5);
        border-radius: .15em 0 0 .15em;
        pointer-events: none;
    }

    .ym-add:before {
        content: "\271A";
    }

    .ym-delete:before {
        content: "\2718";
    }

    .ym-close:before {
        content: "\2715";
    }

    .ym-edit:before {
        content: "\270E";
    }

    .ym-email:before {
        content: "\2709";
    }

    .ym-like:before {
        content: "\2764";
    }

    .ym-next:before {
        content: "\279C";
    }

    .ym-play:before {
        content: "\25B6";
    }

    .ym-reply:before {
        content: "\27A5";
    }

    .ym-save:before {
        content: "\2714";
    }

    .ym-sign:before {
        content: "\270D";
    }

    .ym-spark:before {
        content: "\2737";
    }

    .ym-support:before {
        content: "\2706";
    }

    .ym-star:before {
        content: "\2605";
    }

    /* removes extra inner spacing in Firefox */
    .ym-form button::-moz-focus-inner {
        border: 0;
        padding: 0;
    }

    /* If line-height can't be modified, then fix Firefox spacing with padding */
    .ym-form input[type=button]::-moz-focus-inner,
    .ym-form input[type=reset]::-moz-focus-inner,
    .ym-form input[type=submit]::-moz-focus-inner {
        padding: .4em;
    }

    /* The disabled styles */
    .ym-form button[disabled],
    .ym-form button[disabled]:hover,
    .ym-form input[type=button][disabled],
    .ym-form input[type=button][disabled]:hover,
    .ym-form input[type=reset][disabled],
    .ym-form input[type=reset][disabled]:hover,
    .ym-form input[type=submit][disabled],
    .ym-form input[type=submit][disabled]:hover,
    .ym-button.ym-disabled,
    .ym-button.ym-disabled:hover {
        background: #eee;
        color: #aaa !important;
        border-color: #aaa;
        cursor: default;
        text-shadow: none;
        position: static;
        box-shadow: none;
    }

    * html .ym-form button:focus,
    * html .ym-button:focus {
        outline: 0;
        background: #fafafa;
    }

    * html .ym-form button:hover,
    * html .ym-button:hover {
        background-color: #ddd;
    }

    * html .ym-form button:active,
    * html .ym-button:active {
        background-color: #bbb;
        position: relative;
        top: 1px;
    }

    * html .ym-button.ym-disabled,
    * html .ym-button.ym-disabled:hover {
        background: #eee;
        color: #aaa !important;
        border-color: #aaa;
        cursor: default;
        text-shadow: none;
        position: static;
    }

    * html .ym-button.ym-xlarge {
        font-size: 1.5em;
    }

    * html .ym-button.ym-large {
        font-size: 1.2857em;
    }

    * html .ym-button.ym-small {
        font-size: 0.8571em;
    }

    * html .ym-button.ym-xsmall {
        font-size: 0.7143em;
    }
}
