.reservation_table * {
    box-sizing: initial;
}

.displaynone {
    display: none !important;
}

.reservation_table {
    font-size: small;
}

.reservation_table_wrapper {
    overflow: hidden;
}

.tables_wrapper {
    position: relative;
}

.res-left {
    float: left;
    overflow-x: auto;
    overflow-y: hidden;
}

.res-line {
    margin: 0 0px 5px 0px;
    width: 499px;
    text-align: left;
    height: 28px
}

.res-line .line {
    height: 100%;
}

.res-line > a, .res-line > span {
    vertical-align: top;
    height: 100%;
    display: inline-block;
    line-height: 1.3em;
    background-color: #EBEBEB;
    text-decoration: none;
    color: #656565 !important;
    margin-right: 1.5px;
    height: 24.75px;
    text-align: left
}

.res-line .date {
    font-size: 110%;
    text-align: center;
    padding-top: 3.75px;
    padding-left: 10px;
    padding-right: 10px;
}

.res-line .date.rl-pink {
    background-color: #EC4367;
    color: #FFFFFF !important
}

.res-line .prevDays, .res-line .today, .res-line .nextDays {
    font-size: 80%;
    width: 60px;
    padding-top: 3.75px;
    line-height: 2.1em
}

.res-line .today {
    text-align: center;
}

.res-line .prevDays:hover, .res-line .nextDays:hover, .res-line .today:hover {
    color: #FFFFFF !important
}

.res-line .prevDays {
    padding-left: 16.5px;
    background: #EBEBEB url("../images/week_prev.png") 2.25px center no-repeat
}

.res-line .nextDays {
    padding-right: 16.5px;
    width: 39.75px;
    background: #EBEBEB url("../images/week_next.png") 45px center no-repeat;
    text-align: right
}

.res-line .refresh {
    background-color: #EBEBEB;
    background-image: url("../images/refresh.png");
    background-position: center;
    background-repeat: no-repeat;
    width: 35px;
    height: 31.75px
}

.res-line .datepicker {
    position: absolute;
    z-index: 100;
    display: none;
}

div.table_wrapper {
    display: inline-block;
    min-width: 579px;
    vertical-align: top;
}

.colright div table.res-table {
    width: 100%;
    border-collapse: collapse;
    margin: 7.5px 0 11.25px 0
}

.res-table th.marked {
    color: red;
    font-weight: bold
}

.res-table th, .res-table td {
    max-width: 65px;
    min-width: 10px;
    text-align: center;
    vertical-align: top;
    line-height: 1.4em;
}

.res-table th {
    font-weight: 300;
    color: #656565;
    font-size: 95%
}

.res-table th.right {
    text-align: right;
    width: 35px
}

.res-table td {
    color: #FFFFFF;
    font-size: 70%;
    padding: 0;
}

.res-table tr.grounds th.right {
    background-color: transparent;
}

.res-table tr.grounds th {
    background-color: #e6e6e6;
}

.res-table tr.grounds th.even {
    background-color: #dcdcdc;
}

.res-table tr td.even {
    background-color: #f8f8f8
}

.res-table th.even {
    background-color: #f8f8f8
}

.res-table tr td.even div.inside {
    background-color: #EBEBEB
}

.res-table tr td.odd div.nschedule div.inside {
    background-color: #CACACA;
    color: #FFFFFF
}

.res-table tr td.odd div.lesson div.inside {
    background-color: #EBEBEB
}

.res-table tr td div.outter {
    width: 100%;
    height: 100%;
    color: #EC4367;
    font-size: 130%;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.res-table tr td div.outter.time {
    color: #888888
}

.res-table th.weekend {
    font-weight: bold
}

.res-table tr td div.inside {
    border: 1px solid white;
    width: 100%;
    height: 100%
}

.res-table tr td div.inside.blank {
    border: 0;
}

.res-table tr td div.inside div.table {
    display: table;
    width: 100%;
    height: 100%;
}

.res-table tr td div.inside div.table div.cell {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 100%;
    height: 100%;
}

.res-table tr td div.inside.blank {
    background-color: transparent;
}

.res-table tr td div.outter.active.late div.inside {
    background-color: #525555;
    color: #FFFFFF
}

.res-table tr td div.outter.active div.inside.selected, .res-table tr td div.outter.active.late div.inside.selected {
    background-color: #8dc63f;
    color: #FFFFFF
}

.no_touch .res-table tr td div.outter.active div.inside:hover {
    background-color: #A8E84F;
    color: #FFFFFF
}

.res-table tr td div.outter.reserved div.inside {
    background-color: #8dc63f;
    color: #FFFFFF
}

.res-table tr td div.outter.active div.inside {
    cursor: pointer
}

.res-table tr td.active {
    background-color: #EC4367
}

.res-table tr td div.outter.inactive div.inside {
    background-color: #525555
}

.res-table tr td div.outter.reserved div.inside {
    background-color: #EC4367
}

.res-table tr td div.outter.mine div.inside {
    background-color: #5459EC;
    color: #FFFFFF
}

.res-table tr td div.outter.mine.nschedule div.inside {
    background: #5459EC url("/images/ico_wrong.png") top right no-repeat;
}


.table-info-text {
    margin-left: 45px;
    line-height: 1.3em;
    font-size: 95%
}

.table-info-text .description {
    display: inline-block;
    white-space: nowrap;
    margin-top: 10px
}

.table-info-text .description > span {
    margin-left: 15px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 3.75px;
    width: 61.5px;
    height: 16.5px
}

.table-info-text .description.free > span {
    background-color: #EBEBEB;
    margin-left: 0px;
}

.table-info-text .description.reserved > span {
    background-color: #EC4367;
}

.table-info-text .description.inactive > span {
    background-color: #525555;
}

.table-info-text .description.mine > span {
    background-color: #5459EC;
}

.table-info-text .description.reserved {
    color: #525555
}

.table-info-text .description.reserved {
    color: #CD4566
}

.table-info-text .description.mine {
    color: #5459EC
}


.res-right {
    float: right;
    width: 160px;
    background-color: #F0F0F0;
    margin-bottom: 30px;
    padding: 11.25px 0 3.75px 0;
    color: #787878
}

.res-right .right {
    text-align: right;
    font-weight: 500;
    margin: 0 24px 11.25px 0;
    line-height: 1.3em;
    font-size: 95%
}

.res-right .online-res {
    display: block;
    width: 100%;
    margin: 0 auto 9px auto;
    text-align: center;
    color: #FFFFFF;
    line-height: 1.3em;
    text-decoration: none;
    font-size: 155%;
    background-color: #CD4566;
    padding: 6px 0
}

.res-right .rr-info {
    margin-left: 12px;
    line-height: 1.4em;
    color: #8B8B8B
}

.res-right .rr-info strong {
    color: #CD4566
}

.res-right h2 {
    color: #CD4566;
    text-align: center;
    margin: 9px 3.75px;
    text-transform: uppercase;
    font-weight: 500;
    font-size: 125%;
    line-height: 1.3em
}

.res-right form {
    margin: 0
}

.res-right form div.input {
    margin-right: 4px;
    float: left
}

.res-right form .grey {
    background-color: #E6E6E6;
    padding: 7.5px 12px 11.25px 18px
}

.res-right form .nobg {
    padding: 7.5px 12px 11.25px 18px
}

.res-right form h3 {
    font-weight: 500;
    margin: 0 0 2.25px 0;
    line-height: 1.3em;
    font-size: 100%;
    color: #5A5A5A
}

.res-right form input[type=text], .res-right form input[type=password], .res-right form input[type=date] {
    background-color: #DCDCDC;
    border: none;
    width: 60px;
    padding: 5.25px 0;
    text-align: center;
    font-family: 'Roboto';
    font-size: 100%;
    color: #5A5A5A;
    font-weight: 300
}

.res-right form input[type=text].wide, .res-right form input[type=password].wide, .res-right form input[type=date].wide {
    width: 124px
}

.res-right form label {
    display: inline-block;
    vertical-align: middle;
    font-size: 100%;
    line-height: 1.4em;
    margin-right: 3.75px
}

.res-right form label span {
    font-weight: 700;
    font-size: 120%;
    color: #CD4566
}

.res-right form .grey label {
    color: #5A5A5A;
    display: inline
}

.res-right form .check-margin {
    margin-right: 22.5px
}

.res-right form .summary {
    padding-top: 18.75px
}

.res-right form .summary .res-price {
    display: block;
    width: 116.25px;
    text-align: center;
    margin-bottom: 9px;
    height: 21px;
    padding-top: 3.75px;
    color: #5A5A5A;
    background-color: #DCDCDC
}

.res-right form .summary .agree {
    vertical-align: top;
    width: 127.5px;
    font-size: 90%;
    margin-top: 1.5px
}

.res-right form .summary .terms {
    margin-left: 17.25px;
    display: inline-block;
    line-height: 1.3em;
    font-size: 80%;
    color: #8DC63F;
    margin-bottom: 15px
}

.res-right form input.btn_booking[type=submit] {
    width: 120px;
    text-align: center;
    color: #FFFFFF;
    line-height: 1.3em;
    font-size: 125%;
    background-color: #CD4566;
    height: 32.25px;
    font-weight: 300;
    font-family: 'Roboto';
    border: none;
    cursor: pointer;
    text-transform: uppercase;
    margin-left: 10px
}

.res-right.no-reg {
    padding: 30px 0;
    min-height: 300px
}

.res-right.no-reg .rr-info {
    margin-bottom: 15px
}

.res-right.no-reg form {
    margin: 0 8px 22.5px 8px;
    background-color: #CD4566;
    padding: 3.75px 2.25px 7.5px 2.25px
}

.res-right.no-reg form label {
    font-size: 120%;
    line-height: 1.3em;
    margin-left: 11.25px;
    color: #FFFFFF
}

.res-right.no-reg form input[type=text], .res-right.no-reg form input[type=password] {
    font-family: 'Roboto';
    font-size: 100%;
    color: #5A5A5A;
    border: none;
    background-color: #DCDCDC;
    padding: 5.25px 7.5px;
    width: 124px;
    height: 14.25px;
    font-weight: 300;
    margin-bottom: 5.25px
}

.res-right.no-reg form .right {
    text-align: right;
    margin: 0
}

.res-right.no-reg form input[type=submit] {
    width: auto;
    height: auto;
    margin: 0;
    background-color: transparent;
    border: none;
    color: #FFFFFF;
    text-decoration: underline;
    font-weight: 500;
    font-size: 120%;
    text-transform: uppercase;
    font-family: 'Roboto';
    cursor: pointer
}

.res-right p.error, .res-right p.error strong {
    margin: 0;
    color: #EC4367;
    margin-bottom: 10px
}

.table-button {
    display: none
}

.reservation_table {
    padding-bottom: 20px;
}

div.flash, div.message {
    position: fixed;
    width: 100%;
    color: black;
    padding: 10px 0 10px 0;
    z-index: 60;
}

div.flash .icon-close {
    cursor: pointer;
    margin-left: 50px;
}

div.flash-ok, div.message-ok {
    /* border: 2px solid #bffda3;*/
    background-color: #e4fcd9;
    /* color: #35a502;*/
}

div.flash-error, div.message-error {
    /* border: 2px solid #fba3a3;*/
    background-color: #fdd9d9;
    color: #d80303;
}

div.flash-warning, div.message-warning {
    /*border: 2px solid #fbbb95;*/
    background-color: #fbf0b3;
    color: #fd6002;
}

div.flash-info, div.message-info {
    /*border: 2px solid #a3d8fd;*/
    background-color: #ddeafa;
    color: #026da5;
}