﻿* {
	margin: 0;
}
html, body {
	height: 100%;
}
#page-wrapper {
	min-height: 100%;
	height: auto !important;
	height: 100%;
	margin: 0 auto -75px;
	min-width: 980px;
    max-width: 1100px;
}
#footer,
#mini-footer,
#page-push {
	clear: both;
	height: 75px;
}

body.mini-footer-page-block #page-wrapper {
    margin: 0 auto -50px;
}
body.mini-footer-page-block #mini-footer,
body.mini-footer-page-block #page-push {
    height: 50px;
}

a {
	outline: 0;
	text-decoration: none;
}
img {
	border: 0;
}
input, textarea, select, button {
    font-family: Arial, Helvetica, sans-serif;
    margin: 0;
    padding: 0;
    border: 0;
	outline: none;
}
textarea {
	resize: none;
}
ul {
	list-style-type: none;
	padding-left: 0;
}
table {
    width: 100%;
    text-align: left;
    border-collapse: collapse;
}
tr {
    vertical-align: top;
}
td {
    padding: 0;
}

input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px white inset;
}
input::-webkit-input-placeholder {
    color: #999999;
}
::-webkit-input-placeholder {
    color: #999999;
}
input::-moz-placeholder {
    color: #999999;
}
:-moz-placeholder {
    color: #999999;
}
.placeholder {
    color: #999999;
}

body {
	position: relative;
    height: 100%;
    width: 100%;
    min-height: 100%;
    min-width: 980px;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: normal;
    font-size: 14px;
    background: #117582;
    background: -moz-radial-gradient(center, ellipse cover, #2e95a2 0%, #117582 100%);
    background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,#2e95a2), color-stop(100%,#117582));
    background: -webkit-radial-gradient(center, ellipse cover, #2e95a2 0%,#117582 100%);
    background: -o-radial-gradient(center, ellipse cover, #2e95a2 0%,#117582 100%);
    background: -ms-radial-gradient(center, ellipse cover, #2e95a2 0%,#117582 100%);
    background: radial-gradient(ellipse at center, #2e95a2 0%,#117582 100%);
    background-attachment: fixed;
}

.clearfix {
	clear: both;
}

#content {
    min-height: 245px;
}
#content > .content-inner {
    position: relative;
    width: 980px;
    margin: 30px auto 70px;
}
#content.content-min > .content-inner {
    width: 360px;
    margin-top: 70px;
}
#content .page-content-align-left {
    float: left;
    width: 700px;
}
#content .page-content-align-right {
    position: relative;
    float: right;
    width: 245px;
}

body.front-page #page-wrapper {
    min-width: initial;
    max-width: initial;
    width: 900px;
}
body.front-page #content > .content-inner {
    max-width: 900px;
    margin: 0 auto;
}
body.front-page #header .logo {
    margin-left: 30px;
}
body.front-page #header .right-side {
    margin-right: 30px;
}
body.front-page .custom-page-header {
    text-align: center;    
    padding-top: 30px;
}
body.front-page #footer .top-link {
    display: none;
}
body.front-page .custom-block-header {
    text-align: center;
}

/* bg images */

.bg-img {
	background-size: cover;
    background-position: 50%;
}
.warning {
    margin-bottom: 10px;
    padding: 10px;
    text-align: left;
    background-color: #d9edf7;
    color: #31708f;
}
.warning-title {
    display: block;
    font-size: 13px;
    margin-bottom: 5px;
    font-weight: bold;
}
.warning-message {
    font-size: 13px;
    line-height: 16px;
    margin-top: 5px;
}
.warning .warning-message:first-child {
    margin-top: 0;
}

.field-validation-error {
    display: block;
    color: #ff0000;
    font-size: 12px;
    padding: 5px 0 0 0;
}

/* custom */

.custom-page-header {
    padding: 15px 0 48px 0;
}
.custom-page-headerex {
    padding-bottom: 32px;
}
.custom-page-title {
    display: inline-block;
    color: #fff;
    font-size: 21px;
    text-align: left;
    padding: 0;
    margin: 0;
}
.custom-page-subtitle {
    display: block;
    font-size:14px;
    color:#ccc;
    font-weight:normal;
}

.custom-block {
    margin-bottom: 35px;
}
.custom-block-header {
    position: relative;
    padding: 10px 15px;
    background-color: #ecf0f1;
    font-size: 14px;
    color: #333;
    -webkit-border-top-left-radius: 4px;
    -webkit-border-top-right-radius: 4px;
    -moz-border-radius-topleft: 4px;
    -moz-border-radius-topright: 4px;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}
.custom-block-body {
    background-color: #fff;
    padding: 15px;
    -webkit-border-bottom-right-radius: 4px;
    -webkit-border-bottom-left-radius: 4px;
    -moz-border-radius-bottomright: 4px;
    -moz-border-radius-bottomleft: 4px;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
}
.custom-table th {
    color: #333;
    font-size: 14px;
    font-weight: normal;
    padding: 10px 5px;
    vertical-align: middle;
}
.custom-table-block th {
    padding: 0 5px 15px;
}
.custom-table tr th:first-child {
    padding-left: 0;
}
.custom-table td {
    padding: 10px 5px;
    border-top: 1px solid #ecf0f1;
    vertical-align: middle;
    font-size: 13px;
    color: #333;
}
.custom-table tr td:first-child {
    padding-left: 0;
}
.custom-table-logo {
    text-align: center;
    width: 170px;
}
.custom-table-logo img {
    max-width: 150px;
    max-height: 40px;
}
.custom-table-subdescription {
    font-size: 12px;
    color: #999;
    display: block;
    margin-top: 2px;
}
.custom-table-action {
    text-align: center;
}

.custom-simplelink {
    color: #128490;
    font-family: Arial;
    border-bottom: 1px dashed transparent;
}
.custom-simplelink:hover {
    border-bottom: 1px solid #128490;
}

.custom-link {
    display: inline-block;
    font-size: 13px;
    color: #128490;
    font-family: Arial;
    border-bottom: 1px dashed transparent;
}
.custom-link-pseudo {
    border-bottom-color: #128490;
}
.custom-link:hover {
    border-bottom: 1px solid #128490;
}

.custom-link-next {
    position: relative;
    display: inline-block;
    padding-right: 17px;
    font-size: 13px;
    color: #128490;
}
.custom-link-next:hover {
    text-decoration: underline;
}
.custom-link-next:after {
    content: "";
    position: absolute;
    top: 3px;
    right: 0;
    width: 0;
    height: 0;
    border: solid 5px transparent;
    border-left: solid 5px #128490;
}

.custom-link-down {
    position: relative;
    display: inline-block;
    padding-right: 17px;
    font-size: 13px;
    color: #128490;
}
.custom-link-down:hover {
    text-decoration: underline;
}
.custom-link-down:after {
    content: "";
    position: absolute;
    top: 5px;
    right: 2px;
    width: 0;
    height: 0;
    border: solid 5px transparent;
    border-top: solid 5px #128490;
}

.custom-link-close {
    float: right;
    color: #999;
    font-size: 12px;
    display: block;
}
.custom-link-close:hover {
    text-decoration: underline;
}

.custom-form-submit-preloader {
    background-image: url('../images/anim/preloader-yellow.gif');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 18px;
    cursor: default !important;
    color: transparent !important;
}

.custom-par {
    padding: 10px 20px;
    text-indent: 1.5em;
    font-size: 14px;
    color: #333;
    line-height: 28px;
    font-family: Roboto;
    text-align: justify;
}

/* modal */

.modal-myticket-body {
    padding: 30px;
}
.modal-myticket-description {
    font-size: 13px;
    color: #333;
    margin-bottom: 15px;
}

.modal-subscription-body {
    padding-bottom: 20px;
}
.modal-subscription-row {
    border-top: 1px solid #ecf0f1;
    padding: 10px 0;
    font-size: 13px;
    color: #333;
}
.modal-subscription-rows .modal-subscription-row:first-child {
    border-top: 0;
}
.modal-subscription-components {
    margin: 10px 24px 5px;
}

/* header */

#header {
    height: 46px;
}
#header .header-inner {
    position: relative;
    width: 100%;
    top: 5px;
    z-index: 5000;
}

#header .logo {
	float: left;
	margin: 4px 30px 0 10px;
    position: relative;
    padding: 0 17px 1px 0;
}
#header .logo img {
    position: relative;
    z-index: 1;
}

#header .nav {
	float: left;
    position: relative;
}
#header .nav .menu .item {
	float: left;
    margin: 0 10px 0 0;
    line-height: 35px;
}
#header .nav .menu .item .link {
	color: #fff;
	padding: 10px 20px;
    font-size: 14px;
}
#header .nav .menu .item .link:hover {
	text-decoration: underline;
}

#header .right-side {
	float: right;
    margin-right: 10px;
    position: relative;
}

#header .card {
	float: left;
    position: relative;
	margin: 10px 0 0 30px;
	color: #fff;
    font-size: 14px;
    cursor: pointer;
}
#header .card-opened {
    color: #462828;
    z-index: 1;
}
#header .card-opened:before {
    content: '';
    position: absolute;
    background-color: #fff;
    top: -20px;
    left: -15px;
    right: -15px;
    bottom: -15px;
}
#header .title,
#header .value {
    position: relative;
    z-index: 1;
}

#header .account {
	float: left;
	margin: 10px 0 0 30px;
}
#header .account .login-link {
	color: #fff;
    font-size: 14px;
}
#header .account .login-link:hover {
	text-decoration: underline;
}

#header .order {
	float: left;
	margin: 10px 0 0 30px;
}
#header .order .myticket-link {
	color: #fff;
    font-size: 14px;
}
#header .order .myticket-link:hover {
	text-decoration: underline;
}

#header .lang {
	float: left;
	margin: 4px 0 0 10px;
}
#header .lang .pfl-button-image {
    display: none;
}
#header .lang .pfl-button-link {
    padding-right: 5px;
    color: #fff;
}
#header .lang .pfl-button-link:hover {
	text-decoration: underline;
}
#header .lang.popup-frame-list-opened .pfl-button {
    background: none;
}
#header .lang.popup-frame-list-opened .pfl-button-link {
    text-decoration: none;
}
#header .lang.popup-frame-list-opened:before {
    content: "";
    position: absolute;
    background: #fff;
    top: -12px;
    right: 0;
    bottom: -11px;
    left: -5px;
}
#header .lang .pfl-list {
    left: auto;
    border-top: 0;
    margin-top: 11px;
}
#header .lang .pfl-item-link {
    padding-left: 20px;
}

/* footer */

#footer {
    position: relative;
    background-color: #3a3a3a;
    font-family: Roboto;
}
body.front-page #footer {
    z-index: 5001;
}

#footer .footer-inner {
    width: 900px;
    margin: 0 auto;
    padding-top: 18px;
}

#footer .row {
    padding: 0 35px;
    position: relative;
}
#footer .row .column {
    float: left;
    width: 33%;
}
#footer .row .column .item-link {
    color: #E5EDF5;
    font-size: 12px;
}
#footer .row .column .item-link:hover {
    text-decoration: underline;
}
#footer .row .copyright {
    color: #fff;
    font-size: 12px;
    line-height: 20px;
}
#footer .row .copyright .name {
    text-transform: uppercase;
}
#footer .row .contact {
    color: #fff;
    font-size: 12px;
    line-height: 20px;
    text-align: center;
    margin-top: 10px;
}
#footer .row .contact .email {
    display: block;
}
#footer .row .lang {
    float: right;
    margin-top: 10px;
}
#footer .row .lang .list {
    float: right;
}
#footer .row .lang .list .item {
    float: left;
    padding-left: 15px;
}
#footer .row .lang .list .item:first-child {
    padding-left: 0;
}
#footer .row .top-link {
    position: absolute;
    top: 10px;
    right: -40px;
    width: 31px;
    height: 22px;
    background: url("../images/icons/arrow-top.png") no-repeat;
}

/* sidebar */

.sidebar-block {
    margin-bottom: 30px;
    -webkit-box-shadow: 0 0 0 0 rgba(0,0,0,.15),0 4px 12px -3px rgba(0,0,0,.5);
    box-shadow: 0 0 0 0 rgba(0,0,0,.15),0 4px 12px -3px rgba(0,0,0,.5);
}
.sidebar-block-header {
    padding: 10px 0 10px 15px;
    background: rgba(255,255,255,0.1);
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    color: #FFFFCE;
    font-size: 14px;
}
.sidebar-block-body {
    padding: 15px;
    background: #ecf0f1;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

/* sidebar nav block */

.sidebar-nav-block-link {
    display: block;
    font-size: 13px;
    color: #128490;
    margin-top: 12px;
}
.sidebar-nav-block-link:hover {
    text-decoration: underline;
}
.sidebar-nav-block-body .sidebar-nav-block-link:first-child {
    margin-top: 0;
}

/* sidebar info block */

.sidebar-info-block .sidebar-block-header {
    background: rgba(217,237,247,0.9);
    color: #128490;
    font-weight: bold;
}
.sidebar-info-block .sidebar-block-body {
    color: #128490;
    text-align: left;
    background-color: #d9edf7;
    font-size: 13px;
    line-height: 16px;
}
.sidebar-info-block-par {
    margin-top: 5px;
}
.sidebar-info-block .sidebar-block-body .sidebar-info-block-par:first-child {
    margin-top: 0;
}

/* order page */

.order-page-steps {
    float: right;
    height: 40px;
}
.order-page-step {
    float: left;
    position: relative;
    height: 100%;
}
.order-page-step:before,
.order-page-step:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background-color: #ccc;
}
.order-page-step-first:before,
.order-page-step-first:after {
    left: 50%;
}
.order-page-step-last:before,
.order-page-step-last:after,
.order-page-step-active:after {
    right: 50%;
}
.order-page-step-done:after,
.order-page-step-active:after,
.order-page-step-done .order-page-step-name:after,
.order-page-step-active .order-page-step-name:after {
    background-color: #FFFFCE;
}
.order-page-step-active .order-page-step-name:after {
    width: 8px;
    height: 8px;
    margin-left: -4px;
    bottom: -3px;
}
.order-page-step-name {
    text-align: center;
    color: #ccc;
    font-size: 11px;
    display: block;
    padding: 0 25px;
    height: 100%;
}
.order-page-step-name:after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 50%;
    margin-left: -3px;
    width: 6px;
    height: 6px;
    webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    background-color: #ccc;
    z-index: 1;
}
.order-page-step-done .order-page-step-name,
.order-page-step-active .order-page-step-name {
    color: #FFFFCE;
}

.order-page-warning {
    margin-bottom: 35px;
}

/* order */

.order-header-status {
    color: rgb(82, 132, 154);
    font-size: 18px;
    font-weight: bold;
    border: 1px solid #fff;
    position: absolute;
    right: 0;
    background-color: #fff;
    margin-right: 15px;
    top: 7px;
    padding: 0 30px;
    text-align: center;
    box-shadow: inset 0px 0px 7px #ECF0F1;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.order-summary-contact {
    float: left;
    width: 75%;
}
.order-summary-refund {
    margin: 10px 0 5px;
}
.order-summary-action {
    float: right;
    width: 25%;
    text-align: right;
    margin: 10px 0;
}
.order-summary-subtitle {
    font-size: 13px;
    font-weight: bold;
    color: #333;
}
.order-summary-subbody {
    margin: 5px 0 0 7px;
}
.order-summary-row {
    margin-top: 10px;
    overflow: hidden;
}
.order-summary-row-name {
    float: left;
    font-size: 13px;
    color: #333;
    width: 60%;
}
.order-summary-row-value {
    font-size: 13px;
    color: #333;
    margin-left: 60%;
    padding-left: 15px;
}
.order-summary-subbody .order-summary-row:first-child {
    margin-top: 0;
}
.order-summary-refund-subtitle {
    color: #ce4e4e;
}
.order-summary-refund-row-value {
    font-size: 24px;
    color: #ce4e4e;
    font-weight: bold;
}
.order-summary-price {
    font-size: 20px;
    color: #474747;
}

/* summary order */

.sidebar-summary-order-block-header {
    color: #fff;
}
.sidebar-summary-order-block-body {
    background: #F6F8F8;
}
.summary-order-row {
    margin: 0 0 7px 0;
    overflow: hidden;
}
.summary-order-line {
    border: 0;
    height: 1px;
    margin: 15px 0 15px 50%;
    width: 50%;
    background: #ccc;
}
.summary-order-row-name {
    font-size: 13px;
    color: #333;
    float: left;
}
.summary-order-row-value {
    float: right;
    color: #333;
    font-size: 13px;
}
.summary-order-total {
    position: relative;
    margin: 15px 0 15px;
    padding-bottom: 7px;
}
.summary-order-total:before {
    content: "";
    position: absolute;
    left: -15px;
    right: -15px;
    bottom: -10px;
    top: 0;
    background: #fff;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}
.summary-order-total-title {
    position: relative;
    display: block;
    font-size: 13px;
    text-align: left;
    color: #666;
    padding-top: 20px;
}
.summary-order-total-price {
    position: relative;
    display: block;
    text-align: right;
    font-size: 18px;
    color: #333;
    padding-top: 10px;
}

.summary-order-bus-row {
    padding-left: 20px;
    position: relative;
}
.summary-order-bus-row:before {
    content: '\1F68C';
    position: absolute;
    top: 0;
    left: 0;
    font-size: 10px;
}

/* bonus block */

.sidebar-bonus-order-block-header {
    background-color: #D2E7C6;
    color: #2d2d71;
    font-weight: bold;
}
.sidebar-bonus-order-block-body {
    background: #E8F5D3;
}
.sidebar-bonus-order-block-subtitle {
    color: #125690;
    font-size: 13px;
    display: inline-block;
}
.sidebar-bonus-order-block-price {
    display: block;
    color: #319012;
    font-size: 18px;
    font-weight: bold;
    text-align: right;
    margin-top: 10px;
}

/* statistics block */

.sidebar-statistics-order-block-header {
    color: #fff;
}
.statistics-order-row {
    margin: 0 0 7px 0;
    overflow: hidden;
    line-height: 17px;
}
.statistics-order-row-name {
    font-size: 13px;
    color: #333;
    max-width: 180px;
    display: inline-block;
}
.statistics-order-row-value {
    float: right;
    color: #333;
    font-size: 13px;
}
.statistics-order-line {
    border: 0;
    height: 1px;
    margin: 15px 0;
    width: 100%;
    background: #ccc;
}

/* order rows */

.order-rows-wrapper {
    padding: 15px 0 !important;
}
.order-rows th {
    color: #333;
    font-size: 14px;
    font-weight: normal;
    padding: 0 5px 15px 5px;
    text-align: right;
    border-bottom: 1px solid #117582;
}
.order-row-title-number {
    text-align: center !important;
}
.order-row-title-description,
.order-row-title-invitecontacts {
    text-align: left !important;
}
.order-rows td {
    border-bottom: 1px solid #117582;
    padding: 10px 5px 10px 5px;
    color: #474747;
    font-size: 12px;
    vertical-align: middle;
    text-align: right;
}
.order-row-number {
    text-align: center !important;
}
.order-row-description,
.order-row-invitecontacts {
    color: #333 !important;
    text-align: left !important;
}
.order-row-description {
    min-width: 150px;    
}
.order-row-description-item {
    margin-top: 5px;
    padding: 2px;
}
.order-row-description .order-row-description-item:first-child {
    margin-top: 0;
}
.order-row-description-time {
    display: block;
    color: #666;
    font-size: 11px;
    margin-top: 2px;
    text-align: right;
}
.order-row-created-datetime {
    font-size: 11px !important;
}
.order-row-created-time {
    display: block;
    margin-top: 3px;
}
.order-row-status-reservation-expire {
    display: block;
    color: #999;
    font-size: 11px;
    margin-top: 2px;
}
.order-row-action {
    text-align: center !important;
}

/* service */

.service-header-number {
    font-weight: bold;
    font-size: 15px;
}
.service-header-status {
    color: rgb(82, 132, 154);
    font-size: 18px;
    font-weight: bold;
    border: 1px solid #fff;
    position: absolute;
    right: 0;
    background-color: #fff;
    margin-right: 15px;
    top: 7px;
    padding: 0 30px;
    text-align: center;
    box-shadow: inset 0px 0px 7px #ECF0F1;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.service-summary {
    font-size: 14px;
    background-color: #fff;
    padding: 15px;
}
.service-summary-person {
    color: #666;
    font-size: 13px;
}
.service-summary-action {
    float: right;
    width: 25%;
    text-align: right;
    margin: 10px 0 0;
}
.service-summary-subtitle {
    display: block;
    font-size: 13px;
    font-weight: bold;
    color: #333;
    text-align: center;
}
.service-summary-subbody {
    margin-top: 5px;
}
.service-summary-price {
    font-size: 20px;
    color: #474747;
}
.service-summary-print-button,
.service-summary-cancel-button {
    margin-top: 15px;
    display: inline-block;
    height: 28px;
    border: none;
    margin-left: 5px;
    background-color: #AB7676;
    cursor: pointer;
    font-size: 14px;
    color: #fff;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    line-height: 28px;
    text-align: center;
    padding: 0 15px;
}
.service-summary-cancel-button:hover {
    background-color: #b38383;
}
.service-summary-print-button {
    background-color: #129060;
}
.service-summary-print-button:hover {
    background-color: #299a6f;
}
.service-summary-detail {
    margin: 15px 15px 0 0;
}

.service-summary-row {
    margin-top: 10px;
    overflow: hidden;
    width: 75%;
}
.service-summary-row-name {
    float: left;
    font-size: 13px;
    color: #333;
    width: 60%;
    text-align: right;
}
.service-summary-row-value {
    font-size: 13px;
    color: #333;
    margin-left: 60%;
    padding-left: 15px;
}

.service-summary-reservation,
.service-summary-refund {
    margin-top: 15px;
}

.service-summary-reservation-time {
    display: block;
    font-weight: bold;
}
.service-summary-reservation-tz {
    font-size: 12px;
    color: #999;
}

.service-summary-refund-subtitle {
    color: #ce4e4e;
}
.service-summary-refund-row-value {
    font-size: 24px;
    color: #ce4e4e;
    font-weight: bold;
}

.service-summary-warning {
    margin: 15px 0 0;
}

.service-detail {
    background-color: #fff;
    box-shadow: inset 0px 5px 30px #ECF0F1;
    -webkit-border-bottom-right-radius: 4px;
    -webkit-border-bottom-left-radius: 4px;
    -moz-border-radius-bottomright: 4px;
    -moz-border-radius-bottomleft: 4px;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
}
.service-detail-tab-widget > .tw-buttons > .tw-button {
    margin: 0;
    text-align: center;
}
.service-detail-tab-widget > .tw-buttons > .tw-button > .tw-button-link {
    color: #128490;
    font-size: 13px;
    padding-left: 5px;
    padding-right: 5px;
    background-color: #ecf0f1;
}
.service-detail-tab-widget > .tw-buttons > .tw-button-selected > .tw-button-link,
.service-detail-tab-widget > .tw-buttons > .tw-button:hover > .tw-button-link {
    background-color: transparent;
}
.service-detail-tab-widget > .tw-items > .tw-item {
    padding: 25px 15px 30px 15px;
}

.service-detail-finance-exchange {
    text-align: right;
    font-size: 13px;
    color: #999;
    margin-bottom: 10px;
}
.service-detail-finance-exchange-value {
    color: #666;
    font-weight: bold;
    display: block;
    margin-top: 3px;
}
.service-detail-finance-note {
    float: left;
    width: 45%;
    font-size: 13px;
    color: #666;
}
.service-detail-finance-calculation-wrapper {
    margin-left: 50%;
    border-top: 2px solid #e5e5e5;
    padding-top: 10px;
}
.service-detail-finance-calculation-name {
    color: #666;
    font-size: 13px;
    text-align: right;
    width: 60%;
    padding: 4px 0;
}
.service-detail-finance-calculation-value {
    color: #333;
    font-size: 13px;
    text-align: right;
    padding: 4px 0;
}
.service-detail-finance-calculation-total-price {
    float: right;
    color: #333;
    clear: right;
    font-weight: bold;
    font-size: 15px;
    text-align: right;
    border-top: 1px solid #ccc;
    padding-top: 10px;
    margin-top: 5px;
    min-width: 35%;
}
.service-detail-finance-calculation-item-discounted .service-detail-finance-calculation-value {
    text-decoration: line-through;
}

.service-detail-event th {
    color: #333;
    font-size: 14px;
    font-weight: normal;
    padding: 0 5px 10px 0;
}
.service-detail-event td {
    border-top: 1px solid #ecf0f1;
    padding: 10px 10px 10px 0;
    vertical-align: middle;
}
.service-detail-event-name {
    text-align: right;
    color: #333;
    font-size: 12px;
    width: 50%;
}
.service-detail-event-time {
    color: #666;
    font-size: 11px;
    padding-left: 20px !important;
    line-height: 14px;
}
.service-detail-event-title-name {
    text-align: right;
    padding-right: 10px !important;
}
.service-detail-event-title-time {
    padding-left: 20px !important;
}

.ticket-status-ticket_bus_reserved,
.ticket-status-ticket_bus_confirmed {
    background-color: #FFFFCE;
}
.ticket-status-ticket_bus_paid {
    background-color: #D3FFCE;
}
.ticket-status-ticket_bus_cancelledafterpaid,
.ticket-status-ticket_bus_cancelledbeforepaid,
.ticket-status-ticket_bus_pseudocancelledbeforepaid,
.ticket-status-ticket_bus_cancellationprocessingforpaid,
.ticket-status-ticket_bus_autocancelled,
.ticket-status-ticket_bus_annulled,
.ticket-status-ticket_bus_reservationexpired,
.ticket-status-ticket_bus_erroronpaid {
    background-color: #FFCECE;
}

/* service rows */

.service-rows-wrapper {
    padding: 15px 0 !important;
}
.service-rows th {
    color: #333;
    font-size: 14px;
    font-weight: normal;
    padding: 0 5px 15px 5px;
    text-align: right;
    border-bottom: 1px solid #117582;
}
.service-row-title-number,
.service-row-title-description {
    text-align: left !important;
}
.service-rows td {
    border-bottom: 1px solid #117582;
    padding: 10px 5px 10px 5px;
    color: #474747;
    font-size: 12px;
    vertical-align: middle;
    text-align: right;
}
.service-row-number {
    text-align: left !important;
}
.service-row-description {
    min-width: 150px;
    color: #333 !important;
    text-align: left !important;
}
.service-row-description-item {
    margin-top: 5px;
}
.service-row-description .service-row-description-item:first-child {
    margin-top: 0;
}
.service-row-description-time {
    display: block;
    color: #666;
    font-size: 11px;
    margin-top: 2px;
}
.service-row-created-datetime {
    font-size: 11px !important;
}
.service-row-time {
    display: block;
    margin-top: 3px;
}
.service-row-status-reservation-expire {
    display: block;
    color: #666;
    font-size: 11px;
    margin-top: 2px;
}
.service-row-action {
    text-align: center !important;
}

/* bus service */

.bus-service-header-title {
    padding-left: 27px;
}
.bus-service-header:before {
    content: '\1F68C';
    position: absolute;
    top: 7px;
    left: 14px;
}
.bus-service-summary-timeinfo {
    width: 75%;
    font-size: 13px;
    color: #333;
    margin-top: 15px;
    background: url('../images/icons/arrow-from-to.png') no-repeat;
    background-position: 3px 15px;
}
.bus-service-summary-timeinfo-departure,
.bus-service-summary-timeinfo-arrival {
    overflow: hidden;
    margin-left: 17px;
}
.bus-service-summary-timeinfo-departure {
    margin-bottom: 15px;
}
.bus-service-summary-timeinfo-datetime {
    float: left;
    margin-right: 15px;
}
.bus-service-summary-timeinfo-date {
    display: block;
    margin-bottom: 3px;
}
.bus-service-summary-timeinfo-location-region {
    color: #999;
    display: inline-block;
    margin-top: 3px;
}

.bus-service-detail-tab-widget > .tw-buttons > .tw-button {
    width: 20%;
}

.bus-service-detail-header {
    overflow: hidden;
    position: relative;
}
.bus-service-detail-header:before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 100%;
    height: 2px;
    background-color: #ecf0f1;
}
.bus-service-detail-header-name {
    font-size: 14px;
    font-weight: bold;
    color: #474747;
    position: relative;
    background-color: #fff;
    padding-right: 15px;
}
.bus-service-detail-header-carrier-name {
    float: right;
    color: #333;
    position: relative;
    background-color: #fff;
    padding-left: 15px;
}
.bus-service-detail-header-carrier-code {
    padding-left: 5px;
    color: #999;
}

.bus-service-detail-info-body {
    padding-top: 10px;
}
.bus-service-detail-info-logo {
    max-width: 100px;
    float: left;
    margin-top: 10px;
}
.bus-service-detail-info-body-inner {
    margin-left: 120px;
}
.bus-service-detail-info-open {
    margin-bottom: 15px;
    padding-left: 17px;
    position: relative;
    color: #333;
    font-size: 13px;
}
.bus-service-detail-info-open:before {
    content: '\1f550';
    position: absolute;
    left: 0;
    top: -2px;
}
.bus-service-detail-info-timeinfo {
    padding-left: 17px;
    margin-bottom: 10px;
    font-size: 13px;
    color: #333;
    background: url('../images/icons/arrow-from-to.png') no-repeat;
    background-position: 3px 15px;
}
.bus-service-detail-info-departure,
.bus-service-detail-info-arrival {
    overflow: hidden;
}
.bus-service-detail-info-departure {
    margin-bottom: 15px;
}
.bus-service-detail-info-datetime {
    float: left;
    margin-right: 15px;
}
.bus-service-detail-info-date {
    display: block;
    margin-bottom: 3px;
}
.bus-service-detail-info-location-region {
    color: #999;
    display: inline-block;
    margin-top: 3px;
}
.bus-service-detail-info-feature {
    border-top: 1px solid #ecf0f1;
    padding-top: 10px;
    font-size: 13px;
    overflow: hidden;
}
.bus-service-detail-info-seat {
    color: #333;
}
.bus-service-detail-info-feature-right {
    float: right;
    text-align: right;
    color: #666;
}
.bus-service-detail-info-duration {
    display: block;
    margin-bottom: 5px;
}

.bus-service-detail-condition-ex {
    margin-top: 30px;
}
.bus-service-detail-condition-data {
    margin-top: 15px;
    width: 50%;
    float: left;
    font-size: 13px;
}
.bus-service-detail-condition-data:nth-child(odd) {
    clear: left;
}
.bus-service-detail-condition .bus-service-detail-condition-data:first-child,
.bus-service-detail-condition .bus-service-detail-condition-data:first-child + .bus-service-detail-condition-data {
    margin-top: 0;
}
.bus-service-detail-condition-data-title {
    display: block;
    font-size: 13px;
    margin-bottom: 10px;
    margin-left: 10px;
    color: #333;
}
.bus-service-detail-condition-data-body,
.bus-service-detail-condition-data-text {
    line-height: 18px;
    color: #666;
    margin-left: 10px;
}
.bus-service-detail-condition-data:nth-child(odd) .bus-service-detail-condition-data-title,
.bus-service-detail-condition-data:nth-child(odd) .bus-service-detail-condition-data-body,
.bus-service-detail-condition-data:nth-child(odd) .bus-service-detail-condition-data-text {
    margin-left: 0;
    margin-right: 10px;
}
.bus-service-detail-condition-data-name {
    padding: 0 10px 5px 10px;
}

@media screen and (max-width: 980px) {
    .modal {
        position: absolute;
    }
}