/* gpt */
.book-box {
    /* background: yellow; /* debug */
}

.book-box .book-subcontainer {
    /* background: green; /* debug */
    height: 100%;
    margin: 0 auto;
    max-width: 1400px;
    /*1130px;*/
    /*position: relative;*/
}

.book-box .book {

    background-color: #fff;
    background-color: rgba(255, 255, 255, 0.875);
    /*position: relative;*/
    z-index: 1;
    /* gpt */
    transition: background-color 0.5s;
    -webkit-transition: background-color 0.5s;
}

.book-box .book:hover {
    background-color: rgba(255, 255, 255, 0.95);
}

@media screen and (min-width: 992px) {

    .book-box {
        /*position: absolute;
        top: 0; right: 0; bottom: 0; left: 0;*/
    }

    .book-box .book {
        box-shadow: 0 0 7px rgba(0, 0, 0, 0.4);
        /*height: 350px;*/
        padding-bottom: 0;

        /*position: absolute;
        top: 50%;
        -ms-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);

        left: 15px;*/

        min-width: 440px;
        display: inline-block;

        /* gpt *
        position: absolute;
        top: 40px;
        left: 10px;*/
    }
}


.book {
    color: #444;
    font-size: 0;
}

.book label {
    color: #2e406f;
    font-weight: normal;
}

.book .inside-input {
    position: absolute;
    color: #aaa;
    z-index: 1;
    padding-left: 31px;
    font-size: 11px;
}

.book label,
.book span,
.book .wrapper {
    font-size: 13px;
}

.book .half-width {
    width: 50%;
}

.book .third-width {
    width: 33.33%;
}

.book .quarter-width {
    width: 25%;
}

.book .sixth-width {
    width: 16.66%;
}




.book .full-width {
    display: block;
}


.book .half-width,
.book .third-width,
.book .quarter-width,
.book .sixth-width {
    padding-left: 8px;
    padding-right: 8px;
}


.book .half-width:nth-child(odd),
.book .third-width:nth-child(3n-2),
.book .quarter-width:nth-child(odd),
.book .sixth-width:nth-child(6n-5) {
    padding-left: 0;
}


.book .half-width:nth-child(even),
.book .third-width:nth-child(3n),
.book .quarter-width:nth-child(even),
.book .sixth-width:nth-child(6n) {
    padding-right: 0;
}

.book input {
    line-height: inherit;
}

.book .stretch input,
.book .stretch select {
    width: 100%;
}

.book input[type=text],
.book input[type=email],
.book input[type=number],
.book input[type=tel],
.book input[type=date],
.book input[type=password],
.book select {
    border: 1px solid #bbb;
    background: transparent;
    color: #666;
    font-size: 15px;
    font-weight: normal;
    height: 28px;
    padding: 2px;
}

.book option[disabled] {
    color: #ccc;
}



.book-fields>div {
    vertical-align: top;
}

@media screen and (min-width: 992px) {

    /*
     * Attach the controls to the bottom of the booking form on large screens.
     * On smaller screens the form doesn't have a fixed height, so this isn't necessary.
     */

    .book-box .book {
        /*padding-bottom: 50px; /* to accomodate the controls. */
    }

    .book-controls {
        bottom: 10px;
        left: 10px;
        /*position: absolute;*/
    }
}

.book-controls>div {
    vertical-align: bottom;
}


.book-tabs {
    background-image: linear-gradient(rgba(255, 255, 255, 0.3), rgba(200, 200, 200, 0.3));
}

.book-tab {
    cursor: pointer;
    display: inline-block;
    font-size: 15px;
    font-weight: bold;
    height: 70px;
    line-height: 15px;
    text-align: center;
    width: 70px;
}

.book-tab:hover {
    background-color: rgba(0, 50, 125, 0.2);
}

.book-container.book-interacted .book-tab.selected-tab {
    background-color: #2e406f;
    ;
    color: #fff;
}

@media screen and (min-width: 992px) {
    .book-tab.selected-tab {
        background-color: #2e406f;
        ;
        color: #fff;
    }
}


/* gpt */
.book .tab-icon:before {
    content: '';
    /*background-image:url(":site-url:/images/site/sprites.svg");*/
    background-size: 600px 600px;
    background-repeat: no-repeat;
    display: block;
    margin: 3px auto 0;
    height: 48px;
    width: 48px;
}

/* gpt */
.book .air-icon:before {
    background-position: 0 -325px;
}

.book .car-icon:before {
    background-position: -48px -325px;
}

.book .hotel-icon:before {
    background-position: -96px -325px;
}

.book .cruise-icon:before {
    background-position: -144px -325px;
}

.book .group-icon:before {
    background-position: -192px -325px;
}

/*.book .holiday-icon:before { background-position: -192px -325px; }
.book .bus-icon:before     { background-position: -240px -325px; }
.book .train-icon:before   { background-position: -288px -325px; }*/

/*.book-container.book-interacted .selected-tab .air-icon:before     { background-position: 0      -98px; }
.book-container.book-interacted .selected-tab .car-icon:before     { background-position: -48px  -98px; }
.book-container.book-interacted .selected-tab .hotel-icon:before   { background-position: -96px  -98px; }
.book-container.book-interacted .selected-tab .cruise-icon:before  { background-position: -144px -98px; }
.book-container.book-interacted .selected-tab .holiday-icon:before { background-position: -192px -98px; }
.book-container.book-interacted .selected-tab .bus-icon:before     { background-position: -240px -98px; }
.book-container.book-interacted .selected-tab .train-icon:before   { background-position: -288px -98px; }
.book-container.book-interacted .selected-tab .group-icon:before   { background-position: -336px -98px; }

@media screen and (min-width: 992px) {
    .book .selected-tab .air-icon:before     { background-position: 0      -98px; }
    .book .selected-tab .car-icon:before     { background-position: -48px  -98px; }
    .book .selected-tab .hotel-icon:before   { background-position: -96px  -98px; }
    .book .selected-tab .cruise-icon:before  { background-position: -144px -98px; }
    .book .selected-tab .holiday-icon:before { background-position: -192px -98px; }
    .book .selected-tab .bus-icon:before     { background-position: -240px -98px; }
    .book .selected-tab .train-icon:before   { background-position: -288px -98px; }
    .book .selected-tab .group-icon:before   { background-position: -336px -98px; }
}
*/



.book-form {
    /*display: none;*/
    /*was stopping mobile form from displaying*/
    padding: 10px 30px 15px;
}

.book-container.book-interacted .selected-form {
    display: block;
}

@media screen and (min-width: 992px) {
    .selected-form {
        display: block;
    }
}


/*
 * Add a border around grouped items, and make them spaced.
 */
.book .group {
    border: 1px solid #ccc;
    padding: 2px;
    margin-bottom: 10px;
}

.book .group label {
    margin: 0 10px;
}


.book .submit-wrapper {
    margin-top: 10px;
}


.book-options {
    display: inline-block;
    margin-left: 25px;
}


.disabled {
    color: #999;
}

.book .disabled input[type=text],
.book .disabled input[type=email],
.book .disabled input[type=number],
.book .disabled input[type=tel],
.book .disabled input[type=date],
.book .disabled select {
    background: #ddd;
}

.book .disabled {
    color: #666;
}




.advanced-search {
    display: none;
}

@media screen and (min-width: 992px) {
    .book-box .basic-search {
        display: inline-block;
        /*width: 420px;*/
        width: 50%;
    }

    .book-box .advanced-search {
        margin-left: 25px;
        max-width: 45%;
        /*450px;*/
    }
}



.book .highlight {
    color: red;
}



.book .button {
    font-size: 18px;
}

/*
 * GPT-specific.
 */

.book .icon {
    position: relative;
}

.book .icon input {
    padding-left: 30px;
}

.book .icon select {
    padding-left: 26px;
}

.book .icon:before {
    content: "";
    /*background-image:url(":site-url:/images/site/sprites.svg?7");*/
    background-size: 600px 600px;
    background-repeat: no-repeat;
    display: inline-block;
    height: 20px;
    position: absolute;
    bottom: 0;
    left: 5px;
    width: 20px;
}

.book span.inside-input+span.icon:before {
    bottom: 3px;
}

.book .location-icon:before {
    background-position: 0 -50px;
}

.book .date-icon:before {
    background-position: -20px -50px;
}

.book .passenger-icon:before {
    background-position: -161px -50px;
}

.book .car-type-icon:before {
    background-position: -220px -50px;
}

.book .extras-icon:before {
    background-position: -260px -50px;
}

.book-bar label {
    margin-right: 8px;
}



@media screen and (min-width: 992px) {
    .book-box .book {
        width: 100%;
        max-width: 1400px;
    }

    .gptbe-search-container .book-container {
        display: block !important;
    }
}

@media screen and (max-width: 991px) {
    .gptbe-search-container .book-container {
        display: none;
    }
}
