/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
input { -webkit-appearance: none; border-radius: 0; }
q:before, q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }
/* --- end public domain code --- */
.clear:after {content: "."; display: block; height: 0; clear: both; visibility: hidden;}
.clear {display: inline-block;}
/* hide IE mac \*/
* html .clear {height: 1%;}
.clear {display: block;}
/* */
* {
    box-sizing: border-box;
}
a {
    color: #ccc;
    text-decoration: underline;
}
a.tweet {
    text-decoration: none;
}
a:hover {
    color: #eee;
}
body {
    background: #030e21;
    font-family: "Open Sans";
    text-align: center;
}
h1 {
    font-family: "Open Sans";
    color: #f0d88d;
    font-size: 71px;
    text-transform: uppercase;
    text-align: center;
    padding: 70px 32px 0px;
    letter-spacing: 8px;
}
h2 {
    font-family: "Open Sans";
    color: #f0d88d;
    font-size: 45px;
    font-weight: bold;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: 3px;
    padding: 0 32px;
}
h3 {
    font-family: "Open Sans";
    color: white;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 3px;
    text-transform: uppercase;
    text-align: center;
    margin: 15px 0px 25px 0px;
}
h4 {
    text-align: center;

    color: #f0d88d;
    font-size: 38px;
    letter-spacing: 1px;
    margin-bottom: 25px;
    padding: 0 32px;
}
h4 a {
    color: #f0d88d;
}
h5 {
    text-align: center;
    font-size: 36px;
    color: #cfcfcf;

    font-size: 23px;
    font-weight: 500;
    letter-spacing: 0px;
    margin-bottom: 50px;
    padding: 0 32px;
}
h6 {
    text-align: center;

    color: #f0d88d;
    font-size: 29px;
    letter-spacing: 1px;
    margin-bottom: 25px;
}
@media screen and (max-width: 479px) {
    h1 {
        font-size: 48px;
    }

    h2 {
        font-size: 36px;
    }

    h3 {
        font-size: 14px;
    }

    h4 {
        font-size: 32px;
    }

    img {
        max-width: 100%;
        height: auto;
        width: auto;
    }
}
blockquote {
    display: inline-block;
    background: #1f1f1f;
    padding: 15px;
    font-size: 15.5px;
    color: #aaa;
    font-family: "Courier New", mono;
    word-wrap: break-word;
    max-width: calc(100% - 64px);
    text-align: left;
    color: #eee;
    line-height: 20px;
}
img.demo {
    max-width: calc(100% - 64px);
    height: auto;
    margin-bottom: 10px;
}
header {
    background: #030e21 url(../images/background.jpg) center top no-repeat;
    background-size: cover;
    padding: 32px 0 50px;
}
header .desktop p {
    padding-top: 24px;
}

header .mobile .fight-back {
    padding-bottom: 48px;
}
header p.fight-back {
    color: #A82424;
    padding-top: 12px;
    font-weight: bold;
}
header em {
    font-style: italic;
}
header p {
    color: rgba(255, 255, 255, 0.9);
    font-size: 20px;
    font-weight: normal;
    line-height: 1.6;
    margin: 0px auto;
    max-width: 860px;
    padding: 0 32px;
    text-align: center;
}
header p .red {
    color: #ff0903;
}
header p a {
    color: #ff0903;
}
header p a:hover {
    color: #E40500;
}
header p a.red-brief-link {
    color: #A82424;
    font-weight: bold;
    text-decoration: none;
}
header p a.open-call-tool {
    cursor: text;
    text-decoration: none;
}
header p.protest {
    max-width: 780px;
    font-size: 17px;
    text-align: left;
}
header .mobile p {
    margin: 50px 0 0;
}
header h1 {
    background: rgba(3, 14, 33, 0.64);
    color: #fff;
    font-size: 60px;
    font-weight: bold;
    letter-spacing: normal;
    margin: 0 auto;
    max-width: 550px;
    padding: 4px 0 10px;
}
header h1 .red {
    color: #ff0903;
}
header h1 .spaced-out {
    letter-spacing: 1px;
}
header h2 {
    background: rgba(3, 14, 33, 0.64);
    color: #fff;
    font-size: 48px;
    font-weight: bold;
    letter-spacing: normal;
    margin: 0 auto;
    max-width: 220px;
    padding: 8px 0 4px;
}
header h2 .small {
    font-size: 30px;
}
header ul {
    list-style-type: disc;
    margin: 25px auto;
    max-width: 780px;
    padding: 0 50px;
}
header ul li {
    font-size: 17px;
    color: #c5c5c5;
    line-height: 24px;
    text-align: left;
    margin-left: 20px;
    margin-bottom: 10px;
}

@media screen and (max-width: 559px) {
    header h1 {
        font-size: 36px;
        max-width: none;
        padding: 2px 32px 16px;
        width: 100%;
    }

    header h2 {
        font-size: 28px;
        max-width: none;
        padding: 16px 0 2px;
        width: 100%;
    }

    header h2 .small {
        font-size: 18px;
    }
}

.hide-on-mobile {
    display: none;
}

.action {
    background: rgba(3, 14, 33, 0.64);
    margin: 35px auto 0;
    max-width: 600px;
    padding: 28px 64px;
}

.action h4 {
    font-size: 20px;
    line-height: 1.2;
}

.action .email_signup {
    max-width: 430px;
    width: 100%;
    position: relative;
    vertical-align: top;
    margin: 0 auto;
}
.action .email_signup #thanks {
    position: absolute;
    left: 0px;
    width: 100%;
    z-index: 2;
    background: #222;
    z-index: 2;
    line-height: 1.6;
    font-size: 20px;
    color: white;
    padding: 14px;
    -webkit-transition: opacity 0.4s ease-out;
        transition: opacity 0.4s ease-out;

    display: none;
    opacity: 0;
}
.action .email_signup input {
    border: 0;
    border-right: 1px solid #ccc;
    border-top: 1px solid #ccc;
    box-sizing: border-box;
    font-family: "Open Sans";
    font-size: 25px;
    height: 60px;
    line-height: 60px;
    padding: 0px 20px;
    vertical-align: top;
    width: 100%;
}
.action .email_signup button {
    background-color: #ffa600;
    font-weight: bold;
    padding: 0 16px;
    width: 100%;

    -webkit-transition: background-color 0.24s;
            transition: background-color 0.24s;
}
.action .email_signup button:hover {
    background-color: #ff8a00;
}

@media screen and (max-width: 479px) {
    .action .email_signup input {
        font-size: 16px;
    }
    .action .email_signup button {
        font-size: 16px;
        line-height: 1.3;
    }
}

.action .or {
    display: inline-block;
    height: 60px;
    vertical-align: top;
    color: white;
    line-height: 60px;
    font-size: 18px;
    width: 55px;
    text-align: center;
}
.action .twitter_signup {
    display: inline-block;
    width: 295px;
    height: 60px;
    vertical-align: top;
}
.action .twitter_signup button {
    width: 295px;
    height: 60px;
    background: #59c9e9;
}
.action .twitter_signup button:hover {
    background: #49b9d9;
}
.action .version-disclaimer {
    color: #898989;
    font-size: 13px;
    line-height: 1.3;
    margin: 8px 0 24px 35px;
    text-align: left;
}
.action span.disclaimer {
    clear: both;
    color: #fff;
    display: block;
    font-size: 15px;
    line-height: 1.4;
    margin: 20px auto 0;
    max-width: 430px;
    text-align: center;
}
.action span.disclaimer a {
    color: #fff;
    text-decoration: none;
}

button {
    height: 60px;
    border: 0px;
    color: white;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 22px;
    cursor: pointer;
    font-weight: 500;
    font-family: "Open Sans";
}
a.btn {
    display: inline-block;
    text-decoration: none;
    border: 0px;
    background: #fe4b60;
    height: 58px;
    line-height: 56px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: white;
    font-weight: bold;
    font-size: 19px;
    text-align: center;
    width: 226px;
    cursor: pointer;
    margin: 25px 0px;
}
a.btn:hover {
    background: #ee3b50;
}
p.explanation {
    color: #999;
    max-width: 800px;
    margin: 0px auto 0px auto;
    line-height: 1.3em;
    padding: 0 32px;
}
.columns {
    margin-bottom: 60px;
}
.columns > div {
    display: inline-block;
    width: 485px;
    max-width: 100%;
}
.columns > div:first-child {
    border-right: 1px solid #323232;
}

section {
    background: #030e21;
    padding: 0 0 25px;
}
section.dark {
    background: #171717;
}
section h2 {
    color: #ffa600;
    font-weight: bold;
    margin-bottom: 35px;
    margin-top: 45px;
}
section hr {
    border-bottom: 1px solid #6b6b6b;
    border: 0px;
    margin-bottom: 35px;
    width: 140px;
}
section a {
    color: #ffa600;
    font-weight: bold;
    text-decoration: none;

    -webkit-transition: color 0.24s;
            transition: color 0.24s;
}
section a:hover {
    color: #ff8a00;
}
section .share a:hover {
    color: #fff;
}
section p {
    color: rgba(255, 255, 255, 0.9);
    font-size: 20px;
    font-weight: normal;
    line-height: 1.6;
    margin: 0px auto 25px auto;
    max-width: 860px;
    padding: 0 32px;
    text-align: center;
}
section p strong, header p strong {
    font-weight: bold;
}
.share {
    background: #222;
    border-radius: 60px;
    display: inline-block;
    padding: 10px;
}
section .share {
    margin: 0 0 22px;
}
.overlay .gutter .modal .share {
    background: #eee;
    margin: 20px auto 10px auto;
}
.share a {
    display: inline-block;
    width: 120px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    color: white;
    text-decoration: none;
    padding-left: 30px;
    font-size: 20px;
    margin: 0px 10px 0px 10px;
    border-radius: 20px;
    font-weight: 500;
}
.share a.facebook {
    background: #3B5999 url(../images/fb_white.png) 15px 8px no-repeat;
    background-size: 25px 25px;
}
.share a.facebook:hover {
    background-color: #2B4989;
}
.share a.twitter {
    background: #4099FF url(../images/tw_white.png) 15px 8px no-repeat;
    background-size: 25px 25px;
}
.share a.twitter:hover {
    background-color: #3089ef;
}
.logos {
    background-color: rgba(0, 0, 0, 0.4);
    margin: 0;
    padding: 68px 0 32px;
    overflow: hidden;
}
.logos a {
    opacity: 1;

    -webkit-transition: opacity 0.3s;
            transition: opacity 0.3s;
}
.logos img {
    border-radius: 5px;
    max-width: 280px;
    width: 80%;
    height: auto;
    vertical-align: middle;
    margin: 0px 20px 32px;
}
.press {
    font-size: 22px;
    color: #999;
    font-weight: 100;
    padding: 0 32px 60px 32px;
}
.press a {
    color: #bbb;
    word-wrap: break-word;
}
.press small {
    display: block;
    margin: 10px 0px 0px 0px;
    text-align: center;
    font-size: .8em;
}

.overlay {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .5);
    display: table;
    display: none;
    z-index: 9001;

    -webkit-transition: opacity 0.4s ease-out 0s, left 0s linear 0s;
            transition: opacity 0.4s ease-out 0s, left 0s linear 0s;
}
.overlay.invisible {
    pointer-events: none;
    opacity: 0;
    left: 99999px;

    -webkit-transition: opacity 0.4s ease-out 0s, left 0s linear 0.5s;
            transition: opacity 0.4s ease-out 0s, left 0s linear 0.5s;
}
.overlay .gutter {
    display: table-cell;
    vertical-align: middle;
}
.overlay .gutter .modal {
    max-width: 550px;
    border-radius: 10px;
    background: white;
    color: black;
    margin: 0px auto;
    padding-bottom: 10px;
    position: relative;
    text-align: center;
    overflow: auto;
}
.overlay .modal a.close {
    position: absolute;
    right: 10px;
    top: 0px;
    color: black;
    opacity: .4;
    text-decoration: none;
    font-size: 30px;
}
.overlay .modal a.close:hover {
    opacity: .6;
}
.overlay .modal h1 {
    background: #FFA600;
    color: white;
    text-align: center;
    padding: 30px 10px;
    -webkit-border-top-left-radius: 0px;
    -webkit-border-top-right-radius: 0px;
    -moz-border-radius-topleft: 0px;
    -moz-border-radius-topright: 0px;
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    font-size: 26px;
    font-weight: bold;
    line-height: 31px;
    font-family: "Open Sans";
    letter-spacing: 1px;
    margin-bottom: 25px;
}
.overlay .modal h2 {
    font-size: 16px;
    line-height: 20px;
    padding: 0px 25px;
    margin: 0px auto;
}
.overlay .modal p {
    padding-left: 30px;
    padding-right: 30px;
    color: #333;
    margin-bottom: 0px;
    font-size: 18px;
    line-height: 23px;
}
.overlay .modal label {
    font-size: 13px;
    display: inline-block;
    width: 130px;
    text-align: left;
}
.overlay .modal label span {
    color: gray;
}
.overlay .modal input {
    width: 280px;
    font-size: 20px;
}
.overlay .modal select {
    width: 280px;
    font-size: 20px;
}
.overlay .modal hr {
    border: 0px;
}
.overlay .modal button {
    display: inline-block;
    margin: 15px auto 20px auto;
    outline: medium none;
    cursor: pointer;
    text-align: center;
    text-decoration: none;

    padding: 0.5em 2em 0.55em;
    text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.3);
    border-radius: 0.5em;
    box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
    border: 1px solid #12A1D6;

    background: #32c0f2; /* Old browsers */
    background: -moz-linear-gradient(top, #32c0f2 0%, #028bbb 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#32c0f2), color-stop(100%,#028bbb)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, #32c0f2 0%,#028bbb 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, #32c0f2 0%,#028bbb 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top, #32c0f2 0%,#028bbb 100%); /* IE10+ */
    background: linear-gradient(to bottom, #32c0f2 0%,#028bbb 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#32c0f2', endColorstr='#028bbb',GradientType=0 ); /* IE6-9 */

    font-size: 16px;
    font-weight: bold;
    letter-spacing: 1px;


    color: white;
}
.overlay .modal .no_thanks {
    display: inline-block;
    margin: 0px 10px;
    font-size: 16px;
}

.overlay.confirmed {
    background-color: rgba(0, 0, 0, 0.8);
}

.overlay.goodbye_modal p strong {
    font-weight: bold;
}

.overlay.goodbye_modal p a {
    color: #4099FF;
    font-weight: bold;
    line-height: 1.6;
    -webkit-transition: all 0.3s;
            transition: all 0.3s;
}

.overlay.goodbye_modal p a:hover {
    color: #50aaFF;
}

.overlay.call_tool .modal a.share {
    background-color: transparent;
    color: #666;
    font-size: 12px;
    margin: 0 0 12px;
    padding: 0;
}
.overlay.call_tool .modal .phone-number {
    margin: 16px 0 0;
}
.overlay.call_tool .modal form {
    padding: 0 12px;
}
.overlay.call_tool .modal input {
    width: 100%;
    height: 60px;
    border: 0px;
    line-height: 60px;
    padding: 0px 20px;
    font-size: 25px;
    font-family: "Open Sans";
    font-weight: 100;
    border: 1px solid #ccc;
    border-bottom: none;
}
@media screen and (max-width: 480px) {
    .overlay.call_tool .modal input {
        font-size: 18px;
    }
}
.overlay.call_tool .modal button {
    background: #36c994;
    border-radius: 0;
    border: none;
    box-shadow: none;
    margin: 0 0 16px;
    width: 100%;
}
.overlay.call_tool .modal button:hover {
    background: #26b984;
}
.overlay .modal p.address h4 {
    font-size: 20px;
    font-weight: bold;
    text-align: left;
    color: gray;
    margin-bottom: 3px;
    padding: 0px;
}
.overlay .modal p.address p {
    padding: 0px;
}
.overlay .modal p.address p {
    text-align: left;
}
.overlay .modal div.keep_in_mind {
}
.overlay .modal div.keep_in_mind a {
    color: #44f;
}
.overlay .modal div.keep_in_mind a:hover {
    color: #22a;
}
.overlay .modal div.keep_in_mind #get_directions {
    display: block;
    text-align: left;
}
.overlay .modal div.keep_in_mind p.blurb {
    margin-top: 25px;
    text-align: left;
    padding-bottom: 20px;
}
@media screen and (max-width: 767px) {
    .overlay .modal h1 {
        font-size:  18px;
    }
    .overlay .modal h2 {
        font-size: 16px;
        line-height: 21px;
        padding: 0px 15px;
    }
    .overlay .modal p {
        padding: 0px 12px;
        font-size: 15px;
        line-height: 21px;
    }
    .overlay .modal button {
        margin-top: 10px;
        margin-bottom: 15px;
    }
}

div.social-buttons {
    height: 115px;
    left: 0;
    overflow: hidden;
    position: fixed;
    top: calc((100% - 115px) / 2);
    width: 100px;
}

@media screen and (max-width: 1100px) {
    div.social-buttons {
        text-indent: 999px;
        width: 33px;
    }
}

@media screen and (max-width: 480px) {
    div.social-buttons {
        display: none;
    }
}

div.social-buttons a {
    background-repeat: no-repeat;
    display: block;
    height: 33px;
    font-family: Arial, sans-serif;
    color: white;
    line-height: 33px;
    margin: 0 0 8px;
    padding: 0 0 0 29px;
    text-decoration: none;
    width: 100%;
}

div.social-buttons a.facebook {
    background-color: #39579a;
    background-image: url(../images/social/icon-fb.gif);
}

div.social-buttons a.twitter {
    background-color: #02aced;
    background-image: url(../images/social/icon-twitter.gif);
}

div.social-buttons a.email {
    background-color: #14ac2b;
    background-image: url(../images/social/icon-email.gif);
}



/* Checkbox */
.squaredFour {
    width: 20px;
    margin: 20px auto;
    position: relative;
    line-height: 1.2;
    font-size: 16px;
    display: block;
    text-align: left;
    width: 100%;
    color: #898989;
}

.squaredFour input[type=checkbox] {
    visibility: hidden;
    height: auto;
    width: 1px;
    padding: 0;
    margin: 0;
}

.squaredFour label.text {
    cursor: pointer;
    float: left;
    margin: -18px 0 24px;
    padding: 0 0 0 36px;
    position: relative;
}

.squaredFour label.checkbox {
    cursor: pointer;
    position: absolute;
    width: 20px;
    height: 20px;
    top: 0;
    left: 0;
    border-radius: 4px;

    -webkit-box-shadow: inset 0px 1px 1px white, 0px 1px 3px rgba(0,0,0,0.5);
    -moz-box-shadow: inset 0px 1px 1px white, 0px 1px 3px rgba(0,0,0,0.5);
    box-shadow: inset 0px 1px 1px white, 0px 1px 3px rgba(0,0,0,0.5);
    background: #fcfff4;

    background: -webkit-linear-gradient(top, #fcfff4 0%, #dfe5d7 40%, #b3bead 100%);
    background: -moz-linear-gradient(top, #fcfff4 0%, #dfe5d7 40%, #b3bead 100%);
    background: -o-linear-gradient(top, #fcfff4 0%, #dfe5d7 40%, #b3bead 100%);
    background: -ms-linear-gradient(top, #fcfff4 0%, #dfe5d7 40%, #b3bead 100%);
    background: linear-gradient(top, #fcfff4 0%, #dfe5d7 40%, #b3bead 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfff4', endColorstr='#b3bead',GradientType=0 );
}

.squaredFour label.checkbox:after {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    opacity: 0;
    content: '';
    position: absolute;
    width: 9px;
    height: 5px;
    background: transparent;
    top: 4px;
    left: 4px;
    border: 3px solid #333;
    border-top: none;
    border-right: none;

    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.squaredFour input[type=checkbox]:checked + label.checkbox:after {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    filter: alpha(opacity=100);
    opacity: 1;
}

@media screen and (min-width: 480px) {
    .mobile {
        display: none;
    }
}

@media screen and (max-width: 479px) {
    .desktop {
        display: none;
    }
}

/* JL NOTE ~ styles added for protest map */
section.nopad {
    padding-bottom: 0px;
}
section.nopad div.share {
    margin-bottom: 10px;
}
h3.nopad {
    margin-bottom: 0px;
}
#gallery {
    max-width: 800px;
    margin: 0px auto;
}
#gallery iframe {
    height: 565px;
}
.flyer {
    font-weight: bold;
    font-family: "Open Sans";
    font-size: 29px;
    text-transform: uppercase;
    color: white;
    margin: 0 0 25px 0;
}
.flyer a {
    color: #33e5a8;
    text-decoration: underline;
}
.flyer a:hover {
    color: #13c588;
}
.bottom {
    display: none;
    position: fixed;
    bottom: 0px;
    left: 0px;
    width: 100%;
    z-index: 9001;
    border-top: 2px solid #333;
}
.bottom a {
    display: block;
    background: #080808;
    text-align: center;
    height: 64px;
    line-height: 64px;
    font-size: 27.8px;
    text-decoration: none;
    color: #c7c7c7;
    text-transform: uppercase;
    box-shadow: 0px 0px 20px rgba(0,0,0, .5);
}
.bottom a em {
    color: #33e5a8;
}
.bottom a:hover em {
    text-decoration: underline;
}
@media screen and (max-width: 767px) {
    .bottom a {
        padding: 10px 0px;
        height: auto;
        line-height: 25px;
        font-size: 20px;
    }
    .bottom img {
        display: none;
    }
}

/* Fixes for Map embed on mobile */
@media screen and (max-width: 390px) {
    .senators {
        max-width: 320px;
        overflow: hidden;
    }
    .senators > div {
        -webkit-transform: scale(0.8);
            -ms-transform: scale(0.8);
                transform: scale(0.8);
    }
}
