html, body { margin:0; padding:0; }
html.noscroll {
 position: fixed; 
 overflow-y: scroll;
 width: 100%;
}
body {
 background-color:#FFFFFFR;
 color:#000000;
 font-family:"Lucida Sans Unicode", LucidaGrande, Sans-Serif;
 font-size:14px;
 text-align:center;
}
body.single-post {text-align:left;}
a {
 color:#000000;
 text-decoration:underline;
}
a:hover {
 color:#016E87;
 text-decoration:none;
}
a:visited {
 color:#000000;
}
#head a, #footer a {
 color:#FFFFFF;
 text-decoration:underline;
}
#head a:hover, #footer a:hover {
 color:#FFFFFF;
 text-decoration:none;
}
#head a:visited, #footer a:visited {
 color#BBBBBB;
}
p {
 margin:15px 25px;
 font-size: 18px;
 text-align: left;
}
.single-post p {
 margin:0px;
}
ul {
 margin:15px 25px;
 font-size: 18px;
 text-align: left;
}
ul > li {
 margin:10px;
}
form {
 display:inline-block;
 padding:0px;
 margin:0px;
}
input[type="text"] {
 margin:0px;
 padding:4px;
 border:1px solid #999999;
 font-family:VollkornR;
 font-size:15px;
 color:#000000;
}
::placeholder {
 color:#949494;
}
button {
 margin:0px;
 padding:4px;
 background-color:#016E87;
 border:1px solid #949494;
 font-family:MontserratSB;
 font-size:15px;
 color:#FFFFFF;
}

#head {
 background-color:#016E87;
 width:100%;
 height:145px;
}
#head > div {
 position:relative;
 margin:auto;
 width:100%;
 max-width:1050px;
 height:84px;
 background-image:url('../imgs/bg-world-alt.png');
 background-size:450px;
 background-position:5px -110px;
 background-repeat:no-repeat;
 text-align:left;
}
div.headname {
 float:left;
 position:relative;
}
div.headsearchsocial {
 float:right;
 margin-top:8px;
}
div.headsearchsocial form {
 margin-left:10px;
}
div.headsearchsocial input[type="text"] {
 width:135px;
}
a#showmenu {
 display:none;
 position:absolute;
 top:10px;
 top:calc(50% - 16px);
 right:10px;
 opacity:0.85;
}
ul.headmenu {
 position:absolute;
 right:0px;
 bottom:0px;
 margin:0px;
 padding:0px;
}
ul.headmenu > li {
 position:relative;
 display:inline-block;
 margin:0px;
 padding:7px 10px 8px 10px;
 text-align:center;
 font-family:league_gothicregular;
 font-size:16px;
 color:#FFFFFF;
 white-space:nowrap;
}
ul.headmenu > li > a {
 text-decoration:none !important;
}
ul.headmenu > li > a:hover {
 text-decoration:underline !important;
}
ul.headmenu > li.highlight {
 background-color:#3dadd3;
}
ul.headmenu div.submenu {
 position:absolute;
 top:33x;
 width:120px;
 background-color:#FFFFFF;
 box-shadow:2px 2px 10px rgba(0,0,0,0.5);
 visibility:hidden;
 z-index:1000;
}
ul.headmenu > li:hover div.submenu {
 visibility:visible;
}
ul.headmenu div.submenu a {
 display:block;
 width:100%;
 padding:8px;
 color:#016E87 !important;
 text-decoration:none !important;
 white-space:normal !important;
 box-sizing:border-box;
}
ul.headmenu div.submenu a:hover {
 text-decoration:underline !important;
}
img.logo {
 vertical-align:bottom;
 text-decoration:none;
 max-width:100%;
 max-height:100%;
}
img.logo.black {
 display:none;
}
#main {
 padding-top:10px;
 margin:auto;
 margin-top:-61px !important;
 width:100%;
 max-width:1050px;
 min-height:600px;
 background-color:#FFFFFF;
 font-family: VollkornR;
 text-align:left;
}
.single-post h1 {text-align:left;}
h1#title {
 display:block;
 margin:0;
 padding:12px 25px 22px 25px;
 width:100%;
 text-align:left;
 font-family:MontserratSB;
 font-size:46px;
 color:#1F497D;
 text-shadow:2px 2px #FFFFFF;
 box-sizing:border-box;
}
h2, h3 {
 margin:10px 0px 15px 0px;
 padding:0;
 width:100%;
 text-align:center;
 font-family:MontserratSB;
 font-size:41px;
 color:#016E87;
 box-sizing:border-box;
}
p.intro, p.end {
 margin:2px 25px 20px 25px;
 font-family:VollkornR;
 font-size:18px;
 text-align:left;
}
p.end { text-align:center !important; }
p.summary {
 margin:15px 30px 5px 30px;
 font-family:MontserratSB;
 font-size:20px;
 text-align:center;
 color:#016E87;
}
p.summary > span {
 white-space:nowrap;
}
p.summary span.dbl_line {
 display: inline-block;
 width: 120px;
 margin-top: -8px;
 text-align: left;
 vertical-align: middle;
 line-height: 22px;
 color: #000000;
 font-size: 17px;
 font-variant:small-caps;
}
p.summary a > span.dbl_line {
 text-decoration:underline;
}
p.summary a > span.dbl_line:hover {
 text-decoration:none;
}
span.nb {
 display:inline-block;
 margin:5px 5px 7px 16px;
 padding:10px 0px 10px 0px;
 width:66px;
 background-color:#949494;
 font-size:26px;
 text-align:center;
 color:#FFFFFF;
}
div#mappopup span.nb {
 margin:2px 2px 2px 0px;
 padding:0px 0px 1px 0px;
 width:20px;
 font-size:16px;
}
span.enacted {
 color:#cb2533;
}
span.enacted a, span.enacted a:visited {
 color:#cb2533;
}
span.enacted span.nb {
 background-color:#cb2533;
}
span.enacted_with_improvements {
 color:#D68035;
}
span.enacted_with_improvements a, span.enacted_with_improvements a:visited {
 color:#D68035;
}
span.enacted_with_improvements span.nb {
 background-color:#D68035;
}
span.pending {
 color:#ffc820;
}
span.pending a, span.pending a:visited {
 color:#ffc820;
}
span.pending span.nb {
 background-color:#ffc820;
}
span.defeated {
 color:#46ac46;
}
span.defeated a, span.defeated a:visited {
 color:#46ac46;
}
span.defeated span.nb {
 background-color:#46ac46;
}
div.filter {
 margin:15px 10px 20px 10px;
 font-family:MontserratSB;
 font-size:19px;
 color:#016E87;
 text-align:center;
}
div.filter select {
 margin:0px 0px 8px 10px;
 padding:4px 20px 4px 20px;
 background-color:#FFFFFF;
 border:1px solid #016E87;
 font-family:MontserratSB;
 font-size:22px;
 color:#016E87;
 text-align:center;
}
div.filter input[type="date"] {
 margin:0px 0px 8px 0px;
 padding:0px;
 background-color:#FFFFFEF;
 border:1px solid #016E87;
 font-family:MontserratSB;
 font-size:20px;
 color:#016E87;
 text-align:center;
}

div.filter div#date_custom {
 margin-top: -5px;
 padding: 0px 10px 0px 30px;
 text-align: left;
 color: #999999;
}

#footer {
 margin-top:50px;
 width:100%;
 background-color:#016E87;
 font-family:league_gothicregular;
 font-size:14px;
 color:#FFFFFF;
}
#footer p {
 text-align:center;
}
#footer > div {
 margin:auto;
 padding-bottom:4px;
 width:100%;
 max-width:1050px;
}
#footer .footerlist, #footer .footersocial {
 display:inline-block;
 margin:15px 0px 5px 0px;
 width:300px;
 height:100px;
 font-size:16px;
 vertical-align:top;
}
#footer .footerlist {
 border-right:1px solid #016E87;
}
#footer .footerlist > p {
 margin-bottom:16px;
}
#footer .footerlist input[type="text"] {
 margin-top:-12px;
 width:170px;
}
#footer .footerlist button {
 margin-top:-12px;
 margin-left:6px;
 font-family:league_gothicregular;
}
#footer a.social {
 margin-top:-4px;
 font-size: 14px !important;
 line-height: 36px !important;
}

div#mapcontainer {
 position:relative;
}
div#map {
 margin:-5px 0px 15px 0px;
 width:100%;
 height:450px;
 background-color:#FFFFFF;
 z-index:10;
}
div#mappopup {
 position:absolute;
 top:20px;
 left:20px;
 padding:8px 20px 6px 20px;
 background-color:#FFFFFF;
 box-shadow:2px 2px 10px rgba(0,0,0,0.5);
 font-family:LatoL;
 font-size:16px;
 color:#000000;
 white-space:nowrap;
 pointer-events:none;
 z-index:100;
 visibility:hidden;
}
div#mappopup span.popuptitle {
 font-family:MontserratSB;
 font-size:19px;
 color:#016E87;
}
div#mappopup p.popupnote {
 margin:0;
 padding:2px 0px 0px 0px;
 color:#999999;
 font-style:italic;
 font-size:14px;
}
#maplegend {
 margin:-14px 0px 12px 0px;
 font-family:LatoL;
 font-size:14px;
 text-align:center;
 line-height: 25px;
}
#mapupdate {
 margin:-14px 0px 12px 0px;
 font-family:LatoL;
 font-size:14px;
 text-align:center;
 font-style:italic;
 line-height: 25px;
}
div.legend {
 display:inline-block;
 margin-left:8px;
 white-space:nowrap;
}
div.legend span {
 display:inline-block;
 width:18px;
 height:18px;
 background-color:#D2D2D2;
 vertical-align:text-bottom;
}
div.legend.ongoing span {
 background-color:#8BD8EA !important;
}
div.legend.enacted span {
 background-color:#17B1D3 !important;
}

a.print, a:hover, a:visited {
 text-decoration:none !important;
}
a.print > img {
 margin-left:10px;
 width:25px;
 vertical-align:middle;
}
div#entries {
 margin-bottom:30px;
 padding:5px 20px 5px 5px;
 font-family:VollkornR;
 font-size:16px; 
}
div.entryinfo {
 margin:30px;
 text-align:center;
}
div.entry {
 margin-bottom:20px;
 padding-left:150px;
 background-repeat:no-repeat;
 background-position: 30px 6px;
 background-size: 85px;
}
div.entrypretitle {
 font-family:MontserratB;
 color:#016E87;
 font-size:24px !important;
 border-bottom:4px solid #016E87;
}
div.entry p {
 margin:6px 0px 6px 0px;
 font-size: 16px;
}
div.entry p.status {
 font-weight:bold;
 font-size:18px;
 font-family: MontserratSB;
}
a.return {
 display:block;
 font-family:LatoL;
 text-align:right;
 font-size:14px;
 color:#016E87 !important;
}
h3 {
 padding:5px 0px 6px 0px;
 margin:0px;
 font-family:MontserratSB;
 font-size:20px;
 color:#000000;
 text-align:left;
}
h3 span {
 text-decoration:underline;
}

a.social {
 display:inline-block;
 font-family:socialicoregular;
 font-size:37px;
 text-decoration:none !important;
 vertical-align:middle;
 line-height:30px;
}
footer a.social {
 font-size:14px;
}

a.share {
 margin-left: 3px;
 display:inline-block;
 font-family:socialicoregular;
 font-size:37px;
 text-decoration:none !important;
 vertical-align:middle;
 line-height:30px;
 color: #016E87 !important;
 width: 27px;
 text-align: center;
}
a.share.fb {
 margin-left:7px;
}

/* filter-specific style */

div.filtertitle {
 display:inline-block;
 margin:5px;
 padding:6px 32px 6px 32px;
 border:1px solid #17B1D3;
 color:#17B1D3;
 opacity:0.5;
 cursor:pointer;
    height: 2.8em;
}
div.filtercontainer {
 position:fixed;
 top:0px;
 left:0px;
 width:100%;
 height:100%;
 background-color:rgba(0,0,0,0.5);
 z-index:100;
 display:none;
}
div.filterbox {
 position:fixed;
 margin:5px;
 width:100%;
 width:calc(100% - 10px);
 max-width:350px;
 height:100%;
 height:calc(100% - 10px);
 max-height:640px;
 background-color:#ffffff;
 box-shadow:2px 2px 10px rgba(0,0,0,0.5);
 z-index:1000;
 display:none;
 font-size:17px !important;
}
div.filtersection {
 height:100%;
 padding:10px;
 box-sizing:border-box;
 overflow:auto;
 display:none;
}
div.filtersection label {
 display:block;
 padding:10px;
 text-align:left;
}
div.filtersection label:last-child {
 margin-bottom:80px;
}
div.filtersection input[type="radio"], div.filtersection input[type="checkbox"] {
 margin:0px 10px 0px 5px;
 padding:0px;
}
div.filterboxcontrol {
 position:absolute;
 padding:10px;
 bottom:0px;
 left:0px;
 width:100%;
 background-color:#FFFFFF;
 border-top:1px solid #016E87;
 text-align:center;
 font-size:15px;
 box-sizing:border-box;
}
div.filterboxcontrol button {
 margin:0px 5px 0px 5px;
 padding:3px 12px;
 font-size:15px;
 cursor:pointer;
}
div.filterboxcontrol button.alt {
 background-color:#FFFFFF;
 border-color:#016E87;
 color:#016E87;
}
div.filterboxcontrol a, div.filterboxcontrol a:visited {
 color:#016E87;
 text-decoration:underline;
}
div.filterboxcontrol a:hover {
 color:#016E87;
 text-decoration:none;
}
a.filterboxclose, a.filterboxclose:hover, a.filterboxclose:visited {
 display:block;
 position:absolute;
 top:17px;
 right:13px;
 width:23px;
 height:22px;
 background-color:#949494;
 color:#FFFFFF;
 font-size:16px;
 text-align:center;
 vertical-align:middle;
 text-decoration:none;
}
p.filterstring {
 margin-top:-10px !important;
 font-family:LatoL;
 font-size:16px;
 color:#949494;
 font-style:italic;
 text-align:center;
}

/* font declarations */
@font-face {
 font-family: 'VollkornR';
 src: url('../fonts/Vollkorn-Regular.woff2') format('woff2'),
     url('../fonts/Vollkorn-Regular.woff') format('woff');
 font-weight: normal;
 font-style: normal;
}
@font-face {
 font-family: 'LatoL';
 src: url('../fonts/Lato-Light.woff2') format('woff2'),
     url('../fonts/Lato-Light.woff') format('woff');
 font-weight: 300;
 font-style: normal;
}
@font-face {
 font-family: 'MontserratB';
 src: url('../fonts/Montserrat-Black.woff2') format('woff2'),
     url('../fonts/Montserrat-Black.woff') format('woff');
 font-weight: 900;
 font-style: normal;
}
@font-face {
 font-family: 'MontserratSB';
 src: url('../fonts/Montserrat-SemiBold.woff2') format('woff2'),
     url('../fonts/Montserrat-SemiBold.woff') format('woff');
 font-weight: 600;
 font-style: normal;
}
@font-face {
 font-family:'league_gothicregular';
 src:url('../fonts/leaguegothic-regular.woff2') format('woff2'),
     url('../fonts/leaguegothic-regular.woff') format('woff');
 font-weight:normal;
 font-style:normal;
}
@font-face {
 font-family:'socialicoregular';
 src:url('../fonts/socialico-webfont.woff2') format('woff2'),
     url('../fonts/socialico-webfont.woff') format('woff');
 font-weight:normal;
 font-style:normal;
}


/* responsive style */

@media print {
 #head {
  background:none !important;
 }
 #head > div {
 background:none !important;
}
 div.headname {
  float:none !important;
  text-align:center !important;
 }
 img.logo {
  display:none !important;
 }
 img.logo.black {
  display:inline !important;
 }
 div.headsearchsocial {
  display:none !important;
 }
 ul.headmenu {
  display:none !important;
 }
 a#showmenu {
  display:none !important;
 }
 h1#title {
  padding:0 !important;
 }
 p.intro::before {
  content: "http://www.icnl.org/usprotestlawtracker/\a\a";
  white-space: pre;
 }
 p.intro {
  margin-top:0px !important;
 }
 span.nb {
  display:inline !important;
  margin:0 !important;
  padding:0 !important;
  background:none !important;
  color:#016E87 !important;
 }
 span.enacted span.nb {
  background:none !important;
  color:#cb2533 !important;
 }
 span.enacted_with_improvements span.nb {
  background:none !important;
  color:#D68035 !important;
 }
 span.pending span.nb {
  background:none !important;
  color:#ffc820 !important;
 }
 span.defeated span.nb {
  background:none !important;
  color:#46ac46 !important;
 }
 div#map {
  display:none !important;
 }
 div#maplegend {
  display:none !important;
 }
 div.filter {
  display:none !important;
 }
 p.filterstring a {
  display:none !important;
 }
 #entries {
  min-height:0px !important;
 }
 div.entry {
  padding:0 !important;
  background:none !important;
 }
 a.return {
  display:none !important;
 }
 #footer {
  background:none !important;
  color:#000000 !important;
 }
 #footer a, #footer a:visited {
  color:#000000 !important;
 }
 div.footerlist {
  display:none !important;
 }
 div.footersocial {
  display:none !important;
 }
 div#mappopup {
  display:none !important;
 }
 span.hideprint {
  display:none !important;
 }
}

@media (max-width: 1030px) {
 html:not(.embed) #head > div {
  height:98px;
 }
 html:not(.embed) #main {
  margin-top:-47px !important;
 }
 div.headsearchsocial input[type="text"] {
  width:85px;
 }
}

@media (max-width: 660px) {
 #head .headsearchsocial {
  display:none;
 }
 #footer .footerlist, #footer .footersocial {
  width:100%;
  height:75px;
  border:none;
 }
}

@media (max-width: 660px) {
 a#showmenu {
  display:block;
 }
 html:not(.embed) ul.headmenu {
  display:none;
  position:static;
  background-color:#016E87;
 }
 ul.headmenu > li {
  display:block;
 }
 ul.headmenu div.submenu {
  position:static;
  width:auto;
  margin-top:10px;
  visibility:visible !important;
 }
 a.print { display:none; }
 div.entry {
  padding-left:80px;
  background-position: 15px 6px;
  background-size: 50px;
 }
}

@media (max-width: 605px) {
 html.embed #head .headname img {
  max-width:85%;
 }
}
