/* This is the custom theme styling for this site */
#footer .footer-wrapper {
    padding: 10px 0;
}
#footer .footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.ph-main-bg {
    background-color: #4482c4;
}
a.navbar-brand img.logo,
.logo a img
{
    max-width: 200px;
    height: auto;
}
.navbar .navbar-nav .nav-link {
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.navbar .navbar-nav .nav-item.active .nav-link, 
.navbar .navbar-nav .nav-link:hover {
    color: #01b7f2;
    text-decoration: none;
}

.form-control {
    padding: .375rem .5rem;
}

.form-control.is-invalid, .was-validated .form-control:invalid {
    border-color: #dc3545;
    padding-right: calc(1em + .75rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat;
    background-position: right calc(.375em + .1875rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}
select.form-control {
    font-size: 0.95rem;
}
select.form-control.is-invalid, .was-validated select.form-control:invalid {
    /*padding-right: calc(1.5em + 1.75rem);*/
    padding-right: 35px;
    background-position: right calc(.375em + 0.75rem) center;
}
.iti {
    width: 100%;
}
#card-number {
    padding-right: calc(1.5em + 2.5rem);
    /* background-image: url(../img/CardsAccepted.png); */
    background-repeat: no-repeat;
    background-position: right calc(.375em + 0.5rem) center;
    background-size: calc(1.5em + 0.75rem) calc(0.75em + 0.5rem);
}
#card-number.card-empty {
    background-image: url(../images/cc-icon.png);
    background-size: calc(1.5em + 0.25em) calc(0.75em + 0.5rem);
}
#card-number.card-VI {
    background-image: url(../images/cc-visa-straight-64px.png);
}
#card-number.card-MC {
    background-image: url(../images/cc-mastercard-straight-64px.png);
}
#card-number.card-AX {
    background-image: url(../images/cc-american-express-straight-64px.png);
}
#card-number.card-notallowed:after {
    content: "\f00d";
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.alert.alert-primary:before {
    content: "\e8bb";
    color: #343a40!important;
    border-color: #343a40!important;
}
.fa {
    font-size: inherit !important;
}
.book-header p {
    background-color: #003053;
    color: #fff;
    font-weight: 400;
    font-size: 20px;
    padding: 13px 25px;
}

/* Absolute Center Spinner */
.loading {
    position: fixed;
    z-index: 999;
    height: 2em;
    width: 2em;
    overflow: show;
    margin: auto;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
.loading.inline {
    position: relative;
    top: -20px;
    margin-right: 32px;
}

/* Transparent Overlay */
.loading:not(.inline):before {
    content: '';
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(rgba(20, 20, 20,.8), rgba(0, 0, 0, .8));

    background: -webkit-radial-gradient(rgba(20, 20, 20,.8), rgba(0, 0, 0,.8));
}

/* :not(:required) hides these rules from IE9 and below */
.loading:not(:required) {
    /* hide "loading..." text */
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0;
}

.loading:not(:required):after {
    content: '';
    display: block;
    font-size: 10px;
    width: 1em;
    height: 1em;
    margin-top: -0.5em;
    -webkit-animation: spinner 150ms infinite linear;
    -moz-animation: spinner 150ms infinite linear;
    -ms-animation: spinner 150ms infinite linear;
    -o-animation: spinner 150ms infinite linear;
    animation: spinner 150ms infinite linear;
    border-radius: 0.5em;
    -webkit-box-shadow: rgba(255,255,255, 0.75) 1.5em 0 0 0, rgba(255,255,255, 0.75) 1.1em 1.1em 0 0, rgba(255,255,255, 0.75) 0 1.5em 0 0, rgba(255,255,255, 0.75) -1.1em 1.1em 0 0, rgba(255,255,255, 0.75) -1.5em 0 0 0, rgba(255,255,255, 0.75) -1.1em -1.1em 0 0, rgba(255,255,255, 0.75) 0 -1.5em 0 0, rgba(255,255,255, 0.75) 1.1em -1.1em 0 0;
    box-shadow: rgba(255,255,255, 0.75) 1.5em 0 0 0, rgba(255,255,255, 0.75) 1.1em 1.1em 0 0, rgba(255,255,255, 0.75) 0 1.5em 0 0, rgba(255,255,255, 0.75) -1.1em 1.1em 0 0, rgba(255,255,255, 0.75) -1.5em 0 0 0, rgba(255,255,255, 0.75) -1.1em -1.1em 0 0, rgba(255,255,255, 0.75) 0 -1.5em 0 0, rgba(255,255,255, 0.75) 1.1em -1.1em 0 0;
}

.loading.inline:not(:required):after {
    font-size: 6px;
    -webkit-animation: spinner 1.1s infinite linear;
    -moz-animation: spinner 1.1s infinite linear;
    -ms-animation: spinner 1.1s infinite linear;
    -o-animation: spinner 1.1s infinite linear;
    animation: spinner 1.1s infinite linear;
    -webkit-box-shadow: rgba(51,51,51, 0.75) 1.5em 0 0 0, rgba(51,51,51, 0.75) 1.1em 1.1em 0 0, rgba(51,51,51, 0.75) 0 1.5em 0 0, rgba(51,51,51, 0.75) -1.1em 1.1em 0 0, rgba(51,51,51, 0.75) -1.5em 0 0 0, rgba(51,51,51, 0.75) -1.1em -1.1em 0 0, rgba(51,51,51, 0.75) 0 -1.5em 0 0, rgba(51,51,51, 0.75) 1.1em -1.1em 0 0;
    box-shadow: rgba(51,51,51, 0.75) 1.5em 0 0 0, rgba(51,51,51, 0.75) 1.1em 1.1em 0 0, rgba(51,51,51, 0.75) 0 1.5em 0 0, rgba(51,51,51, 0.75) -1.1em 1.1em 0 0, rgba(51,51,51, 0.75) -1.5em 0 0 0, rgba(51,51,51, 0.75) -1.1em -1.1em 0 0, rgba(51,51,51, 0.75) 0 -1.5em 0 0, rgba(51,51,51, 0.75) 1.1em -1.1em 0 0;
}

/* Animation */

@-webkit-keyframes spinner {
    0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
}
100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
}
}
@-moz-keyframes spinner {
    0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
}
100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
}
}
@-o-keyframes spinner {
    0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
}
100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
}
}
@keyframes spinner {
    0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
}
100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
}
}
.payAlertMsg.alert {
    box-shadow: none;
    padding-left: 15px;
}
.payAlertMsg.alert-danger:before {
    content: none;
}
.modal-body .page-title-container {
    /*padding: 0 20px;*/
    display: none;
}
.modal-body #content {
    border-top: 4px solid #f5f5f5;
    padding-top: 0;
}

@media screen and (max-width: 600px) {
    .book-header p {
        font-size: 17px;
    }
}

.ph-table-summary> li > span {
    position: unset;
}

.pay-loading {
    position: fixed;
    height: 100%;
    width: 100%;
    top: 0px;
    left: 0;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 999;
    display: none;
    padding: 20% 0% 20% 0%;
    color: #fff;
    text-align: center;
}

.pay-loading h1 {
    padding: 10px;
    font-weight: bold;
}