* { margin: 0; padding: 0; }
img { border: 0; }
body { margin: 0; padding: 0; }
.clear { clear: both; }
.hidden { display: none; }

p, h1, h2, h3, h4, h5, h6, #mainContent ul, #mainContent ol {
  /* margin-top: 1em; */
  margin-bottom: 1em;
}

p {
  line-height: 1.6;
}

html {
  /* Standard colorss. */
  --khaki-green: #587733;
  --light-green: #afe478;
  --washed-green: #daf4be;
  --light-blue: #92d4d1;
  --washed-blue: #ddfbfa;
  --navy: #224c57;
  --orange: #ec6343;
  --orange-dim: #e05340;
  --orange-dimmer: #ce3520;
}

/* Some Tachyons-like classes to apply those standard colors. */
.bg-light-blue { background: var(--light-blue); }
.bg-orange { background: var(--orange); }
.orange { color: var(--orange); }
.b--light-blue { border-color: var(--light-blue); }
.navy { color: var(--navy); }

body {
  /* Native font stack as per Bootstrap 5.1. */
  font-family:
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    "Helvetica Neue", Arial,
    "Noto Sans",
    "Liberation Sans",
    sans-serif,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: .875rem;
  color: #333;
}

a {
  text-decoration: none;
  color: var(--navy);
  transition: all .1s ease-out;
  font-weight: bold;
}
a:hover { text-decoration: underline; }

/* Missing links */
a, form { position: relative; }
.fixme,
a[href$="#fixme"]:before,
form[action$="#fixme"]:before {
  border: 1px solid var(--orange);
  border-radius: 6px;
  content: '?';
  font-size: 0.6rem;
  color: var(--orange);
  position: absolute;
  top: -4px;
  right: -4px;
  padding: 1px;
  background: yellow;
  /* opacity: 0.8; */
  width: 12px;
  text-align: center;
}

input:focus {
  z-index: 3;
  border-color: #86b7fe;
  box-shadow: 0 0 0 .25rem rgb(236, 99, 67, .5);
}

video {
    max-width: 100%;
    margin: 1rem 0;
}

a.read-more {
    cursor: pointer;
    font-style: italic;
}

.btn-orange {
  color: white;
  background: var(--orange);
  border: 1px solid var(--orange-dim);
}
.btn-orange:hover, .btn-orange:active {
  background: var(--orange-dim);
  text-decoration: none;
  box-shadow: 1px 1px 1px rgba(0,0,0,0.2);
}
.btn-orange:focus {
  box-shadow: 0 0 0 .25rem var(--orange-dim);
}
.btn-white {
  color: var(--orange);
  background: white;
  border: 1px solid #777;
}
.btn-white:hover, .btn-white:active {
  background: #eee;
  text-decoration: none;
  box-shadow: 1px 1px 1px rgba(0,0,0,0.2);
}
.btn-white:focus {
  box-shadow: 0 0 0 .25rem #ddd;
}

a svg {
  transition: all .2s ease;
}
a:hover svg {
  transform: scale(1.1);
}

.toggle-control  {
cursor: pointer;
text-decoration: none; color: #557733;
}
.toggle-control:hover { text-decoration: underline; color: #577632; }

/* FIXME: We should do this:          */
/* http://www.waypointarts.com/blog/2013/06/29/fixing-a-side-bar-while-scrolling-until-bottom */
.donate-sidebar {
  background: var(--light-green) no-repeat;
  position: sticky;
  bottom: 0;
  width: auto;
  padding: 0.5rem 1rem;
  margin: 0 -1rem;
  border-radius: 8px 8px 0 0;
  border: 1px solid #90d468;
}

.donate-sidebar:hover {
  background: #a0d870;
}

p.footnote {
    font-size: 85%;
}

h1 { margin-top: .75em; margin-bottom: .5em; }
h2 { margin-top: .75em; margin-bottom: .5em; }
h3 { margin-top: .6em; margin-bottom: .4em; }

#mainContent ul, #mainContent ol { padding-left: 1.5em; }


.internalNavigate { width: 19%; float: right; }
#mainContent .internalNavigate ul { list-style-type: none; padding-left: 0; }
.internalNavigate ul li { margin-top: .3em; margin-bottom: .3em; }

/* Header */

body > header {
  /* background: linear-gradient(to top right, white, white, var(--washed-blue) 80%); */
  overflow: auto; /* Prevent logo top margin popping out. */
}

#conservancyheader img {
  max-height: 75px;
  width: auto;
}

@media screen and (min-width: 30em) {
  #conservancyheader img {
    max-height: 90px;
  }
}

/* Navigation bar */
#navbar-outer {
  background: var(--navy);
  position: relative;
  z-index: 100;
}
#navbar ul {
  list-style: none;
  text-transform: uppercase;
  padding: 0;
}
#navbar li {
  background: var(--navy);
  position: relative;
  padding-left: .25rem;
  padding-right: .25rem;
}
@media screen and (min-width: 30em) {
  #navbar li {
    padding-left: .5rem;
    padding-right: .5rem;
  }
}
#navbar li > a {
  display: inline-block;
  color: white;
  text-decoration: none;
  padding: 0.25rem 0.25rem 0;
  /* Invisible borders to keep things even. */
  border-top: 0.20rem solid var(--navy);  /* A little less here. */
  border-bottom: 0.25rem solid var(--navy);
}

@media screen and (min-width: 30em) {
  #navbar li > a {
    padding-left: .5rem;
    padding-right: .5rem
  }
}

.press-articles  li {
    list-style-type: none; /* Remove bullets */
    padding: 0; /* Remove padding */
    margin: 0; /* Remove margins */
    margin-top: 1.1em; margin-bottom: 1.1em;
}

#navbar li a:hover, #navbar li a:focus {
  border-bottom: 0.25rem solid var(--light-green);
}
#navbar li { padding-bottom: 0.25rem; }

/* Navbar submenus */
#navbar li ul {
  display: none;
  z-index: 100;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 15rem;
  text-transform: none;
}
#navbar li ul a {
  font-weight: normal;
}
#navbar li:hover ul {
  display: block;
}
/* Right-align the second last and last sub-menus. */
#navbar li:nth-last-child(2) ul, #navbar li:nth-last-child(1) ul {
  left: auto;
  right: 0;
  text-align: right;
}

#menu-icon:active, #search-icon:active {
  transform: scale(1.1);
}
#navbar-outer { min-height: .5rem; }
#navbar.mobile {
  display: block;
  max-width: 32rem;
}
#navbar.mobile.search { display: block; }
#navbar.mobile li {
  display: block;
}
#navbar.mobile ul {
  padding-left: .5rem;
  padding-right: .5rem;
  display: block !important;
  position: relative !important;
  top: auto !important;
  left: 0 !important;
  right: auto !important;
  text-align: left !important;
}
#navbar.mobile > ul > li {
  padding-top: .5rem;
  padding-bottom: .5rem;
}
#navbar.mobile > ul > li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
#navbar.mobile li ul {
  margin-left: .5rem;
}

.fundraiser-top-text {
  background: #F0FFB8;
  margin-top: -.5rem;
}
.fundraiser-top-text p {
  font-size: 110%;
  font-style: italic;
  text-align: center;
}
#siteprogressbar .goalText {
  color: #557733;
}
#siteprogressbar .soFarText {
  color: white;
}
#siteprogressbar .exceeded {
  color: var(--khaki-green);
}
#siteprogressbar .progress {
  background: linear-gradient(var(--khaki-green), #84a377, var(--khaki-green));
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  border-top-left-radius: 16px;
  border-bottom-left-radius: 16px;
  border: 1px solid #3f4439;
}
#siteprogressbar .final-goal {
  border-top-right-radius: 16px;
  border-bottom-right-radius: 16px;
  border: 1px solid #9bac88;
  border-left: none;
}
#siteprogressbar .progress.matched {
  border-top-right-radius: 16px;
  border-bottom-right-radius: 16px;
  font-size: 120%;
}
#siteprogressbar .progress.exceeded {
  border-top-right-radius: 16px;
  border-bottom-right-radius: 16px;
  background: linear-gradient(#84a377, var(--washed-green), #84a377);
}
#siteprogressbar {
  background: linear-gradient(var(--washed-green), white, var(--washed-green));
  box-shadow: 1px 1px 1px rgba(0,0,0,0.2);
  line-height: 1.3;
  border-radius: 16px;
}

#container #mainContent {
    max-width: 50em;
    margin: 0 0 2rem;
    padding: 0;
    background: #ffffff;
    flex: 1 1 auto;
}

#container #sidebar {
  background-color: #e6eae1;
  padding: 1px 0.5rem 2rem;
  margin: 1rem -1rem 0;
}

@media screen and (min-width: 30em) {
  #container {
    display: flex;
  }
  #container #sidebar {
    flex: 1 0 15em;
    margin: 1rem 0rem 1rem 2rem;
  }
}

#container #sidebar li {
    text-align: center;
    list-style: none;
    padding: 3px 10px 3px 10px;
    margin: 5px;
    border: 1px solid #CCC;
    background: #eaf1f1;
    background: -moz-linear-gradient(top, #fff, #eaf1f1);
    background: -webkit-linear-gradient(top, #fff, #eaf1f1);
    background: linear-gradient(to bottom, #fff, #eaf1f1);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eaf1f1', GradientType=0);
}
#container #sidebar li a:hover { background: #577632; color: #fff; }

#container #sidebar.Sponsors ul li.Sponsors,
#container #sidebar.Directors ul li.Directors,
#container #sidebar.Eval ul li.Eval,
#container #sidebar.Overview ul li.Overview,
#container #sidebar.Contact ul li.Contact,
#container #sidebar.Staff ul li.Staff,
#container #sidebar.Outside ul li.Outside,
#container #sidebar.Transparency ul li.Transparency,
#container #sidebar.License ul li.License,
#container #sidebar.Current ul li.Current,
#container #sidebar.Services ul li.Services,
#container #sidebar.Applying ul li.Applying,
#container #sidebar.VizioTopBar ul li.VizioTopBar,
#container #sidebar.VizioMain ul li.VizioMain,
#container #sidebar.VizioPressRelease ul li.VizioPressRelase,
#container #sidebar.VizioComplaint ul li.VizioComplaint,
#container #sidebar.VizioQandA ul li.VizioQandA,
#container #sidebar.VizioPressKit ul li.VizioPressKit,
#container #sidebar.VizioPhotoAssets ul li.VizioPhotoAssets,
#container #sidebar.VizioPress ul li.VizioPress,
#container #sidebar.IssuesInTheNews ul li.IssuesInTheNews,
#container #sidebar.Glossary ul li.Glossary,
#container #sidebar.CopyleftCompliance ul li.CopyleftCompliance,
#container #sidebar.HelpComply ul li.HelpComply,
#container #sidebar.CopyleftPrinciples ul li.CopyleftPrinciples,
#container #sidebar.EnforcementStrategy ul li.EnforcementStrategy,
#container #sidebar.CopyleftCompliance ul li.CopyleftCompliance,
#container #sidebar.LiberateFirmware ul li.LiberateFirmware,
#container #sidebar.PastLawsuits ul li.PastLawsuits,
#container #sidebar.CopyleftOrg ul li.CopyleftOrg /* Never put a comma here */
{
    color: #000033;
    font-weight: bold;
    background: #e3e6e0;
}
#container #sidebar h2 {
    text-align: center;
    font-size: 1.25em;
    margin: 1.5em 0 0.8em 0;
}
#container #sidebar hr {
    width: 75%;
    float: center;
    clear: all;
}

.shaded { background: #F0FFB8; padding: .1em .5em; margin-bottom: .5em; }

.columns {
}

.column h2 { font-size: 1.25em; }
.column h3 { font-size: 1.1em; }
.column hr { width: 50%; margin-left: auto; margin-right: auto; }

.column h2 a { text-decoration: none; color: #000000; }
.column h2 a:hover { text-decoration: underline; }

#conservancyfooter {
  border-top: 1px solid #ccc;
  text-align: center;
  overflow: auto;
  margin: 0;
}

@media screen and (min-width: 30em) {
  #conservancyfooter {
    margin: 0;
  }
}

.continued {
  display: block;
  font-size: .9em;
  font-weight: bold;
  margin-top: 1em;
  margin-bottom: 1em;
}

.date, .blog-tags, .blog-comments {
  font-style: italic;
  font-size: .9em;
  margin-bottom: .3em;
  margin-top: .3em;
}

a.feedlink /* RSS icon */ { display: block; float: right; font-size: 10pt; }

blockquote, div.quote /* div.quote is used by conservancy whitepaper */ {
  margin-left: 2em;
  margin-right: 2em;
  padding-left: 1em;
  padding-right: 1em;
  border: 1px solid #fff;
  background: #eee;
}

.newsgraphic { float: right; }
.newsgraphic img { border: 1px solid #000; }

.picture {
    text-align: center;
    font-style: italic;
}
.picture img {
    margin: 0 auto;
    max-width: 100%;
}
.picture-small {
    padding-left: 1em;
    border: thin silver solid;
    padding: 0.5em;
    text-align: center;
    font-style: italic;
    font-size: 70%;
    text-indent: 0;
    margin: .25em;
    min-width: 8%;
    width: auto;
    box-shadow: 1px 1px 2px rgba(0,0,0,.3);
    margin-bottom: 1rem;
}

@media screen and (min-width: 30em) {
  .picture-small {
    max-width: 20rem;
  }
}

.picture-small img {
   width: 100%;
}
.picture-tiny {
    padding-left: 1em;
    border: thin silver solid;
    padding: 0.5em;
    text-align: center;
    font-style: italic;
    font-size: 50%;
    text-indent: 0;
    margin: .25em;
    min-width: 4%;
    max-width: 15%;
    width: auto;
}
.picture-tiny img {
   width: 100%;
}


.secondary_info { font-size: 83%; }
.next_page_button { float: right; }
.pagination_list { text-align: center; }
.document_format { border: 1px solid #888; padding: .2em; background: #fff99d;}
.copyright_info { font-size: 90%; }
hr.footnote-separator { width: 80%; margin-left: auto; margin-right: auto; }
.doc-footer { font-style: italic; }
.doc-footer > *:first-child::before { content: "["; }
.doc-footer > *:last-child::after   { content: "]"; }

/* Resources pages */
div.download-formats { margin-top: 2em; margin-bottom: 2em; }
.download-formats p { display: inline; }
#mainContent .download-formats ul { display: inline; list-style: none;
                                    padding-left: 0; }
.download-formats ul li { display: inline; padding-left: 2em; }

/* Resources - book styles */
hr.chapter-separator { display: none; }
h2.likechapterHead { text-align: center; }
h2.chapterHead { text-align: center; }
#mainContent ul.author { list-style-type: none; padding-left: 0; }
#mainContent div.footnotes { font-style: normal; } /* remove italics */
span.sectionToc { padding-left: 2em; } /* indent TOC properly */
span.subsectionToc { padding-left: 4em; }
span.subsubsectionToc { padding-left: 6em;}
.js, .js p, .js p.bibitem, .js p.bibitem-p { background-color: #cde7e9; }

body.conservancy-Home #navbar ul li.Home > a,
body.conservancy-Projects #navbar ul li.Projects > a,
body.conservancy-WhoWeAre #navbar ul li.WhoWeAre > a,
body.conservancy-WhatWeDo #navbar ul li.WhatWeDo > a,
body.conservancy-Learn #navbar ul li.Learn > a,
body.conservancy-news #navbar ul li.news > a,
body.conservancy-blog #navbar ul li.blog > a,
body.conservancy-About #navbar ul li.About > a,
body.conservancy-Compliance #navbar ul li.compliance > a,
body.conservancy-donate #navbar ul li.donate > a,
body.conservancy-npoacct #navbar ul li.npoacct > a,
body.conservancy-sponsors #navbar ul li.sponsors > a /* NO COMMA HERE! */
{
    border-bottom: 4px solid var(--khaki-green);
}

#supporters ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#supporters li:before {
    content: '';
    display: inline-block;
    height: 2em;
    width: 2em;
    background-image: url(/static/img/conservancy-supporter-heart.svg);
    background-size: contain;
    background-repeat: no-repeat;
    padding: 0.25em 1.2em 0.25em 0.25em;
    vertical-align: middle;
}

#supporters li {
    padding: 0.5em 2em 1em 2em;
    margin-left: .25em;
    list-style: none;
}

#sponsor ul {
  clear: all;
  margin-bottom: 10px;
}

#sponsor li {
  width: 100%;
  float: left;
  margin-top: 10px;
  text-align: center;
  list-style: none;
  margin-right: 5px;
}

ul#sponsor li:after {
    content: "";
    display: block;
    height: 2px;
    width: 30%;
    margin-left: 35%;
    margin-right: 35%;
    margin-top: 4px;
    background: #afe478;
}

#subbox {
   position: absolute;
   padding-top: 10px;
   right: 0px;
   width: 200px;
   font-size: 12px;
}

img.inside-faq {
  max-width: 100%;
  width: auto;
  overflow: scroll;
}
pre {
  overflow: auto;
}

.supporter-type-selector a {
    font-size: 125%;
    font-weight: normal;
}

.supporter-type-selector a.supporter-type-selector-selected {
    font-size: 127%;
    font-weight: bold;
}

/* Make dl's ( such as for FAQ entries) look nice on screens, both big and small. */

dl {
    border: 3px double #ccc;
    padding: 0.5em;
}
dt {
    text-align: center;
    margin: 0em 1em 0.5em 0.5em;
    font-weight: bold;
    color: green; }
dd {
    margin: 0 0 1.5em 2em;
}

/* Fallback elements created by conservancy.js when no video source is
   supported. */
div.small-right, div.medium-right {
    border: thick solid #577632;
    padding: .3em;
    text-align: center;
}

.breadcrumbs {
  font-size: 14px;
  padding: 0.5rem 0 0;
}

.breadcrumbs, .breadcrumbs a {
  color: #777;
}
.breadcrumbs a {
  padding: 0 0.5em;
}
.breadcrumbs a:first-child {
  padding-left: 0;
}
.breadcrumbs span {
  padding-left: 0.5em;
}

.press-release .date, .conservancy-blog .date {
  margin-bottom: 1rem;
}

/* Expanding sections. */
details summary {
  font-size: 1rem;
  font-weight: bold;
  padding: 0.5rem 0;
}

.conservancy-sustainer #feature-menu li.sustainer a,
.conservancy-donate #feature-menu li.donate a,
.conservancy-Vizio #feature-menu li.vizio a
{
  background-color: var(--orange-dimmer);
}