body{
  margin: 0;
  padding: 0;
  font-size: 16px;
  font-family: 'Lato', sans-serif;
  background: white;
}
p{
  line-height: 22px;
}
textarea:focus, input:focus{
    outline: none;
}
.clear{
  clear:both;
}
#content, #header, #footer{
  max-width: 980px;
  margin: 0 auto;
  padding: 0 24px;
  overflow: hidden;
}
#header {
  overflow: visible;
}
#headerc, #footerc{
  background-color: #043050;
  color: white;
}
#headerc {
  margin-bottom: 24px;
  padding: 8px 0 16px 0;
}
#header a, #footer a{
  color: white;
  text-decoration: none;
}
#header a:hover{
  color: #f9bf0f;
}
#footer a:hover{
  text-decoration: underline;
}
#logo, #logof{
  font-size: 24px;
  font-family: 'Happy Monkey', cursive;
  text-decoration: none;
  display: block;
  background: url('logo-v1_62x47.svg') 0 10px no-repeat;
  background-size: 40px 30px;
  padding-left: 50px;
  padding-top: 12px;
  padding-bottom: 10px;
}
#header a#logo:hover{
  text-decoration: none;
}
#header #ul{
  margin: 0;
  margin-left: -8px;
  padding: 0;
}
#header #ul li{
  display: block;
  list-style: none;
  padding: 8px;
	float: left;
}
#header #ul div {
  float: left;
  margin: 8px 12px 0 0;
}
#headermenu {
  display: inline-block;
  background-color: #033051;
  margin: 0;
  padding: 0;
}
.menu-label, .hidden-checkbox {
  display: none;
}
#menu-toggle:checked #headermenu {
  display: block;
}

p.dh {
  margin: 0 0 25px 0;
  font-size: 250%;
  text-align: left;
  font-weight: 900;
}
#sds .close {
  position: absolute;
  padding: 4px;
  color: #666;
  font-weight: normal;
  font-size: 20px;
  border: 0;
  background: transparent;
  top: 15px;
  right: 20px;
  cursor: pointer;
}
.remember{
  font-size: 13px;
  width: 300px;
  color: #7c8796;
  margin: 0;
}
.remember label{
  vertical-align: middle;
}

*:focus {
    outline: none;
}
#content a#reportLink{
  margin: 3px 0;
  text-align: right;
  float: right;
  padding: 4px 0 5px 0;
  color: #ef6666;
  background: url(/img/problem.png?v=2) no-repeat 0 0;
  background-size: 26px 26px;
  padding-left: 30px;
  text-decoration: none;
  font-size: 12px;
}
#content a#reportLink:hover{
  text-decoration: underline;
}
#errorReportText{
  width: 310px;
    float: right;
    margin-top: -40px;
    height: 80px;
    padding: 5px;
}
#errorReportText:focus{
  outline: none;
}
#errorReportContainer button{
  padding: 7px 30px;
    margin: 3px 0;
    float: right;
}
#thankYouMessage{
  text-align: center;
  width: 280px;
  float: right;
  padding: 29px 28px;
  background: #f9bf0e;
  margin: 20px 0;
}
#footer ul{
  margin: 10px 0 0;
  padding: 0;
}
#footer li{
  list-style: none;
  display: inline-block;
  padding: 6px 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #6e8fa8;
  color: #7C99B1;
  width: 45%;
  margin-right: 4%;
	font-size: 14px;
}
#ei{
  clear: both;
  float: left;
  width: 100%;
}
#footer #ei li{
  display: block;
  width: 69px;
  text-align: center;
  float: left;
}
#footer h3{
  text-align: center;
  margin-top: 70px;
  clear: both;
  float: left;
  width: 100%;
}
#cp{
  clear: both;
  float: left;
  width: 100%;
}
#cp li {
  line-height: 160%;
}
#cp li a{
  color: #E8B602;
  margin-bottom: 5px;
  font-weight: bold;
  font-size: 120%;
}
#cp li a.ali{
  color: #6e8fa8;
  color: #7c99b1;
  font-weight: normal;
  margin: 0;
  font-size: 100%;
  text-decoration: underline;
}
#footer #cp li{
  display: block;
  width: calc(25% - 22px);
  text-align: center;
  margin: 0;
  float: left;
  white-space: unset;
  padding: 0 10px;
}
#footer a{
  color: #8db5d2;
  color: #6e8fa8;
  color: #7C99B1;
}
#footer h2{
  font-weight: normal;
  margin: 0;
  padding: 0;
  text-transform: uppercase;
  font-size: 13px;
  background: url('bckg-h2footer.gif') repeat-x center;
}
#footer span{
  padding-right: 20px;
  background-color: #043050;
	font-weight: bold;
	font-size: 16px;
}
#footer{
  padding: 24px;
  margin-top: 60px;
}
#this{
  margin-bottom: 24px;
  color: #6e8fa8;
}
#this p#logop{
  margin: -10px 0 0;
}
#footer a#logof:hover{
  text-decoration: none;
}
#this p#desc{
  color: white;
}
#topcities{
  margin-bottom: 24px;
  overflow: hidden;
  /*margin: 0 100px;*/
  float: left;
  max-width: 48%;
}
#footer #topcities li{
  width: 39%;
  margin-right: 0;
}
#footer #topcities .ttc li{
  width: 32.5%;
  margin-right: 0;
}
#footer #topcities li.thco, #footer #topcities li:nth-child(3n){
  width: 18%;
}
#links{
  margin-bottom: 24px;
  overflow: hidden;
}
#credits{
  clear: both;
  color: #6e8fa8;
	font-size: 14px;
}
#copy{
  color: #6e8fa8;
  color: #7c99b1;
	font-size: 14px;
}
#credits img{
  vertical-align: middle;
}
#credits p#by{
  text-align: right;
  margin-top: 10px;
}

#content a{
  color: #6e8fa8;
}

#single{
  max-width: 650px;
}
#single.api {
  max-width: 650px;
  float: left;
  margin-left: 260px;
}
#single p{
  line-height: 150%;
}
#single h2{
  margin-top: 40px;
}
#single.api h2, #single.api h3 {
  margin-top: 0;
  padding-top: 40px;
}


#homesearchc{
  /*background: url('home.jpg') no-repeat 0 50%;
  background-size: cover;*/
/*  padding: 110px 0;*/
  background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover;
  padding: 55px 0;
  margin-top: -24px;
  color: white;
  text-shadow: 0px 1px 2px #000000;
  background: #D1647C url('/img/home5.webp')no-repeat 0 50%; background-size: cover;
}
#homesearch{
  padding: 0 24px;
  margin: 0 auto;
  max-width: 980px;
  height: 190px;
  text-align: center;
}
#homesearch h1{
  font-size: 20px;
  text-transform: uppercase;
}
#homesearch p#caption{
  font-size: 18px;
  margin-bottom: 30px;
}
#homesearch input {
  border: 0;
  border-radius: 5px;
}
#homesearch input[type='text']{
  text-align: center;
  margin-bottom: 8px;
  padding: 15px 10px 15px 20px;
  width: calc(100% - 30px);
  color: #a1aab9;
  color: #66778A;
  height: 30px;
}
#homesearch input[type='submit']{
  background-color: #f9bf0f;
  padding: 18px;
  text-align: center;
  font-size: 14px;
  text-transform: uppercase;
  color: #fff;
  width: 100%;
  -webkit-appearance: none;
}
#homesearch ::-webkit-input-placeholder { /* WebKit browsers */
    color:    #98aab8;
}
#homesearch :-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color:    #98aab8;
    opacity:  1;
}
#homesearch ::-moz-placeholder { /* Mozilla Firefox 19+ */
    color:    #98aab8;
    opacity:  1;
}
#homesearch :-ms-input-placeholder { /* Internet Explorer 10+ */
    color:    #98aab8;
}
#homesearch #photocredits{
  text-shadow: none;
  opacity: 0.8;
  font-size: 85%;
  margin-top: 70px;
  /*padding-top: 50px;
  margin-bottom: -70px;*/
}
#homesearch a{
  color: white;
  text-decoration: none;
}
#homesearch a:hover{
  text-decoration: underline;
}
#header #search {
  margin-top: -8px;
}
.subscribe {
  width: 300px;
}
#header #search input[type="text"] {
  padding: 4px 15px 3px;
  height: 30px;
  border: none;
  border-radius: 3px 0 0 3px;
  margin-right: 8px;
}
#header #search input[type="submit"] {
  background: #f9bf0f url('search.gif') no-repeat;
  background-position: top 12px left 10px;
  background-size: 12px 12px;
  border-radius: 0 3px 3px 0;
  text-align: center;
  margin-left: -8px;
  width: auto;
  max-width: 102px;
  color: #fff;
  padding: 0 12px 0 30px;
  height: 37px;
  border: none;
  -webkit-appearance: none; -moz-appearance: none;
  display: block;
  float: right;
}
.subscribe input[type="text"] {
  padding: 0 15px;
  height: 30px;
  border-radius: 3px 0 0 3px;
  margin-right: 0px;
  width: 172px;
  border: 1px solid #ddd;
  border-right: none;
}
.subscribe input[type="submit"] {
  background-color: #f9bf0f;
  border-radius: 0 3px 3px 0;
  text-align: center;
  margin-left: 0;
  width: 97px;
  color: #fff;
  padding: 0 12px;
  height: 32px;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  display: block;
  float: right;
}

#intro{
  color: #98aab8;
  color: #61798F;
  margin: 40px 0;
  line-height: 160%;
}
#sun-graph {
  display: block;
  margin: 30px auto;
  width: 100%;
  max-width: 960px;
}
#intro h2 {
  margin: 40px 0 10px 0;
  text-transform: uppercase;
  color: #257fc2;
  color: #2378B8;
  font-size: 15px;
}
#intro p{
  line-height: 27px
}
#about p:first-child {
  font-weight: bold;
  font-size: 30px;
  line-height: 160%;
  margin-bottom: 0;
}
#about p:nth-child(2){
  margin-bottom: 30px;
}

#whatfor{
  padding: 20px 0 0 0;
  overflow: hidden;
}
#whatfor h2 {
  color: #005fa0;
  font-size: 20px;
  text-transform: uppercase;
  text-align: center;
  border-top: 1px solid #eef2f5;
  padding: 60px 0 30px 0;
}
.use{
  min-height: 180px;
  padding: 16px;
  text-align: center;
}
.use h3{
  color: #257fc2;
  color: #2378B8;
  font-size: 13px;
  text-transform: uppercase;
}
.use p{
  color: #98aab8;
  color: #61798f;
}

.offerimg{
  display: block; float: left; margin-bottom: 40px; padding: 20px 30px 0;
  clear: left;
}
.offertxt{
  float: left; width: 540px
}
.offertxt h3{
  margin: 30px 0 15px 0;
}

.moon > span{
    display: block;
    width: 50%;
    text-align: center;
    float: left;
    padding-top: 10px;
}
.moon span.phase{
    width: 100%;
    text-align: center;
    padding-top: 18px;
}
#today img.mriseimg, #tomorrow img.mriseimg, #today img.msetimg, #tomorrow img.msetimg{
  vertical-align: middle;
  margin-bottom: 1px;
  margin-right: 4px;
}

#states, #cities{
  list-style: none;
  margin: 0;
  padding: 0;
  columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
}
#states, #cities{
  columns: 3;
  -webkit-columns: 3;
  -moz-columns: 3;
}

#states {
  margin-top: 35px;
}

#states li, #cities li{
  margin: 5px 0;
  padding: 0;
}
#states li{
  padding: 3px 0;
}
/*
.country #admins{
  column-count: 4;
  column-rule: 1px solid #dadbe1;
  column-gap: 3.7rem;
  column-fill: auto; 
  column-rule-color: #eaeaf1;
  column-width: auto;
  display: inline-block;
  height: 20vh; 
  margin: 0;
  padding: 0;
  width: 100%;
}*/
.country #admins{
  margin: 0; padding: 0;
}
#admins li{
  list-style: none; display: block; position: relative; break-inside: avoid;
  margin: 0; padding: 0;
    width: 33%;
    float: left;
}
#admins li a{
  padding: 5px 0;
  display: block;
}
.country #content > h2{
  padding-top: 25px;
}
.country #content > h2.clear {
  padding-top: 45px;
}
ul li a{
  color: #98aab8;
  text-decoration: none;
}
#content ul li a:hover{
  color: #cf2b23;
}

#calendartitle span{
  display: block;
  font-size: 80%;
}
#calendarthings{
  max-width: 650px;
}
#calendarthingslarge{
  max-width: 980px;
}

#calendarfilters input[type='text'], #calendarfilters input[type='month']{
  width: 180px;
  /*max-width: 180px;*/
}
#calendarfilters input[type='submit']{
  width: 90px;
}
#ws{
  margin: 15px 0 10px;
  font-size: 14px;
  padding: 10px 15px;
  border-radius: 4px;
  background: #F8F8F1;
}
#ws label{
  vertical-align: top;
}
#ws #showseconds{
  margin-left: 45px;
}
#secbox, #daylengthbox{
  display: inline;
}
#daylengthbox{
  padding-left: 10px;
}

#calendarfilters{
  margin-bottom: 8px;
}

#calendarfilters #location {
  margin-bottom: 8px;
}

#calendarfilters #month {}

#calendarfilters #year {}

#calendar {
  border-collapse: collapse;
  margin-bottom: 24px;
  width: 100%;
}

#calendar th {
  border-top: 1px solid #ccc;
}

#calendar td.day {
  border: 1px solid #ccc;
  padding: 0;
}
#calendar td.today {
  background-color: rgb(255, 255, 180);
  border: 1px solid #ccc;
  padding: 0;
}
#calendar .today .number {
  background-color: #DFEDF7;
}

#calendar .number {
  display: block;
  padding: 6px 0;
  font-weight: bold;
  text-align: center;
  background-color: #d8e0e6;
  color: #4d738f;
}

#calendar .sunrise {
  display: block;
  margin-top: 8px;
  padding-bottom: 40px;
  padding-left: 36px;
  font-size: 12px;
  background: url('sunrise-v1_24x17.svg') no-repeat 6px 0;
  background-size: 24px 17px;
}
#calendarthingslarge #calendar .sunrise {
    margin-top: 13px;
    padding-left: 42px;
    background: url(sunrise-v1_24x17.svg) no-repeat 12px -1px;
    background-size: 24px 17px;
}
#calendarthingslarge.withdaylength #calendar .sunrise {
    font-weight: bold;
}

#calendar .sunset {
  display: block;
  margin-bottom: 6px;
  padding-bottom: 2px;
  padding-left: 36px;
  font-size: 12px;
  background: url('sunset-v1_24x17RED.svg') no-repeat 6px 0;
  background-size: 24px 17px;
}
#calendarthingslarge #calendar .sunset {
  margin-bottom: 13px;
  padding-left: 42px;
  background: url('sunset-v1_24x17RED.svg') no-repeat 12px -1px;
  background-size: 24px 17px;
}
#calendarthingslarge.withdaylength #calendar .sunset {
    font-weight: bold;
}

#calendar .daylength{
  display: block;
    margin-bottom: 20px;
    padding-bottom: 2px;
    padding-left: 36px;
    font-size: 12px;
    background: url(img/stopwatch.svg?v=2) no-repeat 6px 0;
    background-size: 24px 16px;
    margin-top: -20px;
    color: #999;
}
#calendarthingslarge #calendar .daylength{
  display: block;
  padding-left: 42px;
  background: url(img/stopwatch.svg?v=2) no-repeat 12px 0;
  background-size: 24px 16px;
}

#location-box {
  float: left;
  width: 300px;
  position: relative;
}

.pagination {
  margin: 30px 0 40px 0;
  float: left;
  width: 100%;
}
.pagination ul{
  margin: 0;
  padding: 0;
  list-style: none;
}
.pagination li{
  margin: 0;
  padding: 0;
  list-style: none;
  float: left;
}
.pagination li a{
  padding: 4px 10px;
  background: #eee;
  border-radius: 2px;
  margin: 4px;
}
.pagination li.current{
  padding: 4px 10px;
  background: #eee;
  border-radius: 2px;
  margin: -4px 4px;
  background: #f1bf43;
  color: white;
}

@media only screen and (max-width: 479px) {

  #calendar table,
  #calendar thead,
  #calendar tbody,
  #calendar th,
  #calendar td,
  #calendar tr {
    display: block;
  }

  #calendar thead {
    display: none;
  }

  #calendar tr {
    border: 1px solid #ccc;
  }

  #calendar td {
    border: none;
    border-bottom: 1px solid #eee;
    position: relative;
  }

  #calendar td:before {
    position: absolute;
    top: 8px;
    right: 8px;
    font-size: 11px;
    white-space: nowrap;
    color: #4d738f;
  }

  #calendar td[colspan] {
    display: none;
  }

  #calendar .number {
    text-align: left;
    padding-left: 8px;
  }

  #calendar .sunrise {
    padding-bottom: 8px;
    width: 69px;
  }

  #calendar .sunset {
    position: absolute;
    right: 8px;
    top: 37px;
    top: 44px;
  }

  #calendarthingslarge #calendar .daylength{
    margin-top: -47px !important;
    margin-bottom: 0 !important;
  }
  .daylength::before {
    content: "Day length: ";
  }


  #calendar td:nth-of-type(1):before { content: "SUN"; }
  #calendar td:nth-of-type(2):before { content: "MON"; }
  #calendar td:nth-of-type(3):before { content: "TUE"; }
  #calendar td:nth-of-type(4):before { content: "WED"; }
  #calendar td:nth-of-type(5):before { content: "THU"; }
  #calendar td:nth-of-type(6):before { content: "FRI"; }
  #calendar td:nth-of-type(7):before { content: "SAT"; }

  #calendar td[colspan="1"] + td:before { content: "MON"; }
  #calendar td[colspan="1"] + td + td:before { content: "TUE"; }
  #calendar td[colspan="1"] + td + td + td:before { content: "WED"; }
  #calendar td[colspan="1"] + td + td + td + td:before { content: "THU"; }
  #calendar td[colspan="1"] + td + td + td + td + td:before { content: "FRI"; }
  #calendar td[colspan="1"] + td + td + td + td + td + td:before { content: "SAT"; }

  #calendar td[colspan="2"] + td:before { content: "TUE"; }
  #calendar td[colspan="2"] + td + td:before { content: "WED"; }
  #calendar td[colspan="2"] + td + td + td:before { content: "THU"; }
  #calendar td[colspan="2"] + td + td + td + td:before { content: "FRI"; }
  #calendar td[colspan="2"] + td + td + td + td + td:before { content: "SAT"; }

  #calendar td[colspan="3"] + td:before { content: "WED"; }
  #calendar td[colspan="3"] + td + td:before { content: "THU"; }
  #calendar td[colspan="3"] + td + td + td:before { content: "FRI"; }
  #calendar td[colspan="3"] + td + td + td + td:before { content: "SAT"; }

  #calendar td[colspan="4"] + td:before { content: "THU"; }
  #calendar td[colspan="4"] + td + td:before { content: "FRI"; }
  #calendar td[colspan="4"] + td + td + td:before { content: "SAT"; }

  #calendar td[colspan="5"] + td:before { content: "FRI"; }
  #calendar td[colspan="5"] + td + td:before { content: "SAT"; }

  #calendar td[colspan="6"] + td:before { content: "SAT"; }

}

#calendarexplanation{
  margin-bottom: 24px;
}

#sidebar {
  max-width: 300px;
}

#sidebar img {
  height: auto;
  width: 100%;
}

#contactform {
  float: left;
  width: 600px;
}
#contactform textarea { 
  width: 508px;
}
#contactform input[type="text"], #contactform input[type="email"] {
  border: 1px solid #edeceb;
  margin-bottom: 10px;
  padding: 12px;
  font-size: 13px;
  font-family: 'Lato', sans-serif;
  margin-right: 15px;
  float: left;
  background: #fcfcfc;
  outline: none;
  padding: 10px;
  width: 235px;
}
#submissionform input[type="text"], #submissionform input[type="email"]{
  border: 1px solid #edeceb;
  margin-bottom: 0;
  padding: 12px;
  font-size: 13px;
  font-family: 'Lato', sans-serif;
  margin-right: 15px;
  background: #fcfcfc;
  outline: none;
  padding: 10px;
  width: 265px;
  display: block;
}
#contactform textarea{
  border: 1px solid #edeceb;
  margin-bottom: 10px;
  padding: 10px;
  font-size: 13px;
  font-family: 'Lato', sans-serif;
  background: #fcfcfc;
  outline: none;
  max-width: 92%;
  min-height: 100px;
  resize: vertical;
}
#contactform .btn{
  background: #ffc31a;
  background: #e3ab00;
  color: #fff;
  text-transform: uppercase;
  font-family: 'Lato', sans-serif;
  font-size: 15px;
  padding: 16px 32px;
  border: 0;
  border-radius: 2px;
  cursor: pointer;
}
input:focus,
select:focus,
textarea:focus,
button:focus {
    box-shadow: 0 0 5px rgba(81, 203, 238, 1);
    border: 1px solid rgba(81, 203, 238, 1);
}

#twodays {
  float: left;
  width: 100%;
  max-width: 624px;
  margin-bottom: 35px;
}
#locationfacts {
  float: right;
  width: 100%;
  max-width: 336px;
  color: #fff;
  margin-bottom: 40px;
  margin-top: 19px;
  border-radius: 3px;
  text-align: center;
}
#locationfacts img {
  width: 100%;
}
#locationfacts p#currenttime {
  font-size: 120%;
  margin: 0;
  padding: 10px 0;
  text-align: center;
}
#locationfacts ul {
  list-style: none;
  padding: 20px;
  margin: 0;
  background-color: #043050;
}
#locationfacts li {
  color: #6e8fa8;
  margin: 5px 0;
  font-size: 90%;
}
#locationfacts strong{
  color: white;
}

h2.cont{
  margin-top: 40px;
  padding-bottom: 8px;
  border-bottom: 1px solid;
}
body#countries h1{
  margin-bottom: 0;
}
.countries {
  padding-left: 0;
}
.countries li {
  list-style-type: none;
  margin: 10px 0;
  float: left;
  width: 245px;
  padding: 10px 0;
}
.countries .flag {
  background-position: 0 3px;
}
#requestcountry {
  clear: both;
  margin: 40px 0 20px 0;
  float: left;
}
#today, #tomorrow {
  clear: both;
  width: 100%;
  max-width: 600px;
  float: left;
  padding-top: 20px;
}
#today img, #tomorrow img {
  margin-bottom: 10px;
}
#today .sunrise, #today .sunset, #tomorrow .sunrise, #tomorrow .sunset {
  width: 180px;
  text-align: center;
  margin: 0 auto;
  padding-top: 30px;
}
#today p, #tomorrow p {
  margin: 10px 0 15px 3px;
}
#twodays .time{
  display: block;
  font-size: 140%;
	line-height: 130%;
}
.sunset .time{
  color: #CE2C27;
}
.sunrise .time{
  color: #CFA22B;
}
#twodays .twilight{
  color: #98aab8;
}
#today p.daylength, #tomorrow p.daylength {
  clear: both;
  text-align: center;
  padding-top:15px;
  margin: 0 0 5px 0;
}
#today p.sunsetpred, #tomorrow p.sunsetpred {
  color: #98aab8;
  margin: 0;
  text-align: center;
}
#twodays .date {
  border-top: 1px solid #b6ccdd;
  padding-top: 20px;
}
#twodays .data {
  float: left;
  width: 100%;
  max-width:600px;
}
#twodays .extra{
  background: #f4f8fb;
  border-radius: 3px;
  margin: 20px 0 5px 0;
  padding: 5px 12px 20px 012px;
  clear: both;
  float: left;
  width: calc(100% - 24px);
}
#twodays h2{
  text-transform: uppercase;
  font-weight: bold;
  font-size: 14px;
  float: left;
  margin: 8px 10px 0 0;
	color: white;
  background: #005fa0;
  border-radius: 3px;
  padding: 3px 10px;
}
#twodays .span{
	font-size: 13px;
	color: #aaa;
}

table#month {
  margin-bottom: 40px;
  margin-top: 24px;
  width: 100%;
  border: 1px solid #eeeeee;
  clear: both;
	font-size: 14px;
}

table#month .headers th {
  padding: 9px 0;
  font-weight: bold;
  background-color: #fff;
  color: #005fa0;
  color: #fff;
  background-color: #005fa0;
}

/*table#month tr:nth-of-type(odd) {*/
table#month tr.zb {
  background-color: #f4f8fb;
}

table#month tr td:nth-child(13) > span{
  text-align: left;
  display: block;
  width: 67px;
  margin: 0 auto;
  font-size: 15px;
}
table#month tr td:nth-child(13) span span{
  padding-left: 4px;
  font-size: 13px;
}

table#month td {
  border: none;
  padding: 9px 0;
  text-align: center;
}

table#month .day th {
  color: #005fa0;
  text-align: center;
  padding: 9px 0;
}
table#month .day.today, table#month .day.today td:nth-child(8),
table#month .day.today td:nth-child(9), table#month .day.today td:nth-child(10),
table#month .day.today td:nth-child(11) {
  background-color: rgb(255, 255, 180);
}
table#month .day.weekend {
  background-color: #F7FBF5;
}
table#month td span.sunrise, table#month td span.sunset { font-weight: 700 }

/*
table#month td span.moonphase{
  width: 63px;
  display: block;
  text-align: left;
  margin: 0 auto;
}*/


#pagenotfound {
  background: #f4f8fb url(img/notfound.svg) no-repeat bottom -150px right -230px;
  background-size: 662px 472px;
  border-radius: 3px;
  padding: 60px;
  text-align: center;
  width: 630px;
  margin: 50px auto;
}
#pagenotfound a {
  background: #f9bf0f;
  color: #fff;
  text-transform: uppercase;
  font-family: 'Lato', sans-serif;
  font-size: 15px;
  padding: 8px 16px;
  display: inline-block;
  margin: 10px 0;
  text-decoration: none;
  border-radius: 2px;
}

.monthsnav{
  clear: both;
  width: 100%;
  float: left;
}
.prevmonth{
  float: left;
  text-align: left;
  width: 50%;
}
.nextmonth{
  float: right;
  text-align: right;
  width: 50%;
}

#ideabox {
  max-width: 700px;
  margin: 20px auto;
  padding: 20px;
  background-color: #f9f9f9;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  clear:both;
  padding: 15px 34px 30px;
}
body.country #ideabox, body.admin #ideabox{
  margin: 70px auto;
}
#ideabox form {
    display: flex;
    align-items: flex-start; 
    gap: 10px;
}

#ideabox label {
  display: block;
  margin-bottom: 20px;
}
#ideabox label span {
  display: block;
}

#ideabox textarea {
    flex-grow: 1;
    height: 40px;
    padding: 10px;
    margin-bottom: 0;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-family: inherit;
}

#ideabox input[type="submit"] {
    height: 60px;
    padding: 10px 20px;
    background-color: #E2AD0D;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

#ideabox input[type="submit"]:hover {
    background-color: #C4960B;
}
#ideabox p span{
  display: block;
}

#ideabox form {
    display: block;
}

#ideabox textarea {
   width: calc(100% - 20px);
}

#ideabox div {
  width: calc(100% - 105px);
    float: left;
    margin-right: 6px;
}

#ideabox input[type="submit"] {
    width: 90px;
}
#ideabox input[type="email"] {
    padding: 10px;
    margin-bottom: 0;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-family: inherit;
    width: 100%;
    width: calc(100% - 20px);
}

#filters label {
  padding-right: 15px;
  line-height: 30px;
}
#filters div.cb {
  padding: 10px 0;
  padding: 30px;
  border-radius: 5px;
  background: #F8F8F1;
  float: right;
  max-width: 700px;
  margin-bottom: 15px;
  clear: both;
}
#filters h4 {
  margin-top: 0;
  text-transform: uppercase;
  font-size: 13px;
  margin-bottom: 10px;
}
#filters h4:nth-of-type(2) {
  margin-top: 30px;
}
.arrow-up {
  width: 0; 
  height: 0; 
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;

  border-bottom: 10px solid #F8F8F1;
  float: right;
  clear: both;
  margin-right: 115px;
  margin-top: 20px;
}
#filters button#ct {
  padding: 5px 13px 6px;
  background: #EFEFEF url('/img/filter.png?v=2') no-repeat 7px 4px;
  background-size: 18px 18px;
  padding-left: 32px;
  border: 1px solid #767676;
  border-radius: 2px;
  float: right;
  margin-bottom: -10px;
  margin-top: 15px;
  cursor: pointer;
  color: black;
}
#filters button#tvc {
  padding: 5px 13px;
  background: #EFEFEF url('/img/november.png') no-repeat 7px 3px;
  background-size: 18px 18px;
  padding-left: 32px;
  border: 1px solid #767676;
  border-radius: 2px;
  float: right;
  margin-bottom: -10px;
  margin-top: 15px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-left: 0;
  margin-right: 20px;
  cursor: pointer;
}
#filters button#tvt{
  padding: 5px 13px;
  background: #EFEFEF url('/img/table.png') no-repeat 7px 3px;
  background-size: 18px 18px;
  padding-left: 32px;
  border: 1px solid #767676;
  border-radius: 2px;
  float: right;
  margin-bottom: -10px;
  margin-top: 15px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right: 0;
  cursor: pointer;
}
#filters button#tvt.active, #filters button#tvc.active{
  background-color: #015FA0;
  border-color: #015FA0;
  color: white;
  cursor: initial;
}
#filters button#tvt.active{
  background: #015FA0 url('/img/table-active.png') no-repeat 7px 3px;
  background-size: 18px 18px;
}
#filters button#tvc.active{
  background: #015FA0 url('/img/november-active.png') no-repeat 7px 3px;
  background-size: 18px 18px;
}

#sschart {
  float: left;
  width: 100% !important;
  max-width: 624px !important;
  height: auto  !important;
}

.also{
  margin-top: 40px;
}
#content #search input{
  font-size: 14px;
  font-family: 'Lato', sans-serif;
  border: 1px solid #6e8fa8;
  border-radius: 1px;
  vertical-align: middle;
}
#content #search input[type='text']{
  padding: 5px 5px 5px 5px;
  width: 97%;
  max-width: 350px;
  border-radius: 3px 0 0 3px;
  margin-bottom: 8px;
  border: 1px solid #f9bf0f;
  border-right: none;
  margin-right: -2px;
}
#content #search input[type='submit']{
  background: #f9bf0f url('search.gif') no-repeat 26px 9px;
  background-size: 12px 12px;
  padding: 7px 28px 6px 50px;
  text-align: left;
  font-size: 13px;
  text-transform: uppercase;
  color: white;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  border: 0;
  border-radius: 0 3px 3px 0;
  margin-bottom: 8px;
}

#ads{
  text-align: center;
}

header #search input[type="submit"] {
  text-transform: uppercase;
}

input::-moz-focus-inner { 
  border: 0; 
  padding: 0; 
  margin-top: 0px; 
  margin-bottom: 0;
}

#gallery {
  position: relative;
  min-height: 264px;
  width: calc(100% - 30px);
  background-color: #043050;
  padding: 15px;
  float: left;
  clear: both;
  margin: 0 0 40px 0;
}
#gallery .loading {
  position: absolute;
  top: 145px;
  left: 42%;
  margin: 0;
  text-align: center;
  color: #6e8fa8;
  font-size: 16px;
  padding-left: 24px;
  background-image: url(/img/loading.gif);
  background-repeat: no-repeat;
  background-position: 0 5px;
}
#gallery h2 {
  color: white;
  margin: 0;
  margin: 10px 0 10px 15px;
  font-weight: normal;
}
#gallery p {
  color: #6e8fa8;
  margin: 0 0 10px 15px;
}
.sunphoto {
  float: left;
  margin: 16px;
  border: 3px solid white;
}

#apidoc h3 {
  margin-top: 40px;
}
#apidoc pre {
  padding: 6px 10px;
  background-color: #fafafa;
  border: 1px solid #ddd;
  overflow: auto;
  color: #007000;
}
#apidoc li {
  margin-bottom: 6px;
}

/*tidy up*/
table#month tr:nth-of-type(odd) td.light {
  /*background-color: #fcfcfc;*/
}

table#month .day td:nth-child(8),
table#month .day td:nth-child(9),
table#month .day td:nth-child(10),
table#month .day td:nth-child(11) {
  width: 70px;
  /*background-color: #fff;*/
  color: #888;
}

#footer {
  padding: 64px 24px 125px 24px;
}

#this {
  float: left;
  width: 250px;
}

#topcities {
  float: left;
  width: 375px;
  margin: 0 56px 0 49px;
}

#links {
  float: left;
  width: 250px;
}

.use {
  float: left;
  width: calc(20% - 32px);
}
#calendarthings {
  float: left;
}

.hcnotice{
  padding: 8px 12px;
  border: 1px solid #E7B602;
  font-size: 13px;
  text-align: center;
  background: #FFF4D2;
}

#sidebar {
  float: right;
}
/*
.use {
  width: calc(33.33333% - 32px);
}*/
#month tr.highlight td, 
#month tr.highlight th,
#month tr:not(:first-child):hover td, 
#month tr:not(:first-child):hover th {
  background-color: #CF2C27 !important;
  color: white !important;
}



#homesearch input{
  font-size: 25px;
}

#homesearch input[type='text']{
  padding: 11px 10px 11px 12px;
  text-align: left;
  width: 60%;
  max-width: 400px;
}

#homesearch input[type='submit']{
  background: #f9bf0f url('search.gif') no-repeat 26px 20px;
  background-size: 12px 12px;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  text-align: left;
  margin-left: -8px;
  width: auto;
  padding: 18px 28px 18px 50px;
  position: relative;
  top: -4px;
}

#headerc {
  padding: 0;
}

#header {
  position: relative;
}

#header #ul {
  position: absolute;
  right: 16px;
  top: 7px;
}

#homesearch h1{
  font-size: 24px;
}

#today .sunrise, #today .sunset, #tomorrow .sunrise, #tomorrow .sunset {
  float: left;
  width: 50%;
}

.articles .article{
  width: 306px;
  float: left;
}
.articles .article img{
  width: 100%;
}
.articles .article:nth-child(2):not(#sidebar .article), 
.articles .article:nth-child(5):not(#sidebar .article) { margin: 0 30px; }
.articles{
  width: 100%;
  float: left;
  margin-bottom: 50px;
}
.articles .article h3{
  margin: 0;
}
.articles .article p{
  margin: 0;
  height: 75px
}
.ah {
  position: relative;
  display: inline-block; 
  margin-bottom: 25px; 
}

.ah img {
  display: block;
  width: 100%; 
  height: auto;
  border-radius: 6px;
}

.ah h3 {
  position: absolute;
  bottom: 0; 
  left: 0;
  width: 100%;
  margin: 0; 
  padding: 10px 15px; 
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0)); 
  box-sizing: border-box; 
  border-radius: 6px;
  color: white;
}

#content .article a{
  color: black;
  text-decoration: none
}

#dateForm button{
  padding: 6px 20px 5px;
  border: 1px solid #767676;
  border-radius: 2px;
  color: black;
}
#dateForm input[type="month"]{
  background-color: white;
  padding: 5px 11px 4px 11px;
  border: 1px solid #767676;
  border-radius: 2px;
  color: black;
  font-family: Arial;
  font-size: 13px;
  box-sizing: border-box;
  line-height: 16px
}
#dateForm input[type="number"]{
  padding: 4px 4px 4px 10px;
}
.tooltip {
    position: relative;
    display: inline-block;
}

.tooltip .info-icon {
    width: 14px;
    height: 14px;
    vertical-align: middle;
}

.tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: black;
    color: #fff;
    text-align: left;
    border-radius: 6px;
    padding: 10px;
    font-size: 12px;
    font-family: Arial;
    font-weight: normal;

    position: absolute;
    z-index: 1;
    bottom: 100%;
    left: 50%;
    margin-left: -60px;
}

.tooltip:hover .tooltiptext {
    visibility: visible;
}

#sunfacts{
  clear:both;
  margin: 30px 0 0 0;
  float: left;
  width:100%;
}
#minisunfacts{
  margin-bottom: 30px;
}
#sunfacts h2, #minisunfacts h2{
  color: #015FA0;
  color: #CFA12C;
  font-size: 19px;
}
.fact{
  width: calc(50% - 77px);
  float:left;
  padding: 10px 30px 25px 30px;
  background: #FBFBF4;
  margin-bottom: 30px;
  line-height: 150%;
}
#sunfacts > .fact:first-of-type, .fact:nth-of-type(2n+1) {
  margin-right: 30px;
}

#exploreall{
    text-align: center;
    padding: 20px;
    margin: 0px auto 60px auto;
    display: block;
    width: calc(100% - 40px);
    clear: both;
}

.breadcrumbs a{
  padding-right: 5px; text-decoration: none;
}
.breadcrumbs a:not(:first-of-type):not(.flag) {
  padding: 0 4px;
}

.breadcrumbs a.flag, .breadcrumbs span.flag{
  background-position: 5px 7px; padding-left: 28px; background-size: 16px 16px;
}
.breadcrumbs span{
  padding-left: 5px;
}

.aintro{
  font-family: helvetica;
  font-size: 18px;
  line-height: 28px;
  font-weight: 300;
  width: 920px;
  padding: 20px 30px;
  float: left;
  margin: 0 0 40px 0;
}
.acities{
  float: left;
  width: 1020px;
  max-width: 1035px;
  margin-bottom: 35px;
}
.acity{
  float: left;
  width: 470px;
  clear: none;
  margin-right: 30px;
  font-size: 14px;
  background-color: #EBF3FB;
  background-color: #F1F7FD;
  background-color: #F6F9FD;
  border-radius: 4px;
  margin-bottom: 30px;
  padding-top: 0;
  padding-bottom: 10px;
}
.acity .sunrise, .acity .sunset{
  float: left;
  width: 50%;
  text-align: center;
  margin: 0 auto;
  padding-top: 30px;
}

.acities .topl .date {
  border-top:0;
  padding-top: 0; 
  margin-bottom: -10px;
}
.acities .twilight {
  color: #98aab8;
}
.acities .time {
  display: block;
  font-size: 140%;
  line-height: 130%;
}
.topl img{
  width: 90px;
}
.topl h3{
  text-align: center;
  margin-top: 0;
}
#content .topl h3 a{
  color: white;
  text-decoration: none;
  padding: 15px 0;
  width: 100%;
  border-top-right-radius: 4px;
  border-top-left-radius: 4px;
  display: block;
  background-color: #033051;
  border-top-right-radius: 4px;
  border-top-left-radius: 4px;
}

.flag {
  padding-left: 35px;
  background-repeat: no-repeat;
  background-size: 24px 24px;
  background-position: 0 0;
  padding-top: 5px;
}

#dateForm input{
  background: white url(/img/monthly-calendar.png) no-repeat 131px 6px;
  background-size: 12px;
  padding: 5px 8px;
  border: 1px solid #767676;
  border-radius: 2px;
  font-family: Arial;
  font-size: 13px;
}
.month-picker table{
  font-size: 13px;
}
.month-picker-month-table .ui-button {
  margin:2px;
}
.month-picker-month-table td {
  height: auto;
}
.month-picker-year-table .ui-button {
  padding: 14px;
}
.month-picker-year-table .month-picker-title .ui-button {
  padding: 6px 0;
}
.month-picker-year-table .ui-button {
  height: auto;
}

#sidemenu {
  float: left;
  position: fixed;
  width: 200px;
  margin-bottom: 150px;
  background: white;
  margin: 0;
}
#sidemenu li {
  list-style: none;
  padding: 0;
  margin: 0;
}
#sidemenu a {
  text-decoration: none;
  padding: 8px 0;
  display: block;
  
}

@media only screen and (max-width: 1028px) {

  #about p:first-child {
    font-size: 28px;
    line-height: 150%;
  }

  .country #admins{
    column-count: unset;
    display: block;
    height: auto !important;
    margin: 0 0 45px;
    padding: 0;
    width: 100%;
    float: left;
  }
  #admins li{
    list-style: none; display: block; height: auto;
    float: left;
    width: calc(33% - 3px);
    padding: 5px 0;
  }

  .acities{
    width: 100%;
  }
  .acity{
    width: calc(50% - 15px);
  }
  .acity:nth-child(2n) {
    margin-right: 0;
  }
  .acities .twilight{
    padding: 0 30px;
  }


  .countries li{
    width: 33%;
  }

  #footer #this{
    text-align: center;
    width: 100%;
  }
  #logof{
    background: url(logo-v1_62x47.svg) top center no-repeat;
    background-size: 40px 30px;
    padding-left: 0;
    padding-top: 37px;
  }

  #topcities{
    clear: left;
    width: calc(100% - 421px);
    max-width: 100%;
  }

  #gallery {
    min-height: 100px
  }
  #gallery .sunphoto {
    width: calc(20% - 26px);
    margin: 10px;
  }
  .sunphoto img {
    width: 100%;
  }

  .articles .article{
    width: calc(33% - 11px);
    margin-right: 20px;
  }
  .articles .article:nth-child(2), .articles .article:nth-child(5) { margin: 0 20px 0 0; }
  .articles .article:nth-child(3), .articles .article:nth-child(6){
    margin: 0;
  }
  .ah{
    margin-bottom: 5%;
  }

}

@media only screen and (max-width: 1006px) {
  #sidemenu {
    display: none;
  }
  #single.api {
    max-width: 650px;
    float: none;
    margin-left: 0;
  }
  #about p:first-child {
    font-size: 26px;
    line-height: 140%;
  }
  #locationfacts {
    width: calc(100% - 625px);
  }
  #locationfacts li {
    line-height: 26px;
  }
  #locationfacts img {
    height: 100%;
  }
}

@media only screen and (max-width: 900px) {

  #contactform {
    float: left;
    width: calc(100% - 250px);
  }
  #contactform textarea, #contactform input[type="text"], #contactform input[type="email"] {
    width: calc(100% - 60px);
  }
}

@media only screen and (max-width: 820px) {

  #contactform {
    float: left;
    width: calc(100% - 250px);
  }
  #contactform textarea, #contactform input[type="text"], #contactform input[type="email"] {
    width: calc(100% - 60px);
  }

  #about p:first-child {
    font-size: 24px;
    line-height: 130%;
  }

  #twodays, #today, #tomorrow, #twodays .data{
    max-width: 100%;
  }

  #locationfacts {
    width: calc(100% - 20px);
    clear: both;
    max-width: calc(100% - 20px);
  }
  
  #locationfacts ul {
    padding: 90px 20px 10px;
    margin: 0;
    background-color: #043050;
    min-height: 200px;
  }
  #locationfacts img {
    max-width: 336px;
    float: left;
  }

  #footer h3 {
    margin-top:0;
  }

  #topcities{
    clear: left;
    width: calc(100% - 50px);
    max-width: 100%;
    margin: 0 56px 0 30px
  }
  #footer #topcities li{
    width: 25%;
    margin-right: 0;
  }
  #footer #topcities .ttc li{
    width: 25%;
    margin-right: 0;
  }
  #footer #topcities li.thco, #footer #topcities li:nth-child(3n) {
    width: 25%;
  }
  #footer #topcities li:nth-child(4n){
    width: 23%;
  }
  #links {
    clear: both;
    padding: 50px;
    width: calc(100% - 50px);
    margin-left: -20px;
  }
  #links li{
    width: 20%;
  }

}

@media only screen and (max-width: 640px) {

  #about p:first-child {
    font-size: 22px;
    line-height: 10%;
  }

  #states, #cities{
    columns: 2;
    -webkit-columns: 2;
    -moz-columns: 2;
  }

  #dateForm label{
    display: block;
    padding-bottom: 5px;
  }
  #filters button#ct{
    margin-top: 39px;
  }

  table#month {
    border-collapse: collapse;
  }

  table#month,
  table#month thead,
  table#month tbody,
  table#month th,
  table#month td,
  table#month tr {
    display: block;
  }

  table#month thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }

  table#month .headers {
    display: none;
  }

  table#month td {
    border: none;
    border-bottom: 1px solid #eee;
    position: relative;
    padding-left: 50%;
    padding-right: 8px;
    text-align: right;
  }

  table#month td:before {
    /* Now like a table header */
    position: absolute;
    /* Top/left values mimic padding */
    top: 8px;
    left: 8px;
    width: 45%;
    padding-right: 10px;
    white-space: nowrap;
    text-align: left;
  }

  table#month tr td:nth-child(13) > span{
    text-align: right;
    width: 100%;
  }

  table#month .day td:nth-child(8), table#month .day td:nth-child(9), table#month .day td:nth-child(10), table#month .day td:nth-child(11) {
    width: calc(50% - 8px);
    padding-right: 8px;
  }

  #calendar .sunrise {
    padding: 21px 0 12px 0;
    background-position: top center;
    text-align: center;
    /* width: 69px; commented 31jan24 */ 
  }

  #calendar .sunset {
    padding: 21px 0 0 0;
    background-position: top center;
    text-align: center;
  }

  #calendarthingslarge #calendar .sunrise {
    padding: 21px 0 12px 0;
    background-position: top center;
    text-align: center;
  }
  #calendarthingslarge #calendar .sunset {
    padding: 21px 0 12px 0;
    background-position: top center;
    text-align: center;
  }
  #calendarthingslarge #calendar .daylength{
    padding: 21px 0 12px 0;
    background-position: top center;
    text-align: center;
    margin-top: 10px;
    margin-bottom: 10px;
  }

  #footer #topcities li{
    width: 33%;
    margin-right: 0;
  }
  #footer #topcities .ttc li{
    width: 33%;
    margin-right: 0;
  }
  #footer #topcities li.thco, #footer #topcities li:nth-child(4n) {
    width: 33%;
  }
  #footer #topcities li:nth-child(3n) {
    width: 32%;
  }
  #links {
    clear: both;
    padding: 50px;
  }
  #links li{
    width: 28%;
  }
  #this{
    padding: 0 20px;
    width: calc(100% - 40px) !important;
  }

  #gallery .sunphoto {
    width: calc(33% - 26px);
    margin: 10px;
  }
  .sunphoto img {
    width: 100%;
  }
  .fact{
    width: calc(100% - 50px);
    padding: 8px 25px 20px 25px;
    background: #FBFBF4;
    margin-bottom: 30px;
    line-height: 150%;
  }
  #sunfacts > .fact:first-of-type, .fact:nth-of-type(2n+1) {
    margin-right: 20px;
  }

}

@media only screen and (max-width: 750px) {
  .articles .article{
    width: calc(50% - 11px);
    margin-right: 20px;
    text-align: center;
  }
  .articles .article:nth-child(1), .articles .article:nth-child(3), .articles .article:nth-child(5) { margin: 0 20px 0 0; }
  .articles .article:nth-child(2), .articles .article:nth-child(4), .articles .article:nth-child(6){
    margin: 0;
  }
  .ah{
    margin-bottom: 9%;
  }
  #content .article a{
    text-align: left;
  }
}


@media only screen and (max-width: 700px) {
  #about p:first-child {
    font-size: 24px;
    line-height: 130%;
  }
  .ah{
    margin-bottom: 5%;
  }
  .offertxt {
    width: calc(100% - 110px);
  }
  #logo {
    width: 0px;
    overflow: hidden;
    height: 30px;
  }
  .use {
    float: left;
    width: calc(50% - 32px);
  }
  #footer #cp li {
    width: calc(100% - 22px);
    margin: 15px 0;
  }
  h1{
    margin: -5px 0 0;
  }
}

@media only screen and (max-width: 650px) {

  #locationfacts img {
    max-width: 275px;
  }
  #locationfacts ul {
    padding: 60px 0px 10px;
    min-height: 175px;
    font-size: 90%;
  }

  #contactform {
    float: left;
    width: calc(100%);
  }
  #contactform textarea, #contactform input[type="text"], #contactform input[type="email"] {
    width: calc(100% - 30px);
  }
  #contactform textarea {
    max-width: 100%;
  }

  #ec {
    clear: both;
    margin-top: 30px;
    float: left;
  }

}

@media only screen and (max-width: 600px) {

  #header #search input[type="submit"] {
    width: 35px;
    padding: 0 12px 0 0;
    font-size: 0;
  }
  #homesearchc{
    padding: 80px 0;
    background-image: url('/img/home5mm.webp');
  }
  #gallery .sunphoto {
    width: calc(33% - 26px);
    margin: 10px;
  }
  .sunphoto img {
    width: 100%;
  }

  .acity{
    width: calc(100%);
  }
  .acity:nth-child(2n) {
    margin-right: 0;
  }
  .acities .twilight{
    padding: 0 30px;
  }
}


@media only screen and (max-width: 580px) {
  .offerimg {
    padding: 20px 0 0 0;
    clear: left;
    text-align: center;
    display: block;
    margin: 0;
    float: none
  }
  .offertxt {
    clear: both;
    width: 100%;
    margin-bottom: 30px;
  }

  #pagenotfound { width: 90%; margin: 20px auto -30px; padding: 60px 0; }
  #homesearch #photocredits {
    margin-top: 25px;
    margin-bottom: 0;
  }
  #content #search input[type='text'] {
    width: calc(100% - 150px);
  }
  #gallery .sunphoto {
    width: calc(33% - 26px);
    margin: 10px;
  }
  .sunphoto img {
    width: 100%;
  }

  #locationfacts{
    text-align: center;
    padding: 10px;
    margin: 0 auto 40px auto;
  }
  #locationfacts .map{
    background-color: #043050;
    padding: 10px;
  }
  #locationfacts img {
    max-width: 376px;
    margin: 0 auto;
    display: block;
    float: none;
  }
  #locationfacts ul {
    padding: 25px 0 35px 0px;
    min-height: 58px;
    clear: both;
  }
  #locationfacts li {
    font-size: 100%;
  }
  .countries li{
    width: 50%;
  }
  #ideabox p span{
    display: inline;
  }

  #admins li{
    width: calc(100% - 15px);
    padding-left: 15px;
  }
  #admins li a{
    padding: 2px 0;
  }
  #today, #tomorrow {
    padding-top: 8px;
  }
  .moon span.phase {
    padding-top: 9px;
    width: calc(100% - 30px);
  }
  .mtime{
    display: block
  }
  #today .sunrise, #today .sunset, #tomorrow .sunrise, #tomorrow .sunset {
    padding-top: 20px;
  }
  .moon > span {
    width: calc(50% - 4px);
    font-size: 14px;
    padding: 12px 2px;
  }
}

@media only screen and (max-width: 480px) {
  #header #ul div {
    display: inline-block;
  }
  #secbox, #daylengthbox{
   display: block;
   margin-top: 5px;
  }
  #daylengthbox{
    padding-left: 0;
  }
  #ws #showseconds{
    margin-left: 0;
  }
  .hin {
    display: none;
  }
  .cap{
    text-transform: capitalize;
  }
  .ctime{
    display: none;
  }
  #filters button#ct span, #dateForm button span{
    display: none;
  }
  #calendarfilters #location, #calendarfilters input[type='text'] {
    width: 90%;
    padding: 0 5%;
    height: 40px;
    font-size: 16px;
    max-width: 100%;
    margin-bottom: 10px;
  }
  #calendarfilters #month, #calendarfilters #year {
    width: 90% !important;
    font-size: 16px;
    padding: 0 5%;
    height: 40px;
    margin-bottom: 10px;
  }

  #contactform input[type="text"], #contactform input[type="email"] {
    width: 92%;
  }
  #contactform .btn {
    width: 98%;
  }
  #states, #cities {
    columns: 2;
    -webkit-columns: 2;
    -moz-columns: 2;
  }
  #states li a, #cities li a {
    font-size: 16px;
    line-height: 26px;
  }
  #gallery .sunphoto {
    width: calc(50% - 26px);
    margin: 10px;
  }
  .sunphoto img {
    width: 100%;
  }
  .menu-label {
    display: inline-block;
    font-size: 26px;
    line-height: 0;
    padding: 15px 0 0 5px;
  }
  #menu-toggle + .menu-label + #headermenu {
    display: none;
  }
  #menu-toggle:checked + .menu-label + #headermenu {
    display: inline-block;
    position: absolute;
    top: 45px;
    right: -16px;
    width: 125px;
    box-shadow: #444444c2 0px 5px 10px;
  }
  #menu-toggle:checked + .menu-label + #headermenu li {
    text-align: center;
    padding: 15px 0;
    width: 100%;
  }

  #content #search input[type=submit] {
    background: #f9bf0f url(search.gif) no-repeat 15px 9px;
    background-size: 12px 12px;
    padding: 7px 18px 6px 38px;
  } 
  #content #search input[type=text] {
    width: calc(100% - 154px);
  }

  #homesearch input[type='text']{
    width: calc(100% - 20px);
  }

  #homesearch input[type='submit']{
    
    border-bottom-left-radius: 5px;
    border-top-left-radius: 5px;
  }
  #homesearchc {
    padding: 60px 0 120px;
  }

  #footer #topcities li{
    width: 50%;
    margin-right: 0;
  }
  #footer #topcities .ttc li{
    width: 50%;
    margin-right: 0;
  }
  #footer #topcities li.thco, #footer #topcities li:nth-child(3n) { 
    width: 50%;
  }
  #footer #topcities li:nth-child(4n), #footer #topcities li:nth-child(2n) {
    width: 45%;
  }
  #links li{
    width: 45%;
  }

  body.article{
    width: calc(100%);
    margin-right: 0;
    text-align: left;
  }
  #ideabox h2{
    font-size:20px;
  }
  #ideabox h2 span{
    display: block;
  }

  #ideabox div {
    width: calc(100% - 0px);
    margin-right: 0px;
  }

  #ideabox input[type="submit"] {
      width: 100%;
      margin-top: 6px;
      height: 55px;
  }

  .articles .article{
    width: calc(100%);
    margin-right: 0;
    text-align: center;
  }
  .articles .article:nth-child(1), .articles .article:nth-child(3), .articles .article:nth-child(5), .articles .article:nth-child(2), .articles .article:nth-child(4), .articles .article:nth-child(6){
    margin: 0;
  }
  .articles .article:nth-child(2):not(#sidebar .article), 
  .articles .article:nth-child(5):not(#sidebar .article) { margin: 0; }

  .ah{
    margin-bottom: 9%;
  }
  .ah h3, #content .article a{
    text-align: left;
  }

}
@media only screen and (max-width: 400px) {

  #states, #cities {
    columns: 1;
    -webkit-columns: 1;
    -moz-columns: 1;
  }
  #dateForm {
    margin-top: 100px !important;
  }
  #footer #topcities li{
    width: 100%;
    margin-right: 0;
  }
  #footer #topcities .ttc li{
    width: 100%;
    margin-right: 0;
  }
  #footer #topcities li.thco, #footer #topcities li:nth-child(3n) { 
    width: 100%;
  }
  #footer #topcities li:nth-child(4n), #footer #topcities li:nth-child(2n) {
    width: 100%;
  }
  #links li{
    width: 100%;
  }
  .countries li{
    width: 100%;
  }
}
@media only screen and (max-width: 300px) {
  .daylength::before {
    content: "";
  }
}


html[lang="es"] #logof{
  font-size:23px;
}
html[lang="de"] h1{
  font-size:25px;
}
html[lang="pt"] #logof{
  font-size:20px;
}
html[lang="es"] .subscribe{
  width: 300px;
}
html[lang="es"] .subscribe input[type=submit]{
  width: 97px;
}
html[lang="es"] #filters div.cb, html[lang="fr"] #filters div.cb {
  max-width: 900px;
}
html[lang="fr"] #header #search input[type=submit] {
  background-position: top 12px left 7px;
  padding: 0 12px 0 24px;
}