body {
  background-image: url(/images/fon-rasputie-3.png);
  background-position: bottom;
  background-size: 100%;
  background-attachment: fixed;
  background-repeat: no-repeat;
}

body a { color: blue; }
/* body a:visited { color: #A2F; } */
body a:visited { color: #62D; }
body a { text-decoration: none; }
body a:hover { text-decoration: underline; }
body a:active { color: yellow; background-color: blue; }

.mesto {
  text-align: right;
  border-style: solid double solid solid;
  border-width: 1px 3px 1px 1px;
  border-radius: 5px 0px 0px 6px;
  border-color: gray;
  2025_padding: 0px 7px;
/*  cursor: url(/images/icons/cursor-excel.png), auto; */
  cursor: url(/images/icons/cursor-excel-30.cur), auto;
/*  cursor: url(/images/icons/cursor-excel-prozr2.png), auto; */

  2025_font-size: 1.3em;
  2025_width: 1.3em;
  2025_height: 1.3em;
  text-align: center;
}

.mesto:hover {
  border-color: red;
}

.mesto:active, .mesto:active:visited { /* :visited не спасает от отключения bgcolor на повторных кликах в сеансе */
/*  background-color: lime; */	/* проще отключить, чем возиться */
background-color: pink;	/* проще отключить, чем возиться */
/*  border-style: solid; */	/* эффект "утолщения" спинки кресла при щелчкепо нему */
  border-color: black;
/*  border-right: solid black 3px; */
}


.linkavtobus {
  display: inline-block;
  height: 2em;
}

.linkavtobus:active {
  color: white;
  background-color: blue;
  text-decoration: none;
}




/*
.knopka_ochistki	{ margin:0px; padding:0px; background-color:#DDD; border: solid #DDD 1px; }
.knopka_ochistki:hover	{ margin:0px; padding:0px; background-color:#DDD; border: solid red 1px; color:red;  }
*/

.vvod_knopka_ochistki {
  position: relative;
  right: 25px;
  width: 25px;
  height: 15px;
  font-weight:bold;
  font-size: 15px;
  text-align: left;
  margin:0px;
  padding:0px;
/*  background-color:#DDD;*/
  background-color: transparent;
  border-style: none;
/*  border-color: black;
  border-width: 1px; */
  color: black;
}

.vvod_knopka_ochistki:hover {
  position: relative;
  right: 25px;
  width: 25px;
  height: 15px;
  font-weight:bold;
  font-size: 15px;
  text-align: left;
  margin:0px;
  padding:0px;
/*  background-color: #FCC;*/
  background-color: transparent;
  border-style: none;
/*  border-color: black;
  border-width: 1px; */
  color: red;
}

.vvod_pole {
  padding: 0px 20px 0px 3px;
  margin:0px;
  height:20px;
  border-style: solid;
  border-color:black;
  border-width: 1px;
}

/*
.vvod_knopka_ochistki:hover {
  position:relative;
  right: 25px;
  width: 25px;
  height: 25px;
  font-weight:bold;
  margin:0px;
  padding:0px;
  background-color:#DDD;
  border: solid red 1px;
  color: red;
}
*/

.pole_teksta {
  padding: 0px 3px;
  height: 18px;
}



/* ----------------------- */
/* кнопки из ссылки начало */
/* ----------------------- */

/* отжата начало */

.knopka_iz_ssylki_otjata,
.knopka_iz_ssylki_otjata:visited
.knopka_iz_ssylki_otjata:hover,
.knopka_iz_ssylki_otjata:hover:visited {
  zdisplay: block;

  zdisplay: inline-block;
  display: inline-flex; align-content: center; flex-wrap: wrap;

  zheight: 18px; zwidth: 100px;

  zpadding: 0px 3px;
  zpadding: .5em .5em;
  padding: .5em;

  zborder-width: 0;
  border: solid black .1em;
  height: 40px;
  vertical-align: middle;
  box-sizing: border-box;
  margin-left: .5em;

  zborder-radius: 5px;
  border-radius: .5em;

  zfont-size: 15px;

  cursor: default;
  text-decoration: none;
  color: black;
}

.knopka_iz_ssylki_otjata, .knopka_iz_ssylki_otjata:visited {
  display: inline-flex; align-content: center; flex-wrap: wrap;

  background: linear-gradient(to top, #CCC, white);
  border-style: solid;

  zborder-width: 1px;

  border-color: gray black black gray;

  zpadding: .5em .5em;
  padding: .5em;

  zborder-width: 0;
  border: solid black .1em;
  height: 40px;
  vertical-align: middle;
  box-sizing: border-box;
  margin-left: .5em;
}

.knopka_iz_ssylki_otjata:hover, .knopka_iz_ssylki_otjata:hover:visited {
  display: inline-flex; align-content: center; flex-wrap: wrap;

  /* decoration и color для :hover почему-то работают только после их дубляжа: */
  text-decoration: none; color: black;
  background: linear-gradient(to top, #CFC, white);
  border-style: solid;

  zborder-width: 1px;

  border-color: gray black black gray;

  zpadding: .5em .5em;
  padding: .5em;

  zborder-width: 0;

  border: solid black .1em;
  height: 40px;
  vertical-align: middle;
  box-sizing: border-box;
  margin-left: .5em;
}

.knopka_iz_ssylki_otjata:active, .knopka_iz_ssylki_otjata:active:visited {
  display: inline-flex; align-content: center; flex-wrap: wrap;

  background-color: lime;
  color: red;

  zborder: solid black 1px;
  border-style: solid;
  border-color: black;

  zpadding: .5em .5em;
  padding: .5em;

  zborder-width: 0;

  border: solid black .1em;
  height: 40px;
  vertical-align: middle;
  box-sizing: border-box;
  margin-left: .5em;
}

/* отжата конец */



/* нажата начало */

.knopka_iz_ssylki_najata,
.knopka_iz_ssylki_najata:visited,
.knopka_iz_ssylki_najata:hover,
.knopka_iz_ssylki_najata:hover:visited {
  display: block;
  height: 18px; width: 100px; padding: 0px 3px;
  border-radius: 5px;
  font-size: 15px;
  cursor: default;
  text-decoration: none;
  color: black;
}

.knopka_iz_ssylki_najata {
  background: linear-gradient(to bottom, #AAA, white);
  border-style: solid; border-width: 1px; border-color: black gray gray black;
}

.knopka_iz_ssylki_najata:visited {
  background: linear-gradient(to bottom, #AAA, white);
  border-style: solid; border-width: 1px; border-color: black gray gray black;
}

.knopka_iz_ssylki_najata:hover {
  text-decoration: none; color: black;
  background: linear-gradient(to bottom, #9C9, white);
  border-style: solid; border-width: 1px; border-color: black gray gray black;
}

.knopka_iz_ssylki_najata:hover:visited {
  text-decoration: none; color: black;
  background: linear-gradient(to bottom, #9C9, white);
  border-style: solid; border-width: 1px; border-color: black gray gray black;
}

.knopka_iz_ssylki_najata:active, .knopka_iz_ssylki_najata:active:visited {
  background-color: lime;
  color: red;
  border: solid black 1px;
}

/* нажата конец */

/* ----------------------- */
/* кнопки из ссылки конец  */
/* ----------------------- */


.punkt_najat {
  color: black;
/*   border-style: solid;
  border-width: 1px;
  border-color: black gray gray black;
  background-color: #EEE;
  background: linear-gradient(to bottom, #CFC, white); */
  background-color: #CFC;
  text-decoration: none;
}

.punkt_najat:hover {
  color: black;
/*   border-style: solid;
  border-width: 1px;
  border-color: black gray gray black;
  background-color: #EEE;
  background: linear-gradient(to bottom, #CFC, white); */
  background-color: #CFC;
  text-decoration: none;
}

.punkt_otjat {
  color: black;
/*  border-style: solid;
  border-width: 1px;
  border-color: white; */
  background-color: white;
  text-decoration: none;
}

.punkt_otjat:hover {
  color: black;
/*  border-style: solid;
  border-width: 1px;
  border-color: white;
  background-color: white; */
  text-decoration: none;
}


.metka_najata {
/*  border-style: solid;
  border-width: 1px;
  border-color: black #BBB #BBB black; */
  padding: 0px 2px;
  border-radius: 6px;
  color: black;
  text-decoration: none;
  padding: 0px 4px 2px 4px;
}
.metka_najata:hover {
/*  border-style: solid;
  border-width: 1px;
  border-color: black #BBB #BBB black; */
  padding: 0px 2px;
  border-radius: 6px;
  color: black;
  text-decoration: none;
  padding: 0px 4px 2px 4px;
}

.metka_otjata {
/*  border-style: solid;
  border-width: 1px;
  border-color: white; */
  padding: 0px 2px;
  border-radius: 6px;
  color: black;
  text-decoration: none;
  padding: 0px 4px 2px 4px;
}
.metka_otjata:hover {
/*  border-style: solid;
  border-width: 1px;
  border-color: white; */
  padding: 0px 2px;
  border-radius: 6px;
  color: black;
  text-decoration: none;
  padding: 0px 4px 2px 4px;
}

.punkt_gray { color: gray; }		/* настоящий серый */
/* .punkt_gray { color: #333; } */	/* притемнённый серый */
.punkt_vydelen { font-weight: bold; }


.cherno_ramka { border: solid black 1px; }
.sero_ramka { border: solid gray 1px; }
.pusto_ramka { border: none; }



/* "прозрачность": на белой основе видимость - в последнем поле */
.bg_white_10 { background-color: rgba(255,255,255,0.1); }
.bg_white_20 { background-color: rgba(255,255,255,0.2); }
.bg_white_30 { background-color: rgba(255,255,255,0.3); }
.bg_white_40 { background-color: rgba(255,255,255,0.4); }
.bg_white_50 { background-color: rgba(255,255,255,0.5); }
.bg_white_60 { background-color: rgba(255,255,255,0.6); }
.bg_white_70 { background-color: rgba(255,255,255,0.7); }
.bg_white_80 { background-color: rgba(255,255,255,0.8); }
.bg_white_90 { background-color: rgba(255,255,255,0.9); }

.tab_shema1 {
  margin-bottom: 20px;
  zborder-style: none none solid none;
  zborder-color: gray;
  zborder-width: 1px;
}


/*
// для увеличения высоты ссылок под схемой автобусаначало хорошее:
.tab_shema_mesta ~ a, .tab_shema_mesta ~ nobr > a {
  display: inline-block;
  height: 3em;
  border: solid gray 1px;
  zvertical-align: middle;
}

// но не удаётся простым способом зацентрировать вертикально текст ссылок:
.tab_shema_mesta ~ a *, .tab_shema_mesta ~ nobr > a * {
  vertical-align: middle;
}
*/

.tab_shema_mesta ~ a, .tab_shema_mesta ~ nobr > a {
  display: inline-block;
  padding: .2em;
  margin: 0 1px 1px 0;
  /* border: solid #DDF 1px; */
  border: solid #BBF 1px;
}

.tab_shema_mesta ~ a:hover,
.tab_shema_mesta ~ nobr > a:hover
{
  text-decoration: none;
  border-color: blue;
  color: blue;
  background-color: #EEF;
}



.knopka_dlya_shemy {
  display: inline-block;
  padding: .2em .3em;
  margin: 0 1px 1px 0;
  border: solid #AAF 2px;
  white-space: nowrap;
  border-radius: .3em;
  font-size: 1.2em;
  color: #33F;
  background-color: #EEF;
  margin: 0 0 .3em .3em;
  width: 1em;
  text-align: center;
}

.knopka_dlya_shemy:hover, .knopka_dlya_shemy:hover:visited,
.knopka_dlya_shemy:active, .knopka_dlya_shemy:hover:active {
  text-decoration: none;
  border-color: blue;
  color: blue;
  background-color: #CCF;
  border: solid #AAF 2px;
}

.knopka_dlya_shemy:active, .knopka_dlya_shemy:hover:active {
  color: white;
  background-color: blue;
  border: solid blue 2px;
}


/* до 2025: */
/* .period2 { width: 2.2em; text-align: center; border: none; padding: 0; margin: 0; } */	/* 2 цифры */
/* .period4 { width: 4.2em; text-align: center; border: none; padding: 0; margin: 0; } */	/* 4 цифры */
/* с 2025: */
.period2 { font-size: 95%; font-weight: bold; width: 2.2em; text-align: center; border: solid gray 1px; padding: 0; margin-left: .1em; margin-right: .1em; }	/* 2 цифры */
.period4 { font-size: 95%; font-weight: bold; width: 4.2em; text-align: center; border: solid gray 1px; padding: 0; margin-left: .1em; margin-right: .1em; }	/* 4 цифры */

.blok_pustoy { margin: 0px; padding: 0px; }
.blok_nad_cherta {
  margin: 0px;
  padding: 0px;
  border-top: dashed black 1px;
  width: calc(100% - .5em);
}

/* .trreys > td { border-bottom: solid black 1px; } */
.trhodka > td { border-bottom: solid black 1px; }
.trnethodki { height: 0; border: none; }
.trnethodki > td { height: 0; border: none; }

.trreys:hover .vremyareysa {
  text-decoration: underline;
  text-decoration-style: dashed;
  text-decoration-color: red;
}

.trreys:hover .vremyareysa:hover {
  color: white;
  background-color: red;
}

.font-red { color: red; }
.font-blue { color: blue; }



/* для кассы НАЧАЛО */

.font_arial { font-family: Arial; }

/* из автобусов начало */

a { text-decoration: none; }
a.normal { color: black; }
a.normal:hover { color: black; text-decoration: underline; text-decoration-color: blue; }
a.normal:active { text-decoration-color: red; }

a { text-decoration: none; color: transparent; }
a:active { border: none; color: transparent; }

/* из автобусов конец */


/* для кассы КОНЕЦ */



.vysokaya_ssylka {
  display: inline-block;
  height: 2em;
  border: solid transparent 1px;
  zmargin: 0 1em .5em 0;
}

.vysokaya_ssylka:hover {
  border-color: blue;
  text-decoration: none;
}

.vysokaya_ssylka:active {
  border-color: blue;
  color: white;
  background-color: blue;
  text-decoration: none;
}

.periody {
  text-decoration: none;
  ztext-decoration-style: dashed blue 1px;
  zfont-size: 1rem;	/* до 2025 */
  font-weight: bold;	/* с 2025 */
  display: inline-block;
  border: none;
  border-top: solid transparent 1px;
  border-bottom: dashed blue 1px;
  padding: .2em 0 .25em 0;
  margin: .2em 1em .2em 0;
}

.periody:hover {
  text-decoration: none;
  color: blue;
  border-top: solid red 1px;
  border-bottom: solid red 1px;
}

.periody:focus {
  text-decoration: none;
  color: blue;
  border-top: solid red 1px;
  zborder-bottom: solid transparent 1px;
  border-color: transparent;
}

.periody:active {
  text-decoration: none;
  color: yellow;
  border-top: solid red 1px;
  zborder-bottom: solid transparent 1px;
  border-color: transparent;
}

.kassa_knopka_znak { color: #77F; text-decoration: none; font-size: 1.2em; vertical-align: middle; zdisplay: inline-block; }
.kassa_knopka_znak:hover { color: blue; }
.zkassa_knopka_znak:active { color: yellow; background-color: blue; }



/* хороший вариант начального дизайна В.С. 07.03.2020 */
.kassa_reys {
  border: solid #5CC 4px;
  border-radius: .5em;
  margin-bottom: .5em;
  padding: .5em;
  cursor: pointer;
  vertical-align: middle;
}

.kassa_reys:hover {
  border-style: solid;
  background: rgba(0,170,170,.2);
  border-color: #3AA;
}

.kassa_reys_data {
  display: table-cell;
  padding-right: .5em;
  padding: .5em .5em .5em 0;
  white-space: nowrap;
  vertical-align: top;
}

.kassa_reys_mest_svobodno {
  display: table-cell;
  white-space: nowrap;
  color: gray;
  width: 100%;
}

.kassa_reys_mest_svobodno > span {
  display: inline-block;
  padding: .5em 0;
}

.kassa_reys:hover > .kassa_reys_mest_svobodno > span {
  color: #3AA;
}

.kassa_reys_mest_svobodno a {
  display: inline-block;
  text-decoration: none;
  zborder: solid transparent 1px;
  padding: .5em;
  border-radius: .5em;
}

.kassa_reys:hover > .kassa_reys_mest_svobodno > a {
  zbackground-color: #0AA;
  background-color: #3AA;
  color: white;
  text-decoration: none;
}



/* вариант Ю.С. 07.03.2020
.kassa_reys {
  border: dotted #0AA 1px;
  margin-bottom: .5em;
  padding: .5em;
  cursor: pointer;
  vertical-align: middle;
}

.kassa_reys:hover {
  border-style: solid;
  background: rgba(255,255,255,.7);
  zbackground: white;
}

.kassa_reys_data {
  display: table-cell;
  zvertical-align: top;
  padding-right: .5em;
  white-space: nowrap;
}

.kassa_reys_mest_svobodno {
  display: table-cell;
  white-space: nowrap;
  color: gray;
  width: 100%;
}

.kassa_reys_mest_svobodno a {
  display: inline-block;
  text-decoration: none;
  padding: .5em;
  border-radius: .5em;
}

.kassa_reys:hover > .kassa_reys_mest_svobodno > a {
  background-color: rgba(0,170,170,.2);
}
*/

/*
input {
  border: solid black 1px;
  padding: 3px;
}

input:focus {
  border-width: 2px;
  padding: 2px;
}
*/

input {
  border: solid black .1em;
  padding: .5em .5em;
  box-sizing: border-box;
}

input:focus {
  border-width: .3em;
  padding: .3em .5em;
  border-color: SkyBlue;
  box-sizing: border-box;
}


input::-webkit-calendar-picker-indicator {
  display: none;
}

textarea {
  border: solid black .1em;
  padding: .5em .5em;
  box-sizing: border-box;
}

textarea:focus {
  border-width: .3em;
  padding: .3em .5em;
  border-color: SkyBlue;
  box-sizing: border-box;
}

.ne_klass {
}

/* до фич агентского интерфейса 2020:
.passajiry {
  font-size: 1.5rem;
  color: gray;
}

.passajiry input {
  height: 2rem;
  font-size: 1rem;
  padding: .5rem;

  border: solid gray 1px;
  border-radius: .5em;
  width: 16em;

  margin: 0 .5rem .5rem 0;
}
*/

/* ai = отключение фич агентского интерфейса */

.passajiry {
  font-size: 1.5rem;
  color: gray;
}

.passajiry input {
  ai_height: 2rem;
  ai_font-size: 1rem;
  ai_padding: .5rem;
  padding: 0 .5em;

  ai_border: solid gray 1px;
  zborder: solid #5CC 3px;
  border: solid #7DD 3px;
  zborder: solid transparent 3px;

  border-radius: .5em;
  width: 16em;

  margin: 0 .5rem .5rem 0;
  zfont-size: 1em;
}

.passajiry input:focus {
  padding: 0 .5em;
  border: solid #3AA 3px;
}

/*
.passajiry input:active {
  padding: 0 .5em;
  border-color: #3AA;
}
*/

span.gruppacifr { zpadding-left: 3px; zpadding-right: 3px; }
span.gruppacifr > span { padding-left: .1em; padding-right: .1em; }
span.gruppacifr > span:first-child { padding-left: 0; }
span.gruppacifr > span:last-child { padding-right: 0; }
