body {
    margin: 0;
    font-size: 1em;
    line-height: 130%;
    /* font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; */
    font-family: 'PT Sans', Helvetica, Arial, sans-serif;
    color: #666;
    background-color: #eee;
}

img {
    border: 0;
    max-width: 100%;
}

img.page {
    display: block;
    margin: 2em auto;
    border: 0;
    max-width: 80%;
    border-radius: 0.5em;
    box-shadow: 0 0 1em rgba(0,0,0,0.5);
}

@media screen and (max-width: 980px) {
    img.page {
        max-width: 100%;
    }    
}

a:link, a:visited {
    color: #aa705c;
    text-decoration: underline;
}

a:hover, a:active {
    color: #f3481a;
    text-decoration: underline;
}

h1 {
    color: #666;
    font-family: inherit;
    font-size: 2.5em;
    font-weight: normal;
    margin: 0 0 .5em 0;
    line-height: 100%;
}

h2 {
    margin: 0;
    color: #666;
    font-size: 1.5em;
    font-weight: bold;
    font-family: inherit;
    line-height: 100%;
}

hr {
    border: none;
    border-top: 1px solid #ccc;
    margin: 1em 0;
}

hr.dashed {
    border: none;
    border-top: 1px dashed #ccc;
    margin: 1em 0;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    border: none;
}

table th {
    text-align: center;
    vertical-align: middle;
    padding: .5em;
    font-weight: bold;
    font-size: 1em;
    background-color: #eee;
}

table td {
    text-align: left;
    vertical-align: middle;
    padding: .5em;
}


p, .p {
    margin: 1em 0;
}

.p2 {
    margin: .5em 0;
}

small, .small {
    font-size: 80%;
}

big, .big {
    font-size: 120%;
}

.b {
    font-weight: bold;
}

.float-right {
    float: right;
}

.float-left {
    float: left;
}

.margin-left {
    margin-left: 20px;
}

.inithide {
    display: none;
}

/* Clearing element */
.clr, .clear {
    clear: both;
    height: 1px;
    margin: 0 0 -1px 0; 
    padding: 0;
    overflow: hidden;
}

.nobr {
    white-space: nowrap;
}

.ellipsis {
    text-overflow: ellipsis;
    overflow: hidden;
}

.center {
    text-align: center;
}

.left {
    text-align: left;
}

.right {
    text-align: right;
}

.top {
    vertical-align: top;
}

.bottom {
    vertical-align: bottom;
}

.middle {
    vertical-align: middle;
}

.red,
.color-red {
    color: #d00;
}

.green,
.color-green {
    color: #090;
}

.blue,
.color-blue {
    color: #06c;
}

.gray,
.color-gray {
    color: #999;
}

.light-gray,
.color-light-gray {
    color: #ccc;
}

.yellow,
.color-yellow {
    color: #fc0;
}

.color-hp { /* homepage icon color */
    color: #999;
}

.color-vk { /* vk icon color */
    color: #45688E;
    color: #999;
}

.color-fb { /* facebook icon color */
    color: #3a5795;
    color: #999;
}

.color-ig { /* instagram icon color */
    color: #855423;
    color: #999;
}

.color-tw { /* twitter icon color */
    color: #1da1f2;
    color: #999;
}

.color-icon-right { /* other right buttons color */
    color: #999;
}

#content-right ul.fa-ul {
    margin: 1em 0 1em 1.7em;
}

/*
 * Flashes
 */

div.flash-error, 
div.flash-notice, 
div.flash-success {
	padding: 1em;
	margin-bottom: 1em;
	border: 1px solid #ddd;
    border-radius: .4em;
}
div.flash-error {
	background:#FBE3E4;
	color:#8a1f11;
	border-color:#FBC2C4;
}
div.flash-notice {
	background:#FFF6BF;
	color:#514721;
	border-color:#FFD324;
}
div.flash-success {
	background:#E6EFC2;
	color:#264409;
	border-color:#C6D880;
}
div.flash-error a {
	color:#8a1f11;
}
div.flash-notice a {
	color:#514721;
}
div.flash-success a {
	color:#264409;
}
/*
 * List
 * for event list and etc
 */
.list {
    margin: 1em 0;
}

.list .item {
    overflow: hidden;
    margin: 1em 0;
    padding: 1em 1em 1em 6.5em;
    position: relative;
    background-size: cover;
    background-color: #963;
    background-position: center center;
    color: #fff;
    text-shadow: 0 0 .1em rgba(0, 0, 0, 1);
    border-radius: .5em;
    min-height: 4.5em;
}

.list .item-link {
    cursor: pointer;
}

.list .item .icon {
    width: 4em;
    height: 4em;
    border-radius: .25em;
    position: absolute;
    top: 1em;
    left: 1em;
    overflow: hidden;
    border: .25em solid #fff;
    background-color: #fff;
}

.list .item .icon img {
    border-radius: .16em;
}

.list .item .body {}

.list .item .body .name {
    font-size: 1.25em;
    line-height: 125%;
    margin-bottom: .3em;
}

.list .item .body .date {}
.list .item .body .place {}

/*
 * Pager
 */

.pager {
    display: block;
    margin: 1em auto;
    text-align: center;
    list-style-type: none;
}

.pager a {
    text-decoration: none!important;
}

.pager li {
    display: inline-block;
    margin: 0;
    padding: 0 4px
}

.pager .pager-item:hover,
.pager .pager-next:hover,
.pager .pager-previous:hover,
.pager .pager-first:hover,
.pager .pager-last:hover {
    background: #dfdfdf;
}

.pager .pager-current {
    background: #C9E0ED;
}

.pager .hidden {
    display: none;
}

/*
 * Перекраска кнопок из form.css
 */

.btn, div.form input[type="button"] {
    color: #666!important;
    background-color: #ddd!important;
    border-color: #ddd!important;
}

.btn-submit, div.form input[type="submit"] {
    color: #333!important;
    background-color: #fc0!important;
    border-color: #fc0!important;
}

/*
 * Билетные кнопки в правом столбце
 */

.btn-ticket {
    width: 33%;
    padding: .8em 0 .5em 0;
    color: #333!important;
    background-color: #fc0!important;
    display: inline-block;
    text-decoration: none!important;
    text-align: center;
    margin: 0;
    border-left: 2px solid #fff;
}

.btn-ticket:first-child {
    border-left: none;
    border-top-left-radius: .4em;
    border-bottom-left-radius: .4em;
}

.btn-ticket:last-child {
    border-top-right-radius: .4em;
    border-bottom-right-radius: .4em;
}

.btn-ticket .fa-lg {
    line-height: 150%;
}

/*
 * Tickets order create form
 */

table.order-create {
    border-collapse: collapse;
    border-spacing: 0;
    border: none;
    width: 100%;
}

@media screen and (max-width: 500px) {
    table.order-create {
        width: auto;
        margin-right: -1.1em;
        margin-right: calc(-1em - 2px);
    }
}

table.order-create th {
    text-align: center;
    vertical-align: middle;
    padding: .5em 0 .5em .5em;
    font-weight: bold;
    font-size: 1em;
    border-bottom: 1px solid #ccc;
    background-color: #eee;
    white-space: nowrap;
}

table.order-create tr:last-child th {
    border-bottom: none;
}

table.order-create th:nth-child(1) {
    text-align: left;
}

table.order-create td {
    text-align: right;
    vertical-align: top;
    padding: .5em 0 .5em .5em;
    border-bottom: 1px solid #ccc;
}

table.order-create td:nth-child(1) {
    text-align: left;
    vertical-align: middle;
    width: 100%;
}

table.order-create td:nth-child(2) {
    padding-top: .9em;
}

table.order-create td:nth-child(3) {
    white-space: nowrap;
}

table.order-create td:nth-child(3) i {
    vertical-align: middle;
    cursor: pointer;
}

table.order-create td:nth-child(3) span {
    vertical-align: middle;
    display: inline-block;
    width: 1em;
    text-align: center;
}

table.order-create tr.not-available {
    color: #aaa;
}

table.order-create tr.not-available td:nth-child(3) {
    text-align: center;
    padding-top: .9em;
    padding-bottom: .9em;
}

img.pay-method {
    width: 100px;
    height: auto;
}

/*
 * Tickets order approve form
 */

table.order-approve {
    width: 100%;
}

table.order-approve th {
    vertical-align: top;
    border-bottom: 1px solid #fff;
    white-space: nowrap;
}

table.order-approve td {
    width: 100%;
    border-bottom: 1px solid #eee;
}

table.order-approve tr:first-child th,
table.order-approve tr:first-child td {
    border-top: 1px solid #eee;
}

table.order-approve tr:last-child th,
table.order-approve tr:last-child td {
    border-bottom: 1px solid #eee;
}

table.order-approve ul {
    margin: 0 0 0 1.6em;
}