
* {
	outline: none;
	-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
	-webkit-tap-highlight-color: transparent;
}
html, body {
	margin: 0;
	padding: 0;
	font-size: 100%;
	font-family: 'Roboto', sans-serif;
	color: #666;
	height: 100%;
}

h1 {
	margin: 0;
	padding: 0;
	font-size: 4em;
	display: inline-block;
	position: relative;
}
h1.enabled {
	color: #e2000f;
}
h1.disabled {
	color: #999;
}
h1.enabled:first-letter {
	background: #e2000f;
	color: #fff;
	padding: 0 0.1em;
	margin-top: 0.2em;
}
h1.disabled:first-letter {
	background: #999;
	color: #fff;
	padding: 0 0.1em;
	margin-top: 0.2em;
}
h2 {
	color: #4d4d4d;
	margin: 0;
	padding: 0;
	font-weight: 300;
	font-size: 2em;
	position: absolute;
	text-align: center;
	margin: -1.5em auto 0 auto;
	left: 0;
	right: 0;
}
h2:before {
	content: "";
	position: absolute;
	margin-left: -0.7em;
	top: 0.4em;
	/*width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.255682em 0.255682em 0 0.255682em;
	border-color: #e2000f transparent transparent transparent;*/
	width: 0.4em;
	height: 0.4em;
	background: #e2000f;
}
h3 {
	color: #4d4d4d;
	margin: 0;
	padding: 0 0 0 2em;
	font-weight: 300;
	font-size: 1.5em;
	text-align: left;
	position: relative;
	margin: 2em auto 0 auto;
	left: 0;
	right: 0;
}
h3:before {
	content: "";
	position: absolute;
	margin-left: -0.7em;
	top: 0.4em;
	/*width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.255682em 0.255682em 0 0.255682em;
	border-color: #e2000f transparent transparent transparent;*/
	width: 0.4em;
	height: 0.4em;
	background: #e2000f;
}
hr {
	padding: 0;
	border: 0;
	height: 1px;
	background: #d7d7d7;
	margin: 1.6875em 0 1.6875em 0;
}

.top {
    background: #4d4d4d;
    height: 2.3em;
}
.top ul {
	margin: 0;
	padding: 0;
	list-style: none;
	height: 2.3em;
	display: flex;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}
.top ul li {
	margin: 0 1.3em;
}
.top ul a {
	text-decoration: none;
	color: #fff;
	font-size: 0.9em;
}
.page {
	max-width: 1240px;
	width: 100%;
	margin: 0 auto;
	text-align: left;
	margin-bottom: 10em;
}
.header {
	height: 10.1875em;
	text-align: center;
	line-height: 10.1875em;
	position: relative;
}
.header .logo {
	position: absolute;
	width: 12.125em;
    float: left;
    top: 2.8em;
    left: 7.125em;
}

.login {
	text-align: center;
}
.login form {
	width: 30%;
	margin: 4em auto 0 auto;
	box-sizing: border-box;
}

.home {
	text-align: center;
}
.home form {
	width: 90%;
	margin: 4em auto 0 auto;
	box-sizing: border-box;
	overflow: hidden;
	clear: both;
}
.home table {
	margin-top: 3em;
}
.home table td {
	padding: 0.5em;
	position: relative;
}
.home table tr:first-child {
	background: #666 !important;
	color: #fff;
	cursor: pointer;
}
.home table tr:nth-child(odd) {
	background: #eee;
}
.home table .tr:hover {
	background: #e2000f;
	color: #fff;
	cursor: pointer;
}

.home .criteria {
	width: 20%;
	float: left;
	margin-right: 2%;
}
.home .query {
	width: 60%;
	float: left;
}
.home .submit {
	float: right;
}
.home .results {
	width: 90%;
	margin: 0 auto;
	display: flex;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	/*-webkit-align-items: center;
	align-items: center;*/
	/*-webkit-justify-content: center;
	justify-content: center;*/
	margin-top: 2em;
	border-top: 1px solid #d7d7d7;
}
.home .results .client {
	width: 20%;
	margin-right: 2%;
	text-align: left;
	line-height: 2em;
	margin-top: 2em;
}
.home .results .client span {
	font-weight: bold;
	color: #000;
}
.home .results .prices {
	width: 78%;
	margin: 0 auto;
	/*display: flex;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-flex-direction: row;
	flex-direction: row;*/
}
.home .results .prices .item {
	width: 100%;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-flex-direction: column;
	flex-direction: column;
	border-bottom: 1px solid #d7d7d7;
	height: 5em;
	margin-top: 1em;
}
.home .results .prices .item div {
}
.home .results .prices .item .div {
	flex-grow: 0;
	width: 33%;
	text-align: left;
}
.home .results .prices .item ._name {
	order: 1;
	margin-top: 1em;
}
.home .results .prices .item .__name {
	order: 2;
}
.home .results .prices .item ._tariff {
	order: 3;
	flex-grow: 1;
	margin-top: 0.5em;
}
.home .results .prices .item .__tariff {
	order: 4;
	width: 0;
	flex-basis: 100%;
}
.home .results .prices .item ._price {
	order: 7;
	width: auto;
	font-family: 'Roboto', sans-serif;
	/*clear: both;*/
	text-decoration: none;
	color: #fff;
	background: #e2000f;
	color: #fff;
	border: 1px solid #e2000f;
	/*margin: 0 auto;*/
	margin-left: auto;
	padding: 0.5em 2.5em;
	border-radius: 2em;
	font-size: 1.1em;
	box-sizing: border-box;
	font-weight: 300;
	cursor: pointer;
	margin-top: 0.5em;
}
.home .results .prices .item ._price_ {
	order: 7;
	width: auto;
	font-family: 'Roboto', sans-serif;
	/*clear: both;*/
	text-decoration: none;
	color: #fff;
	color: #e2000f;
	border: 1px solid #e2000f;
	/*margin: 0 auto;*/
	margin-left: auto;
	padding: 0.5em 2.5em;
	border-radius: 2em;
	font-size: 1.1em;
	box-sizing: border-box;
	font-weight: 300;
	margin-top: 0.5em;
}
.home .results .prices .item .__price {
	order: 8;
}
.home .results .prices .item ._months {
	order: 5;
	flex-grow: 1;
	font-family: 'IBM Plex Mono', monospace;
	color: #e2000f;
	font-size: 2em;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: left;
	justify-content: left;
}
.home .results .prices .item ._months:before {
	content: 'x';
	margin-right: 0.3em;
}
.home .results .prices .item .__months {
	order: 6;
	width: 0;
	flex-basis: 100%;
}
.home .results .prices .item ._new_valid {
	order: 9;
	flex-grow: 1;
	text-align: center;
	font-size: 0.9em;
	margin-top: 0.3em;
	text-align: right;
}
.home .results .prices .item .__new_valid {
	order: 10;
}


.operations .wrap {
	width: 90%;
	margin: 4em auto 0 auto;
}
.operations .add_remove_money {
	text-align: center;
}
.operations .duplicate {
	text-align: center;
}
.operations .revoke {
	text-align: center;
}
.operations .invalidate {
	text-align: center;
}
.operations .z_x_reports {
	text-align: center;
}
.operations .date_time {
	text-align: center;
}


.admin {
}
.admin .wrap {
	width: 90%;
	margin: 4em auto 0 auto;
}
.admin optgroup {
	font-size: 1em;
}
.admin table {
	margin-top: 3em;
	position: relative;
}
.admin table td {
	padding: 0.5em;
	position: relative;
}
.admin table tr:first-child {
	background: #666 !important;
	color: #fff;
	cursor: pointer;
}
.admin table tr:nth-child(odd) {
	background: #eee;
}
.admin table tr td input {
	margin: 0;
}
.admin table tr td:last-child input[type="button"] {
	margin: 0;
}
.admin table .tr:hover {
	background: #e2000f;
	color: #fff;
	cursor: pointer;
}
.admin table .nr:after {
	content: '+';
	background: #e2000f;
	height: 1.4em;
	width: 1.4em;
	border-radius: 0.7em;
	color: #fff;
	position: absolute;
	top: -0.05em;
	right: -0.25em;
	text-align: center;
	font-size: 2em;
	line-height: 1.4em;
	cursor: pointer;
}
.admin table input {
	position: relative;
}
.admin table input:after {
	content: 'i';
	position: absolute;
	height: 6.6em;
	width: 6.6em;
	border-radius: 6.3em;
	background: #e2000f;
	color: #fff;
	top: 0;
	right: 0;
	z-index: 100;
}

.footer {
}
.footer .ftop {
	background: #949494;
}
.footer .ftop .wrap {
	max-width: 920px;
	width: 100%;
	margin: 0 auto;
}
.footer .ftop .wrap ul {
	margin: 0;
	padding: 0;
	list-style: none;
	overflow: hidden;
}
.footer .ftop .wrap ul li {
	/*width: 25%;
	margin-right: 8%;*/
	width: 37.5%;
	float: left;
	color: #595959;
	font-weight: 600;
	height: 3.18182em;
	line-height: 3.18182em;
	color: #595959;
	text-decoration: none;
	font-size: 1.1em;
	box-sizing: border-box;
}
.footer .ftop .wrap ul li:last-child {
	/*padding-left: 8%;
	margin-right: 0;*/
	width: 25%;
}
.footer .ftop .wrap ul li a {
	color: #595959;
	text-decoration: none;
	font-size: 1.1em;
}
.footer .ftop .wrap ul li:first-child {
	color: #fff;
	font-size: 1.5em;
	height: 2.33em;
	line-height: 2.33em;
}
.footer .ftop .wrap ul li.enabled:first-child::first-letter {
	color: #fff;
	margin: 0 0;
	padding: 0 0.1em;
	background: #e2000f;
}
.footer .ftop .wrap ul li.disabled:first-child::first-letter {
	color: #fff;
	margin: 0 0;
	padding: 0 0.1em;
	background: #666;
}
.footer .bottom {
	background: #4d4d4d;
	overflow: hidden;
}
.footer .bottom .wrap {
	max-width: 920px;
	width: 100%;
	margin: 0 auto;
	padding: 1.5em 0 2.5em 0;
	overflow: hidden;
}
.footer .bottom ul {
	margin: 0;
	padding: 0;
	list-style: none;
	color: #9b9b9b;
}
.footer .bottom .col1 li,
.footer .bottom .col2 li {
	margin: 1.4em 0;
	font-size: 1.1em;
}
.footer .bottom .col3 ul {
}
.footer .bottom .col3 li {
	margin: 0.7em 0;
	font-size: 1.2em;
	color: #fff;
}
.footer .bottom .col3 li strong,
.footer .bottom .col3 li b {
	font-weight: 300;
	font-size: 0.9em;
	color: #9b9b9b;
	margin: 1.1em 0 0.5em 0;
	display: block;
}
.footer .bottom .wrap .col {
	float: left;
	/*width: 25%;
	margin-right: 8%;*/
	width: 37.5%;
	box-sizing: border-box;
}
.footer .bottom .wrap .col:last-child {
	/*padding-left: 8%;
	margin-right: 0;*/
	width: 25%;
}
.footer .bottom .wrap .col a {
	color: #fff;
	text-decoration: none;
}
.footer .foot .wrap {
	max-width: 920px;
	width: 100%;
	margin: 0 auto;
	font-size: 0.95em;
	color: #808080;
	padding: 1.2em 0;
	overflow: hidden;
}
.footer .foot .wrap strong,
.footer .foot .wrap b {
	color: #4d4d4d;
	font-weight: 300;
}
.footer .foot .address {
	float: left;
	width: 66%;
}
.footer .foot .address a {
	color: #e2000f;
	text-decoration: none;
}
.footer .foot .copyright {
	padding-left: 8%;
	padding-top: 0.7em;
	width: 25%;
	float: right;
}


input[type="text"],
input[type="password"] {
	width: 100%;
	float: left;
	margin: 1em 0 1em 0;
	font-family: 'Roboto', sans-serif;
	font-size: 1em;
	padding: 0.8em;
	border: 2px solid #b2b2b2;
	box-sizing: border-box;
	color: #666;
}
input[type="submit"],
input[type="button"],
.aclose, .аcontinue, .ccontinue, .cback, .cinvoice {
	font-family: 'Roboto', sans-serif;
	/*clear: both;*/
	text-decoration: none;
	color: #fff;
	background: #e2000f;
	border: 1px solid #e2000f;
	margin: 0 auto;
	padding: 0.5em 2.5em;
	border-radius: 2em;
	font-size: 1.1em;
	box-sizing: border-box;
	font-weight: 300;
	margin: 1em auto 0 auto;
	cursor: pointer;
	display: inline-block;
}
input[type="button"].edit {
	color: #e2000f;
	background: #fff;
}
input[type="button"].cancel {
	padding: 0.5em 0.9em;
	margin: 0 1em !important;
}
input[type="button"].save {
	font-size: 0.9em;
	/*margin-left: 1em !important;*/
}
input[type="button"].del {
	font-size: 0.9em;
}
select {
	width: 100%;
	float: left;
	margin: 1em 0 1em 0;
	font-family: 'Roboto', sans-serif;
	font-size: 1em;
	padding: 0.75em;
	border: 2px solid #b2b2b2;
	box-sizing: border-box;
	background: #fff;
	color: #666;
}
input[type="text"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
	border: 2px solid #e2000f;
}
input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}
.checkcontainer {
	display: inline-block;
	position: absolute;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	height: 1.5em;
	width: 1.5em;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
.checkmark {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	height: 1.5em;
	width: 1.5em;
	background-color: #eee;
	border-radius: 0.2em;
}
input[type="checkbox"] ~ .checkmark {
	background-color: #ccc;
}
input[type="checkbox"]:checked ~ .checkmark {
	background-color: #e2000f;
}
.checkmark:after {
	content: "";
	position: absolute;
	display: none;
}
input[type="checkbox"]:checked ~ .checkmark:after {
	display: block;
}
.checkmark:after {
	left: 9px;
	top: 5px;
	width: 5px;
	height: 10px;
	border: solid white;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.error {
	font-size: 1.2em;
	color: #e2000f;
	text-align: center;
	width: 100%;
	margin-top: 2em;
}
.important {
	font-size: 1.2em;
	background: #e2000f;
	color: #fff;
	text-align: center;
	width: 100%;
	margin-top: 2em;
	padding: 0.3em;
	box-sizing: border-box;
	border-radius: 0.2em;
}
.highlight {
	background: #e2000f;
	color: #fff;
}

/* popups */

#dim {
	position: fixed;
	top: 0px;
	left: 0px;
	height: 100%;
	width: 100%;
    z-index: 498;
    display: table;
}
#dimm {
	display: table-cell;
    vertical-align: middle;
    background: rgba(0, 0, 0, 0.3);
    z-index: 499;
}
#confirm_popup {
	z-index: 500;
	width: 80%;
	max-width: 60em;
	min-height: 5em;
	height: auto;
	overflow: hidden;
	background: #fff;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
	margin: 0 auto;
	color: #757783;
}
#confirm_popup .in {
	margin: 30px 70px;
}
#confirm_popup .text {
	width: 100%;
	font-size: 1.5em;
	font-weight: 300;
	text-align: center;
	padding-top: 0.5em;
}
#confirm_popup .buttons {
	width: 51%;
	margin: 1em auto 0 auto;
	/*font-size: 1.5em;*/
	font-weight: 300;
	overflow: hidden;
}
#confirm_popup .buttons a {
	display: block;
	float: left;
}
#confirm_popup .buttons a:last-child {
	float: right;
}
#alert_popup {
	z-index: 500;
	width: 80%;
	max-width: 60em;
	min-height: 5em;
	height: auto;
	overflow: hidden;
	background: #fff;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
	margin: 0 auto;
	color: #757783;
}
#alert_popup .in {
	margin: 30px 70px;
}
#alert_popup .text {
	width: 100%;
	font-size: 1.5em;
	font-weight: 300;
	text-align: center;
	padding-top: 0.5em;
}
#alert_popup .buttons {
	width: 51%;
	margin: 1em auto 0 auto;
	/*font-size: 1.5em;*/
	font-weight: 300;
	overflow: hidden;
	text-align: center;
}
#alert_popup .buttons a {
	display: inline-block;
}
#prompt_popup {
	z-index: 500;
	width: 80%;
	max-width: 60em;
	min-height: 5em;
	height: auto;
	overflow: hidden;
	background: #fff;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
	margin: 0 auto;
	color: #757783;
}
#prompt_popup .in {
	margin: 30px 70px;
}
#prompt_popup .text {
	width: 100%;
	font-size: 1.5em;
	font-weight: 300;
	text-align: center;
	padding-top: 0.5em;
}
#prompt_popup .buttons {
	width: 51%;
	margin: 1em auto 0 auto;
	/*font-size: 1.5em;*/
	font-weight: 300;
	overflow: hidden;
}
#prompt_popup .buttons a {
	display: block;
	float: left;
}
#prompt_popup .buttons a:last-child {
	float: right;
}

@media (min-width: 0px) and (max-width: 675px) {
	#confirm_popup .in {
		margin: 50px;
	}
	#confirm_popup .buttons {
		width: 100%;
	}
	#alert_popup .in {
		margin: 50px;
	}
	#alert_popup .buttons {
		width: 100%;
	}
	#prompt_popup .in {
		margin: 50px;
	}
	#prompt_popup .buttons {
		width: 100%;
	}
	#bottom_footer .my {
		width: 250px;
		text-align: center;
	}
}
@media (min-width: 675px) and (max-width: 730px) {
	#confirm_popup .in {
		margin: 50px;
	}
	#confirm_popup .buttons {
		width: 71%;
	}
	#alert_popup .in {
		margin: 50px;
	}
	#alert_popup .buttons {
		width: 71%;
	}
	#prompt_popup .in {
		margin: 50px;
	}
	#prompt_popup .buttons {
		width: 71%;
	}
	#bottom_footer .my {
		width: 250px;
		text-align: center;
	}
}
@media (min-width: 730px) and (max-width: 940px) {
	#bottom_footer .my {
		width: 250px;
		text-align: center;
	}
}
