body {
  background:#fff;
  font-family: Comic Sans MS, Tahoma, Arial, Helvetica;
  font-size:12pt;
  color:#000;
  margin:0;
  padding:0;
}

img  {
  margin:10px;
}

dl {
  padding:10px;
}

li {
  margin-top:5px;
}

table {
  width:100%;
  text-align:center;
  vertical-align:middle;
}

div {
  padding:10px;
}

ul, ol {
  margin-left: 2em;
  margin-right: 2em;
  padding:0;
}

ul {
  list-style-image: url(/bullet.gif);
}

ol {
  list-style:decimal;
}

dt {
  font-weight:bold;
  margin: auto;
}

dd {
  margin-left:100px;
}

p {
  text-align:left;
  line-height:1.5;
  padding:10px;
  margin:0 10px 5px 10px;
}

a {
  color:#3a7f7f;
  text-decoration: underline;
}

a:visited {
  color:#7cc3c3;
}

a:hover {
  color:#7cc3c3;
  text-decoration:none;
}

a img {
  border:0;
}

h2, h3, h4 {
  text-align:center;
}

textarea, select, input[type="password"], input[type="text"] {
  border:1px solid #3a7f7f;
}

input[type="password"]::-moz-placeholder,
input[type="text"]::-moz-placeholder {
  color:#3a7f7f;
}

input[type="password"]::-moz-placeholder,
input[type="text"]::-webkit-input-placeholder {
  color:#3a7f7f;
}

ul.person li {
  list-style-image: url(/bullet_doctor.gif);
}

/* Right-box streets dictionary */
dl.narrow {
  border:0;
}

dl.narrow dd {
  margin-left:10px;
}

/* Search results list */
dl.search_result dt {
  text-align:center;
  font-size:1.2em;
  color:#2b8692;
}
dl.search_result dd {
  margin:10px 10px 70px;
}
dl.search_result dd a {
  font-size:0.9em;
  display:block;
  float:right;
}

/* Main page
 * body 1
 */
.page_wrap {
  position:relative;
  display:block;
  width:1090px;
  clear:both;
  margin:0 auto;
  padding:0;
  background:#fff;
}

/* Counter & copyrights at the body's bottom
 * body 2
 */
.under_page {
  margin-top:10px;
  font-size:.7em;
  text-align:center;
  background:transparent;
  width:860px;
  clear:both;
  margin:0 auto;
}
.under_page img { /* Counter's image */
  border:solid 1px #52422d;
  width:80px;
  height:16px;
}

/* Site title and logo
 * body.page_wrap 1
 */
.header {
  padding:0;
  margin:0;
  vertical-align:middle;
  height:135px;
  background:#fff url(/gkp3_header.jpg) no-repeat;
}
.header h2, .header h3 {
  display:block;
  margin:0;
  margin-left:150px;
  padding:0;
  border:0px;
  background:transparent;
  text-align:left;
  color:#3c5f5f;
  text-shadow: 3px 3px 10px;
}
.header h3  {
  padding-top:30px;
}

/* Main menu
 * body.page_wrap 2
 */
.topnav {
  padding:0;
  margin:0;
  white-space: nowrap;
  width:100%;
  border-top:5px solid #fff;
  height:30px;
  clear:both;
}
.topnav h3 {
  display: none;
}
.topnav li { /* Navigation item */
  margin:0;
  /* Children absolute position to be related to parent's (not to document's window) */
  position:relative;
}
.topnav ul { /* General for topnav menu item lists */
  margin:0;
  padding:0;
  list-style:none;
}
.topnav ul ul { /* Submenu lists: hidden, fixed width, border, shadow, POSITION */
  display:none;
  text-align:left;
  /* Show submenus under or to the left of parent menu item */
  position:absolute;
  z-index:100;
  border:1px solid #56c6c7;
  background:#faffff;
  box-shadow:10px 10px 10px rgba(193, 207, 224, 0.5);
  -moz-box-shadow:10px 10px 10px rgba(193, 207, 224, 0.5);
  -webkit-box-shadow:10px 10px 10px rgba(193, 207, 224, 0.5);
  border-bottom-left-radius:10px;
  border-bottom-right-radius:10px;
}
.topnav > ul > li { /* Top level menu items */
  width:110px;
  background:url(/content_bgr.png) repeat-x 0 center;
  border-right:1px solid #fff;
  text-align:center;
  float:left;
  border-top-left-radius:5px;
  border-top-right-radius:15px;
}
.topnav > ul > li:hover {
  background:#7cc9d4 url(/content_bgr_active.png) repeat-x 0 center;
}
.topnav > ul > li.right {
  float:right;
  border-right:0;
  border-left:1px solid #fff;
}
.topnav a { /* Menu anchors */
  display:block;
  overflow:hidden;
  text-decoration:none;
  margin:0;
  padding:3px;
  color: #3c5f5f;
}
.topnav ul ul a {
  /* Space for submenu arrow */
  padding-right:20px;
}
.topnav > ul > li > a, .topnav > ul > li > a:visited { /* First level anchors */
  color: #3c5f5f;
}
.topnav ul ul li:last-child > a {
  /* Round corner for the last menu item in a sbmenu */
  padding-bottom:10px;
  border-bottom-left-radius:9px;
  border-bottom-right-radius:9px;
}
.topnav li:hover > a { /* Hovered over anchors: invert colors */
  background-color:#26acad;
  color:#fff;
}
.topnav > ul > li:hover > a {
  background-color:transparent;
  color:#fff;
}
.topnav li.hide > a { /* List items which have submenu: show arrow */
  position:relative;
}
.topnav ul ul li.hide > a:after {
  content:'';
  position:absolute;
  right:5px;
  top:7px;
  width:7px;
  height:15px;
  background:url(/two_state_submenu.gif);
}
.topnav ul ul li.hide:hover > a:after {
  background-position-y:-15px;
}
.topnav ul li:hover > ul { /* Showing submenu of a menu item */
  display:block;
  left:100%;
  top:2px;
}
.topnav > ul > li:hover > ul { /* Showing submenu of the top-level menu item */
  left:0;
  top:90%;
}

/* Menu animation */
/*  First level */
.topnav li:hover > ul {
  opacity:1;
  -moz-animation: scrollRight 300ms ease-in-out;
  -webkit-animation: scrollRight 300ms ease-in-out;
  animation: scrollRight 300ms ease-in-out;
}
/*  Submenus */
.topnav > ul > li:hover > ul {
  opacity:1;
  -moz-animation: scrollDown 300ms ease-in-out;
  -webkit-animation: scrollDown 300ms ease-in-out;
  animation: scrollDown 300ms ease-in-out;
}
@keyframes scrollDown {
  from {
    opacity: 0;
    transform: translateY(-50%) scaleY(0);
  }
  to {
    opacity: 1;
    transform: translateY(0%) scaleY(1);
  }
}
@keyframes scrollRight {
  from {
    opacity: 0;
    transform: translateX(-50%) scaleX(0);
  }
  to {
    opacity: 1;
    transform: translateX(0%) scaleX(1);
  }
}


/* Page content
 * body.page_wrap 3
 */
.content {
  background:#fff;
  min-height:500px;
  background:#fff url(/fading_border.gif) no-repeat;
}

.bottomnav {
  border: 2px solid #56c6c7;
  border-radius:10px;
  margin:15px;
  padding:0;
  font-size:0.7em;
}
.bottomnav > ul {
  display:inline-block;
  width:100%;
  margin:10px;
}
.bottomnav ul li {
  list-style:none;
  display:block;
  margin:0;
}
.bottomnav > ul > li {
  float:left;
  width:16%;
  display:block;
}

/* Bottom of the page_wrap: site map etc...
 * body.page_wrap 4
 */
.footer {
  padding:0 10px 0px 10px;
  color:#3c5f5f;
  height:22px;
  clear:both;
  background:url(/content_bgr.png) repeat-x left center;
  font-size:.9em;
}
.footer a, .footer a:visited {
  color:#3c5f5f;
  text-decoration:none;
}
.footer a:hover {
  color:#fff;
  text-decoration:none;
  text-shadow:0 0 5px #fff;
}
.footer a.tomain {
  float:right;
  margin-right:5px;
}


/* Login invitation
 * body.page_wrap.header 1
 */
.user {
  position:absolute;
  right:10px;
  padding:3px;
  font-size:.8em;
  color:#3c5f5f;
}
.user a, .user a:visited {
  color:#3c5f5f;
  text-decoration:underline;
}
.user a:hover {
  color:#fff;
  text-shadow:0 0 5px #3c5f5f;
}

/* Side columns
 * body.page_wrap.content
 */
.box-side {
  display:block;
  font-size:.8em;
  width:200px;
  margin:10px 10px 20px 10px;
  padding:0;
  background:#fff;
  position:relative;
  overflow:visible;
}
.box-side > ul, .box-side > ul ul {
  list-style-image:none;
  list-style:disc outside;
  margin:0px;
}
.box-side ul li {
  margin-left:20px;
  padding:0px;
}
.box-side dt {
  font-weight:bold;
  margin-left:0px;
}
.box-side dd {
  margin:3px 0 10px 0;
}
.box-side form {
  margin-top:10px;
}
.box-side input[type="text"] {
  margin:0px;
  padding:0px;
  width:160px;
  font-weight:bold;
  float:left;
  margin-left:10px;
}
.box-side div {
  margin:10px;
  padding:0;
}
.box-side h3 {
  display:block;
  margin:5px;
  margin-top:40px;
  padding:5px;
  border:0;
  border-radius:15px;
  text-align:center;
  font-size:1.2em;
  color:#3c5f5f;
  background:#3a7f7f url(/content_bgr.png) repeat-x;
  background-position-y:center;
  box-shadow:3px 3px 5px;
}
.box-side a, .box-side a:visited {
  padding-left:20px;
  color:#3a7f7f;
  margin:0;
  display:block;
  text-decoration:none;
  background:transparent;
}
.box-side li a, .box-side a:visited {
  padding:0;
}
.box-side a:hover {
  color:#7cc3c3;
}
.box-side h4 {
  text-align:left;
  font-size:.9em;
  margin:0;
  padding:10px 0 0 0;
  clear:both;
}

/* Content column between left and right side-boxes
 * body.page_wrap.content
 */
.page {
  overflow:visible;
  margin:0;
  padding:30px;
  width:770px;
  float:left;
}

/* Copyrights
 * body.under_page
 */
.copy {
  float:right;
  background:transparent;
  color:#3a7f7f;
  padding:0;
  padding-left:10px;
}

/* Page visits counter
 * body.under_page
 */
.counter {
  position:relative;
  float:right;
  border:1px solid #3a7f7f;
  text-align:left;
  margin-left:10px;
  padding:0 0 0 30px;
  width:60px;
  height:16px;
  font-weight:bold;
  background:url(/counter.gif) no-repeat;
  cursor:default;
}

.counter_hint {
  opacity:0;
  position:absolute;
  top:-3em;
  right:-14em;
  color:#1b8a8a;
  background:#dcfdfd;
  border:1px solid #3a7f7f;
  border-radius:5px;
  padding:5px;
}
.counter:hover div.counter_hint {
  opacity:1;
  animation:apparate 0.5s ease-in-out;
}
@keyframes apparate {
  from {
    opacity:0;
  }
  to {
    opacity:1;
  }
}
.counter_hint  dl {
  padding:0;
  margin:0;
}
.counter_hint  dt, .counter_hint  dd {
  display:inline;
  padding:0;
  margin:0;
}
.counter_hint  dt::after {
  content:': ';
}

a.mobile_menu {
  display:none;
}

/* "News" definitions list
 *
 */
.ns {
  display:block;
  margin:0 auto;
}
.ns dt { /* Publication date */
  width:70px;
  font-size:.8em;
  text-align:right;
  margin:10px;
}
.ns dd { /* Event's definition */
  display:block;
  margin: 0 10px 40px 20px;
  padding: 0 5px 5px 5px;
  text-align:left;
  text-indent:0;
}

/* News navigation menu below the article
 *
 */
.menu-btn {
  position:relative;
  padding:0 0 0 0;
  margin:0 auto;
  height:21px;
  white-space: nowrap;
  font-size:.8em;
  color:#3c5f5f;
  width:290px;
  text-align:center;
}
.menu-btn ul {
  padding:0;
  margin:0;
  float:left;
  background:#fff;
  list-style:none;
}
.menu-btn ul li {
  display:inline;
  list-style:none;
  width:100px;
}
.menu-btn ul li a, .menu-btn ul li a:visited {
  text-decoration:none;
  padding:3px;
  width:80px;
  background:url(/content_bgr.png) repeat-x;
  color: #3c5f5f;
  text-indent:0;
  width:80px;
  display:block;
  text-align: center;
  float: left;
  border-radius:10px;
  margin:5px;
  box-shadow:3px 3px 5px #3c5f5f;
  -moz-box-shadow:3px 3px 5px #3c5f5f;
  -webkit-box-shadow:3px 3px 5px #3c5f5f;
}
.menu-btn ul li a:hover{
  color: #fff;
  background:url(/content_bgr_active.png);
}

/* District's search button
 *
 */
div.search {
  height:15px;
  width:15px;
  margin:2px 0 0 5px;
  padding:0;
  background-color:#fff;
  border:solid 0px #52422d;
  float:left;
}
.search a, .search a:visited {
  height:15px;
  width:15px;
  margin:0;
  padding:0;
  background:url(/two_state_search.gif);
  display:block;
}
.search a:hover {
  background-position-y:-15px;
}

/* Links list: url icon blinking on mouse hover etc.
 *
 */
.links {
  position:static;
  margin:0 auto;
  list-style:none;
  display:block;
  width:100%;
}
.links li {
  z-index:20;
  min-height:32px;
  padding:5px 20px 5px 20px;
  margin:0 20px 0 20px;
  display:block;
}
.links div {
  display:block;
  margin-left:50px;
}
.links a {
  padding-left:20px;
  margin-bottom:20px;
  display:block;
  position:relative;
  min-height:32px;
  text-decoration:none;
  color:#000;
}
.links a:before {
  content:'';
  position: absolute;
  left:-30px;
  width: 32px;
  height: 32px;
  background:url(/two_state_url.gif) no-repeat;
}
.links a:hover:before {
  background-position-y:-32px;
}

/* Downloadable links list (documentation page)
 *
 */
.zip {
  position:static;
  margin:0 auto;
  list-style:none;
  display:block;
  width:100%;
}
.zip li {
  z-index:20;
  min-height:48px;
  padding:5px 20px 5px 20px;
  margin:0 20px 0 20px;
  display:block;
}
.zip div {
  display:block;
  margin-left:50px;
}
.zip a {
  position:relative;
  display:block;
  padding-left:60px;
  margin-bottom:20px;
  min-height:48px;
  text-decoration:none;
  color:#000;
}
.zip a:before {
  content:'';
  position: absolute;
  left:-30px;
  width: 32px;
  height: 32px;
  background:url(/two_state_zip.gif) no-repeat;
}
.zip a:hover:before {
  background-position-y:-32px;
}

/* Specific links with images
 *
 */
div.ruler, div.price, div.cripple {
  position:relative;
  height:50px;
  margin:0;
  margin-left:20px;
}
.ruler a, .price a, .cripple a {
  padding-left:40px;
  padding-top:10px;
}
.ruler a:before, .price a:before, .cripple a:before {
  content:'';
  position: absolute;
  left:0;
  top:2px;
  width: 32px;
  height: 32px;
}
.ruler a:hover:before, .price a:hover:before, .cripple a:hover:before {
  background-position-y:-32px;
}
.ruler a:before {
  background:url(/two_state_ruler.gif);
}
.price a:before {
  background:url(/two_state_price.gif);
}
.cripple a:before {
  background:url(/two_state_cripple.gif);
}

div.govmt {
  position:relative;
  padding:10px;
  height:73px;
}
div.govmt a, div.govmt a:visited {
  padding-left:65px;
  padding-top:10px;
  margin:auto;
}
.govmt a:before {
  content:'';
  position: absolute;
  left:10px;
  top:15px;
  width: 60px;
  height: 73px;
  background:url(/khabkrai.gif) no-repeat;
}

div.visual {
  position:relative;
  padding:10px;
  height:50px;
  font-size:1.2em;
}
div.visual a, div.visual a:visited {
  padding-left:60px;
  padding-top:10px;
  margin:auto;
}
.visual a:before {
  content:'';
  position: absolute;
  left:10px;
  top:15px;
  width: 50px;
  height: 50px;
  background:url(/two_state_eye.gif) no-repeat;
}
.visual a:hover:before {
  background-position-y:-49px;
}

/* Quick-work for making something float left or right (images, .box-side etc.)
 */
.right {
  float:right;
}
.left {
  float:left;
}


/* Superscript shortcut
 */
.super {
  vertical-align:super;
  font-size:.9em;
}


/* Italic text aligned to right
 */
.epygraph {
  font-style:italic;
  margin-right:10px;
  width:200px;
  font-size:.8em;
  text-align:left;
}


/* Author's name below the article
 */
.subscript {
  text-align:right;
  font-size:0.8em;
  font-style:italic;
}


/* Wait animation
 */
.wait {
  text-align:center;
  font-weight:bold;
}

/* New's date on the top of an article
 */
.news_date {
  font-style:italic;
  margin-left:400px;
  font-size:.7em;
  width:110px;
  border-bottom:1px dotted #52422d;
}

.faq {
  margin-left:50px;
}

.faq dd {
  margin:0 0 10px 30px;
}

.msg-submit {
  width:500px;
  border:1px solid #3a7f7f;
  border-radius:8px;
  padding:5px;
  margin:auto;
  text-align:center;
}

.msg-submit h3 {
  font-size:.9em;
}

.msg-submit textarea {
  width:378px;
  height:100px;
}

.msg-submit input {
  width:100px;
  margin:5px;
}

.msg-submit .fluent {
  display:none;
}

.gbook dt {
  min-height:26px;
}

.gbook dt a[href^="mailto:"]{
  font-style:italic;
  font-size:.7em;
}

/* message datetime*/
.gbook dd div{
  font-style:italic;
  font-size:.7em;
  text-align:right;
  width:400px;
  border-top:1px dotted #3a7f7f;
  margin:10px 0 20px 0;
}

.hidden {
  display:none;
}

.center {
  text-align:center;
}

.error {
  color: #b33;
  white-space: pre-wrap;
}

ul.clickable li {
  cursor:pointer;
}

a.trash {
  padding:1px;
  display:block;
  float:right;
  background:url(/trashbin.png) no-repeat;
  width:24px;
  height:24px;
}

table.files {
  font-size:80%;
}

table.files tr td {
  border-bottom: 1px dotted #7cc3c3;
}

table.files tr td:first-child {
  max-width:25%;
  text-align:left;
}

table.files tr td:nth-child(3) {
  font-size:80%;
}

@media screen and (max-width: 900px) {
  .page_wrap {
    width:100%;
  }
  /* 980-920 */
  .content {
    padding:0;
  }
  .header {
    font-size:0.7em;
  }
  .page {
    padding:5px;
    margin:0;
    width:calc(100% - 190px);
  }
  .box-side{
    margin:0;
    width:180px;
  }
  .box-side input[type="text"] {
    width:140px;
  }
  .under_page {
    width:480px;
  }
  .topnav > ul > li {
    width:12%;
  }
  .topnav > ul > li > a{
    padding:1px;
  }
}

@media screen and (max-width: 720px) {
  .page {
    width:100%;
  }
  .box-side {
    display:none;
  }
}

@media screen and (max-width: 480px) {
  img {
    max-width:90%;
  }
  dl {
    width:90%;
  }
  dd {
    margin-left:20%;
  }
  .content {
    background-image:none;
  }
  .footer {
    width:100%;
  }
  .bottomnav {
    display:none;
  }
  .under_page{
    width:100%;
    overflow:hidden;
  }
  .copy {
    width:300px;
    float:none;
    margin:auto;
    padding:0;
  }
  .footer a.tomain {
    display:none;
  }

  .counter {
    float:none;
    margin:auto;
  }
  .header {
    width:100%;
    height:100px;
    background-size:cover;
  }
  .header h2, .header h3 {
    margin-left:90px;
  }
  .header h3 {
    padding-top:20px;
  }
  .topnav {
    display:block;
    position:relative;
    border:0;
    height:19px;
    background:#fff;
  }
  a.mobile_menu {
    display:block;
    margin:0;
    padding:0;
    margin-left:1px;
    background:url(/mobile_menu.png) no-repeat 0 0;
    width:19px;
    height:19px;
  }
  .topnav > ul {
    top:100%;
    position:absolute;
    z-index:10;
    display:none;
  }
  .topnav > ul li {
    background:#4ecaca;
    padding:10px 20px;
    width:120px;
  }
  .topnav ul ul {
    font-size:0.9em;
    display:none;
    box-shadow:none;
    -moz-box-shadow:none;
    -webkit-box-shadow:none;
    border-radius:0;
    border-color:#74dede;
  }
  .topnav > ul > li {
    text-align:left;
    float:none;
    border-radius:0;
  }
  .topnav > ul  li:hover {
    background:#63d4d4;
  }
  .topnav > ul  li:hover > a{
    background:transparent;
  }
  .topnav > ul > li  a, .topnav > ul > li  a:visited {
    color:#fff;
  }
  .topnav > ul > li ul, .topnav > ul > li:hover ul {
    left:20%;
    top:90%;
  }
  .topnav > ul  li:hover > ul {
    display:block;
  }
  .topnav > ul > li:hover > ul {
    display:block;
    left:80%;
    top:5px;
  }
  .topnav li:hover > ul , .topnav > ul > li:hover > ul{
    opacity:1;
    -moz-animation:none;
    -webkit-animation:none;
    animation:none;
  }
  .topnav > ul > li.hide > a:after , .topnav ul ul li.hide > a:after {
    content:'...';
    position:absolute;
    top:3px;
    right:5px;
    width:7px;
    background-image:none;
  }
  .epygraph.left {
    margin:auto;
    float:none;
  }
  .gbook dd div {
    width:80%;
  }
  .msg-submit {
    width:80%;
    margin:10px;
  }
  .msg-submit textarea {
    width:90%;
  }
  div.msg-submit form div div {
    float:none !important;
    margin:auto;
    padding:0;
  }
  .msg-submit .fluent {
    display:block;
    padding:0;
  }
}

/* District search results */
#districts {
  clear:both;
  display:none;
  z-index:10;
  position:absolute;
  margin-top:5px;
  padding:10px;
  top: 20px;
  background: #fff;
  border:1px solid #56c6c7;
  border-bottom-left-radius:10px;
  border-bottom-right-radius:10px;
}

#edit {
  position:fixed;
  top:100px;
  left:100px;
  max-width:40em;
  background:white;
  border:1px solid #7cc3c3;
  box-shadow: 5px 5px 20px #aaa;
  border-radius:8px;
}

#edit_placeholder {
  max-height:30em;
  overflow:auto;
}

#alert {
  position:fixed;
  width:200px;
  min-height:30px;
  top:30px;
  right:20px;
  background:#fff;
  border:3px solid #922;
  border-radius:8px;
  box-shadow: 5px 5px 20px #aaa;

  opacity:0;
  -webkit-transition: opacity 0.5s;
  -moz-transition: opacity 0.5s;
  transition: opacity 0.5s;
  z-index:10;
}

#alert.in {
  opacity:1;
}